J’ai récemment changé de souris pour une souris ergonomique 3M (souris verticale). Celle-ci possède 3 boutons mais pas de roulette pour le défilement, ce qui est pénible mais pas une fatalité. Comme avec les souris trackball, il faut donc simuler la roulette en définissant un bouton qui, appuyé tout en bougeant la souris, va effectuer le défilement. Sous Gnome avec Ubuntu 18.04, il y a 3 manières de s’y prendre :
Facile mais limité
Avec Dconf, accéder à la clé org.gnome.desktop.peripherals.trackball.scroll-wheel-emulation-button et changer la valeur à 2. Ceci semble marcher pour les trackballs Logitech, mais pas avec ma souris. Ce réglage est chargé dans gsettings donc conservé entre deux redémarrage et personnalisable pour chaque utilisateur.
Temporaire
La commande xinput renvoie la liste des périphériques d’entrée disponibles, sous Wayland comme sous Xorg:
Il faut alors repérer dans cette liste la souris : PixArt USB Optical Mouse. Pour obtenir les options disponibles, on peut entrer la commande xinput --list-props "PixArt USB Optical Mouse" :
L’option pertinente est libinput Scroll Method Enabled (356): 0, 0, 0 qui dit qu’aucune méthode n’est active. L’option libinput Scroll Methods Available (355): 0, 0, 1 renseigne sur les méthodes disponibles dans l’ordre :
défilement à deux doigts = 0 : pas de défilement à 2 doigts
défilement sur le bord = 0 : pas de défilement sur le bord disponible
défilement par bouton = 1 : défilement par bouton disponible.
La commande xinput --set-prop "PixArt USB Optical Mouse" "libinput Scroll Method Enabled" 0, 0, 1 va donc activer le défilement jusqu’au prochain démarrage.
Définitif
On veut donc entrer ce réglage dans le marbre pour le garder entre deux démarrages. Il faut créer le répertoire /etc/X11/xorg.conf.d/ (absent par défaut sous les nouvelles versions d’Ubuntu) puis y créer un fichier 40-libinput.conf contenant :
Après redémarrage, la configuration est prise en compte et sera la même pour tous les utilisateurs du système. Le nom à indiquer dans l’option MatchProduct est le même que celui retourné par xinput. Ici on n’a pas besoin de définir quel bouton est utilisé pour le défilement puisque xinput montre que c’est déjà le bon bouton (2) qui est utilisé par défaut. Si ce n’était pas le cas, on pourrait ajouter l’option :
Additionnel
Si, comme moi, vous avez un souci avec la mise en veille automatique de la souris (sur ordinateur portable, les périphériques sont mis en veille automatiquement après 2-3 s d’inactivité), vous devez blacklister le périphérique USB par son identifiant pour l’exclure de la mise en veille. Si vous utilisez TLP, il faut d’abord relever l’identifiant du périphérique avec la commande lsusb :
Ici, l’ID de la souris optique est 093a:2510. Il suffit alors d’éditer le fichier /etc/default/tlp à la section USB autosuspend :
Utilisateur de Linux à cause de Windows Vista (2008) et développeur de scripts, plugins et logiciels libres dans 15 langages de programmation depuis 2012. J'ai mis le nez dans les ordinateurs parce qu'ils sont devenus incontournables partout et que je refuse de les subir. Initialement spécialisé en programmation pour le calcul scientifique en génie mécanique, il a fallu que je développe aussi pour le web et la bureautique, afin de résoudre des problèmes créés par des informaticiens.