Selenith
Projets, mémos et infos diverses

Mapper une razer naga sous Linux

Publié le 12/09/2018

Si comme moi vous aimez bien les devices Razer et que vous jouez sous Linux, cet article est fait pour vous.

J'ai pendant longtemps cherché a changer le mappage par défaut de ma razer Naga Hex. Impossible de faire autre chose, sans les drivers razer, que les deux configuration de la souris activable par le bouton qui se trouve dessous.

Image de souris Razer naga Hex

J'etais donc condamné à devoir reconfigurer tous mes jeux pour utiliser soit les chiffres 123456 du clavier standard soit ceux clavier numérique.

Mais c'est alors que je suis tombé sur cette page. Je test sur mon PC, un xubuntu 18.04 et la, ô joie, ca fonctionne !

Voila donc un script qui fonctionne sur les nagas Hex et les nagas Epic :

#Récuperation du clavier ID généré par la Naga
remote_id=$(
  xinput list |
  sed -n 's/.*Naga.*id=\([0-9]*\).*keyboard.*/\1/p'
)
[ "$remote_id" ] || exit

#Creation du fichier de configuration des touches
mkdir -p /tmp/xkb/symbols
cat >/tmp/xkb/symbols/custom <<\EOF
xkb_symbols "remote" {
    key <AE01>   { [Alt_L] };
    key <AE02>   { [e, E] };
    key <AE03>   { [a,  A] };
    key <AE04>   { [Control_L] };
    key <AE05>   { [Tab,  ISO_Left_Tab] };
    key <AE06>   { [c, C] };
    key <AE07>   { [F7, F7] };
    key <AE08>   { [F8, F8] };
    key <AE09>   { [F9, F9] };
    key <AE10>   { [F10, F10] };
    key <AE11>   { [F11, F11] };
    key <AE12>   { [F12, F12] };
};
EOF

#Injection de la nouvelle configuration
setxkbmap -device $remote_id -print | sed 's/\(xkb_symbols.*\)"/\1+custom(remote)"/' | xkbcomp -I/tmp/xkb -i $remote_id -synch - $DISPLAY 2>/dev/null

Vous pouvez le mettre dans un fichier appelé naga.sh et le rendre executable avec la commande :

chmod +x naga.sh

Il ne vous reste plus qu'a l'executer :

./naga.sh

La configuration ci dessus est celle que j'utilise pour Skyrim SE, lancé avec steam Play sous Linux. Pensez a executer script apres chaque nouveau demarrage.

Le gros avantage c'est que vous pouvez faire autant de scripts que vous avez de jeux. Vous aurez alors l'equivalents des profiles dans razer synapse.

Et noubliez pas que le nunstick est aussi compatible Linux ;D