开发者

Moving the mouse pointer in C++ fails on Linux

I'm using the following code to hide and show the mouse cursor:

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

That works fi开发者_StackOverflow社区ne. However, when I run this:

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

The mouse doesn't move at all. Simply nothing happens. SetMousePos, which I'm using for Windows, works fine.


It's been a while, but doesn't XWarpPointer make a relative move of the cursor using the passed offsets? It looks like the passed offsets are (0,0) meaning that the cursor wouldn't move. I think the routine you want to use is XMovePointer.

Share and enjoy.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