Freigeben über


Registrierungsdaten für Spielecontroller

Hinweis

Dieses Thema richtet sich an Hersteller von Windows 10-kompatiblen Gamecontrollern und gilt nicht für die Mehrzahl der Entwickler.

Der Windows.Gaming.Input-Namespace ermöglicht unabhängigen Hardwareanbietern (IHVs) das Hinzufügen von Daten zur Registrierung des PCs, sodass ihre Geräte je nach Bedarf als Gamepads, RacingWheels, ArcadeSticks, FlightSticks und UINavigationControllers angezeigt werden können. Alle IHVs sollten diese Daten für ihre kompatiblen Controller hinzufügen. Dadurch können alle UWP-Spiele (und alle Desktopspiele, die die WinRT-API verwenden) Ihren Gamecontroller unterstützen.

Zuordnungsschema

Zuordnungen für ein Gerät mit Anbieter-ID (VID) VVVV, Produkt-ID (PID) PPPP, Nutzungsseite UUUU und Nutzungs-ID XXXX werden von diesem Speicherort in der Registrierung gelesen:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\VVVVPPPPUUUUXXXX

In der folgenden Tabelle werden die erwarteten Werte unter dem Stammspeicherort des Geräts erläutert:

Name type Erforderlich? Info
Disabled DWORD No

Gibt an, dass dieses bestimmte Gerät deaktiviert werden soll.

  • 0: Das Gerät ist nicht deaktiviert.
  • 1: Das Gerät ist deaktiviert.
Beschreibung REG_SZ No Eine kurze Beschreibung des Geräts.

Ihr Geräteinstallationsprogramm sollte diese Daten zur Registrierung hinzufügen (entweder über Setup oder eine INF-Datei).

Unterschlüssel unter dem Gerätestammspeicherort werden in den folgenden Abschnitten beschrieben.

Gamepad

In der folgenden Tabelle sind die erforderlichen und optionalen Unterschlüssel unter dem Gamepad-Unterschlüssel aufgeführt:

Unterschlüssel Erforderlich? Info
Menü Ja Siehe Schaltflächenzuordnung
Ansicht Ja
A Ja
b Ja
X Ja
J Ja
LeftShoulder Ja
RightShoulder Ja
LeftThumbstickButton Ja
RightThumbstickButton Ja
DPadUp Ja
DPadDown Ja
DPadLeft Ja
DPadRight Ja
Paddel1 No
Paddel2 No
Paddel3 No
Paddel4 No
LeftTrigger Ja Siehe Achsenzuordnung
RightTrigger Ja
LeftThumbstickX Ja
LeftThumbstickY Ja
RightThumbstickX Ja
RightThumbstickY Ja

Hinweis

Wenn Sie Ihren Gamecontroller als unterstütztes Gamepad hinzufügen, wird dringend empfohlen, ihn auch als unterstützte UINavigationController hinzuzufügen.

Rennrad

In der folgenden Tabelle sind die erforderlichen und optionalen Unterschlüssel unter dem Unterschlüssel "RacingWheel " aufgeführt:

Unterschlüssel Erforderlich? Info
PreviousGear Ja Siehe Schaltflächenzuordnung
NextGear Ja
DPadUp No
DPadDown No
DPadLeft No
DPadRight No
Schaltfläche1 No
Schaltfläche2 No
Button3 No
Button4 No
Schaltfläche5 No
Schaltfläche6 No
Schaltfläche7 No
Schaltfläche8 No
Schaltfläche9 No
Schaltfläche10 No
Schaltfläche11 No
Schaltfläche12 No
Schaltfläche13 No
Schaltfläche14 No
Schaltfläche15 No
Schaltfläche16 No
FirstGear No
SecondGear No
ThirdGear No
FourthGear No
FifthGear No
Sechste Anlage No
Siebtes Anlagen No
ReverseGear No
Wheel Ja Siehe Achsenzuordnung
Drosselung Ja
Bremse Ja
Kupplung No
Handbremse No
MaxWheelAngle Ja Eigenschaftenzuordnung anzeigen

ArcadeStick

In der folgenden Tabelle sind die erforderlichen und optionalen Unterschlüssel unter dem ArcadeStick-Unterschlüssel aufgeführt:

