Commit graph

3402 commits

Author SHA1 Message Date
Peter Hutterer
ba603ea192 touchpad: improve finger counting for synaptics serial touchpads
A three-finger touch may cause slot N to end, in a frame after the
BTN_TOOL_TRIPLETAP. This causes tp->nfinger_down to be decremented to 2 as the
touch switches to MAYBE_END - which happens to be our num_slots. We exit early
and never restore the touch correctly.

Fix this by checking that the number of fake touches is equal to the slots, if
it is higher then we need to check for recovery.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-03 15:01:55 +10:00
Peter Hutterer
da0fbb580f fallback: add support for ABS_MT_TOOL_TYPE for touch screens
Cancel any touches that trigger MT_TOOL_PALM.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-03 14:21:18 +10:00
Peter Hutterer
abab7f1609 test: handle ABS_MT_TOOL_TYPE from the litest devices
We want to autoreplace this value where possible but not scale it to min/max,
this is effectively an enum. The same is true for slot/tracking id, so let's
add it here too.

Because it's an enum and 99% of the cases require MT_TOOL_FINGER, we always
fall back to that instead of using the axis_defaults that we use for other
axes.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-03 13:29:20 +10:00
Peter Hutterer
2855e26d6f test: add test helpers for touch sequence parts
The necessary helpers to test for a touch event + one touch frame and the
extra case for the TOUCH_CANCEL in is_touch_event

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-03 13:29:20 +10:00
Peter Hutterer
adf0e5a9c7 fallback: move flushing MT events to a helper function
No functional changes

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-03 13:29:20 +10:00
Peter Hutterer
da0a630f14 fallback: change a list of if conditions to a switch statement
This used to do a lot more but now it can be handled as simple switch
statement. Bonus: we get to log a bug if we ever get here in NONE state.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-03 13:29:20 +10:00
Peter Hutterer
e55c54e2b9 fallback: move the mt slot state struct/enum here
Not needed by the more generic evdev header

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-03 13:29:20 +10:00
Peter Hutterer
8b1141acdc doc/user: mark the touchpads page as orphan
Only one link leads to it and it doesnt (right now) fit into the hierarchy.
Let's get rid of the sphinx warning.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-03 11:18:14 +10:00
Peter Hutterer
2b8c2e341e doc/user: add custom 404 pages for the old links
Switching from doxygen to sphinx broke a bunch of links because doxygen used
whatever the argument to @page was - and that usually had underscores. Sphinx
uses filenames (which use dashes) so now we have a bunch of old links going to
a 404. For the transition period at least, insert a custom 404 page for each
of those to tell users this doesn't exist anymore.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-03 11:18:14 +10:00
Peter Hutterer
bf47589883 Revert "doc/user: add a custom 404 page"
Nope, doesn't work, our server doesn't support htaccess.

This reverts commit 548e0eb98b.
2018-08-03 10:13:09 +10:00
Peter Hutterer
a508097e98 util: remove now-unused helper functions
Obsolete with the switch to the device quirks

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 15:51:47 +10:00
Peter Hutterer
548e0eb98b doc/user: add a custom 404 page
Things moved around, so let's have a custom 404 page where we can put
information in. This ist the barebones version, not sure if .htaccess is
supported.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
62d0aa4829 doc: drop the doxygen conversion script
It's really not that good, so no point to keep it around

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
fa03158e7c doc/user: rename filenames with underscores to dashes
Everything else is, let's be consistent here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
bc56b6fa3c doc/user: swap some note out with hint
Because why not...

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
72cd8c15ec doc/user: add a hack to get to the git version
meson doesn't have configuration_data() in vcs_tag so we can only replace one
string. sphinx cannot include things in-line.

Since we want the git version to be replaced in random places, we need to put
it into rst_prolog in conf.py - but that's where we neet to replace other
things too. Work around this by generating a mini python module that returns
the git version, then call that in conf.py.

Side-bonus: we now have access to the full commit and the abbreviated commit.
Not that anything actually uses this...

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
0f55a09ad5 doc/user: drop the old page-hierarchy page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
43ed999a1f doc/user: use extlink for a common commit links
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
f611076551 doc/user: more fixes including adding a device-types section
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
ddc0df6fe7 doc/user: tidy up the development page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
e69c5aab33 README: drop a @ref in favor of the full link
No doxygen leftovers in README anymore, exspecially now that we don't use it
for doxygen anymore.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
1432a95040 fallback: add another debug message for tablet-mode keyboard suspend
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
0b96f167ad fallback: change a debug message to be less ambiguous
"activated" sounds like we're disabling things here, but we're just pairing
the two devices

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-02 11:22:11 +10:00
Peter Hutterer
6304dc1b19 doc/user: more documentation cleanups and fixes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-01 10:07:28 +10:00
Peter Hutterer
f955b2b73a doc/user: some rewording and improvements
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 16:16:16 +10:00
Peter Hutterer
22faa97f25 meson.build: fix name of the measure touchpad-tap script
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 13:00:38 +10:00
Peter Hutterer
f0eb93f2b8 doc/user: update the 'no package found' link to the meson version post
Now that we dropped autotools anyway, it's better to link to the meson version
of that blog post.

