libinput 1.8.0 The Acer Travelmate 6410 has a 4-way button pad under the Synaptics touchpad. The button pad is intended to be used like a mouse scroll wheel. The button pad is completely inoperative under libinput + Wayland (it used to work fine with the Synaptics driver + Xorg). evtest shows /dev/input/event5 generating BTN_0, BTN_1, BTN_2 and BTN_3 events for each of the directions. However, "libinput debug-events" does not report these events, although it does correctly report BTN_LEFT and BTN_RIGHT for the two mouse buttons. stracing libinput shows that it is reading the events from /dev/input/event5 but then discarding them.
Attach an evemu-describe for this device please, thanks.
[root@atlantis ~]# evemu-describe /dev/input/event5 # EVEMU 1.3 # Kernel: 4.12.5-300.fc26.x86_64 # DMI: dmi:bvnAcer:bvr3.04:bd06/26/07:svnAcer:pnTravelMate6410:pvrCSR-000F:rvnAcer:rnConiston:rvrNotApplicable:cvnAcer:ct1:cvrN/A: # Input device name: "SynPS/2 Synaptics TouchPad" # Input device ID: bus 0x11 vendor 0x02 product 0x07 version 0x92b1 # Size in mm: 70x33 # Supported events: # Event type 0 (EV_SYN) # Event code 0 (SYN_REPORT) # Event code 1 (SYN_CONFIG) # Event code 2 (SYN_MT_REPORT) # Event code 3 (SYN_DROPPED) # Event code 4 ((null)) # Event code 5 ((null)) # Event code 6 ((null)) # Event code 7 ((null)) # Event code 8 ((null)) # Event code 9 ((null)) # Event code 10 ((null)) # Event code 11 ((null)) # Event code 12 ((null)) # Event code 13 ((null)) # Event code 14 ((null)) # Event code 15 (SYN_MAX) # Event type 1 (EV_KEY) # Event code 256 (BTN_0) # Event code 257 (BTN_1) # Event code 258 (BTN_2) # Event code 259 (BTN_3) # Event code 272 (BTN_LEFT) # Event code 273 (BTN_RIGHT) # Event code 325 (BTN_TOOL_FINGER) # Event code 330 (BTN_TOUCH) # Event code 333 (BTN_TOOL_DOUBLETAP) # Event code 334 (BTN_TOOL_TRIPLETAP) # Event type 3 (EV_ABS) # Event code 0 (ABS_X) # Value 3741 # Min 1472 # Max 5472 # Fuzz 0 # Flat 0 # Resolution 57 # Event code 1 (ABS_Y) # Value 3131 # Min 1408 # Max 4448 # Fuzz 0 # Flat 0 # Resolution 91 # Event code 24 (ABS_PRESSURE) # Value 0 # Min 0 # Max 255 # Fuzz 0 # Flat 0 # Resolution 0 # Event code 28 (ABS_TOOL_WIDTH) # Value 0 # Min 0 # Max 15 # Fuzz 0 # Flat 0 # Resolution 0 # Properties: # Property type 0 (INPUT_PROP_POINTER) N: SynPS/2 Synaptics TouchPad I: 0011 0002 0007 92b1 P: 01 00 00 00 00 00 00 00 B: 00 0b 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 0f 00 03 00 00 00 00 00 B: 01 20 64 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 02 00 00 00 00 00 00 00 00 B: 03 03 00 00 11 00 00 00 00 B: 04 00 00 00 00 00 00 00 00 B: 05 00 00 00 00 00 00 00 00 B: 11 00 00 00 00 00 00 00 00 B: 12 00 00 00 00 00 00 00 00 B: 14 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00 A: 00 1472 5472 0 0 57 A: 01 1408 4448 0 0 91 A: 18 0 255 0 0 0 A: 1c 0 15 0 0 0
Just a heads-up: I'm not sure if/when I'll add support to this to libinput. It's a fairly unique feature on these devices but (afaict) they are all at least 10 years old. I expect very few of these to still be alive and adding support for the buttons - while easy for libinput itself - will have a trail of changes that then goes into the xf86-input-libinput driver, the compositors and possibly the toolkits. So a lot of work for some very few devices. I think it's better to stick with xf86-input-synaptics for this device, sorry.
Thanks for the reply. Am I right in thinking that xf86-input-libinput can't be used with Wayland?
more the other way round, libinput is used by the wayland compositors, xf86-input-synaptics is a driver only used by xorg.
Basic outline of what's needed here: 1) libinput needs to add a scroll source 'button' 2) libinput needs to hook into the button events to send scroll events for those buttons 3) the xf86-input-libinput driver needs to redirect the scroll button events into the right axis (or create a new one here, not 100% sure how to best handle this without more research) 4) the wayland protocol needs to add a new scroll source 5) all compositors need to be updated to add the new scroll source As said above, the libinput bits 1 and 2 are the easiest. 3 needs more research. 4 and 5 is mostly just code churn and inertia because we need to release libinput, then wayland with the new changes. I'm not aware of any common modern devices that use dedicated buttons to scroll, otherwise this churn would be worth it. As it is, it'll likely take a year or so to get this into the mainstream distributions and I'm not sure your laptop has that much life left :) So I'm sorry again, but I'll be marking this as WONTFIX. Keeping it open when it's unlikely to ever be fixed doesn't help anywone either.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.