Unterschlüssel Erforderlich? Info
Aktion 1 Ja Siehe Schaltflächenzuordnung
Aktion2 Ja
Aktion3 Ja
Aktion4 Ja
Aktion5 Ja
Aktion6 Ja
Special1 Ja
Special2 Ja
StickUp Ja
StickDown Ja
StickLeft Ja
StickRight Ja

FlightStick

In der folgenden Tabelle sind die erforderlichen und optionalen Unterschlüssel unter dem FlightStick-Unterschlüssel aufgeführt:

Unterschlüssel Erforderlich? Info
FirePrimary Ja Siehe Schaltflächenzuordnung
FireSecondary Ja
Rollen Ja Siehe Achsenzuordnung
Neigung Ja
Gieren Ja
Drosselung Ja
HatSwitch Ja Siehe Switch-Zuordnung

UINavigation

In der folgenden Tabelle sind die erforderlichen und optionalen Unterschlüssel unter uiNavigation-Unterschlüssel aufgeführt:

Unterschlüssel Erforderlich? Info
Menü Ja Siehe Schaltflächenzuordnung
Ansicht Ja
Accept Ja
Abbrechen Ja
PrimaryUp Ja
PrimaryDown Ja
PrimaryLeft Ja
PrimaryRight Ja
Kontext1 No
Context2 No
Context3 No
Context4 No
BildAuf No
BildAb No
PageLeft No
PageRight No
ScrollUp No
ScrollDown No
ScrollLeft No
ScrollRight No
SecondaryUp No
SecondaryDown No
SecondaryLeft No
SecondaryRight No

Weitere Informationen zu Ui-Navigationscontrollern und den obigen Befehlen finden Sie unter UI-Navigationscontroller.

Tasten

In den folgenden Abschnitten werden die Inhalte der einzelnen Unterschlüssel unter den Tasten Gamepad, RacingWheel, ArcadeStick, FlightStick und UINavigation erläutert.

Schaltflächenzuordnung

In der folgenden Tabelle sind die Werte aufgeführt, die zum Zuordnen einer Schaltfläche erforderlich sind. Wenn Sie z. B. DPadUp auf dem Gamecontroller drücken, sollte die Zuordnung für DPadUp den ButtonIndex-Wert enthalten (Quelle ist Schaltfläche). Wenn DPadUp von einer Switchposition zugeordnet werden muss, sollte die DPadUp-Zuordnung die Werte SwitchIndex und SwitchPosition enthalten (Quelle ist Switch).

Quelle Name des Werts Werttyp Erforderlich? Wertinformationen
Taste ButtonIndex DWORD Ja Index im RawGameController-Schaltflächenarray .
Achse AxisIndex DWORD Ja Index im RawGameController-Achsenarray .
Invertierung DWORD No Gibt an, dass der Achsenwert invertiert werden soll, bevor die Faktoren "Threshold Percent " und "DebouncePercent " angewendet werden.
ThresholdPercent DWORD Ja Gibt die Achsenposition an, an der der zugeordnete Schaltflächenwert zwischen den gedrückten und losgelassenen Zuständen wechselt. Der gültige Wertebereich beträgt 0 bis 100. Die Schaltfläche wird als gedrückt betrachtet, wenn der Achsenwert größer oder gleich diesem Wert ist.
DebouncePercent DWORD Ja

Definiert die Größe eines Fensters um den ThresholdPercent-Wert , der verwendet wird, um den Zustand der gemeldeten Schaltfläche zu entprellen. Der gültige Wertebereich beträgt 0 bis 100. Schaltflächenzustandsübergänge können nur auftreten, wenn der Achsenwert die oberen oder unteren Begrenzungen des Entprässfensters überschreitet. Beispielsweise führt ein ThresholdPercent von 50 und DebouncePercent von 10 zu Entprellbegrenzungen bei 45 % und 55 % der Werte der Vollbereichsachse. Die Schaltfläche kann erst dann zum gedrückten Zustand wechseln, wenn der Achsenwert 55 % oder höher erreicht, und er kann erst wieder zum losgelassenen Zustand wechseln, wenn der Achsenwert 45 % oder darunter erreicht.

Die berechneten Entprellenfensterbegrenzungen werden zwischen 0 % und 100 % geklemmt. Beispielsweise würde ein Schwellenwert von 5 % und ein Entprellfenster von 20 % dazu führen, dass die Entprellfenstergrenzen auf 0 % und 15 % fallen. Der Schaltflächenzustand für Achsenwerte von 0 % und 100 % wird immer als losgelassen gemeldet bzw. gedrückt, unabhängig vom Schwellenwert und entprelligen Werten.

