Tôi nghĩ rằng tùy chọn bạn đang tìm kiếm là ButtonMapping. Tôi đã có một tính năng gây phiền nhiễu tương tự với con chuột của mình ( https://www.kensington.com/en/no/4493/k72327eu/slimblade-trackball ), vì vậy đã tìm ra điều này cách đây một thời gian.
Tùy chọn "EmulationWheelButton" vẫn hoạt động ngay cả khi bạn tắt nút hoặc gán lại ánh xạ ...
Bây giờ, tôi chỉ thử nghiệm điều này với xinput trên evdev. Sẽ nhanh hơn rất nhiều khi thử mọi thứ với xinput và sau đó bạn chỉ cần thêm tập lệnh vào "Ứng dụng khởi động" thay vì phải sửa đổi / etc / X11 / và khởi động lại X nhiều lần.
Vì vậy, đây phải là tất cả những gì bạn cần trong xorg.d / mouse.conf (các dòng nhận xét là những gì cần thiết nếu bạn không muốn sử dụng tập lệnh đăng nhập để thực hiện điều này cho mỗi người dùng), mặc dù bạn có thể không cần điều này tại tất cả nếu bạn sử dụng 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
Đây là những gì tôi đã làm để tìm ra giải pháp của mình (thay thế thiết bị của tôi bằng thiết bị của bạn theo các lệnh sau rõ ràng):
Hiển thị thiết bị:
$ 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)]
Xem những thuộc tính nào được hỗ trợ cho thiết bị đó:
$ 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
Bây giờ hãy cho nó một shot:
$ 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
Bây giờ nút trên cùng bên phải của tôi chỉ hoạt động như tự động cuộn thay vì hành vi quay lại gây phẫn nộ!