2011-03-30 60 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()