É possível usar um controlador PS3 para emular um controlador xbox?

6

Eu tenho meu controlador PS3 conectado por USB e enquanto isso funciona bem, nenhum aplicativo parece suportar seu mapa de teclas. Então, minha pergunta é se é possível fazê-lo emular um controlador xbox similar ao que o MotionInJoy faz no Windows?

Eu fiz alguns googling mas sem sucesso. Eu tropecei no QtSixA que me permite atribuir chaves aos botões do controlador, mas eu não sei quais ids de chaves o xbox usa.

    
por Casper 17.11.2012 / 21:03

1 resposta

5

O xboxdrv pode fazer isso, mas somente quando o controlador PS3 estiver conectado via USB:

Quanto aos ids, eu os listei abaixo, mas eles não vão te ajudar muito. Como você pode ver, Xbox360 USB e Xbox360 Wireless usam diferentes e a maioria dos jogos não se importa, eles usam o botão um após o outro e não se importam com qual botão está mapeado para qual botão físico você precisa remapear manualmente em cada jogo.

Quanto ao Wine, o Wine suporta apenas o DirectInput e não possui suporte ao Xinput, e muitos jogos modernos exigem Xinput. Para contornar isso você tem que usar uma emulação Xinput .dll (mesmo truque você tem que usar no Windows com gamepads mais antigos), não tentei por mim mesmo, mas é descrito aqui:

-

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
    
por Grumbel 18.11.2012 / 16:14