Как эмулировать устройство XInput с геймпадом DirectInput?

Я пытаюсь заставить контроллер Logitech Dual Action работать с Bastion в Ubuntu 13.04. Из того, что я понял, Bastion совместим только с устройствами XInput, а мой контроллер поддерживает только DirectInput. Фактически, игра распознает большинство кнопок, за исключением кнопки 7 (левый триггер) и кнопки 10 (кнопка «Пуск» на игровом пульте консоли).

Можно ли каким-то образом эмулировать устройство XInput, например контроллер xbox 360?

1
задан 30 November 2013 в 04:40

1 ответ

Ответ здесь пользователем Reddit theliphantGen:

Поскольку я потратил довольно много времени, чтобы выяснить это, я просто хотел кое-что отметить.

Короче говоря, я не мог заставить Brutal Legend или Shank узнать какие-либо из моих геймпадов. Сегодня я узнал, что xboxdrv может работать поверх ЛЮБОГО джойстика / геймпада, используя evdev. Итак, с помощью этого простого сопоставления я заставил xboxdrv создать еще один геймпад, который имитирует контроллер xbox360 с помощью драйвера xpad и работает «из коробки» как в Shank, так и в Brutal Legend (и должен с другими тоже):

xboxdrv --evdev /dev/input/event15 --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_TOP=x,BTN_TRIGGER=y,BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lb,BTN_BASE2=rb,BTN_TOP2=lt,BTN_PINKIE=rt,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent

/dev/input/event15 должно указывать на правильное устройство события вашего геймпада. Это отображение для адаптера контроллера PS2. Вы можете настроить его, удалив --silent и добавив --evdev-debug для вывода кодов evdev для нажатых кнопок / осей

0
ответ дан 30 November 2013 в 04:40

Другие вопросы по тегам:

Похожие вопросы: