Python xlib warp_pointer не работает должным образом в играх - PullRequest
1 голос
/ 30 марта 2011

Я пытаюсь изменить указатель мыши с помощью Python Xlib.Я успешно сделал это с помощью warp_pointer.Но когда я пытаюсь играть в любые игры, такие как Secret Maryo Chronicles, указатель мыши перемещается в самый правый угол экрана, а не в указанное место.Почему это так?Кто-нибудь может мне помочь с этим?

Ответы [ 2 ]

2 голосов
/ 13 июня 2012

Это выглядит вопреки тому, что говорится в документации, это абсолютная координата, а не смещение.

Я попробовал это, и это сработало, как и ожидалось, если вы думаете о координатах как об абсолютной координате с 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()
0 голосов
/ 31 марта 2011

Я не знаком с SMC.Возможно, он использует сам warp_pointer.Я знаю, что во многих играх симулируется поддержка относительного движения, только недавно появившаяся в XInput, и я думаю, что некоторые из них используют ее, чтобы «спрятать» мышь.Вы пробовали это с играми, которые делают разные вещи с помощью мыши?

...