我正在编写一个使用Xlib控制鼠标光标的小程序。我需要在多显示器配置上任意设置它的位置。操作系统为linux,并且启用了xinerama模式。
使用下面的代码,指针不会像我预期的那样工作。
xdisplay1 = XOpenDisplay(NULL);
根= DefaultRootWindow(xdisplay1);
XWarpPointer(xdisplay1,None,root,0,0,0,x,y);
XFlush(xdisplay1);
这些事件通常不会被刷新,除非我“手动摇动”鼠标设备。此外,它只有在我不扭曲到另一个显示器的情况下才能工作。当发生这种情况时,指针停留在相应的扭曲边缘。
这种行为使我认为问题与多显示器配置有关。有谁知道如何快速解决这个问题吗?
谢谢!
发布于 2012-06-06 23:04:09
这不是最好的解决方案,但调用
XDefineCursor(display,root_window,XCreateFontCursor(display, XC_circle)); 这似乎是一种变通办法。
https://stackoverflow.com/questions/9459370
复制相似问题