...

Программа для настройки геймпада на ПК Windows 10 Xbox

Эмуляция 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:

  1. ViGEm Bus Driver Installation
  2. ViGEm Bus Driver Installation – caveman edition
  3. Virtual Gamepad Emulation Framework Documentation

И наконец вариант номер три — эмуляция XInput через Steam.

Steam поддерживает большое количество геймпадов «из коробки», т.е. не требуется дополнительных телодвижений для того, чтобы Steam распознал ваш геймпад, а точнее правильно определил раскладку кнопок и прочее.

Но нет ничего страшного, если ваш DirectInput-геймпад незнаком стиму.

Для того, чтобы для вашего DirectInput-друга, в играх из библиотеки Steam (или добавленных туда вручную), заработала эмуляция XInput (и прочие плюшки), нужно проделать следующие шаги.

Подключить геймпад к ПК, запустить Steam и перейти в режим Big Picture:

Перейти в пункт меню с настройками контроллера:

поставить галочку на «пользовательские настройки обычного геймпада»:

выбрать внизу, в обнаруженных контроллерах, ваш геймпад и настроить его в соответствии с подсказками на экране:

нажать «сохранить» и дать имя вашему геймпаду:

Всё. Теперь ваш геймпад поддерживается в Steam, и для него доступны все настройки для любой игры из библиотеки:

В играх (из библиотеки Steam) ваш геймпад будет определяться, как XBox 360 контроллер. Чтобы произвести дополнительные настройки по конкретной игре, нужно вызвать в процессе игры оверлейный экран Steam (кнопкой GUIDE) или комбинацией клавиш и произвести все необходимые манипуляции.

Полезные программы для XBox геймпадов.

Вспоминая времена, когда для пользователей персонального компьютера появилась поддержка контроллера XBox 360, вместе с поддержкой и соответствующими драйверами, тогда же была выпущена утилита Xbox 360 Accessories Software 1.2, которая, при удержании кнопки GUIDE на 360-ом контроллере (кнопка с логотипом XBox), вызывала на экран простенький бар, с информацией о порядковом номере геймпада в системе и состоянии батареи\аккумулятора (при беспроводном подключении):

реклама

Ещё была любительская программка (Turn Off Xbox Controller), запуск которой мгновенно отключал беспроводной XBox 360 контроллер.

А что же интересного есть сейчас для геймпадов от Microsoft и не только? Давайте посмотрим.

реклама

Утилита Аксессуары XBox (XBox Accessories).

На смену консоли XBox 360 пришла консоль XBox One, на смену ОС Windows 7/8.1 пришла ОС Windows 10, на смену геймпаду XBox 360 пришёл геймпад XBox One, на смену Xbox 360 Accessories Software пришло UWP-приложение Аксессуары XBox.

Приложение Аксессуары XBox предназначено исключительно для геймпадов XBox One. Приложение умеет:

реклама

Обновлять прошивку XBox One геймпада:

Показывать статус заряда аккумулятора\батареек:

реклама

Менять местами (программно разумеется) кнопки геймпада и отключать\включать вибрацию:

Активировать режим совместной игры (дублирует управление персонажем на два геймпада):

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

Первая утилита — XBox One Controller Battery Indicator.

Эта утилита висит в трее и визуально показывает уровень заряда аккумулятора\батареек:

Поддерживаются такие варианты подключения:

  • XBOne + dongle;
  • XBOne Elite + dongle;
  • XBOne S + dongle;
  • XBOne S + Bluetooth;
  • XB360.

Если контроллеров больше одного, каждые несколько секунд иконка в трее меняет показания, попеременно для каждого геймпада.

Когда заряд источников питания достигает критически низкого уровня, программа сигнализирует об этом вот таким всплывающим окном:

Программа не требует установки в систему. Скачать можно отсюда.

Вторая утилита — XInput Battery Meter.

Эта аналогичная по функционалу программа, она также показывает заряд аккумулятора XBox-геймпада в трее.

Но помимо визуальной индикации на значке в трее, программа выводит всплывающий бар при подключении\отключении геймпада(-ов):

Остальные данные можно глянуть, кликнув правой кнопкой мыши по иконке программы в трее:

Порывшись в интернете, можно найти ещё парочку практически незаменимых программ для XBox-контроллера. На этот раз диагностических.

Первая программа из Microsoft Store — Game Controller Tester.

Эта программа предназначена для всех обладателей XBox геймпадов и любых других геймпадов с поддержкой XInput.

С помощью этой программы можно проверить:

  • Качество работы стиков;
  • Мёртвые зоны;
  • Работу кнопок;
  • Работу основных вибромоторов;
  • Работу виброкурков.

Вторая программа из Microsoft Store — Controller X.

В принципе то же самое, только морда приятней и платная.

Ну и, наконец, ещё одна полезная программка — Durazno.

