在Linux中使用xGrabPointer锁定鼠标指针

时间:2012-08-22 12:12:15

标签: linux mouse x11 xgrabpointer

在没有任何窗口的终端上运行的应用程序中按下鼠标按钮时,我使用X11来获取鼠标位置。

获取鼠标位置:

Display *dpy;
Window root, child;
int rootX, rootY, winX, winY;
unsigned int mask;
dpy = XOpenDisplay(NULL);
XQueryPointer(dpy,DefaultRootWindow(dpy),&root,&child,
             &rootX,&rootY,&winX,&winY,&mask);

现在我想使用XGrabPointer()锁定鼠标,使其不与桌面上的对象(窗口,图标和底座)交互。 here是XGrabPointer的文档,但我似乎并不了解如何使用它以及要传递的参数。

1 个答案:

答案 0 :(得分:1)

这是正确的格式,似乎对我有用。

int g=XGrabPointer(dpy,DefaultRootWindow(dpy), true, ButtonPressMask |
                 ButtonReleaseMask |
                 PointerMotionMask |
                 FocusChangeMask |
                EnterWindowMask |
                  LeaveWindowMask,GrabModeAsync,GrabModeAsync, None, None, CurrentTime);