Peter Hutterer [Mon, 27 Aug 2018 03:22:24 +0000 (13:22 +1000)]
test: force 10ms intervals for touch moves, unless specified otherwise
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 28 Aug 2018 00:06:41 +0000 (10:06 +1000)]
test: change a few tests to use 10ms intervals
Change a number of tests to use 10ms intervals between finger events and fix
the coordinates up accordingly to avoid pointer jumps. This is in preparation
for a test-suite wide use of 10ms intervals.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Aug 2018 07:00:04 +0000 (17:00 +1000)]
test: make the touchpad jump test more robust for timing errors
move_to() now uses delays, let's make this test more robust for timing errors
so we don't fall below the threshold movement we want to trigger.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 28 Aug 2018 00:45:14 +0000 (10:45 +1000)]
test: don't run the 2fg pressure tap test on single-touch devices
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 28 Aug 2018 00:29:51 +0000 (10:29 +1000)]
test: fix the late tripletap test
The coordinates ended up being in the first touch detected as palm. Not
relevant for this test, but let's not do that to avoid false positives.
Also change to 10ms intervals, more realistic given the hardware.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 28 Aug 2018 00:12:44 +0000 (10:12 +1000)]
test: fix a touchpad test using the wrong coordinates
We moved to 60/60 before, not 50/50.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Aug 2018 06:31:12 +0000 (16:31 +1000)]
test: fix pad_button_ignored test to not trigger the proximity timeout
Once we start working with real event frames (i.e. intervals after SYN_REPORT)
we'll always trigger the proximity timeout here. Avoid this by sending one
event with all buttons.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Aug 2018 05:46:31 +0000 (15:46 +1000)]
test: rename the diagonal scroll test for more clarity
This one only starts with diagonal but continues vertically. Make it clearer.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Aug 2018 05:19:58 +0000 (15:19 +1000)]
test: fix a DWT test, only worked because of timing success
This test only succeeded because all events were sent within the dwt timeout.
Change it to actually test the behavior of a touch being disabled by DWT and
staying disabled.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Aug 2018 05:15:37 +0000 (15:15 +1000)]
test: drop two erroneous checks in the dwt tests
These only succeeded because the test suite doesn't use frame intervals - as
soon as the time between event frames is nonzero, we may fail these.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Aug 2018 04:28:58 +0000 (14:28 +1000)]
test: don't use move_to for a single-step movement
If we only want one event anyway...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Aug 2018 03:26:04 +0000 (13:26 +1000)]
test: re-use code in litest_touch_move_to()
We can use the _extended version here. And it turns out the behavior was
slightly different, with the _extended version doing one step too few.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Aug 2018 01:14:05 +0000 (11:14 +1000)]
tools: fix grab handling in libinput debug-gui
The libinput context's user_data was used for deciding whether to grab the
event device but also to hold the struct window data for the debug-gui. Worked
fine for the initial batch of devices, but any device coming in late would
just use the first field of the struct window to decide whether to grab or
not.
Fixes #122
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 26 Aug 2018 22:26:00 +0000 (08:26 +1000)]
fallback: explicitly ignore external keyboards for the tablet mode switch
We already had a check to only pair trackpoints and internal keyboards
but for the ThinkPad Compact Bluetooth Keyboard with TrackPoint that isn't
sufficient - it's an external keyboard that contains a trackpoint. Explicitly
ignore external keyboard, we never want to shut those down in tablet mode
anyway.
Fixes #119
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 26 Aug 2018 22:26:45 +0000 (08:26 +1000)]
quirks: explicitly mark bluetooth keyboards as external
Required by #119
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Kim Lindberger [Fri, 17 Aug 2018 13:12:58 +0000 (15:12 +0200)]
Add quirk to control velocity averaging, disable it by default
libinput applies averaging to the velocity of most pointer devices. Averaging
the velocity makes the motion look smooth and may be of benefit to bad input
devices. For good devices, however, it comes at the unfortunate price of
decreased accuaracy.
This change turns velocity averaging off by default (sets ntrackers to 2 instead
of 16) and allows for it to be turned back on via a quirk, for bad devices which
require it.
Kim Lindberger [Wed, 22 Aug 2018 01:08:49 +0000 (11:08 +1000)]
tools: fix ptraccel-debug tool for the new trackpoint multiplier
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 21 Aug 2018 21:25:23 +0000 (07:25 +1000)]
gitlab CI: increase the artifacts expiry to 6h
20 min for the "this docker image is ok" marker should be enough but not when
we're hit with random stuck containers in the next stage. By the time those
time out the artefacts have been removed and we now get a dependency error,
forcing us to re-run the whole pipeline.
Since the marker is only a few bytes, we can keep this for a bit longer
without risking running out of space.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Carlos Garnacho [Tue, 21 Aug 2018 09:51:09 +0000 (11:51 +0200)]
quirks: Add quirks for Acer Switch Alpha 12
This is a 2-in-1 laptop with detachable keyboard. The AT keyboard
device is used for tablet-integrated keys (volume, leftmeta) and
should not get disabled with tablet-mode enabled.
The touchpad integrated in the detachable keyboard is already
handled through the "Acer Hawaii Keyboard" chicony rule.
Related: https://gitlab.freedesktop.org/libinput/libinput/issues/115
Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Atri Bhattacharya [Tue, 21 Aug 2018 01:35:00 +0000 (03:35 +0200)]
Lenovo MIIX 720 quirk: MatchBus should be usb.
Fixes commit
0d62c8fb.
Atri Bhattacharya [Tue, 21 Aug 2018 00:45:26 +0000 (02:45 +0200)]
Add quirks for Lenovo MIIX 720.
* Lenovo MIIX 720 is a tablet with a detachable keyboard. To keep
the volume rockers on the tablet enabled even when the keyboard
is detached, add `ModelTabletModeNoSuspend=1` to the internal
keyboard.
* The external keyboard is a keyboard-touchpad combo. Assign
`AttrTPKComboLayout=below` to the touchpad to allow features
like disable-while-typing and palm-detection.
Peter Hutterer [Mon, 20 Aug 2018 08:08:31 +0000 (18:08 +1000)]
quirks: remove the multiplier for the Lenovo UltraNav SK-8845
Looks like this isn't needed, see #112. Or Lenovo re-used USB IDs for this
device in which case we'll have to figure out some other solution once someone
complains.
Fixes https://gitlab.freedesktop.org/libinput/libinput/issues/112
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Aug 2018 05:25:48 +0000 (15:25 +1000)]
touchpad: improve pointer jump detection
Previously, we had a hard threshold of 20mm per event frame. That is just
about achievable by really fast movements (in which case you don't care too
much about the jumps anyway because you've already hit the edge of the screen).
Sometimes pointer jumps have lower deltas that are achievable even on slower,
more likely motions. Analysis of finger motion has shown that while a delta
>7mm per event is possible, jumping _by_ 7mm between two events is unlikely
and indicates a pointer jump. So let's diff the most recent delta and the
current delta, if it increases by 7mm between two event frames let's say it's
a pointer jump and discard it.
Helps with but does not fully resolve:
https://gitlab.freedesktop.org/libinput/libinput/issues/80
https://gitlab.freedesktop.org/libinput/libinput/issues/36
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 19 Aug 2018 23:49:55 +0000 (09:49 +1000)]
doc/user: move the tablet capabilities debugging to a separate page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Matt Mayfield [Sun, 19 Aug 2018 16:54:52 +0000 (11:54 -0500)]
doc/user: correct some small typos
Peter Hutterer [Thu, 16 Aug 2018 02:39:15 +0000 (12:39 +1000)]
doc/user: move the trackpoint multiplier debugging to Troubleshooting
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 16 Aug 2018 02:26:27 +0000 (12:26 +1000)]
doc/user: fix two links for sphinx syntax
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Aug 2018 23:01:46 +0000 (09:01 +1000)]
libinput 1.11.902
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 17 Jul 2017 04:26:34 +0000 (14:26 +1000)]
test: when testing for a touch sequence, assert it's the same slot's sequence
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Aug 2018 04:23:28 +0000 (14:23 +1000)]
touchpad: drop check for left button areas
No functional changes, anything that's in the top/bottom area but not in the
respective middle/right area is a left button.
Introduced by
13bda5adcb2f81f8ed9de762910ac9ecfa3b250b
Fixes coverity complaint about use of uninitialized variable.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Aug 2018 04:00:54 +0000 (14:00 +1000)]
touchpad: change the min vector for the scroll lock to 0.15
This makes the difference between noticable delay and unnoticable while having
virtually no false positives (for me).
https://gitlab.freedesktop.org/libinput/libinput/issues/101
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 7 Aug 2018 04:49:27 +0000 (14:49 +1000)]
touchpad: if a finger in the button area moves by more than 5mm, release it
The software button area is currently a partially-dead area. If the finger
moves into or out of the area pointer motion works. Finger motion within the
area however does not generate motion.
The main motivation for this was to avoid accidental pointer motion when a
button is pressed. This is required for stationary fingers but once you move a
significant distance, those bets are off.
So if the finger moves by more than 5mm from where it was put down, release it
and let it move the pointer.
The full impact is largely limited to horizontal movements within the button
area because:
- leaving the finger at the bottom area for 300ms without movement triggers
the thumb identification, so it won't move anyway.
- moving the finger north is likely to go off the button area before we
trigger this threshold.
https://gitlab.freedesktop.org/libinput/libinput/issues/86
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 7 Aug 2018 05:28:11 +0000 (15:28 +1000)]
touchpad: coding style fixes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 7 Aug 2018 04:33:47 +0000 (14:33 +1000)]
touchpad: rename 'curr' to 'current'
We can affort the extra 3 bytes storage.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 02:55:13 +0000 (12:55 +1000)]
quirks: don't allow single quotes for values
At least not opening single quotes, same as the double quotes we already have.
Add the tests for both.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 02:11:15 +0000 (12:11 +1000)]
tests: more tests for quirks handling
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 9 Aug 2018 23:23:43 +0000 (09:23 +1000)]
test: add tests for successful/failing parsing of various quirks
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 02:17:07 +0000 (12:17 +1000)]
test: fix quirks test for invalid bus type matches
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 00:44:30 +0000 (10:44 +1000)]
util: tighten safe_atod parsing to only parse 'normal' numbers
We don't have a sensible use case where we want hex to double, or INF to
double, or any of that. So check the strings for invalid characters and bail
out early. Invalid characters include 'e' and whitespaces too, we don't need
those.
Small chance of things breaking: if the user-exposed calibration matrix
property was specified using hex numbers this will stop working now. I'll take
that risk.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 00:50:39 +0000 (10:50 +1000)]
util: switch to a check for isnormal for safe_atod
Effectively the same check as before but this should also encompass
FP_SUBNORMAL.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 9 Aug 2018 23:18:47 +0000 (09:18 +1000)]
util: fail property parsing if the dimensions are 0
There is no use-case for a zero width/height in anything using that property.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Aug 2018 06:32:06 +0000 (16:32 +1000)]
test: replace hand-rolled backtrace function with gstack
Let's use something that specializes in that task and does a better job of it
than whatever we'll come up with. Due to how it's implemented the stacktrace
will always show waitpid() as frame 0 now but we can live with that.
gstack prints to stdout but litest_log() uses stderr, so we cannot just call
system(), we have do do the pipe/fork/exec/waitpid/read dance.
We could use that to filter the #0 frame showing waidpid() from gstack but
meh.
This drops the libunwind and addr2line dependency and replaces it with gstack
instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 01:54:24 +0000 (11:54 +1000)]
meson.build: the selftest doesn't need all litest sources
Drops about 70 ninja targets.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 01:39:04 +0000 (11:39 +1000)]
test: remove the deviceless test runner, make it a commandline arg instead
No need to rebuild everything with an ifdef, we can just use meson to pass an
argument to the test itself and filter based on that. This drops about 100
ninja targets.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 01:32:31 +0000 (11:32 +1000)]
test: switch two ints to bools
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 10:40:44 +0000 (20:40 +1000)]
doc/user: move touchpad jitter to troubleshooting
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 10:39:49 +0000 (20:39 +1000)]
Fix doc links to use dashes, not underscores
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Aug 2018 10:38:23 +0000 (20:38 +1000)]
doc/user: move the jumping cursor page to troubleshooting
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Aug 2018 10:55:58 +0000 (20:55 +1000)]
test: ensure we write something during litest_sendfile
This mostly shuts up coverity about potentially using a negative size to
write.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Aug 2018 05:39:18 +0000 (15:39 +1000)]
test: remove an obsolete comment
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Aug 2018 04:02:15 +0000 (14:02 +1000)]
meson.build: drop the now-unused liblitest
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Aug 2018 01:18:20 +0000 (11:18 +1000)]
doc: use configure_file()'s @PLAINNAME@ instead of calling install
Instead of calling out to install on every ninja call, use @PLAINNAME@ as
substitution for just copying the file over. This gets around the "no
directory allowed in output file" limitation.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Aug 2018 01:01:38 +0000 (11:01 +1000)]
doc/api: drop git-version.dox
No longer needed
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Aug 2018 01:21:12 +0000 (11:21 +1000)]
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>
Peter Hutterer [Wed, 8 Aug 2018 02:03:13 +0000 (12:03 +1000)]
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>
Peter Hutterer [Wed, 8 Aug 2018 01:36:18 +0000 (11:36 +1000)]
meson.build: fix typo in version to compare to
Introduced in
e428e5e87a83127db90476e5a7d7e48546fafd6f
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Matt Mayfield [Wed, 8 Aug 2018 16:31:57 +0000 (11:31 -0500)]
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.
Matt Mayfield [Wed, 8 Aug 2018 16:00:22 +0000 (11:00 -0500)]
test: touchpad: add tests for 90 degree scroll (axis lock)
Matt Mayfield [Tue, 7 Aug 2018 14:34:28 +0000 (09:34 -0500)]
doc/user: add 90-degree scroll behavior
Peter Hutterer [Tue, 7 Aug 2018 02:42:40 +0000 (12:42 +1000)]
tools: debug-*: show unaccelerated deltas for pointer events
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 6 Aug 2018 23:34:49 +0000 (09:34 +1000)]
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>
Peter Hutterer [Mon, 6 Aug 2018 23:53:28 +0000 (09:53 +1000)]
test: touchpad: swap an int for a bool
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 6 Aug 2018 23:56:54 +0000 (09:56 +1000)]
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>
Peter Hutterer [Mon, 6 Aug 2018 22:26:53 +0000 (08:26 +1000)]
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
bc9f16b40e23a1d25c105a4207b97d65253f0d98
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 6 Aug 2018 05:24:04 +0000 (15:24 +1000)]
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>
Peter Hutterer [Mon, 6 Aug 2018 05:19:57 +0000 (15:19 +1000)]
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>
Peter Hutterer [Mon, 6 Aug 2018 04:06:48 +0000 (14:06 +1000)]
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>
Peter Hutterer [Mon, 6 Aug 2018 03:37:30 +0000 (13:37 +1000)]
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>
Peter Hutterer [Mon, 6 Aug 2018 03:37:00 +0000 (13:37 +1000)]
doc/user: add the quirks tool to the tool list
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 6 Aug 2018 03:31:34 +0000 (13:31 +1000)]
doc/user: match the quirks list output with the code
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Matt Mayfield [Sun, 5 Aug 2018 17:55:02 +0000 (12:55 -0500)]
Remove seemingly extra pasted line from license
Peter Hutterer [Thu, 2 Aug 2018 06:58:58 +0000 (16:58 +1000)]
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>
Peter Hutterer [Fri, 13 Jul 2018 06:08:54 +0000 (16:08 +1000)]
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>
Peter Hutterer [Fri, 13 Jul 2018 06:24:04 +0000 (16:24 +1000)]
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>
Peter Hutterer [Fri, 13 Jul 2018 06:04:35 +0000 (16:04 +1000)]
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>
Peter Hutterer [Fri, 13 Jul 2018 05:45:22 +0000 (15:45 +1000)]
fallback: move flushing MT events to a helper function
No functional changes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 13 Jul 2018 05:41:59 +0000 (15:41 +1000)]
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>
Peter Hutterer [Fri, 13 Jul 2018 05:22:23 +0000 (15:22 +1000)]
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>
Peter Hutterer [Fri, 3 Aug 2018 01:15:31 +0000 (11:15 +1000)]
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>
Peter Hutterer [Fri, 3 Aug 2018 01:04:18 +0000 (11:04 +1000)]
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>
Peter Hutterer [Fri, 3 Aug 2018 00:13:09 +0000 (10:13 +1000)]
Revert "doc/user: add a custom 404 page"
Nope, doesn't work, our server doesn't support htaccess.
This reverts commit
548e0eb98b46e328a64215323962c11df17b49ce.
Peter Hutterer [Thu, 2 Aug 2018 05:02:18 +0000 (15:02 +1000)]
util: remove now-unused helper functions
Obsolete with the switch to the device quirks
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 2 Aug 2018 01:01:50 +0000 (11:01 +1000)]
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>
Peter Hutterer [Wed, 1 Aug 2018 23:52:59 +0000 (09:52 +1000)]
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>
Peter Hutterer [Wed, 1 Aug 2018 23:44:01 +0000 (09:44 +1000)]
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>
Peter Hutterer [Wed, 1 Aug 2018 23:37:54 +0000 (09:37 +1000)]
doc/user: swap some note out with hint
Because why not...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 1 Aug 2018 23:30:57 +0000 (09:30 +1000)]
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>
Peter Hutterer [Wed, 1 Aug 2018 22:47:06 +0000 (08:47 +1000)]
doc/user: drop the old page-hierarchy page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 1 Aug 2018 07:12:38 +0000 (17:12 +1000)]
doc/user: use extlink for a common commit links
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 1 Aug 2018 00:34:22 +0000 (10:34 +1000)]
doc/user: more fixes including adding a device-types section
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 1 Aug 2018 00:16:17 +0000 (10:16 +1000)]
doc/user: tidy up the development page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 1 Aug 2018 23:42:57 +0000 (09:42 +1000)]
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>
Peter Hutterer [Wed, 1 Aug 2018 05:47:03 +0000 (15:47 +1000)]
fallback: add another debug message for tablet-mode keyboard suspend
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 1 Aug 2018 05:28:58 +0000 (15:28 +1000)]
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>
Peter Hutterer [Tue, 31 Jul 2018 08:17:48 +0000 (18:17 +1000)]
doc/user: more documentation cleanups and fixes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 31 Jul 2018 06:03:49 +0000 (16:03 +1000)]
doc/user: some rewording and improvements
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 31 Jul 2018 03:00:38 +0000 (13:00 +1000)]
meson.build: fix name of the measure touchpad-tap script
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 31 Jul 2018 00:50:57 +0000 (10:50 +1000)]
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>
Peter Hutterer [Tue, 31 Jul 2018 00:49:47 +0000 (10:49 +1000)]
doc/user: building - promote dependencies to a higher-level section
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 31 Jul 2018 00:48:34 +0000 (10:48 +1000)]
doc/user: the SELinux section doesn't apply to modern meson
Related #96
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>