移动在C++中的鼠标指针在Linux上

问题描述:

失败,我使用下面的代码隐藏和显示鼠标光标:移动在C++中的鼠标指针在Linux上

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); 

鼠标根本不移动。根本没有任何反应SetMousePos,我用于Windows,工作正常。

+1

如果您发布了一个小的可编译测试用例,人们可能可以找出问题 – 2010-11-11 15:32:36

它已经有一段时间,但不会XWarpPointer让使用通过偏移光标的相对的举动?它看起来像传递的偏移量是(0,0),这意味着光标不会移动。我认为你想使用的例程是XMovePointer。

分享和享受。

+0

根据Xlib手册,只有当目标窗口是None且没有名称为XMovePointer的函数时才会发生。 – Overv 2010-11-11 14:37:04

+0

@Overv:对不起 - 正如我所说的,自从我不得不与X一起猴子以来,已经有一段时间了(大约15年)。祝你好运。 – 2010-11-11 14:43:48