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