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


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

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

Подтип Ценность Значение
XINPUT_DEVSUBTYPE_UNKNOWN 0x00 Неизвестный.
Тип контроллера неизвестен.
XINPUT_DEVSUBTYPE_GAMEPAD 0x01 Контроллер геймпада.
Включает в себя левые и правые триггеры, стрелки и все стандартные кнопки (A, B, X, Y, START, BACK, RB, RB, LSB, RSB).
XINPUT_DEVSUBTYPE_WHEEL 0x02 Гоночный контроллер колеса.
Левая палка 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 Hat, который сообщает как правая палка, руль (дескриптор поворота или рокер), который сообщает как левый триггер, и регулирование в качестве правого триггера. Включает поддержку основного оружия (A), дополнительного оружия (B) и других стандартных кнопок (X, Y, START, BACK). LB, LSB, RB и RSB являются необязательными.
XINPUT_DEVSUBTYPE_DANCE_PAD 0x05 Контроллер танцевальной площадки.
Включает в себя кнопки "Направление" и стандартные кнопки (A, B, X, Y) на панели, а также BACK и START.
XINPUT_DEVSUBTYPE_GUITAR 0x06 Гитарный контроллер.
Гистограмма сопоставляется с DPAD (вверх и вниз), а фреты назначаются A (зеленый), B (красный), Y (желтый), X (синий) и LB (оранжевый). Правая палка Y связана с датчиком вертикальной ориентации; Правый палец X является whammy бар. Включает поддержку BACK, START, DPAD (слева, справа). Левый триггер (селектор выбора), правый триггер, RB, LSB (модификатор fret), RSB необязателен.
XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE 0x07 Альтернативный гитарный контроллер.
Поддерживает больший диапазон перемещения для датчика вертикальной ориентации.
XINPUT_DEVSUBTYPE_DRUM_KIT 0x08 Контроллер барабана.
Барабанные площадки назначаются кнопок: A for green (Floor Tom), B for red (Snare Drum), X for blue (Low Tom), Y for yellow (High Tom) и LB для педали (бас-барабан). Включает в себя направление-панель, 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. Левая палка, правая палка, LSB и RSB являются необязательными.

Заметка

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