Émuler la roulette de la souris sous Ubuntu

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 commandexinput --list-props "PixArt USB Optical Mouse"  :

L’option pertinente estlibinput Scroll Method Enabled (356): 0, 0, 0  qui dit qu’aucune méthode n’est active. L’optionlibinput Scroll Methods Available (355): 0, 0, 1 renseigne sur les méthodes disponibles dans l’ordre :

  1. défilement à deux doigts = 0 : pas de défilement à 2 doigts
  2. défilement sur le bord = 0 : pas de défilement sur le bord disponible
  3. défilement par bouton =1 : défilement par bouton disponible.

La commandexinput --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’optionMatchProductest 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 commandelsusb  :

Ici, l’ID de la souris optique est 093a:2510. Il suffit alors d’éditer le fichier /etc/default/tlp  à la section USB autosuspend :

puis redémarrer l’ordinateur (ou TLP).

Sources :

  • https://wiki.archlinux.org/index.php/Logitech_Marble_Mouse
2018-05-25T23:33:50+00:0023 mai 2018|Catégories : GNU/Linux etc.|Commentaires fermés sur Émuler la roulette de la souris sous Ubuntu

À propos de l'auteur :

J'écris parce que ça m'aide à réfléchir. Je publie pour que ça serve. Spécialiste calcul et modélisation thermodynamique chez Cellier Domesticus. Photographe. Pianiste. Développeur spécialisé en Python pour le calcul et la modélisation. Auteur de bouquins et de blog sur les sciences et la technologie. Expériences précédentes dans la fonction publique territoriale, les moteurs électriques industriels, les voitures solaires en fibre de carbone et le non-sens académique (maths sup, DUT).
quis, ut felis consequat. ultricies ut amet, Sed Donec id, dolor. justo