Schalter SwitchIndex DWORD Ja Index im RawGameController-Switcharray .
SwitchPosition REG_SZ Ja

Gibt die Schalterposition an, die dazu führt, dass die zugeordnete Schaltfläche angezeigt wird, dass sie gedrückt wird. Die Positionswerte können eine der folgenden Zeichenfolgen sein:

  • Up
  • Aufrecht
  • Right
  • Geradezu
  • Nach unten
  • DownLeft
  • Nach links
  • UpLeft
IncludeAdjacent DWORD No Gibt an, dass benachbarte Schalterpositionen auch dazu führen, dass die zugeordnete Schaltfläche angezeigt wird, dass sie gedrückt wird.

Achsenzuordnung

In der folgenden Tabelle sind die Werte aufgeführt, die zum Zuordnen einer Achse erforderlich sind:

Quelle Name des Werts Werttyp Erforderlich? Wertinformationen
Taste MaxValueButtonIndex DWORD Ja

Index im RawGameController-Schaltflächenarray , das in den zugeordneten unidirektionalen Achsenwert übersetzt wird.

MaxButton AxisValue
FALSE 0,0
TRUE 1.0
MinValueButtonIndex DWORD No

Gibt an, dass die zugeordnete Achse bidirektional ist. Werte von MaxButton und MinButton werden wie unten dargestellt in einer einzelnen bidirektionalen Achse kombiniert.

MinButton MaxButton AxisValue
FALSE FALSE 0.5
FALSE TRUE 1.0
TRUE FALSE 0,0
TRUE TRUE 0.5
Achse AxisIndex DWORD Ja Index im RawGameController-Achsenarray .
Invertierung DWORD No Gibt an, dass der zugeordnete Achsenwert vor der Rückgabe invertiert werden soll.
Schalter SwitchIndex DWORD Ja Index im RawGameController-Switcharray .
MaxValueSwitchPosition REG_SZ Ja

Eine der folgenden Zeichenfolgen:

  • Up
  • Aufrecht
  • Right
  • Geradezu
  • Nach unten
  • DownLeft
  • Nach links
  • UpLeft

Sie gibt die Position des Schalters an, der bewirkt, dass der zugeordnete Achsenwert als 1,0 gemeldet wird. Die entgegengesetzte Richtung von MaxValueSwitchPosition wird als 0,0 behandelt. Wenn z. B. MaxValueSwitchPosition up ist, wird die Achsenwertübersetzung unten angezeigt:

Schalterposition AxisValue
Up 1.0
Center 0.5
Nach unten 0,0
IncludeAdjacent DWORD No

Gibt an, dass benachbarte Schalterpositionen auch dazu führen, dass die zugeordnete Achse 1,0 meldet. Wenn "IncludeAdjacent" im obigen Beispiel festgelegt ist, erfolgt die Achsenübersetzung wie folgt:

Schalterposition AxisValue
Up 1.0
Aufrecht 1.0
UpLeft 1.0
Center 0.5
Nach unten 0,0
Geradezu 0,0
DownLeft 0,0

Switch-Zuordnung

Schalterpositionen können entweder aus einer Reihe von Schaltflächen im Schaltflächenarray des RawGameController oder aus einem Index im Switchesarray zugeordnet werden. Schalterpositionen können nicht von Achsen zugeordnet werden.

