ClipCursor() in winapi.我可以在 x11 或其他 Linux 库中使用类似的东西吗?



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);

。它就像一个魅力!

最新更新