Почему эта программа GLFW не опрашивает джойстики?

Я использую GLFW для записи состояний джойстиков в проекте робототехники, и наткнулся на что-то странное.

На Macbook Air, работающем 10.11.3, GLFW возвращает состояние джойстиков только в начале программы. Однако в документации утверждается, что она обновляет состояние каждый раз, когда вызывается функция джойстика. Использование функции присутствия джойстика и имени джойстика только возвращает исходное состояние.

Я не могу раскрыть свой код. Тем не менее, я использую ImGui, и одной из его примеров программ должно быть достаточно. Чтобы воспроизвести проблему, запустите проект opengl3_example с этими изменениями:

Сразу после линии ImGui_ImplGlfwGL3_NewFrame();, Добавь это:

for (int i = 0; i < 15; i++)
{
if (glfwJoystickPresent(i) != GL_TRUE)
{
printf("There are %d joysticks detected.\n",i); break;
}
}

В моем случае, если программа запускается без подключенных джойстиков, а один из них подключается после запуска программы, он будет утверждать, что все равно будет подключено 0 джойстиков. Проблемы выходят за рамки этой функции, так как состояния кнопок и осей также не обновляются.

Я использую последнюю версию GLFW 3.1.2, скомпилированную из исходного кода. Пожалуйста, сообщите мне об этом.

РЕДАКТИРОВАТЬ: Если вы хотите знать, что должно произойти, посмотрите на видео https://www.youtube.com/watch?v=mx0IUbxAQ34 на отметке времени 2:09.

РЕДАКТИРОВАТЬ: я пробовал другую библиотеку, и она правильно определяет джойстики.

Заранее спасибо.

0

Решение

Оказывается, версия GLFW на домашнем пиве прослушивается. Что за антиклимакс.

По какой-то причине, когда я установил из исходного кода, он не перекрывал установленные двоичные файлы homebrew. Это привело меня к мысли, что это проблема с кодом.

Не было

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]