Bug 195625

Summary: Missing release event for Synaptics touchscreen
Product: Drivers Reporter: Arek Burdach (arek.burdach)
Component: Input DevicesAssignee: drivers_input-devices
Status: RESOLVED CODE_FIX    
Severity: normal CC: benjamin.tissoires, trygvis
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 4.11.0 Subsystem:
Regression: No Bisected commit-id:
Attachments: Hid recorder log
evemu-recorder log
dmesg
hidraw logs for quick clicking
evemu logs for quick clicking
hidraw logs for slow clicking
evemu logs for slow clicking
Benjamin's patch adding sticky fingers quirck

Description Arek Burdach 2017-05-01 10:53:45 UTC
Created attachment 256147 [details]
Hid recorder log

Hi. My configuration is: SYNA7813:00 06CB:1786 touchscreen included in Lenovo Yoga 910. While I am using touchscreen, kernel often recognize tapping as a dragging. I have investigated that for normal situation there is produced BTN_TOUCH (0) event just after the BTN_TOUCH (1) event. But quite often BTN_TOUCH (0) is not produced. Have You and idea how to fix this? I've attached invalid single tapping logs from hid-recorder and evemu-record for the same situation.
Comment 1 Arek Burdach 2017-05-01 10:54:36 UTC
Created attachment 256149 [details]
evemu-recorder log
Comment 2 Arek Burdach 2017-05-01 10:57:48 UTC
Created attachment 256151 [details]
dmesg
Comment 3 Arek Burdach 2017-05-04 11:34:37 UTC
One observation that I've made is that when I'm continuously tapping on the screen, BTN_TOUCH (1) / BTN_TOUCH (0) appears respectively, but if I do at least 2 seconds delay between taps, BTN_TOUCH (0) isn't produced until I do next sequence of taps with short delays between them.
Can I somehow help in reproducing the problem? Some additional logs will be helpful or should I attach a screencast? Or maybe can I test a behavior on some other compatible drivers?
Comment 4 Arek Burdach 2017-05-09 09:03:20 UTC
Created attachment 256307 [details]
hidraw logs for quick clicking
Comment 5 Arek Burdach 2017-05-09 09:03:49 UTC
Created attachment 256309 [details]
evemu logs for quick clicking
Comment 6 Arek Burdach 2017-05-09 09:04:14 UTC
Created attachment 256311 [details]
hidraw logs for slow clicking
Comment 7 Arek Burdach 2017-05-09 09:04:37 UTC
Created attachment 256313 [details]
evemu logs for slow clicking
Comment 8 Arek Burdach 2017-05-09 09:06:08 UTC
I've attached full logs for two situations: quick clicking with delay between clicks below 2 seconds and fast clicking with delay above it. In first situation release event is produced, for the second one - it isn't.
Comment 9 Benjamin Tissoires 2017-05-09 12:21:19 UTC
(In reply to Arek Burdach from comment #8)
> I've attached full logs for two situations: quick clicking with delay
> between clicks below 2 seconds and fast clicking with delay above it. In
> first situation release event is produced, for the second one - it isn't.

Looking at the HID output, there is no release in the second situation, so it seems to be a firmware issue. The device is win8 certified, so it's weird that it got certified with such a failure :/
Comment 10 Arek Burdach 2017-05-15 19:11:02 UTC
Created attachment 256539 [details]
Benjamin's patch adding sticky fingers quirck
Comment 11 Benjamin Tissoires 2017-06-22 13:32:29 UTC
FWIW, patches are on the list:
https://patchwork.kernel.org/patch/9788871/ (and the one before and the one after)
Comment 12 Arek Burdach 2017-06-22 16:24:10 UTC
Patch works. Thanks!
Comment 13 Arek Burdach 2017-07-16 05:50:07 UTC
Resolved in v4.13-rc1 kernel version