Ошибки и коды · Инструкция
Триггеры геймпада LT и RT работают как одна ось: что делать
Триггеры геймпада LT и RT работают как одна ось в некоторых DirectInput-сценариях не из-за поломки.
Короткий ответ
Сначала проверьте геймпад в XInput-режиме. Если там LT и RT читаются раздельно, а в DirectInput становятся одной осью Z, это ограничение legacy-сопоставления, а не неисправность курков.
Почему два курка превращаются в одну ось
У аналогового триггера физически есть диапазон значений: от отпущенного до полностью нажатого. В XInput левый и правый триггеры представлены отдельно. Но Microsoft для XUSB→HID/DirectInput описывает другое отображение: оба триггера попадают на одну ось Z так, чтобы получить центрированное поведение, привычное старым приложениям.
Практический эффект легко заметить в симуляторе. Нажимаете RT — ось уходит в одну сторону, LT — в другую. Нажимаете оба одинаково — значения могут взаимно компенсироваться и оказаться около центра. Microsoft прямо отмечает ограничение: через такое DirectInput/HID-представление невозможно увидеть все комбинации двух триггеров одновременно.
Это особенно критично там, где LT и RT должны действовать независимо: газ и тормоз, две отдельные педали, прицеливание и стрельба, два аналоговых эффекта. Если игра сама ждёт DirectInput и имеет только одну ось, пользователь не сможет «раскрыть» два независимых канала одной галочкой в Windows.
Совет: Главный диагностический тест — сравнить один и тот же контроллер в XInput и DirectInput. Разница между режимами намного информативнее, чем повторная калибровка одной оси.
Как проверить проблему по шагам
- Закройте игру и все программы, которые могут создавать виртуальный контроллер.
- Подключите геймпад в XInput-режиме и откройте тест ввода, где отдельно видны LT и RT. Нажмите каждый курок по одному и оба вместе.
- Запишите результат: работают ли два значения независимо и достигают ли полного диапазона.
- Переключите устройство в DirectInput, переподключите его и повторите тот же тест.
- Если в DirectInput появился один общий Z-канал, а в XInput два независимых триггера — аппаратная часть, вероятнее всего, исправна.
- В игре выберите 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.