diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2020-02-27 14:46:10 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2020-03-05 16:35:53 +1000 |
commit | cd574ed5efc06abf15df7345bc143289685d5cc1 (patch) | |
tree | dec0482d55faff0ff8f752efd6687f32d91ae609 | |
parent | 7b94955634d6543222993e032942ab6acc1ec33f (diff) | |
download | libinput-cd574ed5efc06abf15df7345bc143289685d5cc1.tar.gz |
touchpad: add a note to the synaptics touch restore feature
We have code in place to handle the quirky transition from two to three
fingers (where one slot ends and another one starts). We do not handle the
same issue when transitioning from three to two fingers.
This is a note only because it hasn't mattered so far, at least until
eb6ef9fe70635e7c91e from #408. And it doesn't matter anymore now either
because that code is now only called for ALPS devices.
https://gitlab.freedesktop.org/libinput/libinput/issues/434#note_419912
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | src/evdev-mt-touchpad.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index a18cbeda..99880299 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -609,11 +609,14 @@ tp_restore_synaptics_touches(struct tp_dispatch *tp, (tp->nfingers_down == tp->num_slots && nfake_touches == tp->num_slots)) return; - /* Synaptics devices may end touch 2 on BTN_TOOL_TRIPLETAP - * and start it again on the next frame with different coordinates - * (#91352). We search the touches we have, if there is one that has - * just ended despite us being on tripletap, we move it back to - * update. + /* Synaptics devices may end touch 2 on transition to/fro + * BTN_TOOL_TRIPLETAP and start it again on the next frame with + * different coordinates (bz#91352, gitlab#434). We search the + * touches we have, if there is one that has just ended despite us + * being on tripletap, we move it back to update. + * + * Note: we only handle the transition from 2 to 3 touches, not the + * other way round (see gitlab#434) */ for (i = 0; i < tp->num_slots; i++) { struct tp_touch *t = tp_get_touch(tp, i); |