ClipCursor() 在 winapi 中。我可以在 x11 或其他 Linux 库中使用类似的东西吗?我正在使用 SFML 2.0 创建一个窗口,我需要将鼠标限制在窗口区域。如何在 Linux 中做到这一点?
当我将相同的项目编译到 Windows 时,我只是使用
HWND h = window.getSystemHandle(); //window is SFML sf::RenderWindowObject.getSystemHandle() returns handle
RECT r;
GetWindowRect(h,&r);
ClipCursor( &r );
但是在Linux中,没有winapi。也许有人知道如何在 x11 中有效地做到这一点?
你正在寻找XGrabPointer。只是像这样测试:
XGrabPointer(display, window, True, 0,
GrabModeAsync, GrabModeAsync,
window, None, CurrentTime);
。它就像一个魅力!