On Mon, Dec 12, 2016 at 03:53:02PM +1000, Peter Hutterer wrote: > This is the timeout before we decide "this is just a finger down, not a tap". > Until this timeout is hit a finger's movement is filtered. To allow for a more > responsive touchpad, we want that timeout as short as possible. > > Event analysis from several users showed that 95% of the touches are less than > 100ms long. Reducing the threshold should have almost no impact on most > tapping users but improves the reaction time of the pointer for normal > movements. > > For a more details see: > http://who-t.blogspot.com/2016/12/libinput-touchpad-tap-analysis.html > > Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
follow-up, I had to revert this one. Too many reports by users who had tapping break completely (e.g. https://bugs.freedesktop.org/show_bug.cgi?id=99447). It's reverted in git master now. 45d7794..e86fdd5 master -> master Cheers, Peter > --- > src/evdev-mt-touchpad-tap.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/src/evdev-mt-touchpad-tap.c b/src/evdev-mt-touchpad-tap.c > index cb4abf2..b65bac4 100644 > --- a/src/evdev-mt-touchpad-tap.c > +++ b/src/evdev-mt-touchpad-tap.c > @@ -33,6 +33,7 @@ > > #include "evdev-mt-touchpad.h" > > +#define DEFAULT_TAP_INITIAL_TIMEOUT_PERIOD ms2us(100) > #define DEFAULT_TAP_TIMEOUT_PERIOD ms2us(180) > #define DEFAULT_DRAG_TIMEOUT_PERIOD ms2us(300) > #define DEFAULT_TAP_MOVE_THRESHOLD TP_MM_TO_DPI_NORMALIZED(3) > @@ -127,6 +128,13 @@ tp_tap_notify(struct tp_dispatch *tp, > } > > static void > +tp_tap_set_initial_timer(struct tp_dispatch *tp, uint64_t time) > +{ > + libinput_timer_set(&tp->tap.timer, > + time + DEFAULT_TAP_INITIAL_TIMEOUT_PERIOD); > +} > + > +static void > tp_tap_set_timer(struct tp_dispatch *tp, uint64_t time) > { > libinput_timer_set(&tp->tap.timer, time + DEFAULT_TAP_TIMEOUT_PERIOD); > @@ -155,7 +163,7 @@ tp_tap_idle_handle_event(struct tp_dispatch *tp, > case TAP_EVENT_TOUCH: > tp->tap.state = TAP_STATE_TOUCH; > tp->tap.first_press_time = time; > - tp_tap_set_timer(tp, time); > + tp_tap_set_initial_timer(tp, time); > break; > case TAP_EVENT_RELEASE: > break; > -- > 2.9.3 > _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel