mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-25 09:20:07 +01:00
Before this commit tp_release_all_taps would call tp_tap_handle_timeout, which is a nop when in state DRAGGING. tp_clear_state then releases all touches and calls touchpad_handle_state which moves the state to DRAGGING_WAIT, and the button 1 release will only be done after the tap-timeout, rather then directly as it should on tp_clear_state. This commit fixes this by instead of calling tp_tap_handle_timeout, directly releasing pressed buttons and switching to state DEAD or IDLE depending on fingers_down. Besides fixing this issue, this rewrite also makes it possible to use tp_release_all_taps outside of tp_clear_state, which will be used to add tap suspend / resume functionality in a follow up commit. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> |
||
|---|---|---|
| .. | ||
| evdev-mt-touchpad-buttons.c | ||
| evdev-mt-touchpad-tap.c | ||
| evdev-mt-touchpad.c | ||
| evdev-mt-touchpad.h | ||
| evdev.c | ||
| evdev.h | ||
| filter-private.h | ||
| filter.c | ||
| filter.h | ||
| libinput-private.h | ||
| libinput-util.c | ||
| libinput-util.h | ||
| libinput-version.h.in | ||
| libinput.c | ||
| libinput.h | ||
| libinput.pc.in | ||
| Makefile.am | ||
| path.c | ||
| path.h | ||
| timer.c | ||
| timer.h | ||
| udev-seat.c | ||
| udev-seat.h | ||