Quelle Name des Werts Werttyp Wertinformationen
Taste ButtonCount DWORD 2, 4 oder 8
SwitchKind REG_SZ TwoWay, FourWay oder EightWay
UpButtonIndex DWORD Siehe *ButtonIndex-Werte
DownButtonIndex DWORD
LeftButtonIndex DWORD
RightButtonIndex DWORD
UpRightButtonIndex DWORD
DownRightButtonIndex DWORD
DownLeftButtonIndex DWORD
UpLeftButtonIndex DWORD
Achse SwitchKind REG_SZ TwoWay, FourWay oder EightWay
XAxisIndex DWORD YAxisIndex ist immer vorhanden. XAxisIndex ist nur vorhanden, wenn SwitchKind FourWay oder EightWay ist.
YAxisIndex DWORD
XDeadZonePercent DWORD Geben Sie die Größe des inaktiven Bereichs um die Mittelposition der Achsen an.
YDeadZonePercent DWORD
XDebouncePercent DWORD Definieren Sie die Größe der Fenster um die Begrenzungen der oberen und unteren inaktiven Zone, die verwendet werden, um den gemeldeten Schalterzustand zu entspringen.
YDebouncePercent DWORD
XInvert DWORD Geben Sie an, dass die entsprechenden Achsenwerte vor der Inaktivierungszone invertiert werden sollen und entprenkte Fensterberechnungen angewendet werden.
YInvert DWORD
Schalter SwitchIndex DWORD Index im RawGameController-Switcharray .
Invertierung DWORD Gibt an, dass der Schalter seine Positionen in einer Gegenrichtung im Uhrzeigersinn und nicht in der Standardreihenfolge im Uhrzeigersinn meldet.
PositionBias DWORD

Verschiebt den Ausgangspunkt, wie Positionen durch den angegebenen Betrag gemeldet werden. PositionBias wird immer im Uhrzeigersinn vom ursprünglichen Ausgangspunkt gezählt und wird angewendet, bevor die Reihenfolge der Werte umgekehrt wird.

Beispielsweise kann ein Schalter, der Positionen meldet, die mit DownRight im Gegenzeigersinn beginnen, durch Festlegen des Invert-Flags und Angeben einer PositionBias von 5 normalisiert werden:

Position Gemeldeter Wert After PositionBias and Invert flags
Geradezu 0 3
Right 1 2
Aufrecht 2 1
Hoch 3 0
UpLeft 4 7
Nach links 5 6
DownLeft 6 5
Nach unten 7 4

*ButtonIndex-Werte

*ButtonIndex values index into the RawGameController's button array:

ButtonCount SwitchKind RequiredMappings
2 TwoWay
  • UpButtonIndex
  • DownButtonIndex
4 FourWay
  • UpButtonIndex
  • DownButtonIndex
  • LeftButtonIndex
  • RightButtonIndex
4 EightWay
  • UpButtonIndex
  • DownButtonIndex
  • LeftButtonIndex
  • RightButtonIndex
8 EightWay
  • UpButtonIndex
  • DownButtonIndex
  • LeftButtonIndex
  • RightButtonIndex
  • UpRightButtonIndex
  • DownRightButtonIndex
  • DownLeftButtonIndex
  • UpLeftButtonIndex

Eigenschaftenzuordnung

Hierbei handelt es sich um statische Zuordnungswerte für verschiedene Zuordnungstypen.

Zuordnung Name des Werts Werttyp Wertinformationen
Rennrad MaxWheelAngle DWORD Gibt den maximalen physischen Radwinkel an, der vom Rad in einer einzelnen Richtung unterstützt wird. Beispielsweise würde ein Rad mit einer möglichen Drehung von -90 Grad auf 90 Grad 90 Grad 90 angeben.

Beschriftungen

Bezeichnungen sollten unter dem Bezeichnungsschlüssel unter dem Gerätestamm vorhanden sein. Bezeichnungen können drei Unterschlüssel aufweisen: Schaltflächen, Achsen und Schalter.

Schaltflächenbeschriftungen

Die Tastentaste ordnet jede der Schaltflächenpositionen im Array der RawGameController-Schaltflächen einer Zeichenfolge zu. Jede Zeichenfolge wird intern dem entsprechenden GameControllerButtonLabel-Enumerationswert zugeordnet. Wenn z. B. ein Gamepad zehn Tasten und die Reihenfolge enthält, in der der RawGameController die Schaltflächen analysiert und in dem Schaltflächenbericht angezeigt wird, sieht dies wie folgt aus:

Menu,               // Index 0
View,               // Index 1
LeftStickButton,    // Index 2
RightStickButton,   // Index 3
LetterA,            // Index 4
LetterB,            // Index 5
LetterX,            // Index 6
LetterY,            // Index 7
LeftBumper,         // Index 8
RightBumper         // Index 9

Die Beschriftungen sollten in dieser Reihenfolge unter der Taste "Schaltflächen" angezeigt werden:

