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(), а затем функцию обновления контроллера в цикле.

Я проверил, и я никогда не вызываю конструктор контроллера или инициализацию для контроллера более одного раза и поэтому не должен терять оценку для обратного вызова.

0 ответов

Другие вопросы по тегам