libinput event does not agree with xinput event
Summary
Steps to reproduce
-
Get a T440 running latest Manjaro
-
Run
xinput --set-prop 'Synaptics tm2964-001' "libinput Send Events Mode Enabled" 1 0
to disable touchpad except soft buttons -
browse random websites for indefinite amount of time
-
At some point, pressing the upper left corner of the touchpad no longer triggers left-click. It either triggers nothing at all or a middle-click, with which pushing the trackpoint triggers scrolling.
-
Run
xinput test-xi2
, press the top left corner, push the trackpoint. Scrolling is then triggered (motion with "validators: 3" means scrolling):EVENT type 17 (RawMotion) device: 2 (14) detail: 0 flags: valuators: 3: 1.00 (1.00)
-
Immediately afterwards, run
sudo libinput debug-gui
, press various points inside the top left corner, each time the indicator for left-click is unambiguously lightened, which indicates that libinput observers correct but different events from what the other applications does, including xinput, chrome, terminal, etc. -
Repeat 5-6 several times, nothing changes.
-
Run
sudo modprobe -r psmouse && sudo modprobe psmouse
to reset the mouse, then repeat step 2, then repeat the experiment of step 5. This time xinput reports the correct events as well:EVENT type 15 (RawButtonPress) device: 2 (14) detail: 1 flags: valuators: EVENT type 16 (RawButtonRelease) device: 2 (14) detail: 1 flags: valuators:
-
Repeat from step 3.
Required information
- libinput version: 1.16.4
- hardware information: Thinkpad T440
-
libinput record
output: do not paste, attach the file -
libinput debug-events --verbose
output: do not paste, attach the file
The bug appears irregularly yet frequently. I'll upload the required trace once the bug reappears, but I believe the bug should belong to a more abstract level than the detailed algorithm of dealing with events.