libinput/src
Peter Hutterer 9835acf7c7 touchpad: sync BTN_TOOL_FINGER state on init
The Elantech touchpad on my Asus Vivobook doesn't release BTN_TOOL_FINGER on
up. If the touchpad was used before libinput initializes, the kernel filters
the event because its state is already set. We never receive it and keep
ignoring all events until the first switch to BTN_TOOL_DOUBLETAP and back.

On touchpad init sync the BTN_TOOL_FINGER state and set it accordingly. This
is the only event that can be legitimately down on init. We don't care about
BTN_TOUCH because ignoring an ongoing touch on init is generally a good idea
and we can ignore any multifinger gesture as well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
(cherry picked from commit 5552a6f145)
2016-12-06 17:39:04 +10:00
..
evdev-middle-button.c touchpad: remove software middle button when emulation is enabled 2016-07-04 09:41:33 +10:00
evdev-mt-touchpad-buttons.c evdev: switch three ints to booleans 2016-08-11 19:56:16 +10:00
evdev-mt-touchpad-edge-scroll.c touchpad: reset the edge scroll state on touch up if edge scroll is disabled 2016-08-23 07:07:55 +10:00
evdev-mt-touchpad-gestures.c gestures: reduce the 2fg scroll timeout to 150ms 2016-08-05 07:35:30 +10:00
evdev-mt-touchpad-tap.c touchpad: line width fix 2016-08-30 15:12:54 +10:00
evdev-mt-touchpad.c touchpad: sync BTN_TOOL_FINGER state on init 2016-12-06 17:39:04 +10:00
evdev-mt-touchpad.h touchpad: require at least 3 events before enabling trackpoint palm detection 2016-09-12 13:50:15 +10:00
evdev-tablet-pad-leds.c pad: implement basic mode group support (1 group with 1 mode) 2016-06-24 13:29:17 +10:00
evdev-tablet-pad.c tablet: add touch arbitration 2016-09-07 11:17:03 +10:00
evdev-tablet-pad.h pad: implement basic mode group support (1 group with 1 mode) 2016-06-24 13:29:17 +10:00
evdev-tablet.c tablet: add touch arbitration 2016-09-07 11:17:03 +10:00
evdev-tablet.h tablet: add touch arbitration 2016-09-07 11:17:03 +10:00
evdev.c touchpad: add a quirk for the HP Pavilion dm4 2016-12-06 17:39:04 +10:00
evdev.h touchpad: add a quirk for the HP Pavilion dm4 2016-12-06 17:39:04 +10:00
filter-private.h Add an API to change pointer acceleration profiles 2015-09-11 00:54:01 +10:00
filter.c tablet: make the cursor/lens tool behave like a 1000dpi mouse 2016-06-28 11:28:49 +10:00
filter.h tablet: hook up relative motion events 2016-01-22 16:16:55 +10:00
libinput-private.h evdev: implement support for the MOUSE_WHEEL_CLICK_COUNT property 2016-11-04 12:10:52 +10:00
libinput-uninstalled.pc.in buildsystem: add missing uninstalled pkg-config infra 2016-08-30 17:18:39 +10:00
libinput-util.c util: add a helper function to split a string into substrings 2016-12-06 17:39:04 +10:00
libinput-util.h util: add a helper function to split a string into substrings 2016-12-06 17:39:04 +10:00
libinput-version.h.in COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
libinput.c Add missing event type checks to libinput_event_gesture_get_base_event 2016-10-28 15:38:29 +10:00
libinput.h Add configurable button map to tappings 2016-08-15 09:05:57 +10:00
libinput.pc.in Add -lrt to the libs 2014-07-03 09:59:43 +10:00
libinput.sym Add configurable button map to tappings 2016-08-15 09:05:57 +10:00
Makefile.am pad: implement basic mode group support (1 group with 1 mode) 2016-06-24 13:29:17 +10:00
path.c path: read the calibration prop on startup 2016-12-06 17:39:03 +10:00
path.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
timer.c timer: print the wrong offset when we have a negative timer offset bug 2016-04-11 13:02:19 +10:00
timer.h Change to micro seconds for measuring time internally 2015-07-28 17:42:32 +08:00
udev-seat.c evdev: move reading the calibration prop into a helper function 2016-12-06 17:39:03 +10:00
udev-seat.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00