我浏览了一些文档,但找不到关于如何在单击窗口中获取光标位置(以左上角 0,0 的像素为单位)的很好描述。
任何帮助表示赞赏:D
这是一个报告鼠标点击位置的最小程序。它只是拾取 Button Press 事件,其中包含窗口中鼠标指针的 x,y(左上角为 0,0)位置。
#include <stdio.h>
#include <X11/Xlib.h>
int main(int argc, char**argv)
{
Display *display = XOpenDisplay(NULL);
Window window = XCreateSimpleWindow(
display, RootWindow(display,0), 0, 0,
600, 600, 1, BlackPixel(display, 0),
WhitePixel(display, 0));
XMapWindow(display, window);
XSelectInput(display, window, ButtonPressMask);
XEvent event;
while (1)
{
XNextEvent(display, &event);
switch (event.type) {
case ButtonPress:
printf("Clicked at %d,%d\n", event.xbutton.x, event.xbutton.y);
break;
}
}
return 0;
}