Bug 94601 - unexpected scroll event 0 in area state
Summary: unexpected scroll event 0 in area state
Alias: None
Product: Wayland
Classification: Unclassified
Component: libinput (show other bugs)
Version: 1.2.x
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Wayland bug list
QA Contact:
Depends on:
Blocks: 94379
  Show dependency treegraph
Reported: 2016-03-17 19:29 UTC by Marco Neumann
Modified: 2016-04-04 04:00 UTC (History)
5 users (show)

See Also:
i915 platform:
i915 features:

evemu record (1.49 MB, text/plain)
2016-03-17 19:29 UTC, Marco Neumann
Shorter dump (277.94 KB, text/plain)
2016-03-20 11:57 UTC, Marco Neumann

Description Marco Neumann 2016-03-17 19:29:31 UTC
Created attachment 122389 [details]
evemu record

Sometimes the touch pad "tab" function stops working. See "steps to reproduce" for more details. The problem was introduced recently (before the system worked totally fine for over 6 months)

Additional info:
* libinput 1.2.2
* xf86-input-libinput 0.17.0
* system is a Lenovo Carbon X1, 2015 edition (3rd gen)
* touchpad dimensions: 100mm w X 55mm h
* kernel is (Arch Linux)

evemu recording:
see attachement, the bug happens somewhere at the end, than I used the "scroll-around" work-around and got a tab-driven click working (see "Steps to reproduce" section)


xinput list-props:
Device 'SynPS/2 Synaptics TouchPad':
        Device Enabled (138):   1
        Coordinate Transformation Matrix (140): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Tapping Enabled (277): 1
        libinput Tapping Enabled Default (278): 0
        libinput Tapping Drag Enabled (279):    1
        libinput Tapping Drag Enabled Default (280):    1
        libinput Tapping Drag Lock Enabled (281):       0
        libinput Tapping Drag Lock Enabled Default (282):       0
        libinput Accel Speed (283):     0.488789
        libinput Accel Speed Default (284):     0.000000
        libinput Natural Scrolling Enabled (285):       1
        libinput Natural Scrolling Enabled Default (286):       0
        libinput Send Events Modes Available (261):     1, 1
        libinput Send Events Mode Enabled (262):        0, 0
        libinput Send Events Mode Enabled Default (263):        0, 0
        libinput Left Handed Enabled (287):     0
        libinput Left Handed Enabled Default (288):     0
        libinput Scroll Methods Available (289):        1, 1, 0
        libinput Scroll Method Enabled (290):   1, 0, 0
        libinput Scroll Method Enabled Default (291):   1, 0, 0
        libinput Click Methods Available (292): 1, 1
        libinput Click Method Enabled (293):    1, 0
        libinput Click Method Enabled Default (294):    1, 0
        libinput Disable While Typing Enabled (295):    1
        libinput Disable While Typing Enabled Default (296):    1
        Device Node (264):      "/dev/input/event10"
        Device Product ID (265):        2, 7
        libinput Drag Lock Buttons (297):       <no items>
        libinput Horizonal Scroll Enabled (266):        1

Kernel synaptics boot log:
psmouse serio1: synaptics: queried max coordinates: x [..5676], y [..4758]
psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1096..]
psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xf003a3/0x943300/0x12e800/0x10000, board id: 3072, fw id: 1795685
psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0

Steps to reproduce:
Work with the touchpad (tab and scroll around), after a while, the tab feature isn't working anymore, but scrolling and mouse movement seems to behave as expected. The logs show the following information
/usr/lib/gdm/gdm-x-session[XXXX]: (EE) libinput bug: unexpected scroll event 0 in area state

The tab feature can be restored using one of the following work-arounds:
* go to the GNOME system settings and disable and re-enable the tab settings
* try to "scroll" using 3 fingers, after some tries the libinput seems to behave normally again
Comment 1 Marco Neumann 2016-03-18 13:23:05 UTC
Maybe related: sometimes 1-finger tabs (= "left mouse button click") are interpreted as 3-finger tabs (= "middle mouse button click"); yes, that's an "error" of 2 additional fingers. In this case the "do a 3 finger tab / scroll"-workaround also works.

For both issues, I'm currently unable to eliminate that this is a hardware bug / defect.
Comment 2 Marco Neumann 2016-03-20 11:57:36 UTC
Created attachment 122439 [details]
Shorter dump

Here is a shorter evemu "log" (only 18secs) which also produces the described bug.
Comment 3 Peter Hutterer 2016-03-29 04:01:00 UTC
looks like this is caused by the touch ending immediately after the series of pressure-only updates. the trick we do with t->dirty = false in a608d9dc2 would cause this event to be swallowed and that causes the issues. I'll look into a better fix for this.
Comment 4 Peter Hutterer 2016-03-29 06:00:04 UTC
Can you check if attachment 122601 [details] [review] from bug 94379 fixes this issue? Not 100% yet myself (I ran out of time for today)
Comment 5 Peter Hutterer 2016-04-04 04:00:54 UTC
commit bc17185f426dae7a1ea4df6ba3459083c2d51f9b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 29 13:34:00 2016 +1000

    touchpad: only post motion events if we have motion

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.