Поделиться через


Подтипы XINPUT и контроллера

Таблица подтипов контроллеров, доступных в XInput.

Subtype Значение Значение
XINPUT_DEVSUBTYPE_UNKNOWN 0x00 Неизвестна.
Тип контроллера неизвестен.
XINPUT_DEVSUBTYPE_GAMEPAD 0x01 Контроллер геймпада.
Включает левый и правый джойстики, левый и правый триггеры, направляющие панели и все стандартные кнопки (A, B, X, Y, START, BACK, LB, RB, LSB, RSB).
XINPUT_DEVSUBTYPE_WHEEL 0x02 Контроллер гоночного руля.
Left Stick X сообщает о повороте колесика, правый триггер — педаль ускорения, а левый триггер — педаль тормоза. Включает панель направления и большинство стандартных кнопок (A, B, X, Y, START, BACK, LB, RB). LSB и RSB являются необязательными.
XINPUT_DEVSUBTYPE_ARCADE_STICK 0x03 Контроллер аркадного джойстика.
Включает цифровой джойстик, который сообщает как DPAD (вверх, вниз, влево, вправо) и большинство стандартных кнопок (A, B, X, Y, START, BACK). Триггеры слева и справа реализованы в виде цифровых кнопок и сообщают либо 0, либо 0xFF. LB, LSB, RB и RSB являются необязательными.
XINPUT_DEVSUBTYPE_FLIGHT_STICK 0x04 Контроллер джойстика полета.
Включает в себя палку шаг и рулон, которая сообщает как левый джойстик, шляпа POV, которая сообщает как правая палка, руль (поворот ручки или качалка), который сообщает как левый триггер, и управление регулированием в качестве правого триггера. Включает поддержку основного оружия (A), дополнительного оружия (B) и других стандартных кнопок (X, Y, START, BACK). LB, LSB, RB и RSB являются необязательными.
XINPUT_DEVSUBTYPE_DANCE_PAD 0x05 Контроллер танцевальной площадки.
Включает панель направления и стандартные кнопки (A, B, X, Y) на панели, а также НАЗАД и ПУСК.
XINPUT_DEVSUBTYPE_GUITAR 0x06 Гитарный контроллер.
Полоса strum сопоставляется с DPAD (вверх и вниз), а лады присваиваются A (зеленый), B (красный), Y (желтый), X (синий) и LB (оранжевый). Правая палка Y связана с вертикальным датчиком ориентации; Right Stick X является whammy бар. Включает поддержку BACK, START, DPAD (слева, справа). Левый триггер (селектор пикапа), правый триггер, RB, LSB (модификатор fret), RSB являются необязательными.
XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE 0x07 Альтернативный контроллер гитары.
Поддерживает больший диапазон перемещения для датчика вертикальной ориентации.
XINPUT_DEVSUBTYPE_DRUM_KIT 0x08 Контроллер барабана.
Барабанные колодки назначены кнопкам: A для зеленого (Floor Tom), B для красного (Snare Drum), X для синего (Low Tom), Y для желтого (High Tom) и LB для педали (Бас-барабан). Включает в себя Directional-Pad, BACK и START. RB, LSB и RSB являются необязательными.
XINPUT_DEVSUBTYPE_GUITAR_BASS 0x0B Контроллер бас-гитары.
Идентичен гитаре, с отдельным подтипом, чтобы упростить настройку.
XINPUT_DEVSUBTYPE_ARCADE_PAD 0x13 Контроллер аркадной панели.
Включает панель направления и большинство стандартных кнопок (A, B, X, Y, START, BACK, LB, RB). Триггеры слева и справа реализованы в виде цифровых кнопок и сообщают либо 0, либо 0xFF. Left Stick, Right Stick, LSB и RSB являются необязательными.

Примечание

Устаревшая версия XINPUT в Windows Vista (XInput 9.1.0) всегда возвращает фиксированный подтип XINPUT_DEVSUBTYPE_GAMEPAD независимо от подключенного устройства.