Подтипы 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 независимо от подключенного устройства.