3

我正在尝试在 X11 中为 openGL 游戏/内容创建一个鼠标套。我试图采取的方法是隐藏光标(我可以做得很好),将鼠标位置锁定在窗口的中心,然后使用鼠标增量位置来检测移动。但是我找不到任何方法来锁定鼠标位置,然后每帧将其移回中心。

在 Windows 中,这可以使用 ClipCursor() 来完成,而在 OSX 中,鼠标环绕可以使用 CGWarpMouseCursorPosition 来完成。XLib 库中是否存在类似的东西?

4

1 回答 1

2

libSDL几乎完全做到了这一点,并且它的源代码可能是您自己实现的一个很好的起点。或者,如果目标是跨平台全屏应用程序,那么直接使用 SDL 可能会节省您在此处重新发明轮子。

X11 的相关文件似乎是src/video/x11/SDL_x11mouse.c,特别是X11_WarpWMCursor.

于 2010-11-08T13:56:15.603 回答