2011-03-30 3 views
1

python xlib을 사용하여 마우스 포인터를 변경하려고합니다. warp_pointer를 사용하여 성공적으로 수행했습니다. 그러나 Secret Maryo Chronicles와 같은 게임을하려고하면 마우스 포인터가 화면의 오른쪽 모서리로 이동하고 지정된 위치로 이동하지 않습니다. 왜 그래야만하지? 아무도 이것으로 나를 도울 수 있습니까?Python xlib warp_pointer가 게임 내에서 제대로 작동하지 않습니다.

+0

구체적으로 기재 할 수 있습니까? warp_pointer로 무엇을하려고합니까? 당신이 시도하고있는 게임에 그것을 어떻게 사용하고 있습니까? – ssokolow

+0

warp_pointer 함께 마우스 포인터를 화면의 특정 위치로 이동하려고합니다. 그것은 바탕 화면에 잘 작동합니다 (내 경우에는 우분투). 그러나 게임을 시작하면 프로그램이 작동하지만 마우스 포인터가 화면의 오른쪽 아래 모서리로 이동합니다. –

답변

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