n1ro°
RU

Ошибки и коды · Инструкция

Триггеры геймпада LT и RT работают как одна ось: что делать

Триггеры геймпада LT и RT работают как одна ось в некоторых DirectInput-сценариях не из-за поломки.

Редакция N1RO · Проверено

Короткий ответ

Сначала проверьте геймпад в XInput-режиме. Если там LT и RT читаются раздельно, а в DirectInput становятся одной осью Z, это ограничение legacy-сопоставления, а не неисправность курков.

Почему два курка превращаются в одну ось

У аналогового триггера физически есть диапазон значений: от отпущенного до полностью нажатого. В XInput левый и правый триггеры представлены отдельно. Но Microsoft для XUSB→HID/DirectInput описывает другое отображение: оба триггера попадают на одну ось Z так, чтобы получить центрированное поведение, привычное старым приложениям.

Практический эффект легко заметить в симуляторе. Нажимаете RT — ось уходит в одну сторону, LT — в другую. Нажимаете оба одинаково — значения могут взаимно компенсироваться и оказаться около центра. Microsoft прямо отмечает ограничение: через такое DirectInput/HID-представление невозможно увидеть все комбинации двух триггеров одновременно.

Это особенно критично там, где LT и RT должны действовать независимо: газ и тормоз, две отдельные педали, прицеливание и стрельба, два аналоговых эффекта. Если игра сама ждёт DirectInput и имеет только одну ось, пользователь не сможет «раскрыть» два независимых канала одной галочкой в Windows.

Совет: Главный диагностический тест — сравнить один и тот же контроллер в XInput и DirectInput. Разница между режимами намного информативнее, чем повторная калибровка одной оси.

Как проверить проблему по шагам

  1. Закройте игру и все программы, которые могут создавать виртуальный контроллер.
  2. Подключите геймпад в XInput-режиме и откройте тест ввода, где отдельно видны LT и RT. Нажмите каждый курок по одному и оба вместе.
  3. Запишите результат: работают ли два значения независимо и достигают ли полного диапазона.
  4. Переключите устройство в DirectInput, переподключите его и повторите тот же тест.
  5. Если в DirectInput появился один общий Z-канал, а в XInput два независимых триггера — аппаратная часть, вероятнее всего, исправна.
  6. В игре выберите XInput, если он поддерживается. Если игра только DirectInput, ищите внутри неё раздельное назначение осей или используйте поддерживаемый слой преобразования, например Steam Input, осознанно проверяя отсутствие двойного ввода.

Предупреждение: Не ставьте одновременно несколько эмуляторов и remapper-программ. Они могут создать два виртуальных устройства и превратить простую проблему осей в двойной ввод.

Как интерпретировать тест

  • XInput: LT/RT отдельно; DirectInput: одна Z. Ожидаемое XUSB→DirectInput mapping. Предпочесть XInput или слой преобразования
  • Один триггер не меняется нигде. Возможна аппаратная/драйверная проблема. Проверить другой USB-порт/PC и контроллер
  • Оба режима нормальны, проблема только в одной игре. Настройки/mapping игры. Сбросить назначения и перенастроить
  • В игре два действия с одного нажатия. Возможен двойной виртуальный ввод. Оставить один слой обработки

Важно: Калибровка не может создать второй независимый канал там, где API уже отдаёт два физически разных триггера как одну логическую ось.

Какие обходные пути действительно имеют смысл

Лучший вариант — использовать XInput, если игра его поддерживает. Это сохраняет отдельные значения триггеров в модели, для которой проектировались современные Xbox-подобные геймпады. Если на контроллере есть аппаратный X/D-переключатель, выбирайте X до запуска игры и переподключайте устройство после смены режима.

Для старых игр, которые понимают только DirectInput, возможны три сценария. Первый: игра сама умеет назначить положительное и отрицательное направление одной оси на разные действия — тогда для газа/тормоза этого иногда достаточно, но одновременное использование будет ограничено. Второй: игра позволяет выбрать другой API через обновление, launcher или настройку. Третий: внешний слой преобразования делает для игры XInput-совместимое устройство. Steam Input как раз умеет эмулировать геймпад для игр, но его нужно тестировать отдельно от других remapper-программ.

Если проблема возникла внезапно в игре, где раньше два курка работали раздельно, сначала проверьте, не переключился ли сам геймпад в D-режим и не сбросилась ли конфигурация Steam Input. Настоящий аппаратный износ обычно проявляется не как аккуратное «объединение двух каналов в Z», а как мёртвая зона, скачки, неполный ход или отсутствие реакции одного курка.

