Skip to content

Эмуляция XBOX геймпада

Введение

В данной инструкции будет описано, как можно использовать аппаратуру для FPV полетов, в качестве Xbox Gamepad. Это может быть удобным для использования в симуляторе DJI Virtual Flight for Windows.
Данный симулятор поддерживает либо аппаратуру от DJI более старых версий либо, Xbox Gamepad. Именно по этому нам и нужно произвести его эмуляцию.

Virtual Gamepad Emulation Driver

Сначала нам нужно установить Virtual Gamepad Emulation Driver (ViGEm Bus Driver).
Скачать последнюю версию инсталлятора можно со страницы релизов.
Больше ничего делать не нужно.

Universal Control Remapper (UCR)

Universal Control Remapper - это программа, которая и будет эмулировать Xbox Gamepad и преобразовывать сигналы со стиков и кнопок нашей аппаратуры в стики и кнопки Xbox Gamepad.

Нужно скачать архив с программой со страницы релизов и распаковать в какую-нибудь папку.

Создание профиля

Подключаем аппаратуру к компьютеру обычным образом, например через кабель и выбираем на экране аппаратуры USB Joystick (HID).

Запускаем программу UCR.exe.
В левой панели Profiles нажимаем кнопку с плюсиком, тем самым добавляя новый профиль.
Даем имя профилю.
В разделе Input Devices ставим галочку напротив нашей аппаратуры.
В панели Output Devices выбираем ViGEm Xbox 360 Controller 1. Симулятор DJI Virtual Flight ожидает именно геймпад Xbox.
Номер (1, 2, 3 или 4) отвечает за то, какими по счёту игроком (слотом) будет эмулируемый контроллер. Для одного пульта выбираем самый первый слот — Controller 1.
Нажимаем кнопку Create. Откроется окно с редактированием плагинов (пробросов каналов).
Нужно настроить **два плагина Axes to Axes** (по одному для каждого стика: один для левого, один для правого).


Настройка первого блока (Левый стик — Throttle / Yaw)

В FPV (режим Mode 2) левый стик отвечает за Газ (Throttle) по вертикали и Рыскание (Yaw) по горизонтали. На геймпаде Xbox это Left Stick (LS).

  1. В левой колонке Plugins найдите плагин Axes to Axes и нажмите на знак + рядом с ним. Дайте имя этому плагину, например, Left Stick. Нажмите кнопку Accept.

  2. В разделе X Axis - Input нажмите кнопку Click to bind и пошевелите левым стиком влево-вправо (Yaw). UCR сам перехватит нужную ось пульта. Там появится надпись Axes, RotationX.

  3. В разделе Y Axis - Input нажмите кнопку Click to bind и пошевелите левым стиком вверх-вниз (Throttle). Появится надпись Axes, Z.

  4. В разделе X Axis - Output (в нижней панели «Axes to Axes»): нажмите Click to bind и из появившегося списка Xbox выберите LS X (Left Stick X).

  5. В разделе Y Axis - Output нажмите Click to bind и выберите LS Y (Left Stick Y).

Обратите внимание: Если в симуляторе газ или другой канал будет работать наоборот (вверх = ноль, вниз = максимум), включите переключатель Invert Y.


Настройка второго блока (Правый стик — Pitch / Roll)

Правый стик отвечает за Тангаж (Pitch/Elevator) по вертикали и Крен (Roll/Aileron) по горизонтали. На геймпаде Xbox это Right Stick (RS).

  1. В левой колонке Plugins найдите плагин Axes to Axes и нажмите на знак + рядом с ним. Дайте имя этому плагину, например, Right Stick. Нажмите кнопку Accept. В правой части появится второй такой же блок.

  2. В разделе X Axis - Input нажмите кнопку Click to bind и пошевелите правым стиком влево-вправо (Roll). UCR сам перехватит нужную ось пульта. Там появится надпись `Axes, X``.

  3. В разделе Y Axis - Input нажмите кнопку Click to bind и пошевелите правым стиком вверх-вниз (Pitch). Появится надпись Axes, Y.

  4. В разделе X Axis - Output (в нижней панели «Axes to Axes») нажмите Click to bind и из появившегося списка Xbox выберите RS X (Right Stick X).

  5. В разделе Y Axis - Output нажмите Click to bind и выберите RS Y (Right Stick Y).


Маппинг кнопок

Маппинг тумблеров и кнопок аппаратуры на кнопки Xbox (A, B, X, Y) в UCR делается через плагин Button to Button.

  1. В левой колонке Plugins найдите категорию Button и нажмите + рядом с плагином Button to Button. Дайте название нужной кнопки — например, Button A. Нажмите кнопку Accept. В основной рабочей зоне появится новый блок.

  2. В разделе Button - Input нажмите синюю кнопку Click to bind и нажмите нужную физическую кнопку или переключите тумблер на пультике. UCR автоматически зафиксирует номер кнопки.

  3. В разделе Button - Output (в нижней панели «Button to Button») нажмите Click to bind и из появившегося списка кнопок Xbox выберите нужную кнопку, например Buttons - *A.

  4. Настройка остальных кнопок делается так же

Полезный совет:
2-х и 3-позиционные тумблеры (SA, SB и т.д.): в Windows часто определяются как RotationY или RotationZ. Их можно биндить через плагин Axis to Button


Запуск и сохранение

  1. Нажмите на иконку дискеты (Save) в самом верхнем левом углу окна UCR.
  2. Нажмите на значок Play (треугольник) на верхней панели, чтобы активировать трансляцию.
    Перед нажатием на значок Play можно открыть панель управления, а в ней раздел Setup USB Game Controllers. В нем будет одно устройство. Это пульт. После нажатия кнопки Play появится второе устройство Controller (XBOX 360 for Windows).
    Можно открыть окно свойств данного контроля, подвигать стиками и увидеть, что они реагируют.

  3. Не закрывая UCR, запускайте DJI Virtual Flight. Симулятор начнёт принимать команды с вашего пульта, как с оригинального геймпада Xbox.