Name Wert (Typ: REG_SZ)
Schaltfläche0 Menü
Schaltfläche1 Ansicht
Schaltfläche2 LeftStickButton
Button3 RightStickButton
Button4 LetterA
Schaltfläche5 LetterB
Schaltfläche6 LetterX
Schaltfläche7 LetterY
Schaltfläche8 LeftBumper
Schaltfläche9 RightBumper

Achsenbeschriftungen

Die Achsentaste zuordnen alle Achsenpositionen im Achsenarray des RawGameController zu einer der Bezeichnungen, die in GameControllerButtonLabel Enum aufgeführt sind, genau wie die Schaltflächenbeschriftungen. Sehen Sie sich das Beispiel in Schaltflächenbeschriftungen an.

Bezeichnungen wechseln

Die Schaltertasten ordnet Die Positionswechselpositionen zu Beschriftungen zu. Die Werte folgen dieser Benennungskonvention: Um eine Position eines Schalters zu bezeichnen, deren Index x im Switcharray von RawGameController ist, fügen Sie diese Werte unter dem Unterschlüssel "Switches" hinzu:

  • SwitchxUp
  • SwitchxUpRight
  • SwitchxRight
  • SwitchxDownRight
  • SwitchxDown
  • SwitchxDownLeft
  • SwitchxUpLeft
  • SwitchxLeft

Die folgende Tabelle zeigt einen Beispielsatz von Beschriftungen für Schalterpositionen eines 4-Wege-Schalters, der bei Index 0 im RawGameController angezeigt wird:

Name Wert (Typ: REG_SZ)
Switch0Up XboxUp
Switch0Right XboxRight
Switch0Down XboxDown
Switch0Left XboxLeft

Beispielregistrierungsdatei

Um zu zeigen, wie alle diese Zuordnungen und Werte zusammenkommen, finden Sie hier eine Beispielregistrierungsdatei für ein generisches RacingWheel:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004]
"Description" = "Example Wheel Device"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\Labels\Buttons]
"Button0" = "LetterA"
"Button1" = "LetterB"
"Button2" = "LetterX"
"Button3" = "LetterY"
"Button6" = "Menu"
"Button7" = "View"
"Button8" = "RightStickButton"
"Button9" = "LeftStickButton"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\Labels\Switches]
"Switch0Down" = "Down"
"Switch0Left" = "Left"
"Switch0Right" = "Right"
"Switch0Up" = "Up"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel]
"MaxWheelAngle" = dword:000001c2

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Brake]
"AxisIndex" = dword:00000002
"Invert" = dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button1]
"ButtonIndex" = dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button2]
"ButtonIndex" = dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button3]
"ButtonIndex" = dword:00000002

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button4]
"ButtonIndex" = dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button5]
"ButtonIndex" = dword:00000009

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button6]
"ButtonIndex" = dword:00000008

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button7]
"ButtonIndex" = dword:00000007

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Button8]
"ButtonIndex" = dword:00000006

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Clutch]
"AxisIndex" = dword:00000003
"Invert" = dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\DPadDown]
"IncludeAdjacent" = dword:00000001
"SwitchIndex" = dword:00000000
"SwitchPosition" = "Down"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\DPadLeft]
"IncludeAdjacent" = dword:00000001
"SwitchIndex" = dword:00000000
"SwitchPosition" = "Left"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\DPadRight]
"IncludeAdjacent" = dword:00000001
"SwitchIndex" = dword:00000000
"SwitchPosition" = "Right"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\DPadUp]
"IncludeAdjacent" = dword:00000001
"SwitchIndex" = dword:00000000
"SwitchPosition" = "Up"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\FifthGear]
"ButtonIndex" = dword:00000010

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\FirstGear]
"ButtonIndex" = dword:0000000c

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\FourthGear]
"ButtonIndex" = dword:0000000f

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\NextGear]
"ButtonIndex" = dword:00000004

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\PreviousGear]
"ButtonIndex" = dword:00000005

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\ReverseGear]
"ButtonIndex" = dword:0000000b

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\SecondGear]
"ButtonIndex" = dword:0000000d

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\SixthGear]
"ButtonIndex" = dword:00000011

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\ThirdGear]
"ButtonIndex" = dword:0000000e

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Throttle]
"AxisIndex" = dword:00000001
"Invert" = dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\1234567800010004\RacingWheel\Wheel]
"AxisIndex" = dword:00000000
"Invert" = dword:00000000

Weitere Informationen