
Ich versuche die absolute Position meiner Maus mit einem zweiachsigenJoystick. Ich möchte, dass dies auf einem Windows 7 läuft. Ich habe bereits viele verschiedene Programme ausprobiert,
- Abonnieren
- Xpadder
- Freudenmaus
- Freude 2 Maus
Die Joy 2-Maus funktioniert für mich bisher am besten, da ich die X- und Y-Achse mit der absoluten Position des Joysticks steuern kann, aber ich bin auf zwei Probleme gestoßen
- die Maus stottert manchmal, auch wenn ich den Joystick nicht bewege
- Ich kann nur die „Y-Achse nach oben“ und die „Y-Achse nach unten“ einstellen, so dass es einen kleinen Winkel um die Grundposition des Joysticks gibt, in dem keine Mausbewegung ausgeführt wird.
Für mich würde es auch funktionieren, wenn jemand eine zuverlässige Möglichkeit kennt, die genaue Position dieses Joysticks (unter Win7) zu ermitteln, dann kann ich die Mausposition selbst einstellen.
Die Ungenauigkeit des Joysticks ist softwarebedingt. Bei mir funktioniert die gleiche Hardware auf meinem Mac einwandfrei.
Antwort1
Ich habe selbst eine Lösung gefunden, indem ich die Joystick-Ereignisse und die Mausposition mit und verwaltet habe 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))
Dies ist vielleicht nicht für jeden eine Lösung, da es kompiliert werden muss und alle Abhängigkeiten einbezogen werden müssen. Aber auf diese Weise ist es möglich, alle Mausereignisse sehr präzise zu steuern. Es ist ein kleiner Codeausschnitt und ziemlich unkompliziert. Es basiert auf der einfachen pygame
Ereignisschleife.