USB HID Descriptors / Gamepad-Achsen?

Gast #4199848
Lesenswert?

Ich habe einen Arduino Pro Micro (ATmega 32U4) per USB an einem Win7-PC.
Der Arduino meldet sich als 8-Achsen HID-Joystick an. Die dafür 
angepassten USBAPI.h und HID.cpp habe ich aus einem Tutorial. Darin 
enthalten sind die HID-Descriptors. (arbeite mit Arduino-IDE, bitte 
nicht schlagen ;) )

Der Arduino empfängt über einen NRF24L01 die Daten von einer 
selbstgeschusterten Fernbedienung und soll damit ein Gamepad simulieren.
Das ganze funktioniert insoweit, dass Windows den "Joystick" erkennt und 
alle Achsen auslesen kann.

Ich würde das ganze jetzt gerne mit einem Modellflug-Simulator benutzen 
(Aerofly Pro Deluxe), allerdings erkennt dieser nur die ersten 3 Achsen 
(X,Y und Z) an.

rX,rY,rZ, Throttle und Ruder werden zwar bei Windows in der 
Systemsteuerung->Gamecontroller angezeigt, Aerofly kriegt davon aber 
garnix mit.

Ich habe Aerofly allerdings schon erfolgreich mit einem Playstation - 
Controller über einen USB-Converter benutzt, da erkannte es Alle Achsen.
In der Konfiguration zeigt es auch an 8-Kanäle von einem Joystick zu 
unterstützen, aber bewegen kann ich nur 3.

Ich könnte schwören, damals wurden in der Windows-Systemsteuerung bei 
dem Gamecontroller die beiden Analog-Sticks angezeigt, jeweils als ein 
Quadrat, in dem ein Punkt auf X und Y-Achse bewegt werden konnte.

Mein Arduino-Joystick gibt in der Systemsteuerung allerdings nur ein 
Quadrat für X und Y an, die anderen Achsen werden als Balken angezeigt.

Ich hoffe Jemand versteht, was ich meine...

Die Frage ist also (glaube ich): wie described man ein Gamepad mit 2x 
2-Achsen Analog-Sticks? (und weiteren 4 Drehreglern sowie 6 Buttons)

Ich habe das ursprüngliche USAGE Joystick (04) in USAGE Gamepad (05) 
geändert, was keine Änderung bewirkte....


-Stefan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren