Configurer les boutons d'une souris USB Logitech sur Ubuntu
Les souris Logitech haut de gamme ont la particularité de multiplier les boutons. Ce guide vous explique comment configurer proprement tout ces boutons sur Ubuntu.
Compatibilité
Attention: Ce guide ne fonctionne qu'avec les souris USB Logitech. Ne l'utilisez pas si votre souris est branchée sur un autre port que l'USB (ca ne marche pas si votre souris USB est branchée sur le port PS/2 à l'aide d'un adaptateur).
Ce guide a été testé avec les souris suivantes :
- MX 700
- MX 518
Configuration
En premier lieu, créez une sauvegarde de votre configuration Xorg :
/usr/bin/sudo /bin/cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old
Et désactivez xmodmap si besoin:
if [ -f $HOME/.xmodmaprc ]; then
/bin/sed -i -e '/setting pointer/d' $HOME/.xmodmaprc;
fi
Nous récupérons le nom du périphérique USB associé à notre souris :
MOUSE_NAME=`/bin/grep --before-context=4 "mouse" /proc/bus/input/devices \
| /bin/grep --before-context=1 -e "usb-" \
| /bin/grep -i -e "Logitech" \
| /bin/sed -e 's/.*=//'`
Vérifiez que la valeur obtenue correspond bien à votre souris :
/bin/echo $MOUSE_NAME
Testez qu'elle n'est pas déjà présente dans le fichier de configuration de Xorg :
if /bin/grep -q "$MOUSE_NAME" /etc/X11/xorg.conf; then
echo "
ATTENTION : Votre configuration Xorg semble déjà contenir des informations sur votre souris.";
else
echo "
OK : Vous pouvez poursuivre.";
fi
Si tout va bien, nous ajoutons une nouvelle configuration de souris à notre fichier de configuration de Xorg :
/bin/echo "
Section \"InputDevice\"
Identifier $MOUSE_NAME
Driver \"evdev\"
Option \"Name\" $MOUSE_NAME
Option \"SendCoreEvents\" \"true\"
Option \"Protocol\" \"ExplorerPS/2\"
Option \"ZAxisMapping\" \"4 5\"
Option \"Emulate3Buttons\" \"false\"
Option \"ButtonMapping\" \"1 2 3 8 9\"
EndSection" | /usr/bin/sudo /usr/bin/tee -a /etc/X11/xorg.conf
Et nous remplaçons la configuration par défaut de la souris par celle ci-dessus :
/usr/bin/sudo /bin/sed -i \
-e 's/\(.*InputDevice.*Configured Mouse\)/#\1/' \
-e "/InputDevice.*Configured Mouse/a\
InputDevice\t$MOUSE_NAME" \
/etc/X11/xorg.conf
Redémarrez votre serveur X (Ctrl + Alt + Backspace) pour tester votre configuration.
Remarque : Si cela c'est mal passé, la commande suivante restaure votre configuration X d'origine :
/usr/bin/sudo /bin/cp /etc/X11/xorg.conf.old /etc/X11/xorg.conf
Remerciements
- Merci à l'auteur de l'article Souris Logitech sur Jeux-Linux.
- Merci à l'auteur de l'article Configuration Logitech MX 510/518/1000.
- Merci à Accarien pour son article Souris MX610 (et MX1000) sous fc6 (et fedora 7).
nouvelle méthode
Maintenant il vaut mieux créer un fichier de règles pour hal par exemple dans
/etc/hal/fdi/policy/mouse-wheel.fdi
En dehors de l'endroit et du fait que ce soit un fichier xml, vous retrouverez vos petits avec les indications ci dessus et une syntaxe comme celle ci dessous (prévue pour mon trackball Marble avec un défilement de page à la fois horizontal et vertical avec la boule, récupérez le nom de votre souris et adaptez à votre cas) :
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.product" string="Logitech USB Trackball">
<merge key="input.x11_options.ButtonMapping" type="string">1 2 3 4 5 6 7 8 9</merge>
<merge key="input.x11_options.EmulateWheel" type="string">true</merge>
<merge key="input.x11_options.EmulateWheelButton" type="string">8</merge>
<merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
<merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
</match>
</device>
</deviceinfo>
source : https://help.ubuntu.com/community/Logitech_Marblemouse_USB
Au passage, sous Linux, votre souris est entièrement configurable en long en large et en travers contrairement au programmes logitech mal foutus et restrictifs sous Windows.