libinput/doc
Peter Hutterer 6583f4bb53 pad: Add a new API for modes and mode groups
Move mode control to libinput. This reduces some flexibility on what we can do
with modes but makes it a lot easier for anyone to implement modes correctly
and have the LEDs apply appropriately, etc. Let's go with the option to make
the 95% use-case easy. Note: whether the mode is actually used is up to the
caller, e.g.  under Windows and OS X the mode only applies to the
rings/strips, not the buttons.

A tablet pad has 1 or more mode groups, all buttons/ring/strips are assigned
to a mode group. That group has a numeric mode index and is hooked to the
LEDs. libinput will switch the LEDs accordingly.

The mode group is a separate object. This allows for better APIs when it comes
to:
* checking whether a button/ring/strip is part of a mode group
* checking whether a button will trigger a mode transition

and in the future potentially:
* checking which mode transition will happen
* setting which button should change the mode transition
* changing what type of mode transition should happen.
* moving a button from one mode group to the other

This patch adds the basic scaffolding, without any real implementation.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Proofread-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Reviewed-by: Carlos Garnacho <carlosg@gnome.org>
2016-06-22 11:57:07 +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: use bootstrap for doxygen styling 2015-07-16 14:15:19 +10:00
svg doc: add two svgs showing the modes 2016-06-22 08:48:01 +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
clickpad-softbuttons.dox touchpad: add a middle button software area 2016-04-05 10:13:56 +10:00
device-configuration-via-udev.dox Merge branch 'master' into tablet-support 2015-12-14 12:44:05 +10:00
faqs.dox doc: fix more typos 2015-08-22 16:03: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: use bootstrap for doxygen styling 2015-07-16 14:15:19 +10:00
Makefile.am doc: add two svgs showing the modes 2016-06-22 08:48:01 +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 touchpad: warn if we have invalid touchpad ranges 2016-06-02 08:01:43 +10:00
palm-detection.dox doc: add a link to the dwt config call to the doc 2015-11-16 08:08:50 +10:00
pointer-acceleration.dox tablet: hook up relative motion events 2016-01-22 16:16:55 +10:00
reporting-bugs.dox doc: add a diagram for evemu and note that libinput doesn't recordings 2015-08-24 09:36:22 +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
t440-support.dox Fix spelling mistakes 2016-04-06 07:42:03 +10:00
tablet-support.dox pad: Add a new API for modes and mode groups 2016-06-22 11:57:07 +10:00
tapping.dox touchpad: add a config option to disable tap-and-drag 2016-01-27 10:03:28 +10:00
test-suite.dox doc: drop leftovers of Check's selective test running 2015-05-22 08:45:35 +10:00
tools.dox doc: fix more typos 2015-08-22 16:03:29 +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-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