Commit graph

3421 commits

Author SHA1 Message Date
Peter Hutterer
37e21cee9c doc/api: drop git-version.dox
No longer needed

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-09 10:39:58 +10:00
Peter Hutterer
97320328e6 meson.build: process the various tools as a single file list
All these tools just copy the input file over, we can do that in a loop

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-09 10:39:58 +10:00
Peter Hutterer
307f36e038 meson.build: silence meson warning that we should use configure_file's copy
Yes, we should use 'copy'. But that requires 0.47 and that's not an option
right now.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-09 10:39:58 +10:00
Peter Hutterer
997f30e80e meson.build: fix typo in version to compare to
Introduced in e428e5e87a

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-09 10:39:58 +10:00
Matt Mayfield
bb87a3d9e9 touchpad: 90-degree scroll helper
This makes two-finger scrolling in straight lines easier, while still
allowing free/diagonal movement. It works in three stages:

1) Initial movement
   - For the first few millimeters, scroll movements within 30 degrees
     of horizontal or vertical are straightened to 90-degree angles.
   - Scroll movements close to 45 degree diagonals are unchanged.
   - If movement continues very close to straight horizontal or
     vertical, stage 2 begins and the axis lock engages.
   - If movement continues along a diagonal, stage 2 is skipped and
     free scrolling is immediately enabled.
2) Axis lock
   - If the user scrolls fairly closely to straight vertical, no
     horizontal movement will happen at all, and vice versa.
   - It is possible to switch between straight vertical and straight
     horizontal, and the axis lock will automatically change.
   - If deliberate diagonal movement is detected at any point, stage
     3 begins and the axis lock disengages.
3) Free scrolling
   - Scrolling is unconstrained until the fingers are lifted.
2018-08-08 11:36:39 -05:00
Matt Mayfield
916474b09c test: touchpad: add tests for 90 degree scroll (axis lock) 2018-08-08 11:28:30 -05:00
Matt Mayfield
358a22fc68 doc/user: add 90-degree scroll behavior 2018-08-08 00:40:22 -05:00
Peter Hutterer
f78d6669e5 tools: debug-*: show unaccelerated deltas for pointer events
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-08 10:07:43 +10:00
Peter Hutterer
28fc00b5f7 test: add a 10ms delay for scrolling tests
No touchpad gives us these events with a 0 delay, so let's not test for that.

This is required for adding timing-sensitive scroll code, see
https://gitlab.freedesktop.org/libinput/libinput/issues/101.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-07 10:29:09 +10:00
Peter Hutterer
531b1bf8de test: touchpad: swap an int for a bool
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-07 10:00:40 +10:00
Peter Hutterer
cbf17131b9 test: rename the x220 clickpad to something more telling
Having this as the generic "synaptics" touchpad in the tests is not helpful,
this touchpad is tiny and quite special these days.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-07 10:00:40 +10:00
Peter Hutterer
d43dc1192d tablet: unify the license text with what we have in COPYING
Use the same blurb everywhere, changing from the old style MIT to the Expat
license we're using everywhere else.

Similar to bc9f16b40e

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-07 08:37:45 +10:00
Peter Hutterer
77f9a47996 filter: always init a delta smoothener for 10/10ms on trackpoints
If the trackpoint gives us deltas with less than 10ms intervals, something is
wrong. Could be bad hardware, a glitch in the matrix or a discontinuity in
the otherwise appropriately named time-space continuum. Usually it's the
first.

Let's always set up trackpoint delta smoothening for 10ms to improve the
pointer speed calculation and avoid jerky behaviors. i.e. if a trackpoint
delta comes in below 10ms, pretend it came in with a 10ms interval for
calculating the speed.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-06 15:24:04 +10:00
Peter Hutterer
82f3e77fb2 doc/user: drop the sphinx -a flag
Let's trust sphinx to know what to rebuild

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-06 15:19:57 +10:00
Peter Hutterer
e33fd7157f tools: record: don't bother setting last_ms to 0 on the first event
The first event we receive is set to a 0ms offset anyway. Setting last_ms to 0
on the first event means the first two events have +0ms offset printed to the
log. Skip it, so the second event has the right offset.

This is human-readable data only, no effect on the recording file itself.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-06 14:06:48 +10:00
Peter Hutterer
cf808a408f doc/user: add touchpad pressure debugging as separate page
This way we can put it under Troubleshooting

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-06 13:42:40 +10:00
Peter Hutterer
7ffe82695e doc/user: add the quirks tool to the tool list
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-06 13:37:00 +10:00
Peter Hutterer
829e82d255 doc/user: match the quirks list output with the code
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-08-06 13:34:14 +10:00
Matt Mayfield
8cbf5585ff Remove seemingly extra pasted line from license 2018-08-05 12:55:02 -05:00
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