我对 Raspberry PI 零上的 Microsoft X-Box 360 键盘有疑问。我编写了一个 Java 程序来通过 Microsoft X-Box 360 pad 控制伺服系统。我使用 jinput 库。问题是大约 10 秒后,有时更早,某些东西停止工作,我无法再从垫子上获取任何数据。要获取数据,我需要重新启动他的程序,但几秒钟后它又失败了。当我停止程序时,我看到:
Jan 03, 2022 5:58:15 PM net.java.games.input.ControllerEnvironment log
INFO: Failed to poll device: Failed to get device key states (9)
当我在 Windows 上尝试代码时,我没有问题。
这是我使用的代码。我使用 2.0.9 版的 jinput。
import net.java.games.input.*;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import java.util.Arrays;
import java.util.Optional;
@Override
public void run() {
log.info("Start game controller service "+gamepad.getName());
Event event = new Event();
while(isRunning){
if(gamepad.poll()){
EventQueue eventQueue = gamepad.getEventQueue();
while(eventQueue.getNextEvent(event)){
processEvent(event);
}
log.debug("Poll data "+gamepad.getComponent(Component.Identifier.Axis.X).getPollData());
}
else{
log.error("Controller in not longer valid");
}
try {
Thread.sleep(pollTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
log.info("Gamecontroller stopped");
}
有没有人有同样的问题?它是如何解决的?