1

我正在编写一个小程序来使用 Xlib 控制鼠标光标。我需要在多显示器配置上任意设置它的位置。操作系统是 linux 并且启用了 xinerama 模式。

使用下面的代码,指针无法按我的预期工作。

xdisplay1 = XOpenDisplay(NULL);

root = DefaultRootWindow(xdisplay1);

XWarpPointer(xdisplay1,None,root,0,0,0,x,y);

XFlush(xdisplay1);

事件通常不会刷新,除非我“手动摇动”鼠标设备。此外,它只有在我不变形到另一台显示器时才有效。发生这种情况时,指针会卡在相应的翘曲边缘。

这种行为让我认为问题与多显示器配置有关。有谁知道如何快速解决它?

谢谢!

4

1 回答 1

0

这不是最漂亮的解决方案,而是调用

  XDefineCursor(display,root_window,XCreateFontCursor(display, XC_circle)); 

似乎是一种解决方法。

于 2012-06-06T15:04:09.357 回答