• Peter Hutterer's avatar
    touchpad: handle a touch ending and restarting in the same frame · 12dc64af
    Peter Hutterer authored
    If a touch ends and starts again in the same frame, our touch count gets out
    of whack. This later triggers an assertion when the tap touch count mismatches
    the real tap count.
    
    E: 0.105005 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1
    E: 0.105005 0003 0035 8447      # EV_ABS / ABS_MT_POSITION_X    8447
    E: 0.105005 0003 0036 4479      # EV_ABS / ABS_MT_POSITION_Y    4479
    E: 0.105005 0001 014a 0000      # EV_KEY / BTN_TOUCH            0
    E: 0.105005 0001 0145 0000      # EV_KEY / BTN_TOOL_FINGER      0
    E: 0.105005 0003 0039 0074      # EV_ABS / ABS_MT_TRACKING_ID   74
    E: 0.105005 0003 0035 8388      # EV_ABS / ABS_MT_POSITION_X    8388
    E: 0.105005 0003 0036 4480      # EV_ABS / ABS_MT_POSITION_Y    4480
    E: 0.105005 0001 014a 0001      # EV_KEY / BTN_TOUCH            1
    E: 0.105005 0001 0145 0001      # EV_KEY / BTN_TOOL_FINGER      1
    E: 0.105005 0003 0000 8388      # EV_ABS / ABS_X                8388
    E: 0.105005 0003 0001 4480      # EV_ABS / ABS_Y                4480
    E: 0.105005 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +19ms
    
    This is a kernel bug but let's paper over here because otherwise we crash and
    that's considered impolite.
    
    Fixes #161
    Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
    12dc64af
test-touchpad.c 197 KB