Bug 101339

Summary: Taps often ignored
Product: Wayland Reporter: Paul Johnson <pauljohn>
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: medium CC: peter.hutterer
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: scroll.evemu
evemu missed taps
evemu missed taps try 2

Description Paul Johnson 2017-06-08 03:55:36 UTC
Created attachment 131789 [details]
scroll.evemu

I notice taps are often ignored.

In another thread (https://bugs.freedesktop.org/show_bug.cgi?id=99447), I described the problem. Peter Hutterer suggested might link to e80873ca6fad5aa and I could make a new report. Perhaps you can tell me what to do:)

If finger hits bottom-left touchpad click "button", it seems always to register.   Taps on other part of pad are not. I cannot say that the ignored clicks are firmer, faster, or different.  I am generally not conscious of how my hand moves while typing until a click is missed. 

I notice this since installing Ubuntu 17.04.  I did not notice problem before. 

libinput-1.6.3. 

Device: Dell Precision 5510.

Maybe libinput is not the problem.  This is a laptop with which I've had more-or-less continuous trouble with ports, video, and devices since I got it in June, 2016. In a previous bug report, Peter fixed problem but mentioned that he was surprised that a brand new laptop like this was (in 2016) had this particular (seemingly out-of-date) touchpad device.

Touchpad measurement: 10.5cm x 8cm

My kernel is off the standard:

$ uname -a
Linux delllap-16 4.10.0-20-generic #22+lp1674838v201705030839 SMP Wed May 3 13:41:02 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

This machine had the bug that would cause system freezes (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1674838). That is why I'm running this non-standard kernel. I think I noticed the touchpad problem before the kernel problem, but cannot say for sure.  This kernel does fix the system freeze problem, though, and that's a higher priority than missed clicks:)

Other info I think you want:

$ cat /sys/class/dmi/id/modalias
dmi:bvnDellInc.:bvr1.2.25:bd05/07/2017:svnDellInc.:pnPrecision5510:pvr:rvnDellInc.:rn0N8J4R:rvrA01:cvnDellInc.:ct9:cvr:

$ sudo udevadm info /sys/class/input/event7
P: /devices/platform/i8042/serio1/input/input6/event7
N: input/event7
E: DEVNAME=/dev/input/event7
E: DEVPATH=/devices/platform/i8042/serio1/input/input6/event7
E: EVDEV_ABS_00=::42
E: EVDEV_ABS_01=::43
E: EVDEV_ABS_35=::42
E: EVDEV_ABS_36=::43
E: ID_BUS=i8042
E: ID_INPUT=1
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_TOUCHPAD_INTEGRATION=internal
E: LIBINPUT_DEVICE_GROUP=11/2/7/1b1:isa0060/serio1
E: LIBINPUT_MODEL_SYNAPTICS_SERIAL_TOUCHPAD=1
E: LIBINPUT_MODEL_TOUCHPAD_VISIBLE_MARKER=1
E: MAJOR=13
E: MINOR=71
E: SUBSYSTEM=input
E: USEC_INITIALIZED=2544176

Will attach scroll.evemu. I think it is more difficult to produce this problem when I'm explicitly trying to produce it, but I did trigger a missed tap after a few tries.

Tell me what other information helps you.
Comment 1 Peter Hutterer 2017-06-15 07:39:42 UTC
Two things please: first, try libinput 1.7 or ideally git master so we don't try to debug something that may have been fixed since.

Second, run sudo evemu-record --autorestart=3 /dev/input/eventXX [somefile] and try to reproduce. This has the advantage that after 3s of inactivity on the touchpad, it'll start a new recording so we don't have to dig through hundreds of events to figure out what's going on. While it's running, try to reproduce it and whenever you fail to reproduce it, just wait 3 seconds and try again. Once it happens, you can stop and attach the last recording.
Comment 2 Peter Hutterer 2017-06-19 02:06:25 UTC
Possibly related to bug 101435 btw
Comment 3 Paul Johnson 2017-06-20 02:25:04 UTC
Greets.

I built libinput-1.7.2 because I could find Debian packaging code I could understand. Compiles fine, installs easy. 

I still have the "tap ignored" problem pretty often, it has the symptom like the old synclient in the old days, where there was a timeout on taps after moving the cursor. However, this timeout is not every single time.

I have run the event tracker you ask for and it generates lots of files. Neat!

But I'm not sure which ones to send you.  When the "tap missed" phenomenon happens, I go look in output directory and the last evemu file's name is constantly changing.  I send you the second to last one?

I'm attaching 2 files which I believe will show a one finger tap that is ignored.

Can you point me to instruction on how to read these, so I can see a missed tap for myself?
Comment 4 Paul Johnson 2017-06-20 02:26:06 UTC
Created attachment 132073 [details]
evemu missed taps

missed one finger tap
Comment 5 Paul Johnson 2017-06-20 02:31:00 UTC
Created attachment 132074 [details]
evemu missed taps try 2

Can you see missed tap in here?
Comment 6 Peter Hutterer 2017-06-22 05:26:21 UTC
Sorry, these files are still too messy, I really need a file with a single tap that's missed, or maybe two or three taps out of which one is missed. Otherwise it takes too long for me to identify even where the bug is.

The files are sorted by time, so once you reproduce it, wait a few sec to create  new file, then the second-to-last is the one with the data. Try it locally by running sudo evemu-play <file> and hit enter, it should replay the missed tap.
But for the files to be useful, you need to pause every two, three taps so that no file has more than 3 taps.

When you replay the file, leave libinput-debug-events --verbose --enable-tap running in another terminal, that will show you a button event when the tap was detected. You should be able to verify that the recording you have is the right one and the verbose state should also tell you where in the tap state it's going wrong.
Comment 7 Peter Hutterer 2017-09-06 23:40:13 UTC
closing after 2+ months in needinfo

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.