Forum: PC-Programmierung USB HID Descriptors / Gamepad-Achsen?


von Stefan (Gast)


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

von Stefan (Gast)


Lesenswert?

...Aerofly hat nochmal eine eigene Kalibrierungsprozedur, die durchlafen 
werden muss... es fliegt =)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.