Commit graph

295 commits

Author SHA1 Message Date
Peter Hutterer
38b812baf6 doc: enable warnings in doxygen
We want to see missed links

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-27 17:24:02 +10:00
Peter Hutterer
d6d208ab1a doc: move the Architecture blurb to the 'what is libinput' page
The vast majority of ppl reading the README is unlikely to care about this,
but they do care about the Wayland vs X.Org situation so let's split this up.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-27 09:35:00 +10:00
Peter Hutterer
3c72d5aba7 doc: we don't need the Namespaces doxygen page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-26 14:42:13 +10:00
Peter Hutterer
d693eef563 doc: fix erroneous </dt>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-26 11:42:49 +10:00
Peter Hutterer
3ef67e69d1 doc: fix the url where to file a new bug 2018-07-26 09:10:55 +10:00
Peter Hutterer
658147af59 doc: add a warning note that the reporting-bugs instructions do matter
And remove the paragraph below that states the same thing.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-26 09:07:59 +10:00
Peter Hutterer
ffc008e9de doc: point to libinput --version
This will fail pre 1.8 but oh well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-26 09:05:02 +10:00
Peter Hutterer
0aaf42622f doc: replace a few <b> with markdown's **
At least where possible, doxygen doesn't parse lists starting with ** as
emphasized.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-26 09:04:40 +10:00
Peter Hutterer
2dfa4c5d38 doc: replace html lists with markdown ones
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-26 09:04:38 +10:00
Peter Hutterer
dc0c013b43 doc: reporting-bugs: use evemu-record as link text, not evemu
Because that's the tool we're using

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-26 09:04:36 +10:00
Peter Hutterer
80273c050e doc: single ` is enough for code highlighting
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-26 09:04:33 +10:00
Peter Hutterer
c1f010a6eb doc: indent all @note continuation lines
This isn't required by doxygen but for a potential switch to RTD/sphinx
(see #95) it helps having this set up correctly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-26 09:04:31 +10:00
Peter Hutterer
1205c6bed7 doc: document the device quirks
Add some documentation for the most common quirks or at least the ones that
the user may eventually see or have to set. Drop the git commit hash into the
docs to make sure it's spelled out that the quirks are only valid for that
commit. Adding something with @include* requires the EXAMPLE_PATH to be set.

Doxygen doesn't parse markdown in @includedoc so we have to insert the commit
as normal HTML tag.

Related to https://gitlab.freedesktop.org/libinput/libinput/issues/87

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-25 15:43:23 +10:00
Peter Hutterer
68131bc936 doc: fix ref to device-quirks
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-24 15:46:55 +10:00
Peter Hutterer
e3a842a26d doc: replace <a href> links with the doxygen markdown equivalent
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-24 15:46:55 +10:00
Peter Hutterer
f4a253fb21 doc: replace <pre> with @verbatim
Be more consistent here

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-24 12:22:49 +10:00
Peter Hutterer
cb7b535c2f doc: add a section name to seats-overview
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-24 12:22:46 +10:00
Peter Hutterer
d5c0aed8a3 doc: add a section to the FAQs "is libinput required for Wayland"
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-19 11:39:35 +10:00
Peter Hutterer
c15cbe850a doc: move the "General" section to the "Developer" section
The info here is mostly developer-oriented, let's group this together.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-19 11:20:54 +10:00
Peter Hutterer
eb77684be0 doc: fix references to a trackpoint range in the FAQs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-19 11:14:14 +10:00
Peter Hutterer
ca658c15af doc: break up the "what is libinput" page with two sections
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-19 11:14:14 +10:00
Peter Hutterer
e6cad92005 Rename data/ to quirks/
A better, less ambiguous name than just "datadir"

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-13 13:30:54 +10:00
Peter Hutterer
6511dca633 Merge branch 'wip/trackpoint-acceleration' 2018-07-12 16:48:49 +10:00
Peter Hutterer
deadbf35c4 doc: move the meson.build in as subdir()
Doing so means we can ditch the specific input list for doxygen and just copy
all files over into our builddir/doc/ subdir, then use that subdirectory as
input data.

This relies on meson putting a subdir() into a subdirectory in the build
directory. This isn't technically guaranteed but I also suspect that if meson
ever changes that, lots of other projects will break. Even in that case we
should build just fine since we now filter for *.h and *.dox and don't copy
any other doxygen-commented files into the builddir anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-12 14:05:52 +10:00
Peter Hutterer
27f7a66de4 filter: add a trackpoint multiplier factor
Measuring the trackpoint range has not shown to be sufficient or precise
enough to be used as an ingredient for trackpoint acceleration. So let's just
switch back to a generic multiplier that we can apply to the input deltas do
undo any device-specific lack of scaling.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-11 16:04:59 +10:00
Peter Hutterer
831ce3c0d3 filter: replace the trackpoint accel with a velocity-based one
This gets rid of the trackpoint range propery that we've been parsing until
now and instead just opts for a basic curve with some deceleration for low
pressure. The speed range is taken from the touchpad and should be wide enough
for most trackpoints that fall within the expected range.

Trackpoints like the new ALPS ones need to be configured through a hwdb (this
part is currently missing).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-11 16:04:59 +10:00
Peter Hutterer
529755e18f doc: add a subsection on how to use libinput record --autorestart
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-10 18:04:20 +10:00
Peter Hutterer
0125a06826 doc: libinput-measure is a section, not a subsection
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-10 18:04:15 +10:00
Peter Hutterer
ff15bfd99f doc: drop the git version into the documentation
The libinput/doc/latest is now built automatically from git, so it's good to
have a reference to show which commit it was being built from. Add a section
to the readme with git commit information that is replaced by meson.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-06 11:04:07 +10:00
Peter Hutterer
2192ec192c doc: add the switches page to a "other devices" category
It felt a bit lost at the bottom of the "pages" list.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-05 12:00:31 +10:00
Peter Hutterer
45e3218863 doc: build doxygen output into "Documentation"
Slightly more obvious than just "html". Main motivation here is that we want
to provide the documentation as artifact from GitLab's CI, so having it unzip
to something slightly more meaningful makes sense.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-05 10:29:50 +10:00
Peter Hutterer
e723398c14 tools: rename list-quirks to the more generic "quirks list"
Enables us to easily add more tools where needed and it is
more consistent with the existing tools.

The commands are now:
   libinput quirks list
   libinput quirks validate

Fixes https://gitlab.freedesktop.org/libinput/libinput/issues/66

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-03 15:16:59 +10:00
Peter Hutterer
3a1f3b754e doc: fix typo in pointer acceleration docs
Fixes https://gitlab.freedesktop.org/libinput/libinput/issues/69

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-27 21:03:50 +10:00
Peter Hutterer
18e397446f doc: update docs to use a .yml suffix for libinput recorded files
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-21 15:02:20 +10:00
Peter Hutterer
015d6f1535 doc: use @verbatim, not @code for shell commands
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-21 11:13:57 +10:00
Peter Hutterer
08dbfb94b5 doc: update docs to drop hwdb references
In favour of the device quirks system.

Fixes #55

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-21 11:13:30 +10:00
Peter Hutterer
30b9c929a6 doc: point to the gitlab ci file for a list of required packages
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-19 13:40:07 +10:00
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
Daniel Stone
94dba68f96 doc: Fix URLs for GitLab, HTTPS
The GitLab migrations means that bugs should now be reported there
rather than Bugzilla. Though the repository is still available via
anongit, cloning through GitLab allows use of HTTPS.

All freedesktop.org URLs are also preferentially served over HTTPS
rather than unsecured HTTP.

Signed-off-by: Daniel Stone <daniels@collabora.com>
2018-06-05 11:07:16 +01:00
Peter Hutterer
2744870daa doc: point at --verbose for libinput debug-events
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-04 09:21:20 +10:00
Peter Hutterer
f82e77830f doc: improve the 'tools' page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-04 09:20:15 +10:00
Peter Hutterer
54403466c8 doc: move the "Users" section to the top of the "pages" section
On the off-chance that someone actually looks at this page, let's put the
comment most at risk by a TLDR attention span at the top.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-01 13:17:13 +10:00
Peter Hutterer
d3bb8b3374 Restore the old trackpoint pointer accel picture
Accidentally updated the wrong picture. This reverts part of commit
d6e5313497.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-05-30 09:42:06 +10:00
Peter Hutterer
f84b830c81 doc: update the touchpad pointer acceleration graphs
Part of d6e5313497 but I updated the wrong svg
in that commit.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-05-30 09:42:06 +10:00
Peter Hutterer
2167c3af05 Merge branch 'wip/custom-pointer-accel-revert' 2018-05-21 12:19:30 +10:00
Peter Hutterer
fbd284ec14 Merge branch 'wip/touchpad-pointer-accel-v7' 2018-05-21 12:19:17 +10:00
Peter Hutterer
d6e5313497 filter: improve touchpad acceleration
This seems to give me roughly the same behaviour as macos does on the default
0 speed setting.

* Default speed is lower than before by around 30% [1]
* Acceleration kicks in much sooner (130mm/s vs 250mm/s before)
* Acceleration kicks in slower at lower speeds, so the change from 130mm/s to
  150mm/s is less than that of 320mm/s to 350mm/s
* The effect of the speed setting is a wide-range constant (de|ac)celeration
  [2], which means:
  * The unaccelerated baseline up until the threshold now changes with the
    speed setting
  * The threshold is now the same for all speeds
  * The range of the speed setting should now easily cover all desired device
    speeds.
  * Acceleration is steeper at higher speeds
* Deceleration was left as-is.

[1] This may or may not fix the jumping pointer issues caused by the previous
high defaults. When you have high default acceleration you move the finger
slower. This slow movement caused some touchpads (mostly seen on Lenovos) to
create pointer jumps. These weren't seen on synaptics previously because of a
combination of higher user finger speed (thus not triggering the bug) or just
not being as obvious (2px jump vs 10 px jump).

[2] The speed setting is actually a curve, the closer you get to 1.0 the more
difference you see between two different values. The curve's points are:
-1/0, 0/1, 1/5, so the resolution is closer for slow speeds. We still have
double resolution on the setting though so you'll find what you want.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-05-21 12:18:58 +10:00
Peter Hutterer
33162632cb Revert "Expose a custom acceleration profile"
This looked good on paper but clearly no-one (including myself) ever tested this
in a real-life situation or they would've noticed that the constant factor is
missing, causing a segfault on the first two-finger scroll event, touchpad
gesture or button scrolling.

Adding the constant factor makes the API much worse and the benefit is
unclear, so out of the window it goes. We can revisit this for libinput 1.12
but this isn't going to make the next release.

This reverts commit d8bd650540.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-05-21 12:15:25 +10:00
Peter Hutterer
bcd9b4d3ca Update the README and the graphs showing libinput in the stack
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-05-15 14:18:46 +10:00
Peter Hutterer
3251ba2af0 touchpad: add a tool to measure the touchpad fuzz
Well, I say "measure" but really at this point it just reads the
properties/axes and then does it's best to auto-generate a hwdb entry that
matches the user's hardware and sets a fuzz value on the device. Ideally this
reduces the number of hand-holding required in bugzillas. There are plenty of
things that can go wrong, so our fallback is still to throw up our hands and
point to the documentation.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-05-15 13:51:33 +10:00