我正在编写一个小程序来使用 Xlib 控制鼠标光标。我需要在多显示器配置上任意设置它的位置。操作系统是 linux 并且启用了 xinerama 模式。
使用下面的代码,指针无法按我的预期工作。
xdisplay1 = XOpenDisplay(NULL);
root = DefaultRootWindow(xdisplay1);
XWarpPointer(xdisplay1,None,root,0,0,0,x,y);
XFlush(xdisplay1);
事件通常不会刷新,除非我“手动摇动”鼠标设备。此外,它只有在我不变形到另一台显示器时才有效。发生这种情况时,指针会卡在相应的翘曲边缘。
这种行为让我认为问题与多显示器配置有关。有谁知道如何快速解决它?
谢谢!