在多显示器配置中使用xlib进行鼠标控制

时间:2012-02-27 02:32:51

标签: events mouse xlib xserver multiscreen

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

使用下面的代码,指针不能正常工作。

xdisplay1 = XOpenDisplay(NULL);

root = DefaultRootWindow(xdisplay1);

XWarpPointer(xdisplay1,无,根,0,0,0,X,Y);

XFlush(xdisplay1);

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

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

谢谢!

1 个答案:

答案 0 :(得分:0)

这不是最漂亮的解决方案,而是打电话

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

似乎是一种解决方法。