Стандартные и надежные сообщения мыши с GLUT - PullRequest
1 голос
/ 02 марта 2010

Я пытаюсь использовать GLUT (freeglut) в своем приложении OpenGL, и мне нужно зарегистрировать несколько обратных вызовов для событий колесика мыши. Мне удалось откопать довольно недокументированную функцию:

API-документация

Но страница руководства и запись API для этой функции указывают одно и то же:

Примечание: из-за отсутствия информации о мыши, это невозможно реализовать это правильно на X в этом время. Использование этой функции ограничивает Переносимость вашего приложения. (Это функция работает на X, только не надежно.) Вам рекомендуется использовать стандартная, надежная кнопка мыши отчет, а не колесо событий.

Достаточно справедливо, но как мне использовать этот стандартный, надежный отчет мыши? И как я узнаю, какой стандарт? Должен ли я просто использовать glutMouseFunc () и использовать значения кнопок, такие как 4 и 5, для значений прокрутки вверх и вниз соответственно, скажем, если 1, 2 и 3 кнопки слева, в среднем и вправо? Это надежный метод?

Бонусный вопрос: кажется, инструмент `xev 'сообщает о разных значениях для моих кнопок. Кнопки моей мыши пронумерованы от 1 до 5 с помощью xev, но перенасыщение сообщает о кнопках от 0 до 4, т.е. Это часто встречается?

1 Ответ

0 голосов
/ 22 декабря 2010

Я думал, что смогу вернуться к своему собственному вопросу, так как прошло много времени с тех пор, как я задавал его без каких-либо ответов.

Чтение еще более тщательно по вышеупомянутой документации , насколько я понимаю, кажется, что мое предположение было действительно верным.

Мое предположение:

Должен ли я просто использовать glutMouseFunc() и использовать значения кнопок, такие как 4 и 5 для прокрутите значения вверх и вниз соответственно [...]

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

Если вы не зарегистрируете колесо обратный вызов, события колеса будут сообщается как кнопки мыши.

...