Положение мыши XLib Lock (обтекание мышью) - PullRequest
2 голосов
/ 08 ноября 2010

Я пытаюсь создать перенос мышью в X11 для игр / контента openGL.Подход, который я пытался использовать, заключается в том, чтобы скрыть курсор (что я могу сделать очень хорошо), зафиксировать положение мыши в центре окна, а затем использовать дельта-позиции мыши для обнаружения движения.Однако я не могу найти способ заблокировать положение мыши, кроме как продолжать перемещать его обратно в центр каждый кадр.

В Windows это можно сделать с помощью ClipCursor (), а в OSX обтекание мышью можно сделать с помощью CGWarpMouseCursorPosition.Есть ли что-нибудь подобное в библиотеках XLib?

1 Ответ

1 голос
/ 08 ноября 2010

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

Файл для X11, о котором идет речь, выглядит как src / video / x11 / SDL_x11mouse.c, в частности реализация X11_WarpWMCursor.

...