Make EVDEV's EmulateWheel option work again
by Weapon S from LinuxQuestions.org on (#6QT25)
I dug up an old trackball, and an accompanying .conf-file. The old system was an old Debian, and I'm now on Devuan stable. Copying the .conf-file to the same location (/usr/share/X11/xorg.conf.d) didn't seem to work.
Code:Section "InputClass"
Identifier "Marble Mouse"
MatchProduct "Logitech USB Trackball"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
### ALSO TRIED THIS MatchDevicePath "/dev/input/*event"
Driver "evdev"
Option "ButtonMapping" "1 0 3 4 5 6 7 0 2"
Option "Emulate3Buttons" "off"
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "8"
#Specifies which buttons are mapped to motion in the Y direction in wheel emulation mode. Mapped to "Up Down". 4 is mouse wheel up. 5 is mouse wheel down.
Option "YAxisMapping" "4 5"
#Which buttons are mapped to motion in the X direction in wheel emulation mode. Mapped to "Left Right". 6 Is mouse wheel left and 7 is mouse wheel right.
Option "XAxisMapping" "6 7"
#Specifies how far (in pixels) the pointer must move to generate button press/release events in wheel emulation mode. Default: 10. Property: "Evdev Wheel Emulation Inertia".
Option "EmulateWheelInertia" "2"
#Specifies the time in milliseconds the EmulateWheelButton must be pressed before wheel emulation is started. If the EmulateWheelButton is released before this timeout, the original button press/release event is sent.
Option "EmulateWheelTimeout" "0"
EndSectionBecause there didn't seem to be a path corresponding to the MatchDevicePath's, I also wrote something else. (Commented out in the above.)
The gist is turning off button 8 and using it as an exclusive "scroll" button. Not sure why the conf seems to want to turn off button 2 too.
This is the entry in /proc/bus/input/devices:
Code:I: Bus=0003 Vendor=046d Product=c408 Version=0110
N: Name="Logitech USB Trackball"
P: Phys=usb-0000:00:1d.0-1.2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb3/3-1/3-1.2/3-1.2:1.0/0003:046D:C408.0003/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: PROP=0
B: EV=17
B: KEY=1f0000 0 0 0 0
B: REL=3
B: MSC=10Maybe it's using "mouse" driver now? Any advice welcome.
Code:Section "InputClass"
Identifier "Marble Mouse"
MatchProduct "Logitech USB Trackball"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
### ALSO TRIED THIS MatchDevicePath "/dev/input/*event"
Driver "evdev"
Option "ButtonMapping" "1 0 3 4 5 6 7 0 2"
Option "Emulate3Buttons" "off"
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "8"
#Specifies which buttons are mapped to motion in the Y direction in wheel emulation mode. Mapped to "Up Down". 4 is mouse wheel up. 5 is mouse wheel down.
Option "YAxisMapping" "4 5"
#Which buttons are mapped to motion in the X direction in wheel emulation mode. Mapped to "Left Right". 6 Is mouse wheel left and 7 is mouse wheel right.
Option "XAxisMapping" "6 7"
#Specifies how far (in pixels) the pointer must move to generate button press/release events in wheel emulation mode. Default: 10. Property: "Evdev Wheel Emulation Inertia".
Option "EmulateWheelInertia" "2"
#Specifies the time in milliseconds the EmulateWheelButton must be pressed before wheel emulation is started. If the EmulateWheelButton is released before this timeout, the original button press/release event is sent.
Option "EmulateWheelTimeout" "0"
EndSectionBecause there didn't seem to be a path corresponding to the MatchDevicePath's, I also wrote something else. (Commented out in the above.)
The gist is turning off button 8 and using it as an exclusive "scroll" button. Not sure why the conf seems to want to turn off button 2 too.
This is the entry in /proc/bus/input/devices:
Code:I: Bus=0003 Vendor=046d Product=c408 Version=0110
N: Name="Logitech USB Trackball"
P: Phys=usb-0000:00:1d.0-1.2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb3/3-1/3-1.2/3-1.2:1.0/0003:046D:C408.0003/input/input1
U: Uniq=
H: Handlers=mouse0 event1
B: PROP=0
B: EV=17
B: KEY=1f0000 0 0 0 0
B: REL=3
B: MSC=10Maybe it's using "mouse" driver now? Any advice welcome.