Je pense que EitherMouse mérite d'être mentionné ici. Je suis très content quand je dois utiliser une boîte Windows. Cela rend la gestion d'une configuration multi-souris un jeu d'enfant.
Vous pouvez télécharger l'outil sur son site Web: http://www.eithermouse.com/
Pour la postérité, je vais également inclure ici la solution pour GNU / Linux. La meilleure façon, à mon avis, est de définir une configuration de section Xorg InputClass personnalisée. Ce sera en vigueur à chaque fois que la souris est détectée. Voici mon fichier de configuration /etc/X11/xorg.conf.d/50-mouses-config.conf
:
Section "InputClass"
Identifier "Lachesis Left Handed"
MatchUSBID "1532:000c"
Option "ButtonMapping" "3 2 1"
EndSection
La Identifier
valeur est sans importance. L'ID USB peut être trouvé à l'aide de la lsusb
commande. Pour voir quels boutons sont disponibles, l' xev
outil peut être utilisé pour obtenir l'ID du bouton lorsque vous appuyez sur les boutons de votre souris. La commande xinput list
peut être utilisée pour obtenir une liste de tous les périphériques d'entrée sur votre système et leur ID xinput. Vous pouvez obtenir une liste complète des boutons de l'appareil à l'aide de la commande xinput get-button-map N
, où N est l'ID d'entrée de votre appareil, tel que xinput get-button-map 10
. Vous pouvez expérimenter la modification du mappage des boutons de votre appareil à l'aide de la xinput set-button-map N *mapping*
commande, comme:xinput set-button-map 10 3 2 1
Vous devrez redémarrer votre session X pour rendre votre nouvelle configuration Xorg efficace. En cas de problème, le Xorg.log ( tail -f /var/log/Xorg.0.log
) pourrait vous donner une idée de ce qui s'est mal passé.
Une xinput set-button-map
alternative peut être utilisée, mais elle est moins dynamique (elle ne sera pas appliquée automatiquement lorsque votre appareil sera détecté). Le script suivant peut être configuré pour s'exécuter au démarrage (dans Ubuntu, il existe une interface graphique des applications de démarrage pour le configurer). Pour certaines raisons, cela ne fonctionnera pas si vous appelez simplement le script à partir de votre fichier ~ / .profile. La variable MOUSE_NAME correspond au nom donné à votre souris dans la sortie de la xinput list
commande.
#!/bin/bash
MOUSE_NAME="Razer Razer Lachesis"
BUTTONS_MAP="3 2 1"
while read -r line; do
raw_line=$(grep "$MOUSE_NAME" | grep "pointer")
if [ ! -z "$raw_line" ]; then
mouse_id=$(echo "$raw_line" | cut -d '=' -f2 | sed 's/\t.*//g')
echo "Found ${MOUSE_NAME}'s id: $mouse_id"
xinput set-button-map $mouse_id $BUTTONS_MAP
break
fi
done < <(xinput list)