我创建了一个带有Xlib的窗口,并注册接收某些事件,你可以在下面看到,但是我对这个问题主要感兴趣,我遇到的问题是在创建的窗口中接收鼠标位置事件< / p>
当我编译并运行程序时,它工作正常,但是它给了我鼠标指针的位置,即使它在窗口的右侧和左侧作为正数
例如,当我打印出win_x和win_y以查看它返回的位置时,它给出了超出其高度和宽度的位置,在右侧和下方为正,但是比窗口高度和宽度范围大的数字,但是在窗口和左侧上方,当鼠标位置在窗口边界之外时,它给出了负值(这是正确的和预期的)
所以我想知道的是,有可能返回创建的窗口的鼠标指针位置,只要鼠标指针位于窗口边框之外的任何一侧而不仅仅是左侧,并且还显示负x和y位置。窗口的顶部边界?
我希望这个问题有意义,如果您需要更多代码信息,我将编辑此问题并添加
我也是Xlib编程的初学者,这里是相关的代码
win = XCreateWindow( dpy, RootWindow( dpy, vi->screen ),
0, 0, 1080, 720, 0, vi->depth, InputOutput,
vi->visual,
CWBorderPixel|CWColormap|CWEventMask, &swa );
XSelectInput(dpy, win, ButtonPressMask|KeyPressMask|MotionNotify|EnterWindowMask);
XQueryPointer(dpy, win, &ret_root, &ret_child, &root_x, &root_y,&win_x, &win_y, &mask)