Статьи > Эмуляция геймпада Xbox 360
Эмуляция геймпада Xbox 360

Всем привет! Сейчас современные игры очень плохо поддерживают старые геймпады, но решение проблемы существует - можно эмулировать геймпад Xbox 360.
Информации по этому делу крайне мало, поэтому я решил написать небольшую статью-инструкцию.

Эмуляция геймпада Xbox 360.


Современные игры в качестве API ввода используют Xinput, взамен старого Dinput, что приводит к невозможности нормального использования большинства геймпадов, а использующих Xinput, помимо пада 360, сейчас крайне мало. Под нормальным использованием имеется в виду корректная обратная связь, настроенная раскладка и перестройка интерфейса игры под геймпад. Большинство новых игр, в особенности имеющих статус "Games for Windows", распознав xinput геймпад, перестраивают свой интерфейс, что крайне важно, так как клавиатура это одно, геймпад другое, и просто присвоить определенные клавиши и комбинации клавиатуры, кнопкам геймпада через специальный софт может оказаться очень сложно.

Здесь речь пойдет об эмуляторе геймпада Xbox 360, который в прямом смысле слова позволяет заставить новую игру в том числе "Games for Windows", подумать, что ваше Dinput устройство, является геймпадом Xbox 360, а это означает, что появится вибрация, настроится раскладка и перестроится интерфейс.

Итак, для начала скачайте все необходимое и положите в одну папку.


Эмулятор: тут
Необходимая для работы DLL’ка: тут, в самом низу кнопка "нажмите для продолжения"

Теперь запускайте X360ce.exe. Программа предложит создать необходимые файлы, нажимайте "ок"

Эмулятор состоит из:

-самого эмулятора:
xinput1_3.dll
msvcr100.dll
-Файла где хранятся настройки:
x360ce.ini – можно редактировать через блокнот
-Оболочки для комфортного редактирования -x360ce.ini:
x360ce.exe (при первом запуске предлагает создать xinput1_3.dll, x360ce.ini)

Рассмотрим окно:

Controller1Controller4 – подключенные к системе игровые устройства
Option – об этом ниже
Help, About – тут все понятно.

General – в этом окне вы назначаете, какие кнопки и оси вашего гейпада будут соответствовать кнопкам и осям геймпада Xbox 360.
Advanced – здесь настраиваются мертвые зоны осей обратная связь и настройки по превращению стика в d-pad.
######## - последняя вкладка носит названия вашего игрового устройства и нужна для получения различной информации о нем.

Настройка:


1. Выбирайте вкладку Controller1-4, там General
Щелкайте по выпадающему списку, там либо record, после чего эмулятор предложит нажать кнопку или отклонить аналог. Либо выбирайте из спиcка кнопку или ось.
Если на вашем устройстве нет аналоговых курков, можно назначить кнопку, тогда её нажатие будет означать крайнее положение оси курка.


Случаи когда нужны Half и Inverted Half:


Такие случаи возникают тогда, когда два аналоговых устройства делят одну ось. К примеру, на вашем геймпаде два аналоговых курка, при этом они висят на одной оси, таким образом, когда оба курка отжаты, ось заполнена на половину, когда вы выжимайте левый курок заполняется верхняя половина оси (одна половина оси движется в прямом направлении Half), когда правый то "вытекает" нижняя половина (то есть другая половина движется в обратном направлении Inverted Half). Ну или наоборот - зависит от драйвера, но в любом случаи если два аналога делят одну ось, то один будет отвечать за ее половину, а другой за инвертированную половину. Хотя, возможно, есть исключения.
Чтобы правильно назначить такие курки, нажмите record, и отожмите один из курков, посмотрите какая ось назначалась - это номер оси ваших курков. Затем вручную назначьте на один курок эту ось из списка Half, а на другой курок эту же ось из списка Inverted Half.

Программа имеет статус Beta, поэтому могут попадаться глюки в настройке.
Итак:

Проблема:
-Нажали Record, отклонили ось в нужном направлении, после обнаружили что она инвертирована.
Решение:
-Выберите вручную ось из списка inverted

Проблема:
-Нажали Record, назначили аналоговый курок, когда он отжат эмулятор, показывает крайнее нажатое положение оси
Решение:
-Выберите вручную ось курка из списка inverted

