Можно ли использовать контроллер PS3 для эмуляции контроллера xbox?

У меня есть контроллер PS3, подключенный через USB, и хотя он работает нормально, ни одно приложение не поддерживает его раскладку. Поэтому мой вопрос заключается в том, возможно ли сделать так, чтобы он эмулировал контроллер xbox, аналогично тому, что MotionInJoy делает в Windows?

Я немного погуглил, но безрезультатно. Я наткнулся на QtSixA, которая позволяет мне назначать клавиши кнопкам контроллера, но я не знаю, какие идентификаторы ключей использует xbox.

1 ответ

xboxdrv может сделать это, но только когда контроллер PS3 подключен через USB:

Что касается идентификаторов, я перечислил их ниже, но они не очень вам помогут. Как вы можете видеть, Xbox360 USB и Xbox360 Wireless используют разные, и большинству игр все равно, они просто используют кнопку один за другим и не заботятся, какая кнопка сопоставлена ​​с какой физической кнопкой, вам нужно переназначить их вручную в каждой игре.

Что касается Wine, Wine поддерживает только DirectInput и не поддерживает Xinput, а многие современные игры требуют Xinput. Чтобы обойти это, вы должны использовать эмуляцию Xinput.dll (тот же трюк, который вы должны использовать в Windows со старыми геймпадами), не пробовал сам, но это описано здесь:

-

USB Xbox360 Controller
======================

start BTN_START
guide BTN_MODE
back  BTN_SELECT

a    BTN_A
b    BTN_B
x    BTN_X
y    BTN_Y

lb    BTN_TL
rb    BTN_TR

tl    BTN_THUMBL
tr    BTN_THUMBR


x1 ABS_X:-32768:32767:16:128
y1 ABS_Y:-32768:32767:16:128

x2 ABS_RX:-32768:32767:16:128
y2 ABS_RY:-32768:32767:16:128

lt ABS_Z:0:255:0:0
rt ABS_RZ:0:255:0:0

dpad_x ABS_HAT0X:-1:1:0:0
dpad_y ABS_HAT0Y:-1:1:0:0


Wireless Xbox360 Controller
======================
dpad_up    BTN_0
dpad_down  BTN_1
dpad_left  BTN_LEFT
dpad_right BTN_RIGHT

start BTN_START
guide BTN_MODE
back  BTN_SELECT

a    BTN_A
b    BTN_B
x    BTN_X
y    BTN_Y

lb    BTN_TL
rb    BTN_TR

tl    BTN_THUMBL
tr    BTN_THUMBR

x1 ABS_X:-32768:32767:0:0
y1 ABS_Y:-32768:32767:0:0

x2 ABS_RX:-32768:32767:0:0
y2 ABS_RY:-32768:32767:0:0

lt ABS_Z:0:255:0:0
rt ABS_RZ:0:255:0:0
Другие вопросы по тегам