【问题标题】:Mouse control using xlib in a multi-display configuration在多显示器配置中使用 xlib 进行鼠标控制
【发布时间】:2012-02-27 02:32:51
【问题描述】:

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

使用下面的代码,指针不能按我预期的那样工作。

xdisplay1 = XOpenDisplay(NULL);

root = DefaultRootWindow(xdisplay1);

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

XFlush(xdisplay1);

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

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

谢谢!

【问题讨论】:

  • 鼠标光标没有“视觉上”更新,但现在我确定它正在移动。使用 GLUT 成功捕获了鼠标事件。但是,最好知道这种奇怪行为的原因。谢谢!
  • 您找到解决方案了吗?我也有同样的问题...

标签: events mouse xlib xserver multiscreen


【解决方案1】:

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

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

似乎是一种解决方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 2014-03-02
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多