2010-11-11 56 views
2

失敗,我使用下面的代碼隱藏和顯示鼠標光標:移動在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

回答

2

它已經有一段時間,但不會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