libinput/doc
Peter Hutterer 46eab97538 touchpad: work palm detection into the tap state machine
Unlike the already-existing thumb detection, a touch may be labelled palm at
any time, not just during the initial touch down. This requires full
integration into the tap state machine to unwind properly. For most states, a
palm detection simply ignores the finger and reverts to the most recent state.

One exception is the case of two fingers down, one finger up followed by the
remaining finger detected as a palm finger. This triggers a single-finger tap
but with timestamps that may be from the wrong finger. Since we're within a
short tap timeout anyway this should not matter too much.

The special state PALM_UP is only handled in one condition (DEAD). Once a
touch is a palm we basically skip over it from then on. If we end up in the
DEAD state after a button press we still need to handle the palm up events
accordingly to be able to return to IDLE. That transition also requires us to
have an accurate count of the real fingers down (palms don't count) so we need
a separate nfingers_down counter for tapping.

https://bugs.freedesktop.org/show_bug.cgi?id=103210

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-11-20 11:31:56 +10:00
..
dot doc: update the GNOME stack graph 2017-09-28 08:43:38 +10:00
style doc: add a custom css for local overrides 2017-02-23 08:20:20 +10:00
svg evdev: add new debouncing code 2017-11-20 09:55:05 +10:00
absolute-axes.dox doc: improve absolute axis documentation a bit 2016-01-05 12:35:49 +10:00
absolute-coordinate-ranges.dox touchpad: warn if we have invalid touchpad ranges 2016-06-02 08:01:43 +10:00
building.dox doc: update the soname, remove the warning 2017-07-05 11:13:31 +10:00
button-debouncing-state-machine.svg evdev: add new debouncing code 2017-11-20 09:55:05 +10:00
button-debouncing-wave-diagram.txt evdev: add new debouncing code 2017-11-20 09:55:05 +10:00
button_debouncing.dox evdev: add new debouncing code 2017-11-20 09:55:05 +10:00
clickpad-softbuttons.dox touchpad: remove software middle button when emulation is enabled 2016-07-04 09:41:33 +10:00
contributing.dox doc: add a small page about contributing to libinput 2016-10-25 10:02:07 +10:00
device-configuration-via-udev.dox tablet: always enable the no-proximity-out quirk on HUION tablets 2017-09-21 12:27:46 +10:00
faqs.dox doc: add a FAQ regarding "please add a configuration option" 2017-11-08 21:42:16 +10:00
gestures.dox doc: explain the gesture ambiguity for 2-slot touchpads 2016-01-20 15:38:13 +10:00
libinput.doxygen.in doc: quote all paths in the doxygen file 2017-11-01 14:54:59 +10:00
middle-button-emulation.dox doc: split middle button emulation into a separate page 2016-08-15 08:02:37 +10:00
middle-button-emulation.svg evdev: add support for middle button emulation 2015-04-17 12:50:03 +10:00
normalization-of-relative-motion.dox tablet: add support for relative x/y motion deltas 2016-01-22 16:16:55 +10:00
page-hierarchy.dox pointer: add button debouncing 2017-07-26 00:21:46 +10:00
palm-detection.dox touchpad: add upper edge into exclusion zone 2017-07-10 09:33:24 +10:00
pointer-acceleration.dox filter: add a custom trackpoint accelerator 2017-07-20 11:53:01 +10:00
reporting-bugs.dox doc: reshuffle the "reporting bugs" page 2016-10-19 10:21:51 +10:00
scrolling.dox touchpad: disable 2fg scrolling on Synaptics semi-mt touchpads 2015-07-27 19:34:42 +10:00
seats.dox doc: fix more typos 2015-08-22 16:03:29 +10:00
switches.dox doc: add a section for tablet mode switches 2017-09-29 08:13:44 +10:00
t440-support.dox Fix spelling mistakes 2016-04-06 07:42:03 +10:00
tablet-support.dox tablet: print what capability is missing when rejecting a device 2017-10-26 11:01:29 +10:00
tapping.dox doc: expand on the default tap settings 2017-03-09 14:03:22 +10:00
test-suite.dox doc: update test suite page for ninja and other recent changes 2017-11-02 10:38:54 +10:00
timestamps.dox doc: document the event timestamps 2017-05-02 15:32:19 +10:00
tools.dox doc: update for the new libinput tool 2017-06-02 12:21:35 +10:00
touchpad-edge-scrolling-state-machine.svg touchpad: Add edge-scrolling support 2014-11-25 17:02:30 +10:00
touchpad-jumping-cursors.dox touchpad: detect and warn about kernel tracking pointer jumps 2016-04-28 10:01:20 +10:00
touchpad-pressure.dox tools: add a tool to measure touch pressure 2017-07-03 15:58:58 +10:00
touchpad-softbutton-state-machine.svg touchpad: Route top softbuttons through the trackstick if we've one 2014-09-19 08:20:00 +10:00
touchpad-tap-state-machine.svg touchpad: work palm detection into the tap state machine 2017-11-20 11:31:56 +10:00
touchpads.dox doc: fix more typos 2015-08-22 16:03:29 +10:00
what-is-libinput.dox doc: add a page "what is libinput" 2017-02-13 10:47:11 +10:00