Table of Contents
Не все игры поддерживают джойстики. Стратегии и MMORPG заточены под управление клавиатурой с мышью, остальные работают только с геймпадами от приставок Xbox 360/One. Что же делать, если поиграть геймпадом хочется, а игра ни в какую его не видит?
1 Введение
Два выхода из ситуации:
- Воспользоваться эмулятором геймпада Xbox 360 под названием x360ce. О ней я рассказывал в статье «x360ce – подключаем любой джойстик».
- Связать нажатия кнопок геймпада и движения стиками с нажатиями кнопок на клавиатуре и мыши. Игра будет думать, что игрок играет клавомышью, но в действительности у него в руках будет геймпад. О том, как такое провернуть, и будет заметка ниже.
Оба метода имеют преимущества и недостатки. Если игра заточена под управление геймпадом Xbox 360, то лучше воспользоваться эмулятором. Но это своего рода лотерея: эмуляция может заработать, а может и нет. Имитация нажатий клавомыши, наоборот, работает всегда, но недостатки также наличествуют: движения мыши будут более дерганые из-за ограниченной точности стиков, да и придётся подгонять управление под каждую игру отдельно.
2 Программа AntiMicro (AntiMicroX)
Существует 10 популярных программ для эмуляции клавиатуры с мышью: Xpadder, JoyToKey, AntiMicro, Pinnacle Game Profiler, Controller Companion, Joystick 2 Mouse, reWASD, ControlMK, J2K, Keysticks. Большинство — платные. К счастью, одна из бесплатных программ оказалась очень даже неплохой — AntiMicro. Она бесплатна и нормально работает. Мне удалось с её помощью поиграть в Sword Art Online: Hollow Realization, где в версии для ПК разработчики намудрили с управлением.
Что может AntiMicro:
- Управлять играми с помощью любого геймпада (не уверен насчёт DualShock, остальные должны поддерживаться).
- Играть с помощью геймпада от Xbox 360/One в игры, где эти геймпады не поддерживаются.
- Работать с компьютером (обычным софтом) с помощью любых игровых контроллеров. Будет полезным для людей с ограниченной подвижностью.
Что программа не может:
- Играть на геймпаде в игры, которые игнорируют нажатия виртуальных клавиш (например, Rust).
- Гарантировать, что при игре в онлайновые игры вас не забанят за использование читов.
- Играть с удобством в шутеры и MMORPG — они заточены под управление клавомышью и с этим ничего поделать нельзя.
- Задействовать виброотдачу. Игра в принципе не будет знать, что игрок использует джойстик, поэтому обратной связи нет.
- Настроить геймпад, если он видим игрой.
Программа работает в Linux различных версий, а также Windows 7, 8, 8.1 и 10. Windows XP не поддерживается.
Для тех, кто пропустил вводную часть статьи, напомню: AntiMicro не переназначает клавиши в играх, а «превращает» кнопки геймпада в указанные клавиши клавиатуры и мыши, при этом сохраняя функции геймпада. Если в игре за движение персонажа отвечают клавиши WASD, то, назначив эти клавиши на стрелки/кнопки геймпада эти клавиши, игрой можно управлять словно с клавиатуры. Но если на данные кнопки геймпада в игре уже были назначены какие-то действия, они также будут выполняться.
Другими словами, программа «нажимает» клавиши клавиатуры, отслеживая нажатия на геймпаде, но не мешает игре наблюдать за геймпадом.
Где скачать
Версию для Windows скачать можно отсюда: https://github.com/AntiMicro/antimicro/releases
Но я советую скачать AntiMicroX: https://github.com/AntiMicroX/antimicrox/releases
В чем разница? Оригинальная программа оставлена автором. AntiMicroX — дальнейшее развитие, вот и все.
Устанавливается легко — инсталлятор не задаёт сложных вопросов, нужно просто нажимать «Далее». На Рабочем столе появится ярлык, с него и нужно запускать AntiMicro (AntiMicroX).
Главное окно
Программа поддерживает русский язык, что упрощает настройку начинающим пользователям.
Запускайте AntiMicro от имени администратора (правой кнопкой по ярлыку — «Запустить от имени администратора»), чтобы нажатия кнопок обрабатывались корректно
Главное окно эмулятора:
Вверху — меню с различными командами, из них самая важная — пункт Опции — Настройки. Ниже — вкладки с геймпадами (если их несколько). Кнопки «Удалить», «Загрузить», «Сохранить», «Сохранить как» отвечают за хранение всех настроек геймпада в отдельном файле (ведь игры используют разные клавиши).
В середине окна — настройки связи кнопок игрового контроллера с кнопками клавиатуры и мыши.
Ниже — кнопки управления наборами сочетания клавиш. Можно использовать для случаев, когда на геймпаде не хватает кнопок, чтобы геймпад выполнял другие действия при нажатии (зажатии) кнопки, запрограммированной как переключатель профилей.
В нижнем ряду находятся самые важные кнопки.
Настройка контроллера — указание программе, как кнопки расположены на геймпаде:
Тогда в главном окне AntiMicro кнопки расположатся упорядоченно и получат осмысленные названия. Надписи [ПУСТО] означают, что никакие действия на кнопки не назначены:
После выполнения процедур в окне «Настройка контроллера» в главном окне утилиты останутся только те кнопки, которые в действительности имеются на игровом контроллере. Тогда можно приступить к собственно привязке действий к клавишам.
Быстрая настройка — нажав эту кнопку, затем реальную кнопку игрового контроллера, появится окно с выбором — какое действие повесить. То же самое окно появляется при нажатии любой из кнопок в центре окна.
Бирки — включение и выключение отображения назначенных команд на подписях кнопок
Сброс — сброс всех настроек.
Большая часть настроек сохраняется автоматически. Исключение — окна, где есть кнопки «Save» («Сохранить») и «Discard» («Отменить»).
3 Как настроить
Итак, нужно сделать так, чтобы при нажатии кнопок геймпада нажимались кнопки клавиатуры, двигалась стрелка мыши и кликались её кнопки. Самый простой способ: жмите кнопку «Быстрая настройка», появится окно назначения действия:
В этом окне есть две вкладки — с клавишами клавиатуры и действиями мыши. Если хотите назначить клавишу клавиатуры, не обязательно искать эту кнопку в окне, достаточно нажать реальную клавишу. Какие кнопки назначать — знаете только вы.
Движения мышью можно настроить двумя путями. Первый (сложный) — вручную выбрать действия на вкладке «Мышь». Например, движение в одну из сторон:
Но есть способ проще, если вы сделали настройку контроллера одноименной кнопкой. Достаточно нажать одну из указанных кнопок, смотря каким стиком хотите управлять камерой:
Откроется окно настройки стика (или стрелочного D-Pad), в котором можно выбрать готовую настройку для эмуляции мыши:
Там можно настроить и чувствительность стика, мёртвые зоны (если стик в нетронутом положении сообщает, что его отклоняют) и некоторые другие параметры.
В общем, этого достаточно, чтобы играть в игры, где джойстик изначально не поддерживается.
Тонкая настройка
Кроме простого назначения действий на кнопки геймпада, можно пойти дальше.
1. Запрограммировать сочетания клавиш. Например, в игре Sword Art Online: Hollow Realization японцы намудрили с управлением (не в первый раз). Мало того, что у многих пользователей в игре не работают геймпады, так ещё управление камерой странное: нужно зажимать правую кнопку мыши. Поэтому для игры в SAO HR на геймпаде нужно назначить два действия на движение стика: собственно сдвиг мыши и зажатие кнопки.
Можно, конечно, назначить не правую кнопку мыши, а Shift, F12, Delete или любую другую кнопку, а также запуск программ, ввод текста, изменение направления движения и так далее. Всё зависит от того, что нужно вам. Действия назначаются не только на стики, но и любые кнопки.
2. Назначение макросов (наборов действий). Это удобно, если по каким-то причинам вы хотите играть в MMORPG на геймпаде — там нужно нажимать не только сочетания, но и последовательности. Например, сначала Ctrl+1, затем Ctrl+5 и Shift+2.
Заходите в те же дополнительные параметры, что и в первом пункте. Только теперь нужно сделать так:
К сожалению, режим создания макросов в эмуляторе AntiMicro неудобен: действия нельзя перетаскивать мышью. Но он работает, причём на выбор много действий: паузы, запуск программ, изменение скорости мыши, подгрузка других профилей настроек геймпада и другое.
Каждой игре — свои настройки
Можно сделать так, чтобы при фокусе на окне с определённым названием геймпад вёл себя иначе. Удобно, если у вас много игр и не хочется вручную переключать профили. Для этого зайдите в меню Опции — Настройки — пункт АвтоПрофиль. В окне нажмите кнопку «Добавить» и… в общем, там всё понятно:
4 Итог
Это достойная альтернатива более известному эмулятору нажатий клавиатуры и мыши Xpadder (который платный). Кому-то AntiMicro покажется неудобным — не спорю, это действительно так. Зато утилита мощная и, самое главное, бесплатная.
Я перечислил далеко не все настройки AntiMicro. Остальное вы вполне можете понять сами, потому что она почти полностью переведена на русский язык.
Здравствуйте, Дмитрий.
В статье посвященной x360ce вы упоминали файл dinput8.dll как «заглушку» для протокола DirectInput.
Можете описать подробнее как это работает? Не перестанет ли работать настоящая мышь/клава в игре, когда я закину этот файл?
Я подумал применить это для решения задачи с AntiMicro.
Дело в том, что игра Trine: Enchanted Edition изначально криво определяет геймпад. Если же в настройках игры переключить тип управления с Generic USB Joystick на клавомышь, то AntiMicro работает, за исключением обеих бамперов, которые всеравно вызывают не те функции, что назначены эмулятором, а те, что по «мнению» игры должны там быть видимо. В добавок в некоторых меню игры происходит циклическое дергание выбора пунктов меню в нетронутом состоянии пада. То есть логично полагать что игра всеравно пытается видеть пад, и делает это еще более криво. Я подумал а не заглушить ли видимость пада игре. Тогда насторойки AntiMicro не будут конфликтовать с протоколом определения пада. В подтверждение этому — в играх, которые геймпад не видят совершенно, AntiMicro работает без проблем.
Прошу внести ясность в понятие «заглушка», и принцип действия. Спасибо.
Здравствуйте. Размещение этой dll-ки в каталоге с исполняемым файлом игры теоретически заблокирует распознавание игрой геймпада через протокол DirectInput. Влияния на работу клавиатуры и мыши я не замечал. Исходный код этой «заглушки» я не смотрел, поэтому подробностей сказать не могу.
К сожалению, dll-ка срабатывает редко, даже если игра явно подгружает её вместо системной. Но пробовать использовать можно без опаски, ибо в случае проблем всегда можно удалить этот файл.
В чем принципиальная разница имен файлов dinput8.dll и dinput.dll? Я так понимаю имя этой дллки должно совпадать с именем системной, для корректного результата «подхватывания»? Так?
И где собственно найти расположение системной дллки?
Ничего искать не надо, это лишнее усложнение. Просто скопируйте файл под двумя вышеупомянутыми именами.
Если хотите узнать, использует ли игра одну из этих dll, загрузите исполняемый файл игры на VirusTotal и в разделе «PE imports» поищите соответствующие названия dll-ок. Об этом способе я писал в заметке о настройке Sleeping Dogs. Там речь шла о xinput*.dll, но принцип один и тот же.
Сделала всё как надо,но именно в Террарии не работает,хотя там есть управление геймпадом.Клавиши не назначаются (не нажимаются,т.е),только курсор двигается благодаря этой программе.Смотрела с модовой Steam версией и от GOG
Lena, не назначаются или не нажимаются? А в других программах/играх AntiMicro работает? Например, если запустить Блокнот, при нажатии клавиш на геймпаде в окне печатаются назначенные клавишам буквы?
Не назначаются.Во вкладке с изменением клавиш есть ещё и для геймпада,там на некоторых уже указаны кнопки,хочу переназначить,а не могу,нажимаю на нужную для меня кнопку,а она не работает.Может это именно так сделано,что бы нельзя сменить управление в игре.А с Блокнотом не пробовала
Lena, судя по вашим комментариям, вы не «сделали всё как надо». AntiMicro не переназначает клавиши в играх, а «превращает» кнопки геймпада в указанные клавиши клавиатуры и мыши, при этом сохраняя функции геймпада. Если в игре за движение персонажа отвечают клавиши WASD, то, назначив на стрелки геймпада эти клавиши, игрой можно управлять словно с клавиатуры. Но если на стрелки геймпада в игре уже были назначены какие-то действия, они тоже будут выполняться. Если вы хотите управлять Terraria геймпадом через AntiMicro, вам на нажатия кнопок геймпада нужно назначить клавиши WASD и прочие, которые управляют игрой, чтобы оная думала, что вы двигаете мышью и нажимаете кнопки на клавиатуре. Но в данном случае это бессмысленно, потому что у Terraria есть два режима управления: клавомышью и с геймпада. При использовании AntiMicro будет использоваться режим клавомыши, поэтому игрой будет ну очень неудобно управлять. Раз у вас имеется Steam-версия игры, откройте настройки Steam — в разделе «Контроллер» вы можете настроить свой геймпад так, чтобы игра его увидела без посторонних программ.
Здравствуйте! Я играю во все игры геймпадом через Xpadder, но в PUBG Lite эта программа не работает. Так же я скачивал много разных подобных программ ( включая и эту ), но так и не смог поиграть в одну из моих любимых игр. Могу я попросить у вас помощи в том как решить эту проблему?
P.S.: много раз пробовал научиться играть на клавиатуре, но уже видимо не получится)))
Анатолий, в статье — весь мой опыт. Чего-либо больше этого по части настройки геймпадов я предложить не могу.
Программа не воспринимает геймпад, в следствии не даёт его настроить. Не работает и на x32 и на x64. Как решить проблему?
UglSk, в статье я перечислил 9 альтернатив этой софтине. Пробуйте.
Дмитрий, не могу подключить иксбоксковский джойстик к игре Medal of Honor Allied Assault … всё делал как вы писали и с прогой AntiMicro и с прогой x360ce. Игра не видит геймпад. Хотя Crash Time 4.The Syndicate видит джойс и без этих прог. Что я делаю не так? Спасибо.
Сергей, полагаю, вы не вникли достаточно хорошо в тему, поэтому ничего не получается. Зачем вам x360ce, если у вас и так геймпад с XInput? MOHAA — игра старая и под XInput геймпады не заточенная вот совсем никак. Возможно, и DirectInput устройства тоже не заработали бы. Связывайте через AntiMicro клавиши WASD, R, Ctrl и прочие с кнопками на геймпаде и движение курсора мыши со стиком — получите более-менее нормальное управление игрой.
Добрый день, скажите пожалуйста, можно ли подключить одновременно два джойстика в программе antimicro?
Nik, да, там настройки для каждого в отдельной вкладке будут видны.