Mapeando dois joysticks com o Xorg

2

Eu já consegui mapear a entrada de um joystick para as entradas do teclado, escrevendo um arquivo no meu diretório xorg.conf.d/ (o arquivo se chama 51-joystick.conf ).

Agora eu gostaria de mapear as entradas de um segundo joystick (mesmo modelo) para usá-las juntas. Então eu escrevi um segundo arquivo em xorg.conf.d/ ; aproximadamente o mesmo conteúdo, diferindo apenas pelo caminho do dispositivo e mapeamento.

Infelizmente, não funciona assim:

  • se eu chamar o arquivo do segundo joystick 51-joystick2.conf , nenhum joystick funcionará mais

  • se eu chamar o arquivo do segundo joystick 52-joystick2.conf , somente o segundo funciona

Alguém pode me explicar como proceder?

edite: o conteúdo do 51-joystick.conf é

Section "InputClass"
    Identifier "Joystick 1 mapping"
    Option "device" "/dev/input/js0"
    Option "path" "/dev/input/js0"
    Option "StartKeyEnabled" "False"
    Option "StartMouseEnabled" "False"
    #MatchIsJoystick on
    #Option "MapAxis1" "keylow=113 keyhigh=114"
    #Option "MapAxis2" "keylow=111 keyhigh=116"
    Option "MapButton1" "key=52"
    Option "MapButton2" "key=53"
    Option "MapButton3" "key=38"
    Option "MapButton4" "key=39"
    Option "MapButton5" "key=40"
    Option "MapButton6" "key=54"
    Option "MapButton7" "key=14"
    Option "MapButton8" "key=10"
EndSection

editar (11/03/15): - ambos os meus joysticks são mostrados com o comando xinput ; cada um deles tem duas entradas (dois IDs diferentes) e são marcados como escravo para o teclado. As quatro entradas têm exatamente o mesmo nome ("Logitech Gamepad F310 (chaves)") - se eu der um número maior para o arquivo de configuração do primeiro joystick ("52-joystick1.conf" e "51-joystick2.conf"), apenas as entradas do primeiro joystick são mapeadas para as entradas do teclado

  • isso é agora o que está escrito no log do xorg quando eu conecto o primeiro joystick

  • isso é agora o que está escrito no log do xorg quando eu conecto o segundo joystick

Observo que, em ambos os casos, InputClasses "Joystick 1" e "Joystick 2" parecem ser aplicados aos dois joysticks e, no final, somente o mapeamento para / dev / input / js0 é aplicado.

    
por SLakx 09.03.2015 / 20:49

1 resposta

0

Eu tenho essa ideia de usar o mate do controlador no osx ...

Mapeie na mesma configuração. Você pode querer alterar os mapeamentos de teclado para que eles não tenham a mesma tecla pressionada, ou você pode realmente alterar o tipo de entrada para uma entrada de classe HID que o seu sistema suporta. De qualquer forma, se você tiver várias configurações, apenas uma será usada. Execute uma verificação para ver se o js1 está ativado, se não, use config 1 com apenas js0, caso contrário, use config com ambos mapeados.

Section "InputClass"
Identifier "Joystick 1 mapping"
    Option "device" "/dev/input/js0"
    Option "path" "/dev/input/js0"
    Option "StartKeyEnabled" "False"
    Option "StartMouseEnabled" "False"
    #MatchIsJoystick on
    #Option "MapAxis1" "keylow=113 keyhigh=114"
    #Option "MapAxis2" "keylow=111 keyhigh=116"
    Option "MapButton1" "key=52"
    Option "MapButton2" "key=53"
    Option "MapButton3" "key=38"
    Option "MapButton4" "key=39"
    Option "MapButton5" "key=40"
    Option "MapButton6" "key=54"
    Option "MapButton7" "key=14"
    Option "MapButton8" "key=10"
Identifier "Joystick 2 mapping"
    Option "device" "/dev/input/js1"
    Option "path" "/dev/input/js1"
    Option "StartKeyEnabled" "False"
    Option "StartMouseEnabled" "False"
    #MatchIsJoystick on
    #Option "MapAxis1" "keylow=113 keyhigh=114"
    #Option "MapAxis2" "keylow=111 keyhigh=116"
    Option "MapButton1" "key=52"
    Option "MapButton2" "key=53"
    Option "MapButton3" "key=38"
    Option "MapButton4" "key=39"
    Option "MapButton5" "key=40"
    Option "MapButton6" "key=54"
    Option "MapButton7" "key=14"
    Option "MapButton8" "key=10"
EndSection
    
por 01.01.2016 / 09:52