Почему не стоит начинать с разборки контроллера

Форма симптома здесь сама по себе даёт сильную подсказку. Если оба курка физически плавно работают, но именно в одном API симметрично делят ось, это выглядит как программное представление, а не как две одновременные аппаратные поломки. Разборка не изменит mapping Windows и только добавит риск повредить шлейфы, пружины или гарантийные пломбы.

Сначала исключите уровень игры: сбросьте custom bindings, закройте программы виртуальных контроллеров и сравните поведение в другом приложении. Затем исключите режим самого геймпада. Только если один курок не регистрируется и в XInput, и в DirectInput, и на другом PC, подозрение на hardware становится обоснованным.

Для гарантийного обращения полезно записать короткое видео теста с двумя режимами и указать модель контроллера, способ подключения и приложение. Это гораздо информативнее формулировки «триггеры конфликтуют» и помогает отделить ожидаемую особенность API от дефекта.

Почему проблема особенно заметна в гонках и симуляторах

В гоночной игре газ и тормоз логически должны существовать одновременно: водитель может слегка держать тормоз и одновременно подавать тягу, а некоторые симуляторы используют перекрытие педалей для техники прохождения поворота. При объединённой оси DirectInput это представляется хуже: одно направление оси означает один триггер, противоположное — второй, а одновременное нажатие частично взаимно вычитается. Поэтому игра не получает два независимых значения даже при полностью исправной механике курков.

В экшене ограничение может быть менее заметно. Если LT отвечает за прицел, а RT за выстрел, разработчик способен трактовать направления общей оси как два дискретных события. Но сочетания и аналоговая глубина всё равно ограничены. Например, игра не сможет надёжно отличить «оба нажаты наполовину» от некоторых других комбинаций, если получает только итоговую координату Z.

Проверять это лучше численно. В тестере XInput плавно нажмите LT от 0 до максимума и запишите, что RT остаётся на нуле; затем повторите наоборот и одновременно. В DirectInput посмотрите, движется ли одна Z-ось через центр. Если картина точно соответствует документированному mapping Microsoft, переустановка драйвера не создаст два канала. Нужен другой API или слой преобразования.

У сторонних контроллеров возможны собственные HID-дескрипторы, поэтому диагноз нельзя переносить на любое устройство только по слову DirectInput. Если контроллер изначально является нативным DirectInput-девайсом и публикует две отдельные оси, они могут работать независимо. Документированное объединение прежде всего относится к XUSB-контроллерам, которые Windows дополнительно показывает legacy-приложениям через HID/DirectInput. Если старой игре нужен именно DirectInput, иногда помогает назначить положительную и отрицательную половины общей оси на два разных действия с отдельными мёртвыми зонами. Это не восстанавливает одновременную независимую аналоговую работу LT и RT, но может сделать управление приемлемым там, где курки используются по очереди. В меню калибровки проверьте центр: без нажатия общая Z-ось должна находиться примерно в нейтральном положении.

Совет: Сравнение XInput и DirectInput на одном и том же контроллере сразу показывает, является ли общая Z-ось программным mapping.

Когда искать аппаратную неисправность

  • Один триггер не регистрируется даже в XInput.
  • Значение скачет при неподвижном курке.
  • Полный нажим не достигает ожидаемого максимума в нескольких тестах.
  • Проблема одинакова на другом PC без remapper-программ.
  • Есть механический заед, треск или курок не возвращается.

Совет: Если геймпад на гарантии, не разбирайте его ради проблемы, которая проявляется только в DirectInput. Сначала подтвердите поведение в XInput — это может полностью снять подозрение на железо.

Что учитывать

У аналогового триггера физически есть диапазон значений: от отпущенного до полностью нажатого. В XInput левый и правый триггеры представлены отдельно. Но Microsoft для XUSB→HID/DirectInput описывает другое отображение: оба триггера попадают на одну ось Z так, чтобы получить центрированное поведение, привычное старым приложениям. Практический эффект легко заметить в симуляторе. Нажимаете RT — ось уходит в одну сторону, LT — в другую. Нажимаете оба одинаково — значения могут взаимно…

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. DirectInput and XUSB Devices). Пример и формулировки — редакция N1RO на 2026-09-21.