【问题标题】:Moving the mouse pointer in C++ fails on Linux在 C++ 中移动鼠标指针在 Linux 上失败
【发布时间】:2021-12-30 23:10:06
【问题描述】:

我正在使用以下代码来隐藏和显示鼠标光标:

XDefineCursor( m_display, m_window, show ? None : m_hiddenCursor );  
XFlush( m_display );

效果很好。但是,当我运行它时:

XWarpPointer( m_display, None, m_window, 0, 0, 0, 0, x, y );
XFlush( m_display );

鼠标根本不动。根本没有任何反应。我在 Windows 上使用的 SetMousePos 工作正常。

【问题讨论】:

  • 如果您发布一个小的可编译测试用例,人们可能会发现问题

标签: c++ x11 mouse-cursor


【解决方案1】:

已经有一段时间了,但是 XWarpPointer 没有使用传递的偏移量使光标相对移动吗?看起来传递的偏移量是(0,0),这意味着光标不会移动。我认为您要使用的例程是 XMovePointer。

分享和享受。

【讨论】:

  • 根据 Xlib 手册,只有当目标窗口为 None 并且没有名为 XMovePointer 的函数时才会发生这种情况。
  • @Overv:抱歉 - 正如我所说,我已经有一段时间(大约 15 年)不得不和 X 开玩笑了。祝你好运。
猜你喜欢
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 2020-12-04
  • 1970-01-01
  • 1970-01-01
  • 2012-12-25
  • 2011-07-24
  • 1970-01-01
相关资源
最近更新 更多