Frage

Ich bin ein bisschen verwirrt über die Beschreibung der Joystick -Äxte und ich hoffe, dass jemand einen Link oder ein Dokument hat, das meine Verwirrung frei macht.

Ich bin kein Windows -Typ, also versuche ich, einen traditionellen Windows -Gameport -Code zu portieren, habe mich ein bisschen verwirrt.

Wir alle kennen die üblichen ersten drei Achsen:
X
Y
Z

Mein Verständnis war, dass in der Schnittstelle im Gameport-Stil die drei anderen Achsen:
R
U
V

Wenn ich jedoch in meinen iohidusAgetables (OS X) schaue, sehe ich:

kHIDUsage_GD_X  = 0x30, /* Dynamic Value */
kHIDUsage_GD_Y  = 0x31, /* Dynamic Value */
kHIDUsage_GD_Z  = 0x32, /* Dynamic Value */
kHIDUsage_GD_Rx = 0x33, /* Dynamic Value */
kHIDUsage_GD_Ry = 0x34, /* Dynamic Value */
kHIDUsage_GD_Rz = 0x35, /* Dynamic Value */

kHIDUsage_GD_Vx = 0x40, /* Dynamic Value */
kHIDUsage_GD_Vy = 0x41, /* Dynamic Value */
kHIDUsage_GD_Vz = 0x42, /* Dynamic Value */
kHIDUsage_GD_Vbrx   = 0x43, /* Dynamic Value */
kHIDUsage_GD_Vbry   = 0x44, /* Dynamic Value */
kHIDUsage_GD_Vbrz   = 0x45, /* Dynamic Value */
kHIDUsage_GD_Vno    = 0x46, /* Dynamic Value */

Dies hat mich aufgrund der drei R -Achse (obwohl dies nicht ungewöhnlich zu sein scheint) und das Fehlen einer U -Achse ein bisschen verwirrt.

Zwei Fragen:

1) Kann jemand bestätigen, welche Achse die traditionelle U -Achse sein würde? Ich sah ein Dokument als "die Achse für Ruderpedale" beschrieben, die mich zu der Überzeugung veranlasste, dass es Ry sein würde.
2) Kann jemand die typischen Verwendung der V- und VBR -Achsen ausführlicher beschreiben? Ich verstehe, dass die Beschreibungen "Vektor" und "relativer Vektor" sind, aber ich habe schwierig, was dies in Bezug auf ein physisches Gerät bedeutet.

Alle Erleuchtungs- und Dokumentationszeiger sind willkommen.

War es hilfreich?

Lösung

Hier gibt es 2 verschiedene Konventionen mit verwirrend ähnlichem Namen:

  • Position, (r) Otation und/oder (v) Elocity für jede der x-, y-, z -Achsen
  • (R), (u), (v) Achsen

Es kann sein, dass die R-, U-, V -Achsen direkt auf 3 der HID -Slots abbilden, je nachdem, was sie sein können. Oder es kann sein, dass die Fahrer etwas anderes tun, je nachdem, welches genaue Stück Hardware es ist.

Persönlich würde ich nicht zu viel Zeit damit verbringen, mir Sorgen darüber zu machen, was jede Achse bedeutet oder ob sie direkt zugeordnet werden können. Jeder Joystick hat unterschiedliche physische Controller, die von den Fahrern auf willkürliche Weise abgebildet werden. Jenseits von X und Y ist es schwierig zu antizipieren, welche Achsen für jede Funktion verwendet werden. Und selbst wenn Sie die ursprüngliche Absicht erraten können, ist es wahrscheinlich, dass ein Benutzer die Standardeinstellungen außer Kraft setzen möchte. Daher ist es wahrscheinlich am besten, Ihre Axis-Mapping über eine Einstellungsdatei zu implementieren, die auf einer Basis pro Gerät und Perbenutzer konfiguriert werden kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top