Проблема:
Некоторые оси геймпада никак не назначаются в режиме record.
Решение:
Подберите ось вручную из списка, если не выходит, откройте в блокноте файл x360ce.ini


Там вы увидите список кнопок, осей и некоторых настроек эмулятора (помните что это файл настроек, которым пользуется эмулятор во время работы, ничего "левого" там быть не должно, также не меняйте то, что слева от знака "=") справа от "=" будут значения осей и кнопок, (оси и кнопки всех игровых устройств имеют свой номер), если перед цифрой стоит знак "-", это означает что ось инвертирована. Так вот в этом файле, в обход X360ce.exe, вы можете задать ось, если номер не известен, тогда “методом тыка”. Ставите значения, сохраняйте, запускайте X360ce.exe, проверяйте пока не подберете.

Обратите внимание - список всех значений начинается с заголовка [PADX], где X – номер геймпада в системе. Чтобы узнать номер геймпада, зайдите в список игровых устройств, через панель управления, номер геймпада считается сверху.

2. В вкладке Advanced:
-включите отдачу "Enable force Feedback"
-установите ее продолжительность, после поступления сигнала Overal Effect Stength
-Там же отдачу можно протестировать

-Функция AntiDeadZone (появляется в версии 2.0.2.89 beta 2)
Данная функция полезна в тех играх, где при эмуляции геймпада Xbox360, появляются большие мертвые зоны, далее МЗ, (несмотря на их нулевое значение в настройка драйвера или данного эмулятора). Так вот, эта функция способна свести такую МЗ к нулю. Для этого: в списке AntiDeadZone выберите один из пунктов enabled (xinput, z), где z - уничтожение МЗ, в процентах.
100% - соответствуют, полному отсутствию МЗ.

Также ниже вы сможете посмотреть насколько сужается МЗ в числах, и отредактировать значение вручную (большее значение соответствует большему сужению МЗ, увеличьте эти значения, если даже после установки enabled (xinput, 100%), чувствуется МЗ)

3. В вкладке Option:
-Установите галочку для Use Init Beep, это необходимо для того чтобы эмулятор подал сигнал при запуске игры в случаи удачного срабатывания.

Установка:

После настройки эмулятора:
1. нажмите кнопку SAVE, для сохранения настроек, и закройте x360ce.exe.
2. Скопируйте в папку где находится исполняемый файл игры (.exe), следующие файлы: xinput1_3.dll, msvcr100.dll, x360ce.ini.

ВНИМАНИЕ! Указанные файлы необходимо скопировать в папку где находится файл при открытии которого непосредственно запускается игра, то есть не лаунчер, не настройки, а сама игра. Не путать с ярлыком!

ВНИМАНИЕ! Игра может искать файл xinput.dll, не только как xinput1_3.dll, поэтому если эмулятор не сработал попробуйте переименовать xinput1_3.dll в: xinput1_2.dll, xinput1_1.dll, xinput9_1_0.dll.

Если все сделано правильно, в самом начале запуска игры прозвучит сигнал (системный звук оповещения). Некоторые игры, переключаются на геймпад сразу после любой активности геймпада, и обратно при активности мыши\клавиатуры. В некоторых геймпад надо включить в опциях.

ВНИМАНИЕ! При работе эмулятора отключите все программы назначения на геймпад кнопок клавиатуры\мыши и выгрузите все профили таких программ.

© Автор MNT

Полезные ссылки по теме:

Сайт эмулятора: http://www.tocaedit.com
Отличная статья по геймпадам и их работе (в том числе про xinput и dinput): http://forum.ixbt.com/post.cgi?id=print:25:13381&page=1
Автор: MNT
Статьи > Эмуляция геймпада Xbox 360
Играем по сети

Kaillera server:
 gs.emu-land.net:27888

Mednafen server:
 gs.emu-land.net:4046

Подробнее...

Случайный скриншот
EZ-Talk - Shokyuu Hen 1

EZ-Talk - Shokyuu Hen 1
Игры Game Boy Advance

Случайное видео
Веб-сайт использует cookie, чтобы обеспечить вам максимальное удобство на нашем веб-сайте. Используя наш сайт, вы соглашаетесь на использование нами файлов cookie. Узнать больше.

Want to switch to English version of the site?