libinput/doc/svg
Peter Hutterer de994d135e evdev: add new debouncing code
The current debouncing code monitors events and switches on when events are
too close together. From then on, any event can be delayed.

Vicente Bergas provided an algorithm that avoids most of these delays:
on a button state change we now forward the change without delay but start a
timer. If the button changes state during that timer, the changes are
ignored. On timer expiry, events are sent to match the hardware state
with the client's view of the device. This is only done if needed.

Thus, a press-release sequence of: PRP sends a single press event, a sequence of
PRPR sends press and then the release at the end of the timeout. The timeout
is short enough that the delay should not be noticeable.

This new mode is called the 'bounce' mode. The old mode is now referred to as
'spurious' mode and only covers the case of a button held down that loses
contact. It works as before, monitoring a button for these spurious contact
losses and switching on. When on, button release events are delayed as before.

The whole button debouncing moves to a state machine which makes debugging a
lot easier. See the accompanying SVG for the diagram.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-11-20 09:55:05 +10:00
..
button-debouncing-wave-diagram.svg evdev: add new debouncing code 2017-11-20 09:55:05 +10:00
button-scrolling.svg doc: move the wiki's scrolling documentation to here 2014-12-23 09:51:37 +10:00
clickfinger-distance.svg touchpad: impose maximum distance limits on clickfingers 2015-06-03 14:43:58 +10:00
clickfinger.svg doc: add illustrations for clickfinger and software button behavior 2015-05-28 11:16:29 +10:00
edge-scrolling.svg Documentation fixes to arrows in svg files 2015-11-09 12:47:40 +10:00
gesture-2fg-ambiguity.svg doc: explain the gesture ambiguity for 2-slot touchpads 2016-01-20 15:38:13 +10:00
palm-detection.svg touchpad: add upper edge into exclusion zone 2017-07-10 09:33:24 +10:00
pinch-gestures-softbuttons.svg gestures: add support for three-finger pinch gestures 2016-01-20 15:38:13 +10:00
pinch-gestures.svg doc: add documentation for touchpad gestures 2015-07-06 14:09:33 +10:00
ptraccel-linear.svg doc: add pointer acceleration documentation 2015-08-12 14:06:00 +10:00
ptraccel-low-dpi.svg doc: add pointer acceleration documentation 2015-08-12 14:06:00 +10:00
ptraccel-touchpad.svg doc: update the touchpad pointer acceleration svg 2016-12-21 10:55:57 +10:00
ptraccel-trackpoint.svg doc: add pointer acceleration documentation 2015-08-12 14:06:00 +10:00
software-buttons.svg touchpad: add a middle button software area 2016-04-05 10:13:56 +10:00
swipe-gestures.svg doc: add documentation for touchpad gestures 2015-07-06 14:09:33 +10:00
tablet-axes.svg doc: update tablet svg to show tilt as angle 2016-02-10 15:06:12 +10:00
tablet-cintiq24hd-modes.svg doc: add two svgs showing the modes 2016-06-22 08:48:01 +10:00
tablet-interfaces.svg doc: add a graphic illustrating pad vs tool support 2016-04-18 09:12:02 +10:00
tablet-intuos-modes.svg doc: add two svgs showing the modes 2016-06-22 08:48:01 +10:00
tablet-left-handed.svg doc: add an entry about tablets in left-handed mode 2016-05-09 11:45:01 +10:00
tablet-out-of-bounds.svg test: add tablet test for out-of-bounds motion coordinates 2016-02-11 16:03:13 +10:00
tablet.svg doc: tablet documentation updates 2015-11-18 12:13:54 +10:00
tap-n-drag.svg doc: add a graphic to explain tap-n-drag 2015-06-02 15:47:33 +10:00
thumb-detection.svg touchpad: only try thumb detection in the lowest 15/8mm 2015-07-24 08:50:17 +10:00
top-software-buttons.svg doc: add illustrations for clickfinger and software button behavior 2015-05-28 11:16:29 +10:00
touchscreen-gestures.svg doc: add documentation for touchpad gestures 2015-07-06 14:09:33 +10:00
twofinger-scrolling.svg Documentation fixes to arrows in svg files 2015-11-09 12:47:40 +10:00