Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйвер XUSB в Windows реализует интерфейс режима ядра для библиотеки DLL XINPUT. Чтобы обеспечить хороший интерфейс для устаревших названий, использующих API DirectInput с общим устройством контроллера, драйвер также экспортирует интерфейс класса "Устройство интерфейса человека" (HID), который выбирается DirectInput. Мы выбрали сопоставление XUSB с HID на основе типичного поведения в наборе игровых приложений для исходной версии XINPUT, и мы обновили сопоставление для новых подтипов. В этом разделе описывается сопоставление.
Устройство пользовательского интерфейса (HID)
Стандарт HID является стандартом комитета универсальной последовательной шины (USB), первоначально предлагаемого корпорацией Майкрософт для обобщения протоколов для устройств ввода. Он состоит из языка описания байтов кода и может выражать геймпады, мыши, джойстики, регулирование и контроль управления с несколькими осями, а также контроллеры с несколькими осями. Так как этот стандарт настолько обобщен, у вас может возникнуть проблема с написанием программного обеспечения, которое потребляет входные данные с произвольных устройств. Таким образом, для api DirectInput, ориентированного на игру, мы разработали конкретное подмноживное сопоставление типов, чтобы поощрять производство оборудования для поддержки через их драйверы.
Важный
Вы также можете получить доступ к устройствам ввода HID с помощью API RawInput и обработки входных отчетов с помощью API HID, но обратная связь вибрации не будет работать так же, как и с DirectInput.
Сопоставления
Драйвер XUSB реализует интерфейс класса XUSB и интерфейс класса HID для устройств, чтобы поддерживать использование XINPUT и DirectInput. Это сопоставление основано на данных подтипа XUSB. Драйвер реализует четыре отдельные группы сопоставлений.
Подтип XUSB | Отображение |
---|---|
XINPUT_DEVSUBTYPE_GAMEPAD (подтип 1) | Геймпад |
XINPUT_DEVSUBTYPE_WHEEL (подтип 2) | Колесо |
XINPUT_DEVSUBTYPE_ARCADE_STICK (подтип 3) | Аркадная палка/аркадная панель |
XINPUT_DEVSUBTYPE_FLIGHT_STICK (подтип 4) | Пролетная палка |
XINPUT_DEVSUBTYPE_DANCE_PAD (подтип 5) | По умолчанию для любого нового подтипа |
XINPUT_DEVSUBTYPE_GUITAR (подтип 6) | Гитара |
XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE (подтип 7) | |
XINPUT_DEVSUBTYPE_DRUM_KIT (подтип 8) | |
XINPUT_DEVSUBTYPE_GUITAR_BASS (подтип 11) | |
XINPUT_DEVSUBTYPE_ARCADE_PAD (подтип 19) |
Заметка
Следующие сопоставления HID являются статическими. Это означает, что даже если отчет о возможностях устройства указывает, что определенная кнопка или ось не поддерживается, сопоставление по-прежнему будет включать его, но всегда будет сообщать об отключенном значении состояния или центра.
Геймпад
Это сопоставление по умолчанию и предназначено для стандартной игровой панели и предоставляется как геймпад тип использования HID.
Контроль | Имя использования HID | Страница использования | Идентификатор использования |
---|---|---|---|
Левая палка | X, Y | 0x01 | 0x30, 0x31 |
Правая палка | Rx, Ry | 0x01 | 0x33, 0x34 |
Левый триггер + правый триггер | Z* | 0x01 | 0x32 |
D-Pad вверх, вниз, слева, справа | Переключатель шляпы | 0x01 | 0x39 |
A | Кнопка 1 | 0x09 | 0x01 |
B | Кнопка 2 | 0x09 | 0x02 |
X | Кнопка 3 | 0x09 | 0x03 |
Y | Кнопка 4 | 0x09 | 0x04 |
LB (левый бампер) | Кнопка 5 | 0x09 | 0x05 |
RB (правый бампер) | Кнопка 6 | 0x09 | 0x06 |
НАЗАД | Кнопка 7 | 0x09 | 0x07 |
НАЧАЛО | Кнопка 8 | 0x09 | 0x08 |
LSB (левая кнопка палки) | Кнопка 9 | 0x09 | 0x09 |
RSB (кнопка справа на палке) | Кнопка 10 | 0x09 | 0x0A |
Заметка
(*): Это объединяется таким образом, чтобы Z отображал по центру поведение, ожидаемое большинством названий для поворота; Это означает, что невозможно просмотреть все возможные значения сочетания триггеров с помощью DirectInput и HID.
Аркадная палка/аркадная панель
Это сопоставление, разработанное вокруг контроллера Arc Stick, и предоставляется как геймпад тип использования HID. Аркадная панель очень похожа на аркадную палку, но в меньшем форм-факторе. Эти конструкции заменяют аналоговый триггер слева и правый триггер цифровыми кнопками, которые сообщают о минимальном и максимальном значении оси.
Контроль | Имя использования HID | Страница использования | Идентификатор использования |
---|---|---|---|
D-Pad вверх, вниз, слева, справа | Переключатель шляпы | 0x01 | 0x39 |
A | Кнопка 1 | 0x09 | 0x01 |
B | Кнопка 2 | 0x09 | 0x02 |
X | Кнопка 3 | 0x09 | 0x03 |
Y | Кнопка 4 | 0x09 | 0x04 |
LB (левый бампер) | Кнопка 5 | 0x09 | 0x05 |
RB (правый бампер) | Кнопка 6 | 0x09 | 0x06 |
НАЗАД | Кнопка 7 | 0x09 | 0x07 |
НАЧАЛО | Кнопка 8 | 0x09 | 0x08 |
Левый триггер | Кнопка 9 | 0x09 | 0x09 |
Правый триггер | Кнопка 10 | 0x09 | 0x0A |
Эти устройства могут или не поддерживают дополнительные элементы управления, но они не предоставляются сопоставлением HID: левая палка, правая палка, LSB (левая кнопка на палку) и RSB (кнопка справа на палку).
Колесо
Это сопоставление разработано вокруг гоночного колеса и предоставляется как геймпад тип использования HID.
Контроль | Имя использования HID | Страница использования | Идентификатор использования |
---|---|---|---|
Колесо (левая палка X) | X | 0x01 | 0x30 |
Педаль акселератора (правый триггер) + тормозной педаль (левый триггер) | Z* | 0x01 | 0x32 |
D-Pad вверх, вниз, слева, справа | Переключатель шляпы | 0x01 | 0x39 |
A | Кнопка 1 | 0x09 | 0x01 |
B | Кнопка 2 | 0x09 | 0x02 |
X | Кнопка 3 | 0x09 | 0x03 |
Y | Кнопка 4 | 0x09 | 0x04 |
LB (левый бампер) | Кнопка 5 | 0x09 | 0x05 |
RB (правый бампер) | Кнопка 6 | 0x09 | 0x06 |
LSB (левая кнопка палки) | Кнопка 7 | 0x09 | 0x07 |
RSB (кнопка справа на палке) | Кнопка 8 | 0x09 | 0x08 |
НАЗАД | Кнопка 9 | 0x09 | 0x09 |
НАЧАЛО | Кнопка 10 | 0x09 | 0x0A |
Заметка
(*): Это объединяется таким образом, чтобы Z отображал центрирование поведения, ожидаемое большинством названий для элементов управления тормозом и акселератором; Это означает, что невозможно просмотреть все возможные значения сочетаний педалей через DirectInput.
Пролетная палка
Это сопоставление разработано вокруг пролетной палочки и предоставляется как Джойстик тип использования HID.
Контроль | Имя использования | Страница использования | Идентификатор использования |
---|---|---|---|
Полетная палка (левая палка) | X, Y | 0x01 | 0x30, 0x31 |
POV Hat (справа палка) | Rx, Ry | 0x01 | 0x33, 0x34 |
Регулирование (правый триггер) | Z | 0x01 | 0x32 |
Рудер (левый триггер) | Рц | 0x01 | 0x35 |
D-Pad вверх, вниз, слева, справа | Переключатель шляпы | 0x01 | 0x39 |
Основное оружие (A) | Кнопка 1 | 0x09 | 0x01 |
Дополнительное оружие (B) | Кнопка 2 | 0x09 | 0x02 |
X | Кнопка 3 | 0x09 | 0x03 |
Y | Кнопка 4 | 0x09 | 0x04 |
LB (левый бампер) | Кнопка 5 | 0x09 | 0x05 |
RB (правый бампер) | Кнопка 6 | 0x09 | 0x06 |
НАЗАД | Кнопка 7 | 0x09 | 0x07 |
НАЧАЛО | Кнопка 8 | 0x09 | 0x08 |
LSB (левая кнопка палки) | Кнопка 9 | 0x09 | 0x09 |
RSB (кнопка справа на палке) | Кнопка 10 | 0x09 | 0x0A |
Заметка
Это основано на окончательном дизайне Flight Stick. Так как это отличается от ранних определений Flight Stick, многие устройства имеют переключатель режима, поддерживающий старую и новую модель. Это сопоставление предполагает новую модель.