Durazno — это XInput to XInput враппер для настройки ремаппинга осей и кнопок на XInput девайсах.
С помощью этой программы можно переназначить: кнопки, оси, курки, подкрутить мёртвые зоны и вибрацию, скрывать геймпад от игры.
Утилита работает с оригинальными контроллерами XBox и XInput-совместимыми.

  • запускаем утилиту (геймпад должен быть включён);
  • жмём на светлый прямоугольник справа, чтобы открылись настройки ремаппинга;
  • настраиваем всё, как вам заблагорассудится, можно даже скрыть геймпад от игры;
  • кидаем xinput1_3.dll (в некоторых играх могут понадобиться и другие dll-ки из папки) и Durazno.INI в папку с EXE-файлом нужной игры. Для x64 битных игр используем x64 версию.

Изучаем возможности приложения «Аксессуары XBox» для геймпадов Xbox One

О существовании приложения «Аксессуары XBox» известно многим владельцам игровых контроллеров XBox One. Это приложение предназначено для настройки, проверки функций и обновления прошивки актуальных геймпадов Microsoft. Оно доступно на консоли XBox One (во всех проявлениях) и ОС Windows 10. Мы рассмотрим возможности приложения для платформы Windows 10, применительно к обычному XBox One контроллеру и контроллеру XBox Elite Series 2.

реклама

По умолчанию, эта утилита не предустановлена в Windows 10, её необходимо скачать из Microsoft Store. Так получилось, что пару недель назад я купил геймпад XBox Elite Series 2 (ссылка на обзор доступна из FAQ темы по геймпадам в конференции), поэтому мы сможем ознакомиться с функционалом приложения не только для обычного, но и для нового, элитного, геймпада:

реклама

После вступления с кратким описанием достоинств контроллера XBox Elite Series 2:

приложение предлагает выбрать индивидуальный никнейм для нашего геймпада (возможность доступна только для элитного варианта):

реклама

и залить свежую прошивку (версия 4.8.190 для Elite Series 2):

Сразу после нас встречает основное окно программы. На консоли XBox приложение привязано к учётной записи XBox, а на ПК данные учётной записи XBox можно ввести в клиенте «Компаньон консоли XBox»:

реклама

Все созданные в приложении профили улетают в облако, поэтому они не потеряются при переустановке Windows, смене ПК, консоли и пр. Достаточно просто зайти в свою учётную запись, общую для консоли и ПК (если вы не захотите завести отдельный аккаунт). В контроллере XBox Elite Series 2 доступны три программируемых (встроенных) профиля, они хранятся в памяти геймпада. Есть ещё один, четвёртый, непрограммируемый профиль, в нём не используются дополнительные лепестки-кнопки — это своего рода режим обычного XBox One геймпада. Профили переключаются специальной кнопкой, а для индикации текущего слота служат три белых светодиода на лицевой части контроллера:

Для обычного геймпада доступен только один софтовый программируемый слот. Слот не сохраняется в память геймпада:

Помимо сопоставления кнопок, в приложении есть тест работы моторов в курках, кнопка проверки актуальной прошивки и переключатель Copilot. Copilot дублирует управление на второй геймпад XBox One (если он у вас есть):

Ещё есть вкладка проверки сопоставления кнопок, стиков и курков после внесённых изменений:

В приложении можно создать любое количество болванок-профилей и применять их по мере необходимости:

Для геймпада Elite 2 возможен более широкий функционал сопоставления кнопок. Сразу оговорюсь, назначить кнопки клавиатуры или мыши на кнопки геймпада, естественно, не получится. API XInput ограничен строгими рамками по количеству осей и кнопок и выйти за эти рамки нельзя. Комбинации кнопок (макросы) также невозможны. Наверное ненужно объяснять, почему:

Есть даже режим шифта, который позволяет переключаться на альтернативную раскладку:

Для обычного контроллера возможности сопоставления поскромнее. Можно поменять местами кнопки, инвертировать оси стиков и переключить триггеры (левый на правый\правый на левый). Плюс, отключить вибрацию (полностью):

Следующие настройки доступны только для элитных геймпадов. Это настройки кривой стиков:

Мёртвых зон для триггеров:

Интенсивности вибрации для любого из четырёх вибромоторов:

И яркости для кнопки XBox:

Собственно всё. От себя могу добавить, что в реальных условиях более всего у меня востребованы настройки кривой для стиков и сопоставление кнопок на лепестки. Возможность поменять кнопки местами мне пока нигде не пригодилась.

Вот небольшое видео, для визуализации вышеизложенного:

При подготовке материала использовались источники:
https://overclockers.ru/blog/ZAMHome/show/21167/emuljacija_xboxkontrollera_dlja_gejmpadov_bez_apparatnoj_podderzhki_xinput_i_vsjo_chto_s_etim_svjazano
https://overclockers.ru/blog/ZAMHome/show/21171/poleznye_pkutility_dlja_xbox_gejmpadov
https://overclockers.ru/blog/ZAMHome/show/33685/izuchaem-vozmozhnosti-prilozheniya-aksessuary-xbox-dlya-gejmpadov-xbox-one

Оцените статью