Ao jogar Xonotic
o joystick Logitech F310
já estava funcionando mas depois de reiniciar o computador parou de funcionar completamente.
Quando pressiono shift
+ esc
durante o jogo tento habilitar o joystick com
joy_enable 1
mas parece ativar meu touchpad em vez do joystick.
Ele escreve:
Joystick 0 opened (SDL_Joystick 0 is "ETPS/2 Elantech Touchpad" ...
O jogo começa a girar e nenhum botão do joystick está funcionando.
Como corrigi-lo, para que
joy_enable 1
ele ative meu joystick?
O joystick é visto jstest-gtk
como/dev/input/js0
Eu também defino a variável
export SDL_JOYSTICK_DEVICE=/dev/input/js0
sudo chmod 777 /dev/input/js0
Parece que o SDL está identificando erroneamente seu touchpad como um joystick. Isso parece estranho, mas faz um pouco de sentido se você entender que as entradas do joystick e as entradas do touchpad são semelhantes. Ambos enviam entradas como um par de coordenadas absolutas X e Y e ambos possuem botões.
Provavelmente o SDL também vê seu gamepad F310, mas enumera os dispositivos em uma ordem diferente dependendo de coisas como se o gamepad estava conectado quando o jogo foi iniciado. Você pode dizer ao xonotic para usar o segundo gamepad executando
joy_index 1
no console do jogo.