XINPUT and Controller Subtypes

A table of controller subtypes available in XInput.

SubtypeMeaning
XINPUT_DEVSUBTYPE_UNKNOWN

Unknown.

The controller type is unknown.

XINPUT_DEVSUBTYPE_GAMEPAD

Gamepad controller.

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.

XINPUT_DEVSUBTYPE_DRUM_KIT

Drum controller.

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.

 

Note  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.

 

 

Community Additions

ADD
Show:
© 2014 Microsoft