Défilement horizontal de la souris Logitech M325

Cette souris Logitech M325 fonctionne parfaitement avec un seul problème: elle ne peut pas utiliser la roulette de défilement pour le défilement horizontal. Il agit comme avant ou arrière dans les browsers ou ne fait rien dans les autres windows.

L'utilisation de xmodmap a entraîné des problèmes de défilement latéral en utilisant le pavé tactile sur mon ordinateur portable. J'ai eu la souris M325 comme prévu, mais le défilement latéral du pavé tactile a été changé en Back / Forward.

Pour remapper les buttons de la souris uniquement (en laissant le touchpad seul), j'ai utilisé les instructions de https://askubuntu.com/questions/492744/how-do-i-automatically-remap-buttons-on-my-mouse-at-startup

J'ai enregistré le script suivant sous la forme ~ / logitechM325

#!/bin/bash # Swap buttons 8 9 with buttons 6 7 -- Sideways scrolling with Logitech M325 logitech_mouse_id=$(xinput | grep "Logitech Unifying Device. Wireless PID:400a" | awk {'print substr($8,4,2)'}) echo $logitech_mouse_id > ~/temp/logitech_mouse_id echo $logitech_mouse_id xinput set-button-map $logitech_mouse_id 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 

Je me suis assuré que le script était exécutable:

 $ sudo chmod a+x ~/logitechM325 

et l'a ensuite ajouté à la list des applications de démarrage.

Désormais, le Logitech M325 et le pavé tactile fonctionnent tous les deux pour un défilement latéral.

Afin de faire le travail de défilement horizontal, j'ai dû remapper les buttons de la souris. Vérifiez la cartographie en utilisant xmodmap -pp :

 [sly@SlyLap ~]$ xmodmap -pp There are 24 pointer buttons defined. Physical Button Button Code 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 

Utilisez xev pour find les codes de buttons pour le défilement horizontal:

 [sly@SlyLap ~]$ xev ... ButtonPress event, serial 29, synthetic NO, window 0x5400001, root 0xad, subw 0x5400002, time 173143560, (21,37), root:(25,493), state 0x0, button 8, same_screen YES ... ButtonPress event, serial 29, synthetic NO, window 0x5400001, root 0xad, subw 0x5400002, time 173126732, (21,37), root:(25,493), state 0x0, button 9, same_screen YES 

De là, je peux voir les codes de button gauche / droite sont 8/9. Puisque le pilote synaptics utilise les buttons 6/7 pour le défilement gauche / droite, j'ai simplement besoin d'échanger l'ordre de la déclaration des buttons. Pour changer le mappage:

 xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24" 

Cela permutera 8/9 6/7 ce qui fera le travail de défilement horizontal.