Je pense que l'option que vous recherchez est ButtonMapping. J'avais une fonctionnalité ennuyeuse similaire avec ma souris ( https://www.kensington.com/en/no/4493/k72327eu/slimblade-trackball ), alors j'ai compris cela il y a quelque temps.
L'option "EmulateWheelButton" devrait toujours fonctionner même si vous désactivez le bouton ou réaffectez le mappage ...
Maintenant, je n'ai testé cela qu'avec xinput sur evdev. Il est beaucoup plus rapide d'essayer les choses avec xinput, puis vous pouvez simplement ajouter un script à vos "applications de démarrage" au lieu de devoir modifier / etc / X11 / et redémarrer X encore et encore.
Donc, cela devrait être tout ce dont vous avez besoin dans xorg.d / mouse.conf (les lignes commentées sont celles qui devraient être nécessaires si vous ne voulez pas utiliser un script de connexion pour le faire par utilisateur), bien que vous n'en ayez peut-être pas besoin à tout si vous utilisez xinput:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "evdev"
Option "Device" "/dev/input/mice"
Option "Protocol" "auto"
#Option "EmulateWheel" "1"
#Option "EmulateWheelButton" "8"
#Option "ButtonMapping" "1 2 3 4 5 6 7 0 9 10 11 12"
EndSection
Voici ce que j'ai fait pour comprendre ma solution (remplacez mon appareil par votre appareil dans les commandes suivantes évidemment):
Afficher les appareils:
$ xinput list
Virtual core pointer id=2 [master pointer (3)]
↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
↳ ELAN Touchscreen id=11 [slave pointer (2)]
↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
↳ Kensington Kensington Slimblade Trackball id=18 [slave pointer (2)]
Découvrez les propriétés prises en charge pour cet appareil:
$ xinput list-props "Kensington Kensington Slimblade Trackball"
Device 'Kensington Kensington Slimblade Trackball':
Device Enabled (142): 1
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (273): 0
Device Accel Constant Deceleration (274): 1.000000
Device Accel Adaptive Deceleration (275): 1.000000
Device Accel Velocity Scaling (276): 10.000000
Device Product ID (260): 1149, 8257
Device Node (261): "/dev/input/event17"
Evdev Axis Inversion (277): 0, 0
Evdev Axes Swap (279): 0
Axis Labels (280): "Rel X" (152), "Rel Y" (153), "Rel Vert Wheel" (573)
Button Labels (281): "Button Left" (145), "Button Middle" (146), "Button Right" (147), "Button Wheel Up" (148), "Button Wheel Down" (149), "Button Horiz Wheel Left" (150), "Button Horiz Wheel Right" (151), "Button Side" (679), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263)
Evdev Scrolling Distance (282): 1, 1, 1
Evdev Middle Button Emulation (283): 0
Evdev Middle Button Timeout (284): 50
Evdev Third Button Emulation (285): 0
Evdev Third Button Emulation Timeout (286): 1000
Evdev Third Button Emulation Button (287): 3
Evdev Third Button Emulation Threshold (288): 20
Evdev Wheel Emulation (289): 1
Evdev Wheel Emulation Axes (290): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (291): 10
Evdev Wheel Emulation Timeout (292): 200
Evdev Wheel Emulation Button (293): 8
Evdev Drag Lock Buttons (294): 0
Essayons maintenant:
$ xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 2 3 4 5 6 7 0 9 10 11 12
$ xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 1
$ xinput set-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8
Maintenant, mon bouton en haut à droite ne fonctionne que comme défilement automatique au lieu du comportement exaspérant du dos!