2010-11-08 81 views
2

我想在OpenGL遊戲/內容的X11中創建一個鼠標換行。我試圖採取的方法是隱藏光標(我可以做得很好),將鼠標位置鎖定在窗口中心,然後使用鼠標增量位置來檢測移動。然而,我無法找到任何方法來鎖定鼠標位置,然後每隔一幀繼續移動到中心位置。XLib鎖定鼠標位置(鼠標換行)

在windows中,可以使用ClipCursor()完成,並且可以使用CGWarpMouseCursorPosition完成OSX鼠標換行。在XLib庫中是否存在類似的東西?

回答

1

libSDL幾乎確切地說,它的源代碼可能是您自己實現的一個很好的起點。或者,如果目標是跨平臺的全屏應用程序,那麼直接使用SDL可能會節省您在這裏重新發明輪子。

X11的問題文件似乎是src/video/x11/SDL_x11mouse.c,特別是X11_WarpWMCursor的執行情況。

+0

此代碼幫助我。因爲我想避免增加對libSDL的依賴性,我最終所做的每次鼠標都在窗口邊緣的5個刻度內,我用XWarpMouse居中並忽略下一個鼠標移動事件。 – Kulidan 2010-11-08 23:57:57