[xf86-input-libinput] evdev like EmulateWheel?
Alon Bar-Lev
alon.barlev at gmail.com
Fri May 25 09:15:00 UTC 2018
Hello,
I am trying to migrate from evdev configuration which works fine recent
years to libinput configuration.
Functionality: When middle bottom is pressed and primary pointer is moved
up/down a scroll events are sent, while if bottom is pressed shortly it
acts as middle button (paste).
Use cases:
1. Track point support: middle button + movement in trackpoint = scroll
2. Any mouse configuration, in this case the track point is exposed to the
Linux as USB tablet mouse, however, functionality should remain.
The current evdev configuration which is working fine:
---
Section "InputClass"
Identifier "MyMouse"
MatchProduct "VirtualBox USB Tablet"
MatchIsPointer "on"
Option "EmulateWheel"
Option "EmulateWheelButton" "2"
Option "EmulateWheelInertia" "500"
EndSection
---
I tried the following configuration, with and without the ScrollMethod
properties:
---
Section "InputClass"
Identifier "MyMouse"
MatchProduct "VirtualBox USB Tablet"
MatchIsPointer "on"
Option "NaturalScrolling" "true"
Option "ScrollMethod" "button"
Option "ScrollButton" "2"
EndSection
---
However, I get no affect in xinput, nor do I see difference if I manually
set "libinput Natural Scrolling Enabled" property.
---
localhost ~ # xinput
⎡ Virtual core pointer id=2 [master pointer
(3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer
(2)]
⎜ ↳ VirtualBox mouse integration id=8 [slave pointer
(2)]
⎜ ↳ VirtualBox USB Tablet id=9 [slave pointer
(2)]
⎣ Virtual core keyboard id=3 [master keyboard
(2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard
(3)]
↳ Power Button id=6 [slave keyboard
(3)]
↳ Sleep Button id=7 [slave keyboard
(3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard
(3)]
localhost ~ # xinput --list-props "VirtualBox USB Tablet"
Device 'VirtualBox USB Tablet':
Device Enabled (116): 1
Coordinate Transformation Matrix (118): 1.000000, 0.000000,
0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Natural Scrolling Enabled (253): 0
libinput Natural Scrolling Enabled Default (254): 0
libinput Middle Emulation Enabled (261): 0
libinput Middle Emulation Enabled Default (262): 0
libinput Calibration Matrix (255): 1.000000, 0.000000,
0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Calibration Matrix Default (256): 1.000000, 0.000000,
0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Left Handed Enabled (257): 0
libinput Left Handed Enabled Default (258): 0
libinput Send Events Modes Available (236): 1, 0
libinput Send Events Mode Enabled (237): 0, 0
libinput Send Events Mode Enabled Default (238): 0, 0
Device Node (239): "/dev/input/event3"
Device Product ID (240): 33006, 33
libinput Drag Lock Buttons (259): <no items>
libinput Horizontal Scroll Enabled (260): 1
---
Any suggestion?
For now I revert to the old eudev driver.
Thanks!
Alon
Relevant Xorg log:
---
[ 6569.289] (II) LoadModule: "libinput"
[ 6569.289] (II) Loading /usr/lib64/xorg/modules/input/libinput_drv.so
[ 6569.289] (II) Module libinput: vendor="X.Org Foundation"
[ 6569.289] compiled for 1.19.5, module version = 0.27.1
[ 6569.289] Module class: X.Org XInput Driver
[ 6569.289] ABI class: X.Org XInput driver, version 24.1
[ 6569.322] (II) config/udev: getting attribute name on (null) returned
"VirtualBox USB Tablet"
[ 6569.322] (II) config/udev: getting property PRODUCT on (null) returned
"3/80ee/21/110"
[ 6569.322] (II) config/udev: getting property ID_INPUT.tags on
/dev/input/event3 returned "(null)"
[ 6569.322] (II) config/udev: getting property ID_INPUT_MOUSE on
/dev/input/event3 returned "1"
[ 6569.322] (II) config/udev: getting property ID_VENDOR on
/dev/input/event3 returned "VirtualBox"
[ 6569.322] (II) config/udev: Adding input device VirtualBox USB Tablet
(/dev/input/event3)
[ 6569.322] (**) VirtualBox USB Tablet: Applying InputClass "evdev pointer
catchall"
[ 6569.324] (**) VirtualBox USB Tablet: Applying InputClass "libinput
pointer catchall"
[ 6569.324] (**) VirtualBox USB Tablet: Applying InputClass "MyMouse"
[ 6569.324] (II) Using input driver 'libinput' for 'VirtualBox USB Tablet'
[ 6569.324] Option "_source" "server/udev"
[ 6569.324] Option "name" "VirtualBox USB Tablet"
[ 6569.324] Option "path" "/dev/input/event3"
[ 6569.324] Option "device" "/dev/input/event3"
[ 6569.324] Option "major" "13"
[ 6569.324] Option "minor" "67"
[ 6569.324] Option "config_info"
"udev:/sys/devices/pci0000:00/0000:00:0c.0/usb1/1-1/1-1:1.0/0003:80EE:0021.0001/input/input4/event3"
[ 6569.324] Option "driver" "libinput"
[ 6569.324] Option "NaturalScrolling" "true"
[ 6569.324] Option "ScrollMethod" "button"
[ 6569.324] Option "ScrollButton" "2"
[ 6569.324] (**) VirtualBox USB Tablet: always reports core events
[ 6569.324] (**) Option "Device" "/dev/input/event3"
[ 6569.324] (**) Option "_source" "server/udev"
[ 6569.324] (**) Option "Device" "/dev/input/event3"
[ 6569.378] (II) event3 - VirtualBox USB Tablet: is tagged by udev as:
Mouse
[ 6569.378] (II) event3 - VirtualBox USB Tablet: device is a pointer
[ 6569.378] (II) event3 - VirtualBox USB Tablet: device removed
[ 6569.392] (**) Option "NaturalScrolling" "true"
[ 6569.392] (**) Option "config_info"
"udev:/sys/devices/pci0000:00/0000:00:0c.0/usb1/1-1/1-1:1.0/0003:80EE:0021.0001/input/input4/event3"
[ 6569.392] (II) XINPUT: Adding extended input device "VirtualBox USB
Tablet" (type: MOUSE, id 9)
[ 6569.393] (**) Option "AccelerationScheme" "none"
[ 6569.393] (**) VirtualBox USB Tablet: (accel) selected scheme none/0
[ 6569.393] (**) VirtualBox USB Tablet: (accel) acceleration factor: 2.000
[ 6569.393] (**) VirtualBox USB Tablet: (accel) acceleration threshold: 4
[ 6569.393] (**) Option "Device" "/dev/input/event3"
[ 6569.446] (II) event3 - VirtualBox USB Tablet: is tagged by udev as:
Mouse
[ 6569.446] (II) event3 - VirtualBox USB Tablet: device is a pointer
[ 6569.446] (II) config/udev: getting attribute name on (null) returned
"VirtualBox USB Tablet"
[ 6569.446] (II) config/udev: getting property PRODUCT on (null) returned
"3/80ee/21/110"
[ 6569.447] (II) config/udev: getting property ID_INPUT.tags on
/dev/input/js0 returned "(null)"
[ 6569.447] (II) config/udev: getting property ID_INPUT_MOUSE on
/dev/input/js0 returned "1"
[ 6569.447] (II) config/udev: getting property ID_VENDOR on /dev/input/js0
returned "VirtualBox"
[ 6569.447] (II) config/udev: Adding input device VirtualBox USB Tablet
(/dev/input/js0)
[ 6569.447] (**) VirtualBox USB Tablet: Applying InputClass "MyMouse"
[ 6569.447] (II) No input driver specified, ignoring this device.
[ 6569.447] (II) This device may have been added with another device file.
[ 6569.447] (II) config/udev: getting attribute name on (null) returned
"VirtualBox USB Tablet"
---
More information about the xorg
mailing list