libinput/doc
Peter Hutterer 55d1bb1217 pointer: add button debouncing
Some devices have worn-out switches or just cheap switches that trigger
multiple button events for each press. These can be identified by unfeasably
short time deltas between the release and the next press event. In the
recordings I've seen so far, that timeout is 8ms.

We have a two-stage behavior: by default, we do not delay any events but we
monitor timestamps. The first time a bouncing button is detected we switch to
debounce mode. From then on, release events are delayed slightly to check for
subsequent button events. If one occurs, the releas and press are filtered. If
none occurs, the release event is passed to the caller.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-07-26 00:21:46 +10:00
..
dot doc: add a diagram for evemu and note that libinput doesn't recordings 2015-08-24 09:36:22 +10:00
style doc: add a custom css for local overrides 2017-02-23 08:20:20 +10:00
svg touchpad: add upper edge into exclusion zone 2017-07-10 09:33:24 +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.dox pointer: add button debouncing 2017-07-26 00:21:46 +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 doc: Fix mistake in Matrix example to relect only X along Y axis 2017-06-20 16:43:49 +10:00
faqs.dox doc: add a faq for synclient/syndaemon 2017-04-28 10:12:29 +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: drop the explicit input from the doxygen.in 2017-05-04 13:49:37 +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 short blurb regarding lid switch handling 2017-06-13 12:21:33 +10:00
t440-support.dox Fix spelling mistakes 2016-04-06 07:42:03 +10:00
tablet-support.dox tablet: add touch arbitration 2016-09-07 11:17:03 +10:00
tapping.dox doc: expand on the default tap settings 2017-03-09 14:03:22 +10:00
test-suite.dox test: if we're in a debugger, use single-fork mode only 2016-08-02 11:32:03 +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: add a config option to disable tap-and-drag 2016-01-27 10:03:28 +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