LWJGL 3: GLFW не обнаруживает переподключение джойстика
Использование LWJGL 3: GLFW v3.3.0 для джойстика. Джойстик работает нормально, но не будет обнаружен, если джойстик подключен / повторно подключен после запуска программы.
Я попытался исправить это с помощью обратного вызова в моем классе контроллера.
private static GLFWJoystickCallback call;
в функции инициализации для класса:
call = new GLFWJoystickCallback() {
@Override
public void invoke(int jid, int event) {
System.out.println("ATTEMPTING TO RECONNECT");
if( event == GLFW_CONNECTED ){
System.out.println("CONNECTED");
gamepadIndex = jid;
} else {
System.out.println("DISCONNECTED");
}
}
};
call.set(); //calls GLFWJoystickCallback.create(this.call);
Он определяет, когда джойстик уже подключен, а затем отключен, но никогда не вызывается при повторном подключении джойстика или подключении после запуска программы.
Основной класс вызывает glfwPollEvents(), а затем функцию обновления контроллера в цикле.
Я проверил, и я никогда не вызываю конструктор контроллера или инициализацию для контроллера более одного раза и поэтому не должен терять оценку для обратного вызова.