1

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 のドキュメントですが、その使用方法と渡す引数を理解していないようです。

4

1 に答える 1

1

これは、私にとってはうまくいくと思われる正しい形式です。

int g=XGrabPointer(dpy,DefaultRootWindow(dpy), true, ButtonPressMask |
                 ButtonReleaseMask |
                 PointerMotionMask |
                 FocusChangeMask |
                EnterWindowMask |
                  LeaveWindowMask,GrabModeAsync,GrabModeAsync, None, None, CurrentTime);
于 2012-08-22T13:01:10.110 に答える