Как заставить геймпад работать в Windows: XInput vs DirectInput

Если Windows видит геймпад, но игра — нет (или кнопки/триггеры/вибрация работают странно), почти всегда дело не в «драйверах», а в режиме ввода: XInput или DirectInput. Решение обычно сводится к правильной диагностике и выбору одного способа подключения (нативно, через Steam Input или через эмуляцию XInput).

Оглавление

Что такое XInput и DirectInput

XInput — стандарт «как у Xbox». Большинство современных игр на Windows ожидают именно его: корректные подсказки (A/B/X/Y), нормальные триггеры по отдельности, вибрация и меньше сюрпризов с раскладкой.

DirectInput — более старый и универсальный стандарт (многие недорогие USB‑геймпады, часть рулей/джойстиков). Он часто работает в старых играх, но новые проекты могут его игнорировать или читать некорректно.

Главный практический нюанс: один и тот же контроллер иногда может «светиться» в системе по-разному, и игра выбирает не тот интерфейс. Отсюда типичные симптомы: игра не видит геймпад, триггеры ведут себя как одна ось, нет вибрации.

Как проверить, что видит Windows

  1. Нажмите Win + R → введите joy.cpl → Enter.
  2. Выберите контроллер → Свойства → вкладка Проверка (Test).

Если в joy.cpl кнопки и оси не реагируют, это не проблема игры: проверьте кабель (нужен data‑кабель), другой USB‑порт, Bluetooth/адаптер и переустановку устройства в «Диспетчере устройств».

Дополнительно полезно:

  • отключить/включить геймпад заново и проверить, не «зависли» ли оси;
  • убрать лишние контроллеры (руль, виртуальные устройства), чтобы игра не выбрала «не тот» девайс.

Как добиться работы в играх (пошагово)

1) Если у вас Xbox‑совместимый XInput‑геймпад

Обычно ничего ставить не нужно: Windows 10/11 подтягивает драйверы автоматически. Если есть обрывы по Bluetooth или странное поведение — обновите прошивку контроллера штатным способом (через приложение аксессуаров Xbox в Windows).

2) Если игра из Steam — начните со Steam Input

Steam умеет «переводить» многие контроллеры в понятный игре вид.

  • Steam → НастройкиКонтроллер (включите поддержку).
  • В свойствах конкретной игры попробуйте включить/выключить Steam Input и проверьте раскладку.

Когда Steam Input полезен: игра ждёт XInput, а у вас DirectInput‑геймпад.
Когда лучше отключить: игра нативно поддерживает ваш контроллер, но Steam подменяет подсказки или ломает особые функции.

3) Если игра не в Steam и ждёт XInput — нужна эмуляция DirectInput → XInput

В этом случае помогают утилиты, которые создают виртуальный Xbox‑контроллер:

  • DS4Windows — чаще для DualShock 4 и совместимых устройств.
  • x360ce — вариант для «подружить» DirectInput с XInput (иногда точечно под игру).

В некоторых онлайн‑играх античит может конфликтовать с виртуальными контроллерами/инжекторами. Если игра соревновательная, безопаснее использовать нативный XInput‑геймпад или Steam Input.

Частые ошибки

  • Double input (двойной ввод): игра видит и реальный геймпад, и виртуальный — персонаж «дёргается», меню пролистывается по два пункта. Решение: оставьте один источник (Steam Input или DS4Windows/x360ce) и включите скрытие «реального» устройства в настройках маппера (если поддерживается).
  • Триггеры как одна ось: игра читает контроллер через DirectInput. Решение: добиться режима XInput (Steam Input или эмуляция).
  • «В Windows работает, в игре нет»: проверьте, не включён ли одновременно Steam Input и сторонний маппер; отключите лишние HID‑устройства; переподключите геймпад и удалите его в «Диспетчере устройств» с последующим автодобавлением.

FAQ

Нужно ли ставить отдельный «драйвер XInput»?
Обычно нет. Поддержка XInput встроена в Windows, а драйверы для Xbox‑совместимых контроллеров ставятся автоматически.

Почему геймпад определяется, но кнопки в игре перепутаны?
Чаще всего игра читает DirectInput‑раскладку, а вы ожидаете XInput. Помогает Steam Input или эмуляция в XInput с правильным профилем.

Что быстрее всего проверить перед настройками?
joy.cpl и затем — убрать «конфликтующие» перехватчики (оставить один: Steam Input или DS4Windows/x360ce).