Related #96

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 10:52:19 +10:00
Peter Hutterer
d434b414bc doc/user: building - promote dependencies to a higher-level section
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 10:52:14 +10:00
Peter Hutterer
43b0f5212b doc/user: the SELinux section doesn't apply to modern meson
Related #96

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 10:52:08 +10:00
Peter Hutterer
98d3e99c56 doc/user: re-do the conditional build section
Related #96

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 10:51:54 +10:00
Peter Hutterer
649577187f doc/user: drop the autotools builds
Anyone who's still on <= 1.8 either knows how to build it already or relies on
a distribution to do that for them. Drop the section.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 10:50:30 +10:00
Peter Hutterer
43e35db26a doc/user: add a note on meson's dependency() in the building docs
See #96

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 10:22:31 +10:00
Peter Hutterer
dbd484f867 doc/user: mesonconf is meson configure
Listed in #96

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 10:17:59 +10:00
jeff
326b2e3261 tablet: clear tablet history on tool contact change
On some ELAN tablets we get a coordinate jump in the same frame that we put
the tip down. The existing axis smoothing causes that jump to be somewhere in
the middle between the previous and the next coordinates, causing a small
stroke from the smoothed position to the next. Prevent this by resetting the
history on tip down/up so we always take that coordinate.

Fixes #94

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-31 08:06:57 +10:00
Peter Hutterer
4ee1eb3c26 libinput 1.11.901
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-30 15:57:08 +10:00
Peter Hutterer
345d1627ee doc/user: add a page detailing what configuration toggles are available
High level view only but at least it's a link we can point people to.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-30 12:24:04 +10:00
Peter Hutterer
cbd4f35442 dox: switch to sphinx for the user-visible documentation
This is a large commit because it's difficult to split this up and we don't
care about bisecting here anyway.

doxygen is going to produce the API documentation only
sphinx is going to produce the prose user (and a bit of developer) documentation.

The source split is doc/api and doc/user.

Steps performed:
- run the doxygen-to-sphinx.sh script to convert all .dox sources to .rst
- manually fixed the .rst to render correctly
- add a few extra .rst documents to generate the right hierarchy
- hook up sphinx-build in meson
- add a new @mainpage for doxygen more aimed at developers

For the build directory:
- sphinx produces /Documentation
- doxygen now produces /api/

These need to be manually combined in the wayland-web repo, meson doesn't
support subdirectories as output paths within the build dir and the
documentation doesn't need to be installed anywhere.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-30 12:24:04 +10:00
Peter Hutterer
581fbbea64 GitLab CI: print out the image age in seconds
Helps with debugging purposes

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-30 12:05:42 +10:00
Peter Hutterer
dc877190ec Gitlab CI: set DEBIAN_FRONTEND noninteractive for the Ubuntu images
Because Godot doesn't care about tzdata, so waiting for him is pointless.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-30 10:51:36 +10:00
Peter Hutterer
608b451eaf Add the buildreqs for sphinx-build
Separate commit so we can prep the containers for the real PR and thus test if
something break.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-30 09:52:20 +10:00
Peter Hutterer
c19b27a679 doc: split the graphs into a separate array for re-use
We need this in the sphinx documentation.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-27 17:26:56 +10:00
Peter Hutterer
e2bd413e09 doc: move the @verbatim start to the list item
This is mostly for sphinx' parsing benefit, doxygen doesn't need it and
renders the same either way.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-27 17:26:56 +10:00
Peter Hutterer
00186bb8af doc: device-quirks: redo the model quirks <dl> for sphinx' benefit
sphinx only supports one line of <dt> content, so we have to compress these.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-27 17:26:56 +10:00
Peter Hutterer
a154e85988 doc: a few replacements to make sphinx happy/prettier
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-27 17:26:56 +10:00
Peter Hutterer
e83b1314ba doc: refer to "the libinput documentation" in a few @see cases
This is in preparation for a change to sphinx as the user-visible
documentation. Ideally we could cross-link between the two but that's tricky
to do automatically. Linking to the html pages/anchors directly works fine but
risks the links going stale, especially while the documentation is still in
flux.

Having a generic "refer to the libinput documentation" is a bit of a cop-out
least this way the links cannot go stale.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-27 17:24:40 +10:00
Peter Hutterer
fbb66279cc doc: drop a few unnecessary @ref
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-27 17:24:02 +10:00
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
1ac235c792 doc: copy some bits of the tablet docs to doxygen
So it shows up in the doxygen contents. These are the bits that are mostly of
interest to developers, we might remove the user documentation entry later,
but let's leave it there for now.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-07-27 17:24:02 +10:00
Benjamin Tissoires
06f30b4b1f gitlab-ci: use skopeo to check on container images
this allows to replace complex curl queries with simpler commands.

We need a newer minimalist image with skopeo in addition to jq and
curl.

Also, I am currently not relying on skopeo to delete the image as I am
not so sure we will get the same cleanup than with the current sha method
and also:
https://bugzilla.redhat.com/show_bug.cgi?id=1481196

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2018-07-27 07:08:55 +02: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