O problema é que o jstest-gtk apenas altera o mapeamento do dispositivo joystick, ou seja, /dev/input/js0
. A maioria dos jogos modernos que usam o SDL, no entanto, não usam mais o dispositivo de joystick, mas usam o evdev bruto, ou seja, / dev / input / eventX e isso não permite nenhum remapeamento.
A solução mais rápida é definir uma variável de ambiente:
export SDL_JOYSTICK_DEVICE=/dev/input/js0
Isso forçará os aplicativos baseados em SDL a usarem o antigo dispositivo de joystick e, portanto, respeitarem o mapeamento. Não ajudará com aplicativos não-SDL.
Outra alternativa é xboxdrv , é um driver Xbox360 do userspace que permite uma ampla variedade de opções de configuração no driver nível (incluindo emulação de teclado e mouse). Isso funcionará para todos os jogos.