Как использовать x360 controller emulator
Как правильно использовать китайский джойстик в среде Windows 10
Однажды, в очередной раз запуская AS3 захотелось ощутить немного комфорта: разлечься на стуле, взять в руки контроллер и комфортно поиграть. Для этой задачи удачно нашелся геймпад от Genius модели MaxFire G-12U Vibration, который я приобрел более пяти лет назад за 150 гривен. Он до сих пор работает. Но сразу же возникла проблема, а именно – работа правого стика в современных играх. Если крутить в право-влево, то камера в игре поднимается-опускается, а если вверх-вниз, то вообще никакой реакции. Было пройдено много игр на нем и таких проблем не было. Что ж, я уже не мог отказать себе в отдыхе и начал искать решение.
Предполагая, что проблема связана с драйвером, решил для начала их обновить, но любое ПО с интернета и его родного диска (пришлось еще поискать куда его вставить) не помогло. В свою очередь в эмуляторе PSCX2 все работает прекрасно, значит проблема не аппаратная, уже хорошо.
Поиск проблемы в интернете не принес никаких плодов для размышления. Решение пришло, когда наткнулся на эмулятор геймпада xbox 360 в Windows – X360CE. В программе есть визуальный интерфейс работы и «бинда» кнопок, в нем была таже проблема при автонастройке. Спустя некоторое время, я попробовал указать вручную направление стика. Все заработало, произошел вау эффект, и я залпом прошел игру.
Позже решил обновить программу до последней версии, причиной стал третий Ведьмак (которому было пофигу) и ее универсальность. Универсальность заключалось в том, что теперь не нужно было оставлять копию программы в каталоге игры, которая создавала файлы конфигурации ввода для геймпада и их же использовала, как это было в древней же версии, которую я использовал изначально. Что это за программка и в чем ценность ее «универсальности» расскажу ниже.
Установка и настройка X360CE
Для начала необходимо установить последнюю версию драйвера для вашего девайса.
Скачиваем последнюю версию X360CE с его GitHub репозитория (поговаривают, что на официальном сайте давно нечего не обновляли). У меня это версия 4.13.11.0.
Распаковываем ее в удобном месте и всегда запускаем от имени администратора. При первом запуске эмулятор запросит установку драйвера эмуляции – устанавливаем.
Подключаем джойстик, если вы этого еще не сделали. Далее переходим во вкладку Controller 1. Нажимаем кнопку Add в верхнем правом углу и выбираем ваше устройство кнопкой Add Selected Device.
Уже можно задавать кнопки, но пока рано. Замаскируем ваш джойстик в системе. Переходим во вкладку Options, далее Virtual Device и устанавливаем HID Guardian. Система как обычно может запросить перезагрузку, но у меня и без нее все было нормально.
Далее во вкладке Devices находим свое устройство и напротив него устанавливаем галочку Hide.
Таким образом мы прячем свой геймпад из системы, но его нажатия обрабатываются в эмулированном контроллере xbox 360. Чтобы убедится в этом, переходим в вкладку Controller 1 и нажимаем кнопку Game Controllers (внизу слева) и видим мой новый вау эффект.
Пришла пора разобраться с кнопками. Тыкаем выпадающие списки вокруг картинки геймпада, выбираем Record, центральная картинка контроллера покажет зеленым кружком чего сейчас «биндим». Отдельно, направления крестовины и стиков можно не задавать, достаточно X и Y направлений, а случаи крестовины просто ее выбрать в D-pad. После настройки кнопок, не забываем сохранится кнопкой Save all в верхнем право углу программы.
Убедимся, что все работает – открываем Game Controllers, Свойства контроллера. Проверяем все ли нажимается, крутится, вертится.
Отлично, система видит заточенный под нее джойстик. Теперь можно тестировать в играх, прикладываю скриншоты доказательства работы эмуляции в современных играх от разных студий.
Собственно, вот сам виновник торжества. Все работает.
В Ведьмаке, который заточенный только под контроллер xbox тоже работает.
И на закуску – пятые свитки.
Выше были описаны минимальные настройки для всей системы. Делать детальное ревью не вижу смысла. Скажу только, что каждый ваш геймпад можно тонко настроить, если посидеть в программе больше пяти минут. Также если потребуется, то возможны индивидуальные настройки для каждой игры, которые можно произвести во вкладке Games. Просто добавляем ее главный исполняемый exe файл, выбираем его в эмуляторе и производим правки.
По поводу производительности. Разработчик советует свернуть эмулятор, перед запуском игры. В таком состоянии, он использует минимальное количество ресурсов системы.
Таким образом я решил не только свою проблему с геймпадом, но и нашел способ, как сэкономить деньги на покупке джойстика xbox для своего ноутбука. Но это все же не панацея, слишком багов может всплыть, а если изучить официальный репозиторий и вовсе страшно становится.
Проблемы и возможные решения
Я не нашел в программе сброс всех настроек. Нашел решение на гитхабе. Нужно удалить папку, где эмулятор хранит свои настройки. Она находится в корне системного тома, в папке ProgramData под названием X360CE. Таким же способом можно сделать бекап настроек.
Когда впервые пытался настраивать новую версию программы, все работало, но в игре не работала ни одна кнопка. Оказывается, надо было вычистить старую версию программы из папки игры.
Забейте на ярко красное количество ошибок в правом нижнем углу, они имеют место быть, если уж совсем все плохо.
Вибрацию настроить на новой версии не удалось. При попытке ее включить, программа вылетает. Проблема с двайверами, которые были обновлены последний раз для Висты.
x360ce – подключаем любой джойстик (инструкция к старой версии)
Предисловие
Все началось с того, что я и моя жена решили играть вместе на одном ПК в файтинги – серии игр Mortal Kombat, Naruto. Так как на одной клавиатуре в четыре руки играть неудобно, решили купить геймпады (джойстики – некорректное слово по отношению к кнопочным игровым устройствам).
Выбрали относительно дешевые, потому что было неизвестно, как часто будем использовать:
Пришли откуда-то из Китая.
Подобных геймпадов море. Все они отличаются внешним видом и качеством сборки, недостатки одни и те же:
Конечно, можно было не заморачиваться и купить универсальный геймпад, который работает и на ПК, и с Xbx 360, и даже с PS3 и Android, но тогда, признаюсь, об этом как-то не подумал. Пришлось выкручиваться с помощью эмулятора, чему и посвящена эта инструкция.
Поддержка геймпадов в играх
Все старые геймпады от именитых производителей и дешевые китайские джойстики объединяет одна черта – использование программного протокола DirectInput. Мыши, клавиатуры, джойстики, рули, педали – все устройства работают, используя один и тот же стандартный набор команд.
Старые игры DirectInput уважали. Игрок мог в настройках управления переназначить действия с кнопок клавиатуры на геймпадовские. Но появилась приставка Microsoft Xbox 360 и вместе с ней пришел другой протокол – XInput.
Геймпад от Xbox 360 очень удобен в использовании.
Разработанный специально для геймпада приставки, XInput до поры до времени не обладал какими-либо преимуществами перед DirectInput, но разработчики стали повсеместно его использовать. Так как игры сначала разрабатывают для приставок Xbox 360, Xbox One, PlayStation 3 и 4, только затем переносят на родной вам компьютер, проще всего использовать именно XInput – не надо заморачиваться с тестированием различных геймпадов, джойстиков, рулей – все уже протестировано, игровой процесс с геймпадом на компьютере и приставке совершенно одинаков.
Современные геймпады от именитых брендов (Razer, Thrustmaster, Saitek и другие) умеют переключаться между DirectInput и XInput, имитируя оригинальный иксбоксовый. Владельцам остальных придется попотеть, но проблема решаема.
x360ce – эмулятор геймпада Xbox 360
Вышла новая версия эмулятора x360ce – инструкция. Работает с GTA V, в отличии от версии ниже, но есть проблема – в целом поддерживается меньше игр. Попробуйте сначала новую, потому что настраивать проще.
Программка x360ce обманывает игры, заставляя их поверить, что подключен XInput-геймпад. Настройка может показаться излишне сложной, но это делается только один раз.
Внимание! Очень желательно, чтобы в вашей Windows было включено отображение расширений типов файлов.
Пуск – Панель управления – Параметры папок (или просто набрать “Параметры папок” в меню Пуск). Вкладка Вид:
Снимаем галку с пункта Скрывать расширения для зарегистрированных типов файлов и нажимаем ОК. Это позволит увидеть нам расширения файлов.
Если вы не знаете, что такое расширения файлов, советую задуматься – нужно ли вам устанавливать x360ce? Без базовых знаний велика вероятность сделать что-либо не так.
Настройка x360ce
Сначала нужно соотнести кнопки реального геймпада с кнопками виртуального от Xbox 360, который будет видеть игра.
Полагаю, вы уже подключили геймпад, зашли в Панель управления – Устройства и принтеры и убедились, что ваш геймпад там есть. Если нет, устанавливайте драйвера.
Чтобы настроить x360ce, придется потратить полчаса, но они того стоят.
1. Качаем архив x360ce.zip и распаковываем в любую папку, желательно пустую. Должно получиться как-то так:
Файл x360ce.sample можно удалить.
2. Запускаем конфигуратор x360ce. Если геймпад подключен и запуск производится первый раз, должно появиться окно поиска настроек:
Окно для поиска готовых настроек в Интернете
Нажимаем Next, ждем. Может быть, вам повезет и настройки найдутся. Щелкаем по первому пункту в списке и нажимаем Finish. Появится главное окно программы:
На скриншоте выше уже настроенный геймпад. Если нажимать на кнопки геймпада, в окне программы они будут выделяться тоже.
Если у вас в x360ce красный квадрат и серая картинка геймпада, то на вкладке Advanced снимите галку с Pass Through. Также конфигуратор не работает, если в папку с ним кинуть 64-битные файлы *.dll. Настраивайте 32-битную версию. 64-битные файлы *.dll можно кинуть потом (когда будете устанавливать x360ce для Watch Dogs, например).
3. Даже если у вас настройки загрузились из Интернета, не факт, что они будут правильные. Подвигайте стиками, понажимайте кнопки – на картинке зеленый индикатор наглядно покажет, какие функции джойстика имитируются.
Если что-то работает не так, можно вручную все настроить. Начнем с кнопок.
Кнопки: чтобы указать, какая кнопка за какую функцию отвечает, нужно открыть меню эмулируемой кнопки и нажать Record:
Привязка действий кнопок
После нажатия Record конфигуратор будет ожидать нажатия соответствующей кнопки вашего геймпада. На фотографии геймпада эмулируемая кнопка будет выделена мигающим красным кружком.
Стрелки (D-Pad) настраиваются двумя способами:
Настройка стрелок геймпада. Сначала пробуем вариант 1. Если в меню нет DPad, следуем варианту 2 – настраиваем стрелки как обычные кнопки, выбирая Record в каждом из четырех пунктов D-Pad и нажимая, соответственно, стрелки вверх, влево, вправо, вниз.
С аналоговыми стиками ситуация аналогична. После нажатия Record просто двигаем их в ту сторону, в которую просит программа:
Если стики не аналоговые, придется настраивать пункты ниже, как в варианте 2 со стрелками на предыдущей картинке.
Из экзотики – стики могут использовать половину оси. Симптом: после настройки геймпада стик работает вроде как обычно, но при максимальном наклоне срабатывает как триггер или другой стик. Это значит, что придется вручную перебирать значения *Axis*, чтобы все работало как надо.
4. Не нужно настраивать все кнопки. Если ваш геймпад похож на тот, что купил я, как минимум кнопка Guide в пролете (это пауза, можно нажимать Esc клавиатуры). Стики аналоговые (определяются промежуточные позиции, не только вверх-вниз-влево-вправо), нижняя секция настроек не нужна:
Кнопка Guide на реальном геймпаде отсутствует, ее не настраиваем. В моем случае стики аналоговые, поэтому нижняя секция настроек не нужна.
5. Проверяем. Нажимаем все кнопки геймпада, смотрим на появляющиеся на картинке индикаторы. Если все имитируется правильно, дело сделано. Если нет – внимательно читаем текст выше и соображаем, где ошиблись.
6. Если у вас есть виброотдача, грех не настроить. Идем на вкладку Force Feedback:
Пройдемся по пунктам:
7. Чтобы довести настройки до идеала, нужно глянуть секцию Advanced и обязательно указать, что мы используем обычный геймпад:
Установка опции Device Type в значение GamePad полезна, так как некоторые игры не хотят признавать геймпад, помеченный как Wheel (руль), FlightStick (джойстик) или как-то иначе.
Остальные опции отвечают за настройку “мертвых зон” аналоговых курков, стиков и стрелок. В большинстве случаев достаточно, чтобы все было установлено по нулям.
Если стик нажимается сам по себе (вращается камера, когда стик установлен по центру), значит, мертвая зона отсутствует, но требуется. В таком случае нужно изменить параметры секции Thumbs (значения Thumb Dead Zone подбираются экспериментальным путем).
На мой взгляд, мертвая зона – это необходимое зло, которое позволяет примитивным стикам в дешевых геймпадах работать более-менее сносно. Стики качественного геймпада управляют камерой и скоростью бега персонажа плавно, максимальное отклонение стика должно соответствовать максимальному значению в игре и наоборот.
Если у вас дешевый китайский джойстик, как у меня, то данные опции бесполезны, ибо “мертвая зона” находится с внешней стороны отклонения тоже. Достаточно чуть-чуть сдвинуть стик и игра воспринимает это как максимальное отклонение (нажатие) стика. Итог: невозможно целиться в шутерах.
8. Если вам нужно настроить два геймпада или больше (чтобы играть компанией), нужно пройтись по разделам Controller 2, 3 и 4.
9. Чтобы сохранить настройки, нажимаем Save и закрываем окно. В будущем можно снова запустить конфигуратор и что-то подправить.
Устанавливаем x360ce в игру
Открываем папку с игрой (надеюсь, рассказывать, как найти папку, где установлена игра, не надо?) и просто копируем туда содержимое нашей папки.
Запускаем игру – игра должна опознать ваш геймпад. В зависимости от игры, можно либо сразу играть (Mortal Kombat, The Legend of Korra, Watch Dogs и другие современные) либо идти в настройки и переключать управление с клавиатуры и мыши на геймпад.
Если x360ce не работает
Такое случается. Разные игры используют разные способы определения геймпада.
1. Убедитесь, что содержимое папки с настроенным x360ce скопировано в папку с исполняемым (.exe) файлом игры. Например, исполняемые файлы игр серии Borderlands находятся в папка_игры\Binaries\Win32\.
2. Сделайте копии файла xinput1_3.dll и переименуйте:
xinput1_4.dll
xinput1_2.dll
xinput1_1.dll
xinput9_1_0.dll
Это помогает, если игра старая или наоборот, очень новая.
Внимание! “.dll” в именах файлов – расширение. Если у вас не включен показ расширений или не знаете, что это такое, именуйте копии файлов без “.dll”.
4. Прямо в папке с исполняемым файлом игры запустите конфигуратор и измените опцию Use Init Beep в разделе Options:
Включаем оповещение о корректной инициализации x360ce.
Если при запуске игры x360ce корректно загрузился, вы услышите звук “бип”, что позволит нам приблизиться к решению проблемы.
Если звук “бип” есть, а джойстик все равно ну никак не работает в игре (например, не видно в настройках управления), проверяем:
Если звука “бип” нет, значит, ни один из файлов x360ce (xinput*.dll) не загружается игрой. Скорее всего, вы скопировали файлы x360ce не в папку с исполняемым файлом игры. Если игра поддерживает геймпад от Xbox 360, то она обязана загружать один из этих файлов. Решение очевидно – копируем эмулятор геймпада Xbox 360 в нужную папку.
в) Перебираем Hook Mode на вкладке Options. Когда пользовался старой версией x360ce, это помогало. В последних версиях эмулятор смотрит эту опцию в файле x360ce.gdb, поэтому актуальность совета под вопросом, но попробовать можно.
4. Смотрим список поддерживаемых игр. Полезная информация, которую можно оттуда почерпнуть:
5. Обновляем x360ce.gdb. Этот файл содержит специфичные настройки для некоторых игр и обновляется довольно часто.
Идем на эту страницу, качаем файл под именем x360ce.gdb, заменяем им одноимённый файл из папки с игрой.
6. Игра все равно не видит джойстик, а конфигуратор его опознает – перечитываем еще раз пункты 1-5. Поверьте – причина большинства проблем в невнимательности. То файл назовут xinpit.dll (как можно до такого додуматься?), то скопируют не туда, где лежит исполняемый файл игры… Поэтому еще раз проверяем папку, проверяем разрядность игры (глава ниже), пробуем именовать файлы по-разному (п. 2).
64-битные игры и x360ce
Из-за большого количества вопросов, посыпавшихся мне на почту, разъясню некоторые моменты, касающиеся 64-битных игр.
1. Миллион раз проверьте, какой разрядности ваша игра.
Самый простой способ определить, какой разрядности программа (игра): загрузите ее .exe файл на сайт VirusTotal, на странице отчета откройте раздел “Сведения о файле” – в самом низу будет строчка FileType. Если значение справа будет “Win32 EXE” – игра 32-битная, если “Win64 EXE” – 64-битная.
Если игра не поддерживает геймпады
Не все игры поддерживают геймпады. Также не всегда удается настроить x360ce по причине несовместимости этого эмулятора джойстика с некоторыми играми или кривых рук, лени. Выход есть – программы типа JoyToKey (она платная, есть альтернативы) позволят назначить на кнопки геймпада нажатия клавиш клавиатуры и движения мышью. Не будет работать виброотдача, но управлять игрой в таком режиме можно.
Unity Engine и x360ce
К сожалению, игры, использующие UnityEngine, поддерживают только оригинальный геймпад от Xbox 360. Пример – Ori And The Blind Forest. Неполный список игр, созданных с использованием UnityEngine, здесь. Если вам лень открывать ссылку, список под спойлером:
7 Days to Die
A Valley Without Wind
Among the Sleep
Angry Birds Epic
Anna
ARMA Tactics
Bad Piggies
Battlestar Galactica Online
Blitzkrieg 3
Broforce
Cartoon Network Universe: FusionFall
Castle Story
Cities in Motion 2
Cities: Skylines
Cognition: An Erica Reed Thriller
Cypher
Dead Effect
Dead Frontier
Dead Trigger
Dead Trigger 2
DeadCore
Deus Ex: The Fall
Dex
DJMax Technika Q
DreadOut
Dreamfall Chapters: The Longest Journey
Dungeonland
Earthlock: Festival of Magic
Electronic Super Joy
Endless Legend
Endless Space
English Country Tune
Escape Plan
Exogenesis: Perils of Rebirth
Family Guy Online
Firefly Online
Folk Tale
Forced
Fract OSC
Fractal
Game of Thrones: Seven Kingdoms
Ghost of a Tale
Gone Home
GooBall
Grow Home
Guns and Robots
Guns of Icarus Online
Hearthstone: Heroes of Warcraft
Hero of Many
I Am Playr
Interstellar Marines
Isabelle Dance Studio
Jazzpunk
Jungle Rumble
Kairo
Kentucky Route Zero
Kerbal Space Program
King’s Bounty: Legions
Legend of Dungeon
Leisure Suit Larry: Reloaded
Lifeless Planet
Max & the Magic Marker
Max: The Curse of Brotherhood
MechWarrior Tactics
Mega Dead Pixel
Might & Magic X: Legacy
Monkey Quest
Monument Valley
Never Alone
Oddworld: New ‘n’ Tasty!
Off-Road Velociraptor Safari
Organ Trail: Director’s Cut
Ori and the Blind Forest
Pillars of Eternity
Plague Inc: Evolved
Prime World
Project Phoenix
République
Ravensword 2: Shadowlands
realMyst: Masterpiece Edition
Robocraft
Rochard
Rust
Scrolls
Shadow Blade
Shadow Blade: Reload
Shadowgun
Shadowrun Returns
Shelter
Slender: The Arrival
Slender: The Eight Pages
Space Hulk
Surgeon Simulator 2013
Temple Run
Temple Run 2
Tesla Effect: A Tex Murphy Adventure
Teslagrad
The Bridge
The Dark Eye: Blackguards
The Forest
The Last Tinker: City of Colors
The Long Dark
The Novelist
The Room
The Room Two
The World Ends With You: Solo Remix
Thomas Was Alone
Three Kingdoms Online
Threes
Triple Town
Uberstrike
Unearthed: Trail of Ibn Battuta
Victory at Sea
Wasteland 2
World Series of Poker: Full House Pro
На данный момент способов заставить работать x360ce с Ori And The Blind Forest, Rust, Kerbal Space Program, Lifeless Planet и сотней других нет.
Можно использовать AntiMicro, JoyToKey или аналогичные программы, которые назначают на кнопки геймпада клавиши клавиатуры, но большинство игр, сделанных с использованием Unity Engine, заточены под управление мышью с клавиатурой. Например, Cities: Skylines и Wasteland 2 никак не приспособлены под геймпад.
Dark Souls II: Scholar of the First Sin
Для работы x360ce в Dark Souls II: Scholar of the First Sin требуются специфичные настройки. Пока база в файле x360ce.gdb авторами не обновлена, джойстик будет работать некорректно.
Как исправить самим:
1. Настраиваем x360ce и геймпад по инструкции выше.
Игра 64-битная, поэтому удаляем xinput1_3.dll, x360ce.gdb и конфигуратор x360ce.exe (вы ведь кнопки геймпада настроили, не так ли?), кладем в ту же папку 64-битную версию файла xinput1_3.dll. Конфигуратор x360ce.exe можно удалить, т.к. с 64-битной библиотекой xinput он не работает.
2. Открываем файл x360ce.ini программой Блокнот (не Word или WordPad, а обычным Блокнотом!). Это текстовый файл, где все настройки можно поправить вручную.
3. Ищем секцию [Options]. Если под ней нет строчки “Version=1” без кавычек, добавляем.
4. После названия секции [InputHook] удаляем строку “HookCOM=1” (если есть) и добавляем вместо неё:
Закрываем файл, попутно сохранив. Напоминаю, что кавычки ставить не нужно.
5. Если игра при запуске вылетает, снова откройте x360ce.ini и смените “HookLL=1” на “HookLL=0”.
6. Играем.
Если метод не помог – убедитесь, что все сделали строго по инструкции, с 64-битной версией.
Mortal Kombat X
Игра Mortal Kombat X, вышедшая в 2015 году, 64-битная и вместо xinput1_3.dll требует имени файла xinput9_1_0.dll (если не будет этого файла, x360ce не “прицепится” к игре и кнопки геймпада будут перепутаны ), а также нуждается в некоторых специфичных настройках.
Чтобы облегчить вас задачу, я сам настроил x360ce, вам остается только назначить кнопки джойстика:
1. Скачайте архив с x360ce, который использую я: ссылка (запасная).
2. Распакуйте его содержимое в папку Binaries/Retail игры.
3. Запустите x360ce, настройте по инструкции выше (все как обычно).
4. Играйте, все будет работать.
Внимание! Если Mortal Kombat X не работает или вылетает с ошибками, не спрашивайте меня о том, как это исправить. Игра у многих очень, очень нестабильно работает. Ждем обновлений от разработчиков игры.
GTA V
Для GTA V настраивайте по новой инструкции, так как вышла новая версия x360ce.
Witcher 3
Как и для большинства современных игр, рекомендую новую версию эмулятора. Ссылка чуть выше.
Ведьмак намекает – используйте новую версию!
WWE 2K15
В комментариях пишут, что в этой игре эмулятор не работает. Если вы столкнулись с тем же, убедитесь:
1. Игра точно не видит геймпад без x360ce? Она поддерживает много моделей джойстиков без всяких эмуляторов.
2. Вы должны использовать 64-битную библиотеку xinput1_3.dll, потому что игра 64-битная.
Если это не помогает, см. выше ссылку на новую версию.
DualShock контроллеры (для Playstation 3/4)
С ними программа эмуляции не работает. Исключение составляют некоторые модели универсальных геймпадов, которые можно подключить и к ПК, и к игровой приставке от Sony.
В ряде случаев джойстик в руках удобнее клавиатуры с мышью. Благодаря x360ce можно играть в любимые игры с комфортом. Некачественный геймпад не дает такого ощущения контроля в играх, как оригинальный от Xbox 360 (или Xbox One – благо способ подключить к ПК есть), но играть можно.