libinput/doc
Peter Hutterer 5792af9a5f Implement a quirks system to replace the udev property parsing
Previously, we had all extra device information ("This is an Apple Touchpad",
"This touchpad causes pointer jumps", etc.) in the udev hwdb. The problem with
the hwdb is that updating it is nontrivial for the average user and debugging
when things go wrong is even harder. Plus, the hwdb has a matching scheme that
is unpredictable unless one is familiar with the implementation.

This patch set moves the hwdb entries into .ini style text files, with a
simple line-based parser. A new libinput list-quirks tool can list the quirks
applied to any given device, in --verbose mode it prints all matches as they
apply or not apply.

The data files are currently unused by libinput, that comes in a later patch.
They're installed though, the defaults point to the /usr/share/libinput
directory and for *temporary* local overrides the single file
/etc/libinput/local-overrides.quirks.

Failure to parse any file is a hard failure for the quirks system, but if the
local override file doesn't exist that's fine.

THIS IS NOT A CONFIGURATION INTERFACE! None of these settings are exposed via
the libinput_device_config_* calls. There is no API guarantee for these files,
think of them as source code.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-08 14:33:35 +10:00
..
dot Update the README and the graphs showing libinput in the stack 2018-05-15 14:18:46 +10:00
style doc: add a custom css for local overrides 2017-02-23 08:20:20 +10:00
svg Restore the old trackpoint pointer accel picture 2018-05-30 09:42:06 +10:00
absolute-axes.dox doc: improve absolute axis documentation a bit 2016-01-05 12:35:49 +10:00
absolute-coordinate-ranges.dox doc: axis overrides need to go to systemd, not libinput 2018-04-10 08:00:35 +10:00
architecture.dox doc: add a description of the internal architecture 2018-04-16 15:14:23 +10:00
building.dox doc: Fix URLs for GitLab, HTTPS 2018-06-05 11:07:16 +01:00
button-debouncing-state-machine.svg evdev: add a quirk to disable debouncing on the MS Nano Transcievers 2018-02-13 15:58:48 +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 doc: drop doc for POINTINGSTICK_CONST_ACCEL, no longer in use 2018-05-03 15:49:40 +10:00
device-quirks.dox Implement a quirks system to replace the udev property parsing 2018-06-08 14:33:35 +10:00
faqs.dox timer: change the timer offset warning to a client bug 2018-02-06 19:29:26 +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 doc: Fix URLs for GitLab, HTTPS 2018-06-05 11:07:16 +01:00
page-hierarchy.dox Implement a quirks system to replace the udev property parsing 2018-06-08 14:33:35 +10:00
palm-detection.dox doc: expand on the palm detection documentation a bit 2018-04-03 17:50:42 +10:00
pointer-acceleration.dox Revert "Expose a custom acceleration profile" 2018-05-21 12:15:25 +10:00
reporting-bugs.dox doc: Fix URLs for GitLab, HTTPS 2018-06-05 11:07:16 +01: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: Fix URLs for GitLab, HTTPS 2018-06-05 11:07:16 +01: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: improve the 'tools' page 2018-06-04 09:20:15 +10:00
touchpad-edge-scrolling-state-machine.svg touchpad: Add edge-scrolling support 2014-11-25 17:02:30 +10:00
touchpad-jitter.dox touchpad: add a tool to measure the touchpad fuzz 2018-05-15 13:51:33 +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 doc: debugging touchpad pressure/size ranges is interactive 2018-04-09 10:51:40 +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: handle a palm down in the tapped state 2018-03-07 11:07:54 +10:00
touchpads.dox doc: fix more typos 2015-08-22 16:03:29 +10:00
trackpoints.dox doc: more and more documentation about hwdb updates 2017-11-30 10:21:15 +10:00
what-is-libinput.dox doc: add a page "what is libinput" 2017-02-13 10:47:11 +10:00