XINPUT and Controller Subtypes
A table of controller subtypes available in XInput.
The controller type is unknown.
Includes Left and Right Sticks, Left and Right Triggers, Directional Pad, and all standard buttons (A, B, X, Y, START, BACK, LB, RB, LSB, RSB).
|XINPUT_DEVSUBTYPE_WHEEL||Racing wheel controller.
Left Stick X reports the wheel rotation, Right Trigger is the acceleration pedal, and Left Trigger is the brake pedal. Includes Directional Pad and most standard buttons (A, B, X, Y, START, BACK, LB, RB). LSB and RSB are optional.
|XINPUT_DEVSUBTYPE_ARCADE_STICK||Arcade stick controller.
Includes a Digital Stick that reports as a DPAD (up, down, left, right), and most standard buttons (A, B, X, Y, START, BACK). The Left and Right Triggers are implemented as digital buttons and report either 0 or 0xFF. LB, LSB, RB, and RSB are optional.
|XINPUT_DEVSUBTYPE_FLIGHT_STICK||Flight stick controller.
Includes a pitch and roll stick that reports as the Left Stick, a POV Hat which reports as the Right Stick, a rudder (handle twist or rocker) that reports as Left Trigger, and a throttle control as the Right Trigger. Includes support for a primary weapon (A), secondary weapon (B), and other standard buttons (X, Y, START, BACK). LB, LSB, RB, and RSB are optional.
|XINPUT_DEVSUBTYPE_DANCE_PAD||Dance pad controller.
Includes the Directional Pad and standard buttons (A, B, X, Y) on the pad, plus BACK and START.
|XINPUT_DEVSUBTYPE_GUITAR XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE XINPUT_DEVSUBTYPE_GUITAR_BASS||Guitar controller.
The strum bar maps to DPAD (up and down), and the frets are assigned to A (green), B (red), Y (yellow), X (blue), and LB (orange). Right Stick Y is associated with a vertical orientation sensor; Right Stick X is the whammy bar. Includes support for BACK, START, DPAD (left, right). Left Trigger (pickup selector), Right Trigger, RB, LSB (fret modifier), RSB are optional.
Guitar Bass is identical to Guitar, with the distinct subtype to simplify setup.
Guitar Alt supports a larger range of movement for the vertical orientation sensor.
The drum pads are assigned to buttons: A for green (Floor Tom), B for red (Snare Drum), X for blue (Low Tom), Y for yellow (High Tom), and LB for the pedal (Bass Drum). Includes Directional-Pad, BACK, and START. RB, LSB, and RSB are optional.
|XINPUT_DEVSUBTYPE_ARCADE_PAD||Arcade pad controller.
Includes Directional Pad and most standard buttons (A, B, X, Y, START, BACK, LB, RB). The Left and Right Triggers are implemented as digital buttons and report either 0 or 0xFF. Left Stick, Right Stick, LSB, and RSB are optional.
The legacy version of XINPUT on Windows Vista (XInput 9.1.0) will always return a fixed subtype of XINPUT_DEVSUBTYPE_GAMEPAD regardless of attached device.