Мой PS3-контроллер подключен через USB, и хотя он работает нормально, ни одно приложение не поддерживает его раскладку. Поэтому мой вопрос заключается в том, можно ли сделать так, чтобы он эмулировал контроллер xbox, аналогично тому, что MotionInJoy делает в Windows?
Я немного погуглил, но безрезультатно. Я наткнулся на QtSixA, которая позволяет мне назначать клавиши кнопкам контроллера, но я не знаю, какие идентификаторы клавиш использует xbox.
xboxdrv может сделать это, но только когда контроллер PS3 подключен через USB:
Что касается идентификаторов, я перечислил их ниже, но они действительно не помогут Вам очень. Как Вы видите, Xbox360 USB и Беспроводное использование Xbox360, о котором различные и большинство игр не заботятся так или иначе, они просто используют кнопку один за другим и не заботятся, какая кнопка отображается, на которую физическую кнопку, необходимо повторно отобразить их вручную в каждой игре.
Что касается Вина, Вино только поддерживает 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