The Elder Scrolls & Fallout 3 Modding

на главную страницу сайта

Форум Oblivion, Skyrim & Fallout 3/4 Modding

Объявление

У нас есть свой сервер Дискорда. Заходите, пообщаемся.
Господа, те кто пользуются фотохостингом http://uploads.ru/ для размещения изображений. Рекомендую воспользоваться для упрощения загрузки вот этой программой.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум Oblivion, Skyrim & Fallout 3/4 Modding » Игры » эмуляция геймпада xbox


эмуляция геймпада xbox

Сообщений 1 страница 5 из 5

1

Для взаимодействия с игровыми контроллерами в Windows существует два API: новый XInput и старый DirectInput. Некоторые игры поддерживают только XInput-совместимые устройства. Для того чтобы контроллер, который не поддерживает XInput, работал в этих играх, необходимо использовать эмулятор контроллера Xbox 360.

лазил на сайте wwwdefender.ru/ и нашел там интересную документину в формате pdf
ее содержание на текущую дату тут опубликую:

История изменений
Версия 1.0 от 24.08.2011
Документ создан.
Версия 1.1 от 22.09.2011
Замена «элемент управления» на «орган управления».
Добавлены более подробные инструкции по вызову системного диалогового окна
«Игровые устройства».








Эмуляция «Xbox 360»-совместимого игрового контроллера при
помощи PC-совместимого игрового контроллера

1. Скачать по адресу http://virusdev.ovh.org/files/ последнюю версию программного
обеспечения для эмуляции «Xbox 360»-совместимого игрового контроллера. Во
время написания этой статьи, это был файл «x360ce vibmod 3.1.4.1.zip».
2. Скопировать xinput dll и «x360ce.ini» в папку, в которой находится исполняемый
файл игры, при помощи которого она запускается.
xinput dll может называться по разному, поэтому можно переименовывать ее в
любой из предложенных ниже вариантов до тех пор, пока не будет найден
работающий:
· «xinput9_1_0.dll»;
· «xinput1_3.dll»;
· «xinput1_2.dll»;
· «xinput1_1.dll».
3. Получить VID и PID игрового контроллера для чего, открыть «Диспетчер
устройств». Развернуть узел «Устройства HID (Human Interface Devices)».
Открыть свойства «HID-совместимого игрового контроллера». Открыть вкладку
«Сведения». В выпадающем списке выбрать «ИД оборудования». Вы увидите
список идентификаторов, например: «HID\VID_044F&PID_B323». VID — это
шестнадцатеричное число после «VID_», PID — это шестнадцатеричное число
после «PID_». Для приведенного выше примера это «044F» и «B323»
соответственно.

http://uploads.ru/i/X/L/M/XLMN5.jpg
Рисунок 1. Окна «Диспетчера устройств» и «Свойств: HID-совместимого игрового контроллера».


4. Скопировать VID и PID игрового контроллера в файл «x360ce.ini». Для
приведенного выше примера соответствующие строчки файла «x360ce.ini»
будут выглядеть так:
VID=0x044F
PID=0xB323
5. Протестировать правильность сопоставления органов управления Вашего
игрового контроллера с органами управления «Xbox 360»-совместимого
игрового контроллера при помощи утилиты «XInputTest.exe». В случае
несоответствия, узнать номер кнопки или другого органа управления, который
должен быть справа от знака равенства в файле «x360ce.ini», можно
следующим образом:
· вызвать системное диалоговое окно «Игровые устройства», если на Вашем
компьютере установлена операционная система Windows 7, через меню
«Пуск» -> «Устройства и принтеры» -> «USB Joystick/Gamepad/Wheel», если
же на Вашем компьютере установлена операционная система Windows
Vista или XP, через меню «Пуск» -> «Панель управления» -> «Игровые
устройства»;
· выбрать интересующее устройство;
· нажать кнопку «Свойства»;
· нажимая на кнопку или пользуясь другим органом управления, смотреть
номер подсвечиваемой кнопки или оси (оси нумеруются следующим
образом: ось X — это ось номер 1, ось Y — это ось номер 2 и т.д.).

