Bug 106624

Summary: click-drag and 2 finger scroll does not work on Thinkpad T440
Product: Wayland Reporter: Tomasz Torcz <zdzichu>
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED NOTOURBUG QA Contact:
Severity: normal    
Priority: medium CC: peter.hutterer, zdzichu
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: recording when clicking+dragging
recording while two-finger scrolling

Description Tomasz Torcz 2018-05-23 07:51:07 UTC
Created attachment 139689 [details]
recording when clicking+dragging

libinput-1.10.7-1.fc28.x86_64; it's Fedora 28

I'm using Gnome with following settings:
- touchpad ON
- natural scrolling ON
- tap to click ON
- two finger scroll ON
- edge scroll ON

The hardware is Lenovo Thinkpad T440 with button-less touchpad (this was the one year Lenovo fscked up and virtualized trackpoint buttons; they reverted this change next year). The touchpad has markings for three virtual buttons at the top. The touchpad moves down (towards inside of the computer; don't know how to describe it precisely) during clicking.

THE PROBLEM:
1) click-and-drag doesn't work. When I push down, the click is registered. But when I keep the finger down and start moving the finger over touchpad, the mouse cursor doesn't move.
2) Two finger scrolling doesn't work at all.

Hopefully there's a trackpoint, so I can work around the problem using trackpoint + virtual left button and trackpoint + virtual middle button (for scrolling)




P: /devices/platform/i8042/serio1/input/input10/event16
N: input/event16
S: input/by-path/platform-i8042-serio-1-event-mouse
E: DEVLINKS=/dev/input/by-path/platform-i8042-serio-1-event-mouse
E: DEVNAME=/dev/input/event16
E: DEVPATH=/devices/platform/i8042/serio1/input/input10/event16
E: EVDEV_ABS_00=::41
E: EVDEV_ABS_01=::37
E: EVDEV_ABS_35=::41
E: EVDEV_ABS_36=::37
E: ID_BUS=i8042
E: ID_INPUT=1
E: ID_INPUT_HEIGHT_MM=66
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_TOUCHPAD_INTEGRATION=internal
E: ID_INPUT_WIDTH_MM=97
E: ID_PATH=platform-i8042-serio-1
E: ID_PATH_TAG=platform-i8042-serio-1
E: ID_SERIAL=noserial
E: LIBINPUT_DEVICE_GROUP=11/2/7:isa0060/serio1
E: LIBINPUT_MODEL_SYNAPTICS_SERIAL_TOUCHPAD=1
E: MAJOR=13
E: MINOR=80
E: SUBSYSTEM=input
E: USEC_INITIALIZED=23392770


libinput measure trackpoint-range produces no output (apart from initial banner)

There's no 'sensitivity' file anywhere in /sys/class/input
Comment 1 Tomasz Torcz 2018-05-23 07:51:36 UTC
Created attachment 139690 [details]
recording while two-finger scrolling
Comment 2 Peter Hutterer 2018-05-25 05:11:54 UTC
fwiw, I have a t440s so I know the touchpad, should be the exact same hardware too.

- two finger scroll ON
- edge scroll ON

These two are mutually exclusive, libinput will enable either but not both. Which one are you setting last?

trackpoints != touchpads, are you trying to measure the wrong device?

The two-finger scroll attachment 139690 [details] has two fingers down but one finger isn't moving at all. And by that I don't just mean it's not moving much, it literally isn't sending any events. That's unusual and points at a kernel/firmware issue.

For attachment 139689 [details], libinput debug-events --verbose says:

 event20  POINTER_BUTTON   +35.32s	BTN_LEFT (272) pressed, seat count: 1
event20 - palm: touch 0, palm detected (pressure)
 event20  POINTER_BUTTON   +38.74s	BTN_LEFT (272) released, seat count: 0
event20 - button state: touch 0 from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE

i.e. as you press down your finger exceeds the pressure threshold and is now interpreted as palm, hence it stops moving. I guess what we need here is a extra toggle that labels the clicking finger as not eligible for palm detection.

I'd appreciate any help with that, I'm a bit short on time atm.
Comment 3 Tomasz Torcz 2018-05-29 08:55:52 UTC
FTR, I've upgraded firmware of this laptop to Version: GJET98WW (2.48).
Now two-finger scrolling works. So this was indeed hardware issue.
Comment 4 Peter Hutterer 2018-05-29 22:57:22 UTC
thanks! do you know what version you had before? So I can add this to my records in case this pops up again

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.