1

Я пытаюсь контролировать абсолютное положение моих мышей с помощью двухосевого джойстика. Я хочу, чтобы это работало на Windows 7. Я уже пробовал много разных программ, как

  • jmouse
  • Xpadder
  • Joymouse
  • радость 2 мыши

До сих пор у меня лучше всего работает мышь joy 2, так как я могу управлять осями X и Y с помощью абсолютного положения джойстика, но я столкнулся с двумя проблемами

  1. мышь иногда заикается, даже когда я не двигаю джойстик
  2. Я могу установить только "вверх по оси y" и "вниз по оси y", чтобы вокруг корневого положения джойстика был небольшой угол, при котором движение мыши не применяется.

Для меня это также будет работать, если кто-то знает надежный способ получить только точное положение этого джойстика (на win7), то я могу сам установить положение мыши.

Неточность джойстика вызвана программным обеспечением. Я получил то же оборудование, работающее должным образом на моем Mac.

1 ответ1

0

Я сам нашел решение, обработав события джойстика и положение мыши с помощью python , pygame и 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))

Это не может быть решением для всех, потому что оно должно быть скомпилировано и все зависимости должны быть включены. Но таким образом можно очень точно контролировать все события мыши. Это небольшой фрагмент кода и довольно простой. Он основан на простом цикле pygame событий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .