Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Treiber für XUSB unter Windows implementiert die Kernelmodusschnittstelle für die XINPUT-DLL. Um ältere Titel mit der DirectInput--API mit dem allgemeinen Controllergerät zu nutzen, exportiert der Treiber auch eine HID-Klassenschnittstelle (Human Interface Device), die von DirectInput abgerufen wird. Wir haben die Zuordnung von XUSB zu HID basierend auf dem typischen Verhalten in einer Reihe von Gaming-Anwendungen für die ursprüngliche XINPUT-Version ausgewählt und die Zuordnung für neuere Untertypen aktualisiert. In diesem Thema wird die Zuordnung beschrieben.
Human Interface Device (HID)
HID-Standard ist ein Standard aus dem USB-Ausschuss (Universal Serial Bus), der ursprünglich von Microsoft vorgeschlagen wurde, Protokolle für Eingabegeräte zu generalisieren. Es besteht aus einer Byte-Code-Beschreibungssprache und kann Gamepads, Mäuse, Joysticks, Drosselungs- und Rudersteuerungen und Multiachsencontroller ausdrücken. Da dieser Standard so generalisiert ist, können Sie Probleme beim Schreiben von Software haben, die Eingaben von beliebigen Geräten verbraucht. Daher haben wir für die spieleorientierte DirectInput--API eine spezifische Unterzuordnung von Typen entwickelt, um Hardwarehersteller zur Unterstützung durch ihre Treiber zu ermutigen.
Wichtig
Sie können auch über RawInput-API- auf HID-Eingabegeräte zugreifen und Eingabeberichte über HID-API- verarbeiten, aber Vibrationsfeedback funktioniert nicht wie bei DirectInput-.
Zuordnungen
Der XUSB-Treiber implementiert sowohl eine XUSB-Klassenschnittstelle als auch eine HID-Klassenschnittstelle für Geräte, um sowohl XINPUT als auch DirectInput Verwendung zu unterstützen. Diese Zuordnung basiert auf den XUSB-Untertypinformationen. Der Treiber implementiert vier verschiedene Gruppen von Zuordnungen.
XUSB-Untertyp | Abbildung |
---|---|
XINPUT_DEVSUBTYPE_GAMEPAD (Untertyp 1) | Gamepad |
XINPUT_DEVSUBTYPE_WHEEL (Untertyp 2) | Rad |
XINPUT_DEVSUBTYPE_ARCADE_STICK (Untertyp 3) | Arcade-Joystick/Arcade-Pad |
XINPUT_DEVSUBTYPE_FLIGHT_STICK (Untertyp 4) | Flugstick |
XINPUT_DEVSUBTYPE_DANCE_PAD (Untertyp 5) | Standard für jeden neuen Untertyp |
XINPUT_DEVSUBTYPE_GUITAR (Untertyp 6) | Gitarre |
XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE (Untertyp 7) | |
XINPUT_DEVSUBTYPE_DRUM_KIT (Untertyp 8) | |
XINPUT_DEVSUBTYPE_GUITAR_BASS (Untertyp 11) | |
XINPUT_DEVSUBTYPE_ARCADE_PAD (Untertyp 19) |
Anmerkung
Die folgenden HID-Zuordnungen sind statisch. Dies bedeutet, dass die Zuordnung auch dann, wenn der Bericht über Gerätefunktionen darauf hinweist, dass eine bestimmte Schaltfläche oder Achse nicht unterstützt wird, die Zuordnung weiterhin enthält, aber immer einen Off-State- oder Center-Wert meldet.
Gamepad
Dies ist die Standardzuordnung, die auf einem Standard-Gamepad ausgelegt ist und als Gamepad- HID-Verwendungstyp verfügbar gemacht wird.
Steuerung | HID-Verwendungsname | Verwendungsseite | Verwendungs-ID |
---|---|---|---|
Linker Stick | X, Y | 0x01 | 0x30, 0x31 |
Rechtsknüppel | Rx, Ry | 0x01 | 0x33, 0x34 |
Linker Trigger + Rechter Trigger | Z* | 0x01 | 0x32 |
D-Pad nach oben, unten, links, rechts | Hat Switch | 0x01 | 0x39 |
Ein | Schaltfläche 1 | 0x09 | 0x01 |
B | Schaltfläche 2 | 0x09 | 0x02 |
X | Schaltfläche 3 | 0x09 | 0x03 |
Y | Schaltfläche 4 | 0x09 | 0x04 |
LB (linker Bumper) | Schaltfläche 5 | 0x09 | 0x05 |
RSP (rechter Bumper) | Schaltfläche 6 | 0x09 | 0x06 |
ZURÜCK | Schaltfläche 7 | 0x09 | 0x07 |
ANFANGEN | Schaltfläche 8 | 0x09 | 0x08 |
LSB (Linke Sticktaste) | Schaltfläche 9 | 0x09 | 0x09 |
RSB (Rechte Sticktaste) | Schaltfläche 10 | 0x09 | 0x0A |
Anmerkung
(*): Dies wird kombiniert, sodass Z das Zentrierungsverhalten aufweist, das von den meisten Titeln für drehung erwartet wird; Dies bedeutet, dass es nicht möglich ist, alle möglichen Triggerkombinationswerte über DirectInput- und HID anzuzeigen.
Arcade-Joystick/Arcade-Pad
Dies ist die Zuordnung für den Arcade-Stick-Controller und wird als Gamepad- HID-Verwendungstyp verfügbar gemacht. Das Arcade-Pad ähnelt einem Arcade-Stick, aber in einem kleineren Formfaktor. Diese Designs ersetzen den analogen Linken Trigger und den rechten Trigger durch digitale Schaltflächen, die den Minimal- und Maximalachsenwert melden.
Steuerung | HID-Verwendungsname | Verwendungsseite | Verwendungs-ID |
---|---|---|---|
D-Pad nach oben, unten, links, rechts | Hat Switch | 0x01 | 0x39 |
Ein | Schaltfläche 1 | 0x09 | 0x01 |
B | Schaltfläche 2 | 0x09 | 0x02 |
X | Schaltfläche 3 | 0x09 | 0x03 |
Y | Schaltfläche 4 | 0x09 | 0x04 |
LB (linker Bumper) | Schaltfläche 5 | 0x09 | 0x05 |
RSP (rechter Bumper) | Schaltfläche 6 | 0x09 | 0x06 |
ZURÜCK | Schaltfläche 7 | 0x09 | 0x07 |
ANFANGEN | Schaltfläche 8 | 0x09 | 0x08 |
Linker Trigger | Schaltfläche 9 | 0x09 | 0x09 |
Rechter Auslöser | Schaltfläche 10 | 0x09 | 0x0A |
Diese Geräte unterstützen möglicherweise oder nicht zusätzliche Steuerelemente, aber diese werden nicht durch die HID-Zuordnung verfügbar gemacht: Linker Stick, Rechter Stick, LSB (Linke Sticktaste) und RSB (Rechte Sticktaste).
Rad
Diese Zuordnung ist rund um ein Rennlenkrad konzipiert und wird als Gamepad- HID-Verwendungstyp verfügbar gemacht.
Steuerung | HID-Verwendungsname | Verwendungsseite | Verwendungs-ID |
---|---|---|---|
Rad (Linker Stick X) | X | 0x01 | 0x30 |
Beschleunigerpedal (Rechter Auslöser) + Bremspedal (linker Trigger) | Z* | 0x01 | 0x32 |
D-Pad nach oben, unten, links, rechts | Hat Switch | 0x01 | 0x39 |
Ein | Schaltfläche 1 | 0x09 | 0x01 |
B | Schaltfläche 2 | 0x09 | 0x02 |
X | Schaltfläche 3 | 0x09 | 0x03 |
Y | Schaltfläche 4 | 0x09 | 0x04 |
LB (linker Bumper) | Schaltfläche 5 | 0x09 | 0x05 |
RSP (rechter Bumper) | Schaltfläche 6 | 0x09 | 0x06 |
LSB (Linke Sticktaste) | Schaltfläche 7 | 0x09 | 0x07 |
RSB (Rechte Sticktaste) | Schaltfläche 8 | 0x09 | 0x08 |
ZURÜCK | Schaltfläche 9 | 0x09 | 0x09 |
ANFANGEN | Schaltfläche 10 | 0x09 | 0x0A |
Anmerkung
(*): Dies wird kombiniert, sodass Z das zentrierende Verhalten aufweist, das von den meisten Titeln für die Brems- und Beschleunigersteuerung erwartet wird; Dies bedeutet, dass es nicht möglich ist, alle möglichen Pedalkombinationswerte durch DirectInputzu sehen.
Flugstick
Diese Zuordnung ist rund um einen Flugstick ausgelegt und wird als Joystick HID-Verwendungstyp verfügbar gemacht.
Steuerung | Verwendungsname | Verwendungsseite | Verwendungs-ID |
---|---|---|---|
Flugstick (Linker Stick) | X, Y | 0x01 | 0x30, 0x31 |
POV-Hut (Right Stick) | Rx, Ry | 0x01 | 0x33, 0x34 |
Drosselung (Rechter Auslöser) | Z | 0x01 | 0x32 |
Rudder (Linker Trigger) | Rz | 0x01 | 0x35 |
D-Pad nach oben, unten, links, rechts | Hat Switch | 0x01 | 0x39 |
Primärwaffe (A) | Schaltfläche 1 | 0x09 | 0x01 |
Sekundärwaffe (B) | Schaltfläche 2 | 0x09 | 0x02 |
X | Schaltfläche 3 | 0x09 | 0x03 |
Y | Schaltfläche 4 | 0x09 | 0x04 |
LB (linker Bumper) | Schaltfläche 5 | 0x09 | 0x05 |
RSP (rechter Bumper) | Schaltfläche 6 | 0x09 | 0x06 |
ZURÜCK | Schaltfläche 7 | 0x09 | 0x07 |
ANFANGEN | Schaltfläche 8 | 0x09 | 0x08 |
LSB (Linke Sticktaste) | Schaltfläche 9 | 0x09 | 0x09 |
RSB (Rechte Sticktaste) | Schaltfläche 10 | 0x09 | 0x0A |
Anmerkung
Dies basiert auf dem endgültigen Flight Stick-Design. Da sich dies von frühen Flight Stick-Definitionen unterscheidet, verfügen viele Geräte über einen Modusschalter, der das alte und das neue Modell unterstützt. Bei dieser Zuordnung wird das neue Modell vorausgesetzt.