2011-03-30 59 views
1

我正在嘗試使用python xlib更改鼠標指針。我成功地使用了warp_pointer。但是當我嘗試玩Secret Maryo Chronicles之類的任何遊戲時,鼠標指針會移動到屏幕的最右角而不是指定的位置。爲什麼這樣?誰能幫我這個?Python xlib warp_pointer在遊戲內部不能正常工作

+0

你能更具體嗎?你想用warp_pointer完成什麼?你如何在你嘗試使用的遊戲中使用它? – ssokolow 2011-03-30 16:14:46

+0

隨着warp_pointer我試圖移動鼠標指針在屏幕上的任何特定位置。它在桌面上工作正常(在我的情況下Ubuntu)。但是當我開始遊戲時,程序可以正常工作,但鼠標指針會移動到屏幕的右下角 – 2011-03-30 23:53:45

回答

0

我不熟悉SMC。它可能是它本身使用warp_pointer。我知道很多遊戲都是爲了模擬最近剛剛介紹給XInput的相對運動支持,我認爲其中一些人使用它來將鼠標「藏起來」。您是否嘗試過使用鼠標做不同事情的遊戲?

2

它看起來像文檔所說的相反,它是一個絕對座標,而不是一個 偏移量。

我試過這個,如果你把座標看作絕對座標與1,1(或0,0)從窗口左上角開始,它就像預期的那樣工作。

from Xlib import X, display 
import time 

d = display.Display() 
s = d.screen() 
root = s.root 
root.warp_pointer(500,500) 
d.sync() 

time.sleep(5) 
root.warp_pointer(250,250) 
d.sync() 

time.sleep(5) 
root.warp_pointer(100,100) 
d.sync() 

time.sleep(5) 
root.warp_pointer(250,250) 
d.sync()