http://uploads.ru/i/5/v/d/5vd8Q.jpg
Рисунок 2. Ярлык «DEFENDER Wheel» на рабочем столе, системные диалоговые окна «Игровых
устройств» и «Свойств: DEFENDER Wheel». В окне «Свойств: DEFENDER Wheel» подсвечен
поворот руля, нажатая педаль и кнопка номер 5.



Узнать название кнопки или другого органа управления «Xbox 360»-
совместимого игрового контроллера, которая должна быть слева от знака
равенства в файле «x360ce.ini», можно по рисунку 3.


http://uploads.ru/i/f/2/6/f26Qa.jpg
Рисунок 3. Диалоговое окно утилиты «XInputTest.exe» с подписанными названиями кнопок и других
органов управления.



6. Запустить игру и проверить, что эмуляция работает.
7. В случае если эмуляция не работает, использовать установку «FakeAPI=1» в
файле «x360ce.ini».


Приложение. Перевод комментариев файла «x360ce.ini».
[Options]
UseInitBeep=1 #использовать 0 или 1; по умолчанию 1;
#пищать при старте
Log=0 #использовать 0 или 1; создать
#лог-файл в папке «x360ce logs»
FakeAPI=0 #использовать исправления API
[PAD1]
Index=0 #номер контроллера в системном списке
#игровых контроллеров; 0 - первый; -1
# - игнорировать это устройство
Native=0 #экспериментальный режим «родных»
#вызовов, вызывать системную
#«xinput1_3.dll» для поддержки xinput-
#совместимых контроллеров вместе с
#эмулируемыми
VID=0x0810 #VID контроллера
PID=0x0003 #PID контроллера
Left Analog X=1 #номер оси; используйте: «-» для
#инвертирования; предшествующую «s»
#для ползунков, например, «s-1»; 7 для
#отключения
Left Analog Y=-2 #номер оси; используйте: «-» для
#инвертирования; предшествующую «s»
#для ползунков, например, «s-1»; 7 для
#отключения
Right Analog X=6 #номер оси; используйте: «-» для
#инвертирования; предшествующую «s»
#для ползунков, например, «s-1»; 7 для
#отключения
Right Analog Y=-3 #номер оси; используйте: «-» для
#инвертирования; предшествующую «s»
#для ползунков, например, «s-1»; 7 для
#отключения
Left Analog X+ Button=0 #номер кнопки; 0 для отключения
Left Analog X- Button=0 #номер кнопки; 0 для отключения
Left Analog Y+ Button=0 #номер кнопки; 0 для отключения
Left Analog Y- Button=0 #номер кнопки; 0 для отключения
Right Analog X+ Button=0 #номер кнопки; 0 для отключения
Right Analog X- Button=0 #номер кнопки; 0 для отключения
Right Analog Y+ Button=0 #номер кнопки; 0 для отключения
Right Analog Y- Button=0 #номер кнопки; 0 для отключения
D-pad POV=1 #номер переключателя видов; 0 для
#отключения
D-pad Up=0 #номер кнопки; 0 для отключения
D-pad Down=0 #номер кнопки; 0 для отключения
D-pad Left=0 #номер кнопки; 0 для отключения
D-pad Right=0 #номер кнопки; 0 для отключения
A=3 #номер кнопки; 0 для отключения
B=2 #номер кнопки; 0 для отключения
X=4 #номер кнопки; 0 для отключения
Y=1 #номер кнопки; 0 для отключения
Left Shoulder=5 #номер кнопки; 0 для отключения
Right Shoulder=6 #номер кнопки; 0 для отключения
Back=9 #номер кнопки; 0 для отключения
Start=10 #номер кнопки; 0 для отключения
Left Thumb=11 #номер кнопки; 0 для отключения
Right Thumb=12 #номер кнопки; 0 для отключения
TriggerDeadzone=5 #используйте значения от 0 до 255; по
#умолчанию 0; добавить «мертвую зону»
#к триггеру
Left Trigger=7 #номер кнопки; используйте
#предшествующие: «a» для осей; «s» для
#ползунков; «x» для спаренных осей;
#«h» для спаренных слайдеров; «-» для
#инвертирования, например, «x-2»
Right Trigger=8 #номер кнопки; используйте
#предшествующие: «a» для осей; «s» для
#ползунков; «x» для спаренных осей;
#«h» для спаренных слайдеров; «-» для
#инвертирования, например, «x-2»
UseForceFeedback=1 #использовать 0 или 1; по умолчанию 0
SwapMotor=0 #использовать 0 или 1; по умолчанию 0
ForcePercent=100 #использовать значения от 0 до 100;
#по умолчанию 100
ControllerType=1 #геймпад 1; руль 2; рычаг/джойстик 3;
#авиационный джойстик 4; танцевальный
#коврик 5; гитара 6; барабаны 8
AxisToDPad=0 #Использовать ось для контроля
#переключателя видов (0 - отключить, 1
# - включить)
AxisToDPadDeadZone=256 #Мертвые зоны для оси
AxisToDPadOffset=0 #Смещение для оси
POVXReverse=0 #инвертировать вертикальную ось
#переключателя видов
POVYReverse=0 #инвертировать горизонтальную ось
#переключателя видов

