Эмуляция XBox-контроллера для геймпадов без аппаратной поддержки XInput.
В текущих реалия ПК-гейминга, современные игры поддерживают только XInput-совместимые геймпады, и только некоторые игры поддерживают DirectInput-устройства, и то, в основном применительно только к одному контроллеру – DUALSHOCK 4. Также стандарт DirectInput используется в различных гоночных и авиа-симуляторах, для работы игровых рулей и штурвалов.
Что такое XInput? XInput – это API, который позволяет приложениям получать данные от контроллера Xbox (или любого другого контроллера с аппаратной поддержкой XInput). Подробнее можно почитать тут.
реклама
А что же делать юзеру, если у него в арсенале оказался геймпад без аппаратной поддержки XInput, DirectInput-совместимый? Выкидывать геймпад? Продавать и покупать XInput-совместимый? Нет, это совершенно необязательно, потому что существуют различные варианты эмуляции XInput для DirectInput Only геймпада. Вот эти варианты мы сегодня и рассмотрим.
Сразу оговорюсь, эмуляторов DS4Windows и InputMapper, предназначенных для DUALSHOCK 4, в этой статье не будет. Для DUALSHOCK 4 существует отдельная статья в блоге, DUALSHOCK 4 в реалиях ПК, где эта тема раскрыта достаточно широко.
реклама
Вариант номер один – эмулятор x360ce.
Изначально эмулятор появился под названием “XBOX360 Controller Emulator v3.0 by Racer_S”. Был он, мягко говоря, сыроват, пока его дальнейшим развитием не занялся пользователь с ником virus, обитающий тогда на сайте www.tocaedit.com. В дальнейшем всё это дело переросло в проект x360ce и существует по сей день.
Что представляет из себя x360ce эмулятор? Это кастомные библиотеки:
реклама
плюс файл с настройками:
x360ce.ini конфигурируете вы самостоятельно, конкретно под свой геймпад, с помощью утилиты из комплекта. После чего x360ce.ini и dll-файлы (как правило достаточно одного dll-файла – xinput1_3.dll) подбрасываются в папку с целевой игрой:
реклама
Настроек много и они не универсальные. Эмуляция может работать, а может и не работать, зависит от игры и подобранных настроек. Для 64-битных приложений, нужно использовать 64-битную версию библиотек. Если для вашего DirectInput-геймпада в системе не установлен драйвер с поддержкой вибрации, вибрации не будет и через эмулятор. x360ce не работает с UWP-приложениями.
x360ce-эмулятор был отличным решением несколько лет назад, но сейчас есть варианты поинтереснее. Впрочем, иногда он спасает.
Скачать x360ce можно тут.
Вариант номер два – XOutput эмулятор.
В XOutput принцип работы уже более продвинутый. При установке этого эмулятора, в систему ставится virtual bus driver (SCP драйвер-враппер, который также используют утилиты DS4Windows и InputMapper, для эмуляции XInput на геймпадах DUALSHOCK 4):
Но в отличие от заточенных под один геймпад DS4Windows и InputMapper, этот эмулятор всеяден и готов работать с любыми DirectInput геймпадами:
После настройки и активации эмуляции в системе (помимо нашего DirectInput геймпада) должен появиться XBox 360 геймпад:
Чтобы скрыть DirectInput сущность нашего геймпада от системы и игр, следует воспользоваться режимом “Exclusivity”:
должно стать так:
. по идее должно стать. Эмулятор достаточно капризный, в том, что касается эксклюзивного режима. Особенно на последних версиях Windows 10. Т.е. может и не работать.
Вибрации через эмулятор, даже если она поддерживается вашим геймпадом, и в систему установлен родной forcefeedback драйвер для DirectInput устройства, не будет:
У этого эмулятора есть неоспоримые преимущества перед x360ce: он работает в UWP-приложениях, он не требует никаких сторонних DLL-библиотек в папке с игрой, он легко включается и выключается, его можно добавить в автозагрузку, он работает с 32-битными и 64-битными приложениями.
Скачать эмулятор можно тут.
Также существует новая ветка разработки XOutput. Тут для полноценной работы потребуется другой пакет драйверов (вместо SCP) – ViGEm Bus:
Суть та же, но тут работа над софтом и драйвером идёт активнее.
Вот вам необходимые ссылки по новой версии XOutput:
- ViGEm Bus Driver Installation
- ViGEm Bus Driver Installation – caveman edition
- Virtual Gamepad Emulation Framework Documentation
И наконец вариант номер три – эмуляция XInput через Steam.
Steam поддерживает большое количество геймпадов “из коробки”, т.е. не требуется дополнительных телодвижений для того, чтобы Steam распознал ваш геймпад, а точнее правильно определил раскладку кнопок и прочее.
Но нет ничего страшного, если ваш DirectInput-геймпад незнаком стиму.
Для того, чтобы для вашего DirectInput-друга, в играх из библиотеки Steam (или добавленных туда вручную), заработала эмуляция XInput (и прочие плюшки), нужно проделать следующие шаги.
Подключить геймпад к ПК, запустить Steam и перейти в режим Big Picture:
Перейти в пункт меню с настройками контроллера:
поставить галочку на “пользовательские настройки обычного геймпада”:
выбрать внизу, в обнаруженных контроллерах, ваш геймпад и настроить его в соответствии с подсказками на экране:
нажать “сохранить” и дать имя вашему геймпаду:
Всё. Теперь ваш геймпад поддерживается в Steam, и для него доступны все настройки для любой игры из библиотеки:
В играх (из библиотеки Steam) ваш геймпад будет определяться, как XBox 360 контроллер. Чтобы произвести дополнительные настройки по конкретной игре, нужно вызвать в процессе игры оверлейный экран Steam (кнопкой GUIDE) или комбинацией клавиш и произвести все необходимые манипуляции.
TocaEdit XBOX 360 Controller emulator
Primary repository for the x360ce library, front-end and tools.
- Download ZIP File
- Download TAR Ball
- View On GitHub
- TocaEdit X360 Controller Emulator Application 3.0.1.8 Beta 1 (Digitally Signed) (2015-04-19)
- TocaEdit X360 Controller Emulator Libraries 3.4.1.1181 (Digitally Signed)
- 32-bit Download
- 64-bit Download
- Updated to work with Grand Theft Auto V 64-bit.
- Periodic Sine force feedback crash fix.
- Negative Axis not working fix.
XBOX 360 Controller emulator if a wrapper library that translates the XInput calls to DirectInput calls, for support non-XInput devices in new application (mostly games).
Please check wiki for requirements and usage notes. Before use please read the readme and manual.
PLEASE READ LIBRARIES MANUAL BEFORE REPORTING ISSUES:
This project is maintained by x360ce
Hosted on GitHub Pages — Theme by orderedlist
X360ce – лучший эмулятор геймпада для ПК
x360ce (Xbox 360 Controller Emulator) – это эмулятор геймпада xbox, который может маскировать присутствие различных контроллеров сторонних производителей и делать их видимыми для ОС, как будто они на самом деле являются стандартным геймпадом Xbox 360, полностью совместимым с новейшим стандартом xInput для взаимодействия с играми.
О программе
На данный момент русской версии эмулятора нет. Ниже представлен интерфейс эмулятора.
Важность подобных приложений возрастала с годами, особенно после 2010-х годов, когда практически все разработчики и издатели видеоигр перешли на использование современного стандарта xInput, в результате чего старые геймпады на базе Direct Input остались без возможности взаимодействия с современными играми.
Это касается даже популярных моделей манипуляторов Logitech, Thrustmaster и многих других производителей. По состоянию на 2022 год полная база данных геймпадов, которую поддерживает это приложение, включает более двух с половиной миллионов отдельных устройств.
x360ce для версий Windows:
Запуск эмулятора
Чтобы запустить x360ce на любом ПК с Windows, пользователю достаточно загрузить и распаковать это приложение в любое место локального хранилища. Более того, поскольку приложение не имеет официального установщика, его можно использовать даже в качестве портативного приложения на USB-накопителе.
После запуска пользователей встретит интерфейс, который одновременно многолюден и прост в освоении. Приложение автоматически обнаружит подключенные манипуляторы и предложит пользователям создать предустановки и привязать их функции к “виртуальному” контроллеру Xbox 360, который отображается на вкладке “Общие”.
Скачать x360ce бесплатно последнюю версию
Как пользоваться
- Скачайте x360ce.
- Распакуйте архив с софтом в любую папку. Например: C:\Program Files\x360ce\x360ce.exe 3 редакцию эмулятора необходимо помещать в папку с игрой.
- Не закрывайте Xbox 360 Controller Emulator 4.x во время игры, просто сверните его, чтобы уменьшить использование процессора.
- Убедитесь, что ваша игра настроена на использование геймпада. Например: В “Tom Clancy’s Ghost Recon Wildlands” вы должны установить Настройки > Контроллер > Выбор управления: Только геймпад.
Дополнительные драйвера ViGEmBus
Вкладка Issues в эмуляторе контроллера Xbox 360 начнет мигать, если драйвер Virtual Gamepad Emulation Driver отсутствует.
- Выберите вкладку Issues и нажмите на кнопку Install , чтобы установить Virtual Gamepad Emulation Driver.
Добавление геймпада
- Подключите джойстик к компьютеру.
- Выберите вкладку
Controller 1 и нажмите кнопку Add .
- Выберите геймпад, который вы хотите добавить в карту, и нажмите на кнопку OK .
- Включите контроллер, нажав на кнопку Enable # Mapped Device на вкладке
Controller 1 .
Поиск игры
- Нажмите кнопку Add game .
- В открывшемся окне выберите exe файл и нажмите “открыть”.
Настройка кнопок и осей
- Выберите вкладку Controller 1 ► вкладка General .
- Нажмите на выпадающий список (появится выпадающее меню с опциями).
- Нанесите кнопку или ось на карту, выбрав опцию [Record] и нажав кнопку или переместив ось на контроллере.
- Нажмите кнопку Save All (в правом верхнем углу приложения), когда все будет готово.
- Сверните Xbox 360 Controller Emulator, чтобы уменьшить использование процессора (значок программы будет виден в трее).
- Запустите игру и посмотрите, как она работает. В настройках можно записать макрос на необходимый случай отклика.
Приложение невероятно универсально и предлагает поддержку как быстрой привязки и перехода к видеоиграм, так и возможность полностью настроить каждый аспект эмуляции джойстика. Сюда входит даже возможность настроить работу всех кнопок, стиков, триггеров, эмуляцию обратной связи и многое другое.
Конечно, при желании пользователь может даже персонализировать контроллер для каждой отдельной игры, переназначив кнопки и настроив чувствительность аналоговых стиков. Подобные детали часто могут сыграть решающую роль между победой и поражением в сетевом матче.
Отличия 3 и 4 версий
- Версия 3.x содержит пользовательский файл xinput1_*.dll.
Некоторые новые игры после последних обновлений не позволяют использовать файл xinput1_*.dll.
- Для решения этой проблемы была создана версия 4.x, которая не использует файл xinput1_*.dll, а создает виртуальный контроллер.
При подготовке материала использовались источники:
https://overclockers.ru/blog/ZAMHome/show/21167/emuljacija_xboxkontrollera_dlja_gejmpadov_bez_apparatnoj_podderzhki_xinput_i_vsjo_chto_s_etim_svjazano
http://x360ce.github.io/x360ce/
https://x360ce-rus.ru/