Bence aradığınız seçenek ButtonMapping. Faremle benzer bir can sıkıcı özelliğim vardı ( https://www.kensington.com/en/no/4493/k72327eu/slimblade-trackball ), bu yüzden bir süre önce anladım.
Düğmeyi devre dışı bıraksanız veya eşlemeyi yeniden atasanız bile "EmulateWheelButton" seçeneği hala çalışmalıdır ...
Şimdi bunu sadece evdev'de xinput ile test ettim. Xinput ile bir şeyler denemek çok daha hızlıdır ve daha sonra / etc / X11 / komutunu değiştirmek ve X'i defalarca yeniden başlatmak yerine "Başlangıç Uygulamalarınıza" bir komut dosyası ekleyebilirsiniz.
Bu yüzden xorg.d / mouse.conf'da ihtiyacınız olan her şey bu olmalıdır (yorum satırları, kullanıcı başına bunu yapmak için bir oturum açma komut dosyası kullanmak istemiyorsanız gereken şeydir), ancak buna ihtiyacınız olmayabilir. xinput kullanıyorsanız:
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
Çözümümü bulmak için yaptığım şey (cihazımı aşağıdaki komutlarda açıkça cihazınızla değiştirin):
Cihazları göster:
$ 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)]
Bu cihaz için hangi özelliklerin desteklendiğini görün:
$ 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
Şimdi bir şans verelim:
$ 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
Şimdi sağ üst düğmem sinir bozucu geri davranış yerine otomatik kaydırma olarak çalışıyor!