xf86-input-synaptics:master: 1 commit(s)

Peter Hutterer whot at kemper.freedesktop.org
Tue Sep 16 21:47:32 PDT 2014


Reporting from xf86-input-synaptics: xf86-input-synaptics driver

Please visit:
    http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics
Or get your own copy by using:
    git-clone git://anongit.freedesktop.org/xorg/driver/xf86-input-synaptics

Commit against master at 049611bd...:
commit 41b2312c006fca1f24e1a366174d3203a63fa04a
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Tue Sep 16 08:52:56 2014 +1000

    Limit the movement to 20 mm per event
    
    Touchpads are limited by a fixed sampling rate (usually 80Hz). Some finger
    changes may happen too fast for this sampling rate, resulting in two distinct
    event sequences:
    * finger 1 up and finger 2 down in the same EV_SYN frame. Synaptics sees one
      finger down before and after and the changed coordinates
    * finger 1 up and finger 2 down _between_ two EV_SYN frames. Synaptics sees one
      touchpoint move from f1 position to f2 position.
    
    That move causes a large cursor jump. The former could be solved (with
    difficulty) by adding fake EV_SYN handling after releasing touchpoints but
    that won't fix the latter case.
    
    So as a solution for now limit the finger movement to 20mm per event.
    Tests on a T440 and an x220 showed that this is just above what a reasonable
    finger movement would trigger. If a movement is greater than that limit, reset
    it to 0/0.
    
    On devices without resolution, use 0.25 of the touchpad's diagonal instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Hans de Goede <hdegoede at redhat.com>

diffstat:
    src/synaptics.c    |   33 +++++++++++++++++++++++++++++++++
    src/synapticsstr.h |    2 ++
    2 files changed, 35 insertions(+)

cgit url:
http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/commit/?id=41b2312c




More information about the xorg-commit mailing list