我想知道如何使用 Xlib 在屏幕上的任何位置获取鼠标单击的 x 和 y 坐标。我发现这篇文章可以获取当前指针位置
但我不知道如何修改它,以便在单击鼠标时获取 xy 坐标。我试图编写这段代码,但它什么也没做。
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
int main (){
int x=-1,y=-1;
XEvent event;
int button;
Display *display = XOpenDisplay(NULL);
if (display == NULL) {
fprintf(stderr, "Cannot connect to X server!\n");
exit (EXIT_FAILURE);
}
Window root= XDefaultRootWindow(display);
XSelectInput(display, root, ButtonReleaseMask) ;
while(1){
XNextEvent(display,&event);
switch(event.type){
case ButtonRelease:
switch(event.xbutton.button){
case Button1:
x=event.xbutton.x;
y=event.xbutton.y;
button=Button1;
break;
case Button3:
x=event.xbutton.x;
y=event.xbutton.y;
button=Button3;
break;
default:
break;
}
break;
default:
break; …Run Code Online (Sandbox Code Playgroud)