Configurer sa souris Logitech MX Master sous Linux (Ubuntu)

Depuis très récemment, je suis l'heureux propriétaire d'une souris Logitech MX Master. Logitech n'ayant pas pris la peine de fournir des outils de configuration pour linux, il m'a fallu bidouiller pour tout faire fonctionner correctement.

Au moment ou j'écris ces lignes, j'utilise une Ubuntu 16.10 avec gnome shell (pas unity) sous Xorg (pas Wayland).

Ce qui fonctionne

En branchant le petit dongle usb fourni par Logitech, ma souris se connecte immédiatement et fonctionne parfaitement.

Les clics gauche et droit fonctionnent correctement. Le petit bouton sous la molette qui sert à la débrayer est également fonctionnel.

En revanche, ni la molette latérale, ni les boutons qui l'accompagnent ne sont reconnus. Le bouton sous le pouce ne fonctionne pas non plus. Les possibilités de configuration sont minimales.

Installer Solaar

Solaar est une application open-source qui se destine à remplacer les outils propriétaires Logitech. Il existe des packets solaar et solaar-gnome3 dans les dépôts Ubuntu récents, mais pas pour la dernière version au moment ou j'écris ces lignes. Nous allons donc l'installer à la main.

sudo aptitude install git python-pyudev
cd /tmp
git clone https://github.com/pwr/Solaar.git
cd Solaar
sudo ./setup.py install

Il faudra probablement débrancher et rebrancher le dongle pour que tout fonctionne correctement.

En lançant Solaar, vous obtiendrez la possibilité d'afficher l'état de la batterie dans la barre des tâches de gnome. Vous pourrez également régler la sensibilité de la souris (DPI) et la précision du débrayage automatique de la molette centrale.

Faire fonctionner les boutons latéraux

Pour rendre les boutons latéraux utilisables, nous utiliserons deux petits programmes : xbindkeys et xte. xbindkeys écoute les événements clavier et souris et leur associe le lancement de commandes shell. xte permet de simuler des entrées souris / clavier. En combinant les deux, il est possible de faire à peu près n'importe quoi (source).

sudo aptitude install xbindkeys xautomation

J'ai choisi d'utiliser ces contrôles pour gérer la musique. La molette contrôle le volume, tandis que les deux boutons permettent de passer à la piste suivante ou précédente. Pour ce faire, créer le fichier ~/.xbindkeysrc :

# thumb wheel up => increase volume
"xte 'key XF86AudioRaiseVolume'"
    b:6

# thumb wheel down => lower volume
"xte 'key XF86AudioLowerVolume'"
    b:7

# backward button => previous song
"xte 'key XF86AudioPrev'"
    b:8

# forward button => next song
"xte 'key XF86AudioNext'"
    b:9

(note : pour trouver les valeurs numériques associées aux différents boutons, vous pouvez utiliser la commande xev.)

Vous pouvez tester le fonctionnement correct de cette configuration en utilisant la commande xbindkeys -v. Une fois satisfait, vous pouvez lancer xbindkeys en arrière-plan. Normalement, xbindkeys devrait se lancer automatiquement au démarrage.

Le bouton du pouce

Sur la MX Master, le repose-pouce est en fait un bouton supplémentaire, assez dur par ailleurs (du moins sur mon modèle). Sous Windows et MacOS, Logitech offre des outils qui permettent de configurer des actions spécifiques sur les déplacements. Ex : bouton du pouce + déplacement sur la droite = lancer le navigateur.

Je n'ai malheureusement pas trouvé de solution pour reproduire ce fonctionnement sous linux. En revanche, il est possible de mapper le simple clic. Ce bouton émet en fait la combinaison de touches Alt gauche + Ctrl gauche + Tab. Il suffit donc de configurer ce raccourci et le tour est joué.

Dans .xbindkeysrc :

"sleep 0.1 && xte 'key XF86AudioPlay'"
   Control+Alt+Tab

Relancez xbindkeys :

pkill xbindkeys && xbindkeys

Petite précision : il existe un raccourci déjà défini dans Gnome qui perturbe le fonctionne de xbindkeys, il faut le changer. Allez dans Paramètres > Clavier, puis dans « Navigation » et modifiez le raccourci « Changez les contrôles système » pour mettre n'importe quoi d'autre, e.g Ctrl + Super + Tab.

Le scrolling avec Firefox

Je trouve que la molette principale de la souris manque un peu de peps. Heureusement, Firefox propose une option pour adapter la vitesse du scroll.

Dans about:config, passez l'option mousewheel.system_scroll_override_on_root_content.enabled à true, et adaptez l'option mousewheel.system_scroll_override_on_root_content.vertical.factor.

Conclusion

Linux conserve certes une part de marché dérisoire sur le marché desktop, mais il est toujours décevant que les fabricants ne prennent même pas la peine d'essayer de fournir des outils basiques pour leurs matériels. Si vous trouvez comment faire fonctionner les gestures, je suis preneur.