управление мышью с помощью джойстика windows

управление мышью с помощью джойстика windows

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

  • jmouse
  • Xpadder
  • Джоймаус
  • радость 2 мышь

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

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

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

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

решение1

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

Связанный контент