Eu mesmo encontrei uma solução manipulando os eventos do joystick e a posição do mouse com python
, pygame
e win32api
import pygame, sys,os
import win32api, win32con
from win32api import GetSystemMetrics
from pygame.locals import *
width = GetSystemMetrics (0)
height = GetSystemMetrics (1)
pygame.init()
pygame.joystick.init()
joystick = pygame.joystick.Joystick(0)
joystick = joystick.init()
while 1:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit(0)
else:
if event.type == 7:
if event.axis==0:
a = (event.value + 1)/2
x,y = win32api.GetCursorPos()
win32api.SetCursorPos((x,int(a*height)))
elif event.axis==2:
a = (event.value + 1)/2
x, y = win32api.GetCursorPos()
win32api.SetCursorPos((int(a*width),y))
Isso pode não ser uma solução para todos, porque deve ser compilado e todas as dependências precisam ser incluídas. Mas desta forma, é possível controlar todos os eventos do mouse com muita precisão. É um pequeno trecho de código e bastante simples. Ele é baseado no loop de eventos simples pygame
.