Отредактировано 7755 (2012-05-21 02:47:11)

0

2

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

http://s3.uploads.ru/3qUCA.jpg
http://s2.uploads.ru/7b3Bl.jpg
http://s3.uploads.ru/ajYE5.jpg
http://s3.uploads.ru/LUkvq.jpg

мой старый пост в теме нфс ворлд онлайн перетащил сюда:

эмулятор геймпада Xbox360 по ссылке необходимые файлы, дллка для 32битных игр в папке 32, для 64битных в папке 64. я проверял на своем Defender Game Racer Turbo GT, все работало, кратко - подключаем геймпад к компу, нажимаем ексешник этого эмулятора, назначаем клавиши на соответствие клавишам геймпада xbox360, получаем на выходе файлы которые надо кинуть в папку с игрой, в которой хотим иметь поддержку геймпада.

тоесть у вас нет денег\желания покупать геймпад xbox360, и у вас есть другой геймпад, вот эта программулька наплодит вам файлики, которые, закинутые в папку с игрой, заставят игру думать что ваш геймпад - это геймпад xbox360

Отредактировано 7755 (2012-11-15 08:52:14)

0

3

каждую кнопку можно настроить разными способами

Record - просто записать кнопку. то есть выбрал какую кнопку ты хочешь заменить, нажал record и нажал кнопку которой хочешь заменить на своем геймпаде

Buttons - выбрать кнопку из списка кнопок своего геймпада
Axes - выбрать полную ось, полную инвертированную ось,  полуось или инвертированную полуось
DPads - выбрать одно из направлений крестовины

для обычного гемпада все просто, кроме триггера
http://s2.uploads.ru/4sjwy.jpg

на моем геймпаде от соньки нет кнопки с функциями триггера. триггеры на иксбокспаде - это два нижних шифта. их фишка в том что они действуют как стики - у них есть степень отклонения(нажатия) например вам надо дать малый газ на старте в гоночном автосимуляторе(тест драйв унлимитед 2) вы слегка нажимаете триггер и машина плавно снимается с места без пробуксовки.

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

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

чето не так. путем проб и ошибок я обнаружил что для этого как раз таки и подходят полуоси, выбрал инвертированную полуось 2, и получилось все как надо:
http://s2.uploads.ru/sZGIp.png

остальные кнопки и направления особой сложности не доставляют:
http://s2.uploads.ru/6JUCf.jpg

Отредактировано 7755 (2012-11-15 08:54:21)

0

4

7755, а ты вибрацию смог настроить?

0

5

эм... в блуре все пашет как надо. ничего особо не настраивал.

0


Вы здесь » Форум Oblivion, Skyrim & Fallout 3/4 Modding » Игры » эмуляция геймпада xbox