-
a46f7dff
by Tobias Stoeckmann
at 2019-03-29T11:34:27Z
Removed whitespace from filename.
Having a whitespace at the end of a quirks file is not useful.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
-
1b1a9f63
by Peter Hutterer
at 2019-03-31T23:21:07Z
meson.build: add the toshiba quirks file to the file list
Was added to git in c741a42aec91e6882c83f225c3061cf158fb9c82 but not added to
meson's file list.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
72b3f657
by Peter Hutterer
at 2019-03-31T23:22:43Z
quirks: add a test to make sure all our quirks files are listed in meson
Simple diff between the file list and what ls gives us in the quirks
directory.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
247b2344
by Peter Hutterer
at 2019-03-31T23:45:29Z
tools: record: increase value size to 6 digits
Tablets commonly have higher axis ranges, might as well make sure they line
up.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
93cec919
by Benjamin Tissoires
at 2019-04-01T04:11:20Z
CI: remove the bootstrapping stage
We want to have a common repo for the containers templates.
So we can reuse the produced image from this repo and remove our custom
bootstrap image.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
ab653668
by Benjamin Tissoires
at 2019-04-01T04:11:20Z
CI: heavily rework the container creation
Now everybody gets to rebuild their own containers if there is a change
(too old or change in the packages). This should allow the MR touching
the package list to succeed.
Removal of the container_check stage, we can just have this in a
before_script.
Removal of the manual creation of the containers, not needed as we better
just increment <DISTRO>_TAG.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
5789e8b9
by Benjamin Tissoires
at 2019-04-01T04:11:20Z
CI: clean up all but the correct tag
We should rely on the provided tag, not latest.
Move the clean stage at the end, there is no point in running it at
the beginning.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
e2cdc4ef
by Benjamin Tissoires
at 2019-04-01T04:11:20Z
CI: use the template for fedora
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
0ff4088a
by Benjamin Tissoires
at 2019-04-01T04:11:20Z
CI: use templates for Arch
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
67cdd3d2
by Benjamin Tissoires
at 2019-04-01T04:11:20Z
CI: use templates for Ubuntu
For ubuntu, we need to enable some special packages, so use a script.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
51e66ab9
by Benjamin Tissoires
at 2019-04-01T04:11:20Z
CI: do not rebuild the image for regular MR or pushes
We better not rebuild the image in regular operations unless there is a
strong need for it.
We can however set up a scheduled pipeline to rebuild the images once
a week or once a month in the upstream repo, and the forks will fetch
those new images when they need.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
6d96d417
by Benjamin Tissoires
at 2019-04-01T04:11:20Z
CI: simplify the logic for rebuilding the containers
right now the check_if_older_than_a_week rule does (in pseudo-code):
- get timestamp of current image or 0
- get timestamp of upstream image or 0
- if upstream image is newer than current image
copy upstream image into current
- if we are in a scheduled pipeline, or if there is no current image
(timestamp of 0), rebuild the current image
The ci-templates if-not-exists rule does:
- if there is a current image, exit
- if there is an upstream image, copy it to current and exit
- rebuild
Having the following is equivalent to the current behaviour and
can be used instead of check_if_older_than_a_week:
- if there is an upstream image, copy it to current and exit
- if there is a current image, exit
- rebuild
Because what matters is:
forks should be running the upstream image if available
forks should be running the latest upstream image in the libinput case
forks should be able to rebuild the images if there is no upstream
(change of the image tag)
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
795c08eb
by Peter Hutterer
at 2019-04-01T04:33:11Z
tools: switch measure-fuzz to use python-libevdev
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
deb759a0
by Peter Hutterer
at 2019-04-01T04:33:11Z
tools: switch measure-touch-size to python-libevdev
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
33afe9f8
by Peter Hutterer
at 2019-04-01T04:33:11Z
tools: switch measure-touchpad-pressure to python-libevdev
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
274b80d0
by Peter Hutterer
at 2019-04-01T04:33:11Z
tools: switch measure-touchpad-tap to python-libevdev
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
e5fdd59b
by Peter Hutterer
at 2019-04-01T06:00:35Z
meson.build: bump to 1.13.900
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
67ddce09
by Peter Hutterer
at 2019-04-02T00:48:20Z
test: drop some unnecessary extern declarations
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
4bb2899d
by Peter Hutterer
at 2019-04-02T23:29:32Z
doc/api: add since tags to all functions after 1.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
199f179a
by Peter Hutterer
at 2019-04-02T23:42:35Z
doc/api: minor style changes
Reduces the size of the group name in the title.
Removes the background image from the navpath where it appears (file reference
page for example).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
caadad75
by Ian Douglas Scott
at 2019-04-03T15:27:40Z
Enable ModelTabletNoProximityOut quirk on HP Spectre 13-ap0xxx
Ideally, this should probably match a broader range of devices. But I'm
not sure what it should specify.
Fixes #261
-
4912e7ed
by Peter Hutterer
at 2019-04-04T05:51:34Z
tablet: move the current tool bits into a substruct
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
ca1a75a9
by Peter Hutterer
at 2019-04-04T05:51:34Z
tablet: log a bug when a tablet switches between tools directly
We expect the kernel to transition properly for us, e.g. BTN_TOOL_PEN goes to
0, BTN_TOOL_ERASER goes to 1. Two cases have surfaced recently where this
doesn't happen and debugging this takes time - so let's warn about it to make
it obvious.
Example 1: https://github.com/linuxwacom/libwacom/issues/70
Example 2: https://gitlab.freedesktop.org/libinput/libinput/issues/259
This is just a warning, nothing more. We should just handle that case
accordingly but that requires more effort.
Fixes #260
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
b31d842a
by Lubomir Rintel
at 2019-04-05T17:16:23Z
quirks: speed up the TrackPoint on the IBM USB UltraNav keyboard a bit
By default it's unbearably slow.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
-
9bba1499
by Peter Hutterer
at 2019-04-08T01:19:19Z
tablet: always enable the proximity out quirk
Don't require a quirk update, just enable this by default for all tablets. If
we get a proximity out event at the right time, the quirk is disabled for that
tablet for the rest of its lifetime. And it's virtually impossible to have a
false positive here anyway - you cannot hold the pen still enough to not
trigger events for 50ms.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
502e54f9
by Peter Hutterer
at 2019-04-08T01:19:51Z
tablet: add missing linebreak after error message
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
0f44173f
by Peter Hutterer
at 2019-04-08T01:19:51Z
tablet: fix some code alignment
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
80a52c28
by Peter Hutterer
at 2019-04-08T01:19:51Z
tools: use American spelling for 'unrecognized'
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
32bf9f29
by Peter Hutterer
at 2019-04-09T03:41:03Z
tools: fix waiting for the tool to quit in the options test
Just use the wait() timeout directly instead of sleep and kill. This allows us
to have a longer timeout and still get fast handling where the tool
immediately exits, but less failure when running on busy machines.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
bdd6f3d4
by Peter Hutterer
at 2019-04-09T03:41:03Z
test: actually filter events when writing to udev
Don't write events to the uinput device if we disabled that specific event
code.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
1a1b6070
by Peter Hutterer
at 2019-04-09T03:41:37Z
test: filter BTN_TOOL_PEN correctly for the mouse tool tests
With the previous code we'd set both tools simultaneously which isn't allowed.
It only worked because the second tool set was the one we cared about.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
b8d2fd16
by Peter Hutterer
at 2019-04-09T03:42:13Z
test: fix the hid4800 device's prox out serial number
The test device sent a serial of 0. That would end up creating a new tool in
libinput which is wrong. Let's hope this was just an error in creating the
test device, if the device really sends that sequence, we're in trouble.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
2cdda41a
by Peter Hutterer
at 2019-04-09T03:42:13Z
test: reduce some touch sequences to avoid tablet timeouts
We need to keep those sequences to fall below the tablet proximity timeout.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
f45a8c9e
by Peter Hutterer
at 2019-04-09T03:42:13Z
tablet: tighten the test for tablet button releases on proximity out
Make sure we check the expected sequence more stringent and change the x/y
coordinates on prox in so the kernel doesn't filter them.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
1a5474d1
by Peter Hutterer
at 2019-04-11T04:59:20Z
tablet: add a debugging message when we force a proximity out
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
8040c459
by Peter Hutterer
at 2019-04-11T04:59:20Z
test: add proximity timeout delay to a tablet test
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
f589f496
by Jason Gerecke
at 2019-04-11T05:07:53Z
fallback: Fix ubsan runtime error
Running libinput-test-suite with -fsanitize=undefined highlights the two
following errors. Force C to realize we want an unsigned result by making
the '1' literal unsigned.
../src/evdev-fallback.c:314:22 runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
../src/evdev-fallback.c:377:24 runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
v2: use bit() instead of manual shift 1U<<1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
09e97a52
by Jason Gerecke
at 2019-04-11T07:50:09Z
test: Clean up memory leaks
A few leaks in the test code were found when running linput-test-suite
with the -fsanitize=address option enabled. Clean up these leaks so that
we can more clearly see real issues.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
65784209
by Jason Gerecke
at 2019-04-11T07:50:09Z
test: abort when no default value is available for an axis
And fix the cases where the default value isn't filled in correctly
Issue found because of the following ubsan error:
../src/evdev-tablet.c:182:19: runtime error: signed integer overflow: 0 - -214783648 cannot be represented in type 'int'
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
a99793f2
by Sebastian Krzyszkowiak
at 2019-04-14T05:51:46Z
quirks: add a new Apple vendor ID for Bluetooth devices
Also, set a default AttrTouchSizeRange for Apple touchpads via Bluetooth
to match the one from the USB rule.
Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net>
-
7618c961
by Sebastian Krzyszkowiak
at 2019-04-14T05:51:46Z
evdev-mt-touchpad-buttons: use a model quirk instead of vendor ID to identify Apple devices
Recent Apple touchpads use a proper Bluetooth vendor ID assigned to Apple instead of the USB one,
so this code would have to check for two vendor IDs and their udev types. However, we already
have that matching done via models in quirks, so let's just use that.
Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net>
-
48236ca1
by Sebastian Krzyszkowiak
at 2019-04-14T12:48:40Z
CI: update arch package list
Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net>
-
9deb57e9
by Peter Hutterer
at 2019-04-30T02:31:51Z
tablet: move tablet tool change processing to tablet_flush
Unlike virtually everything else, the tablet tool was processed at the time
the event was read rather than when the subsequent EV_SYN came in. This causes
difficulties with tablets that send the wrong BTN_TOOL_PEN events.
Moving the tool change processing to tablet_flush() makes the injection of the
BTN_TOOL_PEN event a lot easier, simply flipping the matching bit does the
job. It also makes it easier to ignore duplicate tool updates like we've seen
in #259.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
35428559
by Peter Hutterer
at 2019-04-30T05:34:44Z
test: use identifiable shortnames for the Intuos5 devices
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
6229df18
by Peter Hutterer
at 2019-04-30T06:28:29Z
touchpad: rotate the touch part of tablets
Tablets in left-handed mode are rotated, so we need to rotate the touchpad
part of them too. This doesn't affect all tablets though, some of them are
symmetrical and the left-handed mode merely changes the button order around
(some of the earlier Bamboos). So we rely on libwacom to tell us which device
must be rotated.
The rotation itself is done on the input coordinate itself as we get it. This
way any software buttons, palm zones, etc. are automatically handled by rest
of the code.
Fixes #274
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
c35e0e73
by Peter Hutterer
at 2019-05-01T02:03:38Z
test: update valgrind suppressions for a glib leak
Fixed upstream, but it's not in F30 yet so the valgrind tests fail there.
https://gitlab.gnome.org/GNOME/glib/merge_requests/338
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
c6489e82
by Peter Hutterer
at 2019-05-01T22:36:03Z
CI: switch from Fedora 28 to Fedora 30
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
ce971a1d
by Peter Hutterer
at 2019-05-01T22:46:31Z
CI: update Ubuntu from 18.04 to 19.04
Using 18.04 holds back the use of meson test suites in the CI infrastructure
(!216) and it's not likely to get an update to a more recent libinput version
anyway, so let's not bother with it here, even if it is an LTS.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
dd96d6b9
by Peter Hutterer
at 2019-05-02T00:53:54Z
Revert "Reduce button scroll timeout to 38ms"
This introduces a regression, see #265. Reverting until a better solution can
be found.
This reverts commit 5dae7aac3850f37088eaf71e07472d0b8e70922f.
-
d7b1ebef
by Peter Hutterer
at 2019-05-07T04:48:00Z
tools: we don't need a core file for failed option parser tests
SIGQUIT which we send to any successful test of libinput debug-event will
trigger a coredump. We don't need that one.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
e9cfa513
by Peter Hutterer
at 2019-05-07T04:48:00Z
meson: group all tests under suite names
Three suite names to allow for filtering tests: 'valgrind', 'root',
'hardware'. The latter two require root/hardware to succeed, the former labels
tests that should be run under valgrind.
Usage is documented in the docs now, but basically:
$ meson test --setup=valgrind --suite=valgrind
$ meson test --no-suite=root
This is documented a bit now and because we now rely on meson test, let's
replace all ninja test invocations with meson test instead for consistency.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
40f3e260
by Peter Hutterer
at 2019-05-07T04:48:00Z
tools: drop the valgrind check in the option-parsing test
It's not part of the valgrind test suite, so we don't need this check anymore.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
01efe9de
by Peter Hutterer
at 2019-05-07T04:48:00Z
test: replace the USING_VALGRIND env with the valgrind.h header
This header is intended to be included in the project, so let's do that and
have proper runtime detection of the valgrind environment.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
2185a9d6
by Peter Hutterer
at 2019-05-07T04:48:00Z
test: return 77 for skip when we're not running a test
This isn't technically needed since those tests aren't in the valgrind test
suite anymore. But let's have it here anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
32cd8ae0
by Peter Hutterer
at 2019-05-07T04:48:00Z
test: skip the backtrace under valgrind
gstack can't resolve the backtrace under valgrind anyway, so let's just skip
it altogether.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
291313e7
by Peter Hutterer
at 2019-05-07T04:48:00Z
CI: use meson test instead of ninja test
This way we can use the test suites to exclude the ones that won't run on a
container.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
cac9d537
by Peter Hutterer
at 2019-05-07T04:48:00Z
test: drop the SKIP_LIBINPUT_TEST_RUNNER environment variable
We have the meson test suites now that we can use to filter which tests to
run, let's use those.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
803a99ac
by Peter Hutterer
at 2019-05-08T04:09:28Z
test: fix a bunch of tests expecting BTN_TOOL_TRIPLETAP
A device may have 1 or 2 slots without setting BTN_TOOL_TRIPLETAP, those
devices will fail those tests.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
632b0f74
by Peter Hutterer
at 2019-05-08T04:09:28Z
test: fix the wacom bamboo touch device
Missing buttons caused it to fail sanity checks in some cases.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
192f063c
by Peter Hutterer
at 2019-05-08T04:09:28Z
tablet: indentation fix
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
902f1014
by Peter Hutterer
at 2019-05-08T04:09:28Z
tablet: add an extra debug message
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
9802ada6
by Peter Hutterer
at 2019-05-08T04:09:28Z
touchpad: don't check libwacom if we're not tagged as tablet touchpad
No need to go through the effort if we're not tagged as a tablet+touchpad
device anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
d5bdf7f2
by Peter Hutterer
at 2019-05-08T04:09:28Z
touchpad: fix two debug messages to have the same prefix as the rest
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
1e73cccf
by Peter Hutterer
at 2019-05-09T03:57:45Z
test: make the test case failure output easier to select
Split the suite and test case name up so it's easier to select with a
double-click in the terminal. Because usually those tests need to be re-run
individually and making that easier is a good thing.
Previously:
:: Failure: ../test/test-tablet.c:4434:touch_arbitration:wacom-cintiq-13hdt-pen-tablet
Now:
:: Failure: ../test/test-tablet.c:4434: touch_arbitration(wacom-cintiq-13hdt-pen-tablet)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
4cd332c9
by Peter Hutterer
at 2019-05-26T23:10:23Z
fallback: make a debug log prefix more consistent
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
08da56dc
by Peter Hutterer
at 2019-05-26T23:52:04Z
test: assign ID_INPUT_TABLET to the bamboo/intuos5 touchpad parts
We rely on libwacom to set this, but it doesn't do so by default for uinput
devices. Let's set this here so the parts are correctly detected as tablet
touchpads.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
8b3aca4c
by Peter Hutterer
at 2019-05-26T23:52:04Z
test: fix a typo in the test device name
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
4f63345b
by Peter Hutterer
at 2019-05-27T00:16:35Z
tablet: don't disable the proximity quirk on good sequences
There are tablets out there that *sometimes* send the right event sequence,
but are generally broken. So let's not disable that quirk even if we do get a
right sequence.
Affected devices: Lenovo Flex 5
Fixes #248
Fixes #290
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
82967390
by Peter Hutterer
at 2019-05-27T01:13:48Z
tools: add --apply-to to debug-events and debug-gui
All configuration options will only apply to the device with the given match
mattern. This makes it easier to test things like tapping on one device but
not on the other.
Exception is the sendevents pattern which applies independently.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7f4eb8ad
by Peter Hutterer
at 2019-05-27T03:53:35Z
tablet: lock the tablet rotation to the touchpad rotation
Follow-up to 6229df184e8a03e76ba99483e7f9ecdd9ef02f4a
We must not rely on the caller to toggle the left-handed bits correctly since
they may not know which devices belong together (despite device groups). Let's
do the right thing here, if the touchpad is set to left-handed, rotate the
tablet accordingly.
Note that the left-handed setting of the touchpad is left as-is
(right-handed). Until we have notifications about configuration changes, this
is the best we can do.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
e8bf179f
by Peter Hutterer
at 2019-05-27T03:53:35Z
touchpad: lock the touchpad rotation to the tablet rotation
Follow-up to 6229df184e8a03e76ba99483e7f9ecdd9ef02f4a
We must not rely on the caller to toggle the left-handed bits correctly since
they may not know which devices belong together (despite device groups). Let's
do the right thing here, if the tablet is set to left-handed, rotate the
touchpad accordingly.
Note that the left-handed setting of the tablet is left as-is
(right-handed). Until we have notifications about configuration changes, this
is the best we can do.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
0a4d59d8
by Peter Hutterer
at 2019-05-27T03:53:35Z
test: add test cases for tablet/touchpad left-handed rotation locks
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
64df6466
by Peter Hutterer
at 2019-05-27T11:02:33Z
test: split a test up into events vs processing
Running under valgrind, this test often fails when the machine is under load.
Split it up so the events are all processed in one go, reducing the chance of
getting a timeout while processing a previous event.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
d2cce829
by Peter Hutterer
at 2019-05-27T11:02:33Z
test: always set CK_FORK=no under valgrind
Set this in the code rather than the environment variable to make it easier to
run valgrind manually.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
fe8a0eee
by Peter Hutterer
at 2019-05-27T11:02:33Z
test: make all tap tests use the "tap" group prefix
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
9b414fae
by Peter Hutterer
at 2019-05-28T00:23:25Z
test: allow for a LITEST_JOBS environment variable
valgrind struggles with too many parallel jobs, too easy to hit timeouts.
Let's reduce this for the valgrind runs.
Meson doesn't let us pass arguments through depending on the setup, so let's
make this an environment value.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
ee1bc318
by Peter Hutterer
at 2019-05-28T00:32:08Z
Abstract libwacom database initialization into a single place
No real changes for the non-tablet code, but for tablets we now keep the
libwacom datbase around. The primary motivating factor here is response time
during tests - initializing the database under valgrind took longer than the
proximity timeouts and caused random test case failures when a proximity out
was triggered before we even got to process the first event.
This is unfortunately a burden on the runtime now since we keep libwacom
around whenever a tablet is connected. Not much of an impact though, I
suspect, chances are you're running a web browser and everything pales against
that anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7147d5a2
by Peter Hutterer
at 2019-05-28T00:32:08Z
test: don't treat a signal exit as success
WEXITSTATUS() "should be employed only if WIFEXITED returned true", see
wait(2). If a test failed with an abort, WIFEXITED is false and WEXITSTATUS
is... undefined? and apparently zero, so test case failures would cause a
false postive test result.
This doesn't affect a normal test run because check handles the aborts
correctly, but the valgrind invocation with CK_FORK ended up being handle by
litest. So with the result that any abort during valgrind was a silent success
and if there was a memleak in the same process that exited with a signal, the
memleak would be ignored too.
Fixes #267
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
b3a7f22a
by Peter Hutterer
at 2019-05-28T00:34:52Z
gitlab CI: switch F29 special builds to F30
Let's test all these on the most recent version
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
5e3c4578
by Peter Hutterer
at 2019-05-28T02:55:17Z
quirks: handle ID_INPUT_KEY as udev keyboard match
We handle that as keyboard in the evdev code, let's do so here as well.
Related to #291
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
3dc27d5d
by Peter Hutterer
at 2019-05-28T03:23:49Z
test: add a missing blank line
-
8dfe8c68
by Peter Hutterer
at 2019-05-28T03:23:49Z
quirks: add trackpoint integration attribute
Some versions [1] of the Lenovo ThinkPad Compact USB Keyboard with TrackPoint USB
have the pointing stick on an event node that has keys but is not a regular
keyboard. Thus the stick falls through the cracks and gets disabled on tablet
mode switch. Instead of adding more hacks let's do this properly: tag the
pointing stick as external and have the code in place to deal with that.
[1] This may be caused by recent kernel changes
Fixes #291
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
3b0f068e
by Peter Hutterer
at 2019-05-28T04:10:54Z
Warn if NDEBUG is defined
We rely on assert() too much for safety checks, let's not let the user disable
it without warning
Fixes #262
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
c9a936f1
by Peter Hutterer
at 2019-06-03T00:10:40Z
test: drop two unreachable statements
This was a copy-paste error in the form of
while(event) {
...}
} while(event);
Found by coverity.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
58ce4960
by René Genz
at 2019-06-04T01:44:38Z
doc/user: fix some typos
-
fe472329
by Peter Hutterer
at 2019-06-05T03:03:11Z
doc/api: more CSS styling
-
52e86f4b
by Peter Hutterer
at 2019-06-07T01:03:21Z
test: force the litest feature enum to be 8 bytes or more
We've used up all bits, so let's extend the enum. (1 << 31) triggers an
assertion because we check for > LITEST_DEVICELESS. So we can't use that bit
without other changes.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
17d79244
by Peter Hutterer
at 2019-06-07T01:03:21Z
tablet: add a the Totem tool type to the tablet interface
This is the public API only, not the internal bits, so nothing will work just
yet.
This interface addition is for the Dell Canvas Totem tool, so let's go with
the same name because options like "Rotary" are too ambiguous.
The totem is a knob that can be placed on the surface, it provides us with
location and rotation data. The touch major/minor fields are filled in by the
current totem, but they're always the same size.
The totem exports BTN_0 as well, so let's add that to the debug-events output.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
bf427762
by Peter Hutterer
at 2019-06-07T01:03:21Z
Add a new dispatch interface for the Dell Canvas Totem
This device looks similar to a MT device on the kernel side, but it's not a
MT device and it's not quite a tablet either. It uses slots to track up to 4
totems off the same device and the only hint that it's not a MT device is that
it sends ABS_MT_TOOL_TYPE / MT_TOOL_DIAL.
udev thinks it's a touchscreen and a tablet but we currently init those
devices as touchscreen (because all wacom tablet touch devices are udev
tablets+tochscreens). So we need a quirk to hook onto this device.
And we use a completely separate dispatch implementation, because adding the
behavior to the tablet interface requires so many exceptions that it's easier
to just add a separate dispatch interface.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
410b157e
by Peter Hutterer
at 2019-06-07T01:16:05Z
udev: only change the fuzz on touchpads and touchscreens
If we don't handle a device, don't touch it. Especially joysticks that we
don't handle and thus should not touch either.
Related to !231
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
383a60ab
by Zach Moazeni
at 2019-06-07T01:20:44Z
Better Thinkpad T480 trackpoint multiplier
-
164a6a81
by Peter Hutterer
at 2019-06-11T05:49:02Z
test: fix an intermitted failing test
The touchpad_2fg_scroll_initially_diagonal test would semi-reliably fail under
valgrind but succeed otherwise. Cause was that on some devices, the initial
diagonal movement wasn't diagonal enough and closer to a horizontal movement.
This was fine on normal runs, but under valgrind we'd hit the "active
threshold" time limit and lock to horizontal scrolling, ditching the remaining
events and failing the test.
Fix this by calculating the scroll vector based on the device's width/height
ratio and go "more diagonal" on the initial vector.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
8a15c404
by Peter Hutterer
at 2019-06-11T05:49:02Z
test: abort if our device didn't initialize
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
90216a01
by Peter Hutterer
at 2019-06-11T05:49:02Z
path: drop the separate header, not necessary
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
a3ea7a68
by Peter Hutterer
at 2019-06-11T05:49:02Z
udev: don't init the quirks until we checked all arguments
If we fail with an invalid argument, there's no need to initialize all the
quirks beforehand.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
03a1c496
by Peter Hutterer
at 2019-06-11T05:49:02Z
path: factor out the seat creation into a helper function
No functional changes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
36284def
by Peter Hutterer
at 2019-06-11T05:49:02Z
path: initialize the quirks context after error checking
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
451cbce4
by Peter Hutterer
at 2019-06-11T05:49:02Z
path: add helper function to destroy a device
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
43156b4f
by Peter Hutterer
at 2019-06-11T05:49:02Z
test: add the 24HDT pad to the custom device group
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
9484d137
by Peter Hutterer
at 2019-06-11T05:49:02Z
test: swap a few litest_assert() calls for their more precise cousins
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
1d57eda9
by Peter Hutterer
at 2019-06-11T05:49:02Z
test: remove a duplicate check
We already checked that pointer a few lines earlier
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
3a6d8c58
by Alex Flowers
at 2019-06-12T06:24:44Z
quirks: add a quirk for the Lenovo X1 Yoga 1st gen
Signed-off-by: Alex Flowers <afpv72@gmail.com>
-
e439d740
by Peter Hutterer
at 2019-06-13T01:02:42Z
tools: display tablet and tablet pad buttons when pressed
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
8bfa1aa0
by Peter Hutterer
at 2019-06-13T01:02:42Z
tools: handle pad strip/ring events in the debug-gui
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
c3005ce4
by Peter Hutterer
at 2019-06-13T01:02:42Z
tools: describe the various debug-gui features in the man page
There are too many things now to make it immediately obvious, let's describe
all this accordingly.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
f70b8056
by Peter Hutterer
at 2019-06-13T22:52:25Z
test: replace the double assert macros with proper checks
Instead of value * 256 which makes for bad debug messages, expand it to a full
double test with a 1/256 epsilon.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
3b7b9ef6
by Peter Hutterer
at 2019-06-13T22:52:25Z
test: adjust the relative pointer motion test for low-dpi devices
This escaped us before because the MOUSE_DPI setting on the low-dpi device was
ignored thanks to a broken udev rule (see a future commit for that).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
bb662322
by Peter Hutterer
at 2019-06-13T22:52:54Z
test: remove invalid GOTO in udev rule
This was always jumped over because for this device, the touchpad was never
set anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
9dbcc686
by Peter Hutterer
at 2019-06-13T22:52:58Z
test: auto-generate the udev rules
We only ever set properties in the devices, so let's make that more explicit
and auto-generate the udev rule. This way we're hopefully better protected
from the various typos that hid in those rules over the years, but also be
prepared for passing the udev property key/value pairs elsewhere.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
f84bfe37
by Peter Hutterer
at 2019-06-13T22:52:58Z
test: only write one single rules file for our device quirks
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
4740ad7a
by Michael Forney
at 2019-06-15T22:13:41Z
Remove semicolons after function definitions
Signed-off-by: Michael Forney <mforney@mforney.org>
-
9d1b43d2
by Michael Forney
at 2019-06-15T22:24:10Z
Avoid unnecessary VLAs
When the array length is fixed, or bounded by a fixed upper bound,
just use that fixed length.
Signed-off-by: Michael Forney <mforney@mforney.org>
-
7160db05
by Michael Forney
at 2019-06-15T22:24:10Z
Avoid case ranges in switch statement
Signed-off-by: Michael Forney <mforney@mforney.org>
-
39c0d633
by Michael Forney
at 2019-06-15T22:24:10Z
Use bitwise test instead of __builtin_popcount
__builtin_popcount might not be available on all compilers, so using
it requires a configure check and fallback implementation. In fact
on gcc without an -march flag, it gets compiled to a function call to
libgcc. However, we only need to test whether multiple bits are set,
and this can be done easily with a bitwise and.
Signed-off-by: Michael Forney <mforney@mforney.org>
-
552d5aeb
by Michael Forney
at 2019-06-15T22:24:10Z
Don't return _expression_ in function returning void
This is a constraint violation in ISO C[0].
[0] http://port70.net/~nsz/c/c11/n1570.html#6.8.6.4p1
Signed-off-by: Michael Forney <mforney@mforney.org>
-
9c89ab6d
by Michael Forney
at 2019-06-17T02:41:58Z
Replace one more __builtin_popcount with bitwise test
__builtin_popcount might not be available and in this case, a bitwise-and
can accomplish the same task.
Signed-off-by: Michael Forney <mforney@mforney.org>
-
ea5b764e
by Peter Hutterer
at 2019-06-17T04:39:57Z
test: don't make timer offset errors fatal in gdb
No way we can debug without triggering those, so let's not make them fatal.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
ffd8c71e
by Peter Hutterer
at 2019-06-17T04:39:58Z
tablet: fix double proximity out on slow proximity out pens
Where the proximity out event is delayed by the kernel, libinput would cause
an extra proxmity in-out after the forced proximity out event.
Event sequence is basically (k: kernel, l: libinput)
k: tablet axis events
l: tablet axis events
k: nothing for $proximity timer milliseconds
l: tablet proximity out
k: proximity out event
l: proximity in event
l: proximity out event
Fixes #306
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
d13e11c2
by Peter Hutterer
at 2019-06-17T04:39:58Z
quirk: drop the ModelTabletNoTilt quirk
This quirk is unused, use AttrEventCodeDisable instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
9cb089f2
by Peter Hutterer
at 2019-06-17T04:39:58Z
tablet: disable the forced proximity out for the Dell Canvas pen
This pen has random timeouts, often when a button is pressed. This causes a
forced proximity out (and the button release) and makes the whole device a
tad unusable.
Nothing we can detect by heuristics since it looks like other devices that
don't send proximity out events. And the timeout can be quite high, the
recording in #304 has over 800ms for one sequence.
Fixes #304
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
305251e6
by Peter Hutterer
at 2019-06-18T04:18:47Z
touchpad: slightly change a debug message
Makes it clearer that thumb detection always enables area-based detection.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
1d9e32c9
by Peter Hutterer
at 2019-06-18T04:18:47Z
test: rename/fix/move thumb tests
These were supposed to test the thumb area, but the pressure exceeded the
threshold for most devices, thus ending up testing the palm detection instead.
Fix to use a timeout where possible, otherwise move them to the palm detection
code instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
84872fa3
by Peter Hutterer
at 2019-06-18T08:29:19Z
test: fix the clickfinger thumb test
This test was putting both fingers down in the thumb area. That's not
representative, it's more likely that a thumb is in the area and the second
finger clicks elsewhere. So let's test for that instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
c3c3c4b2
by Peter Hutterer
at 2019-06-18T08:29:19Z
test: add another test for thumb movements
Small movements mustn't trigger events, large movements should.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
def787fe
by Peter Hutterer
at 2019-06-19T01:08:40Z
test: remove two spurious SYN_REPORTs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
3c84d5c7
by Peter Hutterer
at 2019-06-19T01:08:40Z
test: don't go into the thumb area for the 3fg clickfinger distance check
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
86510031
by Peter Hutterer
at 2019-06-19T01:08:40Z
test: don't form a pinch gesture for the clickfinger distance test
If the fingers are in the position in the current code, that's not a 3fg
click, that's a pinch. Let's use something more realistic.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
b40149f5
by Peter Hutterer
at 2019-06-19T01:08:40Z
test: fix initial coordinates for synaptics tripletap quirk
I don't think there was a specific reason for the second touch point to jump
around here either and the comment indicates it was just to avoid the
clickfinger distance trigger. So let's just move the first touchpoint.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
d82f3b87
by Peter Hutterer
at 2019-06-19T01:08:40Z
test: replace a touch move with a timeout
We only care about the third-finger data here, the movement of the first two
was just to get out of the base tap states. A timeout will do the same thing
here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
62936d8a
by timrichardson
at 2019-06-20T03:55:49Z
X230 trackpoint quirk
-
5bcfbfe9
by Peter Hutterer
at 2019-06-20T22:16:15Z
test: change touchpad 2fg no-motion test to move both fingers simultaneously
In the future we may allow motion with one finger on the touchpad.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
160d3f2b
by Peter Hutterer
at 2019-06-20T22:16:15Z
test: move the fingers closer together for the empty-slot test
If we're testing for this, let's not try to get it picked up as pinch
gestures. Only an issue on the wacom and magic trackpads because of their
physical size.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
996270d1
by Peter Hutterer
at 2019-06-20T22:16:15Z
test: fix button area scroll test to not be a pinch
Second finger's x coordinate was wrong. That we didn't pick this up as pinch
is quite telling too.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
8f8ad0e3
by Peter Hutterer
at 2019-06-20T22:16:15Z
test: use an enum for the cardinals
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
8b4c040b
by Peter Hutterer
at 2019-06-20T22:16:15Z
test: fix the slot swap test
This test worked because no gesture was detected in the initial movement.
If that happens though, releasing one finger triggers the gesture timeout
during which we suppress events, thus failing the test. Fix this by moving,
waiting, moving - that will definitely generate an event.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
1796fd92
by Peter Hutterer
at 2019-06-20T22:16:15Z
test: avoid a pointer jump when testing for the slot continuation
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
015af5f3
by Peter Hutterer
at 2019-06-24T02:30:05Z
test: fix the slot swap test again
The previous movement was one finger still, the second finger moving. This may
cause axis events to trigger when a 2fg scroll gesture was detected. Those
axis events will stop after the gesture timeout but generate one more axis
stop event.
Make two changes here: first, move the fingers like a proper 2fg scroll
motion. And shuffle around the litest_drain_events() calls to ignore any axis
event immediately after the timeout.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
3f557f72
by Peter Hutterer
at 2019-06-24T02:50:08Z
doc: note that libinput measure is a separate package
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
34afe3ba
by Peter Hutterer
at 2019-06-24T02:50:08Z
tools: improve the error messages for measure touch-size/touchpad-pressure
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
d6c07503
by Peter Hutterer
at 2019-06-26T01:21:58Z
Revert "udev: only change the fuzz on touchpads and touchscreens"
This causes a regression - the ID_INPUT_* properties are not available through
libudev within a callout, the device we get here basically has no properties.
Reverts !231
This reverts commit 410b157e8487191a32acf5b3bf3811d40e96dac7.
-
e65392c2
by Peter Hutterer
at 2019-06-26T02:21:17Z
udev: rename libinput-model-quirks rules to libinput-fuzz-override.rules
Because these days, that's all it does
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
1f59f062
by Peter Hutterer
at 2019-06-26T02:21:33Z
udev: only change the fuzz on touchpads and touchscreens (v2)
If we don't handle a device, don't touch it. Especially joysticks that we
don't handle and thus should not touch either.
Related to !231
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
b12084ef
by Peter Hutterer
at 2019-06-26T03:23:55Z
tools: skip debug-gui option testing if the debug-gui is disabled
Fixes #311
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
82102f85
by Peter Hutterer
at 2019-06-26T04:15:09Z
If we never initialized the libwacom database, don't check the refcount
If the libwacom context failed to initialize for some reason, the database is
NULL and the refcount remains at zero. Calling unref should just work then.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
82958a31
by Peter Hutterer
at 2019-06-26T08:27:36Z
evdev: only extract the fuzz for touchpads and touchscreens
We don't have a hysteresis for tablet devices, so let's leave those as-is.
This may be a slight regression in behavior compared to pre-410b157e84 now the
kernel will apply the fuzz. Let's see if anyone notices, the fuzz is usually
so tiny on tablets that it shouldn't be noticable.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
61553432
by Peter Hutterer
at 2019-06-26T11:07:21Z
test: disable coredumps for the selftest
Because on my XPS coredumps take away all the CPU, leading to a test timeout.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
523c82ab
by Peter Hutterer
at 2019-06-26T11:07:24Z
meson: increase the test time for the selftest suite
Because it's timing out on the XPS
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
6a489b06
by Peter Hutterer
at 2019-06-26T11:09:22Z
tools: return 77 if gtk_init() fails in the debug-gui
And when that happens, skip the tests because what's happening here is that
you're running tests as root, but your X server doesn't allow root to connect.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
aa538dc5
by Peter Hutterer
at 2019-06-27T01:17:28Z
meson: force litest to use the right udev rules
We generate litest-specific udev rules that contain the path to the binaries
in the builddir. But litest wasn't using those, so IMPORT would run things in
/usr/lib/udev instead. Thus any changes to those binaries generated false test
results depending on how compatible the system-installed libinput was.
This is why 410b157 passed the test suite for example.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
8d3788fa
by Peter Hutterer
at 2019-06-27T01:17:28Z
evdev: when the kernel fuzz is nonzero, set ours to zero
Our udev callout is supposed to reset the kernel fuzz to 0 and move the value
to the LIBINPUT_FUZZ property. This is to stop the kernel from applying its
own hysteresis-like approach.
Where the kernel fuzz is nonzero, something has gone wrong with that approach.
Complain about it and set our fuzz to zero, we are in the hands of the kernel
now. If we leave our fuzz as nonzero, we'll apply our own hysteresis on top of
the kernel's and that leads to unresponsive behavior.
Fixes #313
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
ffa487fa
by Peter Hutterer
at 2019-06-27T01:20:05Z
quirks: rename the cyapa quirks file to cypress
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
d1af3335
by Peter Hutterer
at 2019-06-28T01:27:13Z
quirks: add touchpad range for cypress touchpads
As found in the Dell XPS 12 9Q23
Fixes #310
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
34584672
by Peter Hutterer
at 2019-07-01T02:18:13Z
test: one O_NONBLOCK is enough
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
cc370f53
by pixl
at 2019-07-05T05:14:31Z
Fixed a grammar error
-
6f6a9d95
by Peter Hutterer
at 2019-07-07T23:44:12Z
test: drop the litest feature enum, make it normal bits instead
The coverity compiler can't handle 64-bit enums and since it does provide
useful data, let's switch this to #defines instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
cc908b68
by Peter Hutterer
at 2019-07-07T23:47:31Z
test: fix two coverity warnings
Alleged division by zero and use of an uninitialized variable. Both cannot
happen the way we call the tests, so let's just abort to make coverity happy.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
734ada5e
by Peter Hutterer
at 2019-07-07T23:53:49Z
test: fix an always-true check for udev properties
Found by coverity
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
63e79420
by Peter Hutterer
at 2019-07-08T03:25:32Z
meson.build: move the leftover udev rule check up
ninja executes the test in the same order but we don't want to waste 5 minutes
testing other things when we have a udev rule leftover from a previous run.
Plus, this test can't be run in parallel with others, so in the worst case we
had to wait for several long-running tests to finish before this one could be
started.
To avoid all this, let's move this up to be the first check.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
47cf7e09
by Peter Hutterer
at 2019-07-08T03:28:47Z
test: use the default job control for --filter-groups
All filter arguments currently force a -j1 unless otherwise specified. Change
this for --filter-group since that one is most likely invoked by some test
setup that can either add -j X or set the environment variable LITEST_JOBS as
well.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7b9affcf
by Peter Hutterer
at 2019-07-08T03:46:20Z
meson: run the test suite per group
We can't run this in parallel so it doesn't gain us any speed advantage. If
anything, it'll be slower because it's more setup time in between. But: meson
doesn't display the result until the test suite finished, so having this
broken up into smaller chunks means we're more likely to see a general failure
early.
And the failure should be quicker to reproduce as well.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
f1873fae
by Peter Hutterer
at 2019-07-10T04:44:23Z
doc/user: fix a typo
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
91644086
by Vladyslav Shtabovenko
at 2019-07-11T09:20:32Z
Introduce Dell Latitude 5480 trackpoint multiplier. Otherwise the
trackpoint is too sensitive.
-
43b910b1
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: reduce state debugging output by only logging changed states
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7e89e43c
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: rename the scroll timeout define, drop the pinch one
The previously 'scroll'-named timeout is also used for swipe, so let's rename
it. And the pinch one isn't used at all.
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
6e27a100
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: add a helper function for checking thumb state
No functional changes
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7c9ed03c
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: add a helper function for counting touches for gestures
Currently the same as tp_touch_active() but this will change.
No functional changes.
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
9e27244e
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: move tp_init_thumb and tp_thumb_detect to the thumb file
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
d232e44c
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: add helper function for setting the thumb state
This moves the thumb state logging directly into that helper function too.
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
c2331ae1
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: explicitly start with detect_thumbs as false
Not needed because we zalloc() anyway, but this makes it grep-able.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
117ef650
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: add helper function to reset a thumb's state
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
93a754c4
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: move the speed-thumb detection code to the thumb helper file
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
47d8f05d
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: extract some bits of thumb detection into helper functions
No functional changes
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7fbfb144
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: rename the thumb detection methods
No functional changes, just prep work for a later patch where the thumbs will
dynamically update their state (instead of just using yes/no/maybe).
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7b9a6a94
by Matt Mayfield
at 2019-07-15T03:08:47Z
touchpad: basic thumb detection within gestures
When a touchpad has thumb detection enabled, avoid false-positive gestures
involving a resting thumb by using two thresholds: inner and outer.
While both touches remain inside their inner thresholds, remain in UNKNOWN
state to allow for accurate gesture detection even with no timeout.
If both touches move outside their inner thresholds, start a pinch or
swipe/scroll gesture according to direction, as usual.
If one touch moves outside its outer threshold while the other has not yet
exceeded its inner threshold, and thumb detection is enabled, then if one
touch is >20mm lower, mark it as a thumb and cancel the gesture.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
e97f0549
by Matt Mayfield
at 2019-07-15T03:08:47Z
gestures: improve scroll responsiveness for vertically aligned touches
Put some basic location checks in, if the fingers are next to each other and
vertically close, assume scroll over swipe.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>:
-
93ab2f96
by Matt Mayfield
at 2019-07-15T03:08:47Z
gestures: improvements to pinch detection
Only bias towards scrolling if the fingers are in the position past the
timeout.
-
1dae79c8
by Peter Hutterer
at 2019-07-15T03:08:47Z
gestures: fast-track scroll/swipe detection when gestures are off
We can't detect pinch when gestures are off anyway, so we don't need to check
the finger distances.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
15c8613a
by Matt Mayfield
at 2019-07-15T03:08:47Z
gestures: Improve thumb detection, allow one finger scroll
Check if there's a thumb if we have two touches. If one finger moves but
the thumb remains still, we assume that one is really a thumb. But if the
thumb moves while the finger is still, let's assume this is a 2-finger scroll.
Extracted from Matt Mayfield's thumb detection patchset
-
28297955
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: add a helper function for supressing a thumb
Only sets the state to YES at the moment, will do more in the future.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
f140826c
by Peter Hutterer
at 2019-07-15T03:08:47Z
touchpad: only log edge scroll state changes when the state actually changes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
181f8d2a
by Peter Hutterer
at 2019-07-15T03:08:47Z
test: only run the speed tests for clickpads
We don't need speed detection for non-clickpads - the only reason to ever drop
a second finger on those is to either scroll or trigger a gesture. Unlike
clickpads, where a dropped finger may be a thumb to click.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
8e4d820e
by Peter Hutterer
at 2019-07-15T03:08:47Z
test: only run the speed finger tests when the touchpad has thumb detection
-
dda6f733
by Peter Hutterer
at 2019-07-15T03:08:47Z
test: make the touchpad size the only check for thumb detection
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
4536b5b3
by Matt Mayfield
at 2019-07-16T23:33:14Z
touchpad: revamp thumb detection
Instead of a simple yes/no/maybe for thumbs, have a more extensive state
machine that keeps track of the thumb. Since we only support one thumb anyway,
the tracking moves to the tp_dispatch struct.
Test case changes:
touchpad_clickfinger_3fg_tool_position:
with better thumb detection we can now handle this properly and expect a
right button (2fg) press for the test case
touchpad_thumb_no_doublethumb_with_timeout:
two thumbs are now always two fingers, so let's switch to axis events here
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
94a7cd49
by Peter Hutterer
at 2019-07-16T23:33:14Z
doc/user: add documentation for the new thumb detection
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
35fd6e6c
by Matt Mayfield
at 2019-07-16T23:33:14Z
touchpad: don't detect speed-based thumbs if there's already a thumb
-
c284d4aa
by Matt Mayfield
at 2019-07-16T23:33:14Z
touchpad: stricter thumb detection if no pressure/size
-
de2767b1
by Peter Hutterer
at 2019-07-17T09:37:21Z
Merge branch 'wip/advanced-thumb-detection-v2'
-
bfec41b7
by Peter Hutterer
at 2019-07-19T01:30:37Z
libinput 1.13.901
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
98070190
by Peter Hutterer
at 2019-07-24T04:57:36Z
tools: skip the event tests for eventless recordings in the YAML verifier
When verifying a recording, let's skip those tests that require events but
don't have any.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
b436585b
by Peter Hutterer
at 2019-07-24T04:57:56Z
tools: handle arguments correctly for the YAML verifier tool
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
9c2ac8f9
by Peter Hutterer
at 2019-07-24T04:57:56Z
tools: record: when running from the builddir, load the quirks correctly
Fixes #324
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7ee232a9
by Jacob Moroni
at 2019-07-28T00:26:16Z
Introduce Dell Latitude 5580 trackpoint multiplier
It is required, otherwise the trackpoint is too sensitive.
Tested with a Dell Latitude 5580.
Signed-off-by: Jacob Moroni <mail@jakemoroni.com>
-
5521ab03
by Jason Gerecke
at 2019-07-29T22:38:36Z
udev: Reproduce entire LIBINPUT_DEVICE_GROUP for paired ExpressKey Remote
In order for two devices to be in the same group, they need to share
identical LIBINPUT_DEVICE_GROUP attributes. The `wacom_handle_ekr` function
overwrites the VID/PID for an ExpressKey Remote, but the 'phys' path is
left unchanged. This only works if the EKR and the device we want to pair
it with are both direct sibings in the USB tree. It isn't always possible
to actually connect the devices like this, however. The Cintiq Pro 32 and
24, for instance, have multiple internal USB hubs and place the pen sensor
and the USB port for the EKR dongle behind different ones.
By copying the 'phys' path of the device we want to pair with, it is
possible to reproduce the entire LIBINPUT_DEVICE_GROUP and ensure that
the two devices actually end up paired in libinput.
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
-
057fd339
by Peter Hutterer
at 2019-07-31T00:23:29Z
test: mix tablet events into touch arbitration tests
We keep running into the proximity timeout for these tests, especially under
valgrind. To avoid this, manually intersperse the touch events with tablet
events.
Note that this manual loop would just work even without tablet events
because we no longer have a 10ms delay between touch events as enforced by
litest_touch_move_to. But let's do the right thing anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
5b20d7f4
by Peter Hutterer
at 2019-07-31T00:23:29Z
libinput 1.13.902
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
803519ae
by Peter Hutterer
at 2019-07-31T22:40:58Z
tools: record: fix segfault on exit
If we don't supply --with-libinput, the device is NULL so we can't unref it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
4ab8a51b
by Peter Hutterer
at 2019-07-31T22:41:01Z
tools: record: fix two memory leaks
Found by coverity.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
f5fc850a
by Peter Hutterer
at 2019-08-02T12:45:16Z
meson.build: drop explicit install:true from configure_file
meson implicitly sets install to whether install_dir is nonzero. Which means
it's superfluous anyway and removing it drops the meson warning:
WARNING: Project specifies a minimum meson_version '>= 0.41.0' but uses
features which were added in newer versions:
* 0.50.0: {'install arg in configure_file'}
Fixes #334
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
801485af
by Brian Ashworth
at 2019-08-04T23:58:06Z
evdev: always store user calibration matrix
In evdev_device_calibrate, the user matrix was not being stored when it
was the identity matrix. This resulted in
libinput_device_config_calibration_get_matrix not providing the correct
matrix. Instead of giving the identity matrix, the last non-identity
matrix set was given.
This just moves the storage of the user matrix in
evdev_device_calibrate to be above the identity matrix early return so
that it always get stored.
Signed-off-by: Brian Ashworth <bosrsf04@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
b1181bdd
by Peter Hutterer
at 2019-08-07T03:28:27Z
gitlab CI: replace the user:password with a netrc file
Gitlab supports masked tokens that get sanitized during log output but these
tokens are still in the environment. meson dumps the environment into
testlog.txt, resulting in our tokens leaking.
Avoid that leak by using a netrc file instead. The token value now refers to
the file name which is safe enough to leak into the test logs.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
2c6e90f4
by Peter Hutterer
at 2019-08-07T03:43:31Z
gitlab CI: fetch the WAYLAND_WEB_TOKEN from a file
This way it can't leak into the meson testlog.txt during the other stages.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
d5662590
by Benjamin Tissoires
at 2019-08-07T09:51:52Z
gitlab-ci: allow to run on unprivileged containers
This parameter is already included by default in ci-templates, but
we also need it in freebsd
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
1e98b7e8
by Benjamin Tissoires
at 2019-08-07T09:57:01Z
gitlab-ci: force using docker format for the generated images
See https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/178#note_203050
Some shared runners are not capable of understanding OCI format for
container images, and they are failing.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
576bc2e5
by Benjamin Tissoires
at 2019-08-07T12:28:22Z
tests: increase the timeout for the subprocess to receive the quit signal
On a very loaded machine, the process might not receive the quit signal
in a timely manner, and this introduce false positive results.
Add a longer timeout. This shouldn't interfere with the global time
spent in the tests, but will allow some loaded environment to pass
the tests.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
c5865f3e
by Peter Hutterer
at 2019-08-08T02:54:52Z
tablet: point the pressure offset log messages to the right URL
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
a71d091e
by Peter Hutterer
at 2019-08-08T02:54:52Z
tablet: add a comment explaining why we adjust the pressure offset downwards
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
031fbc84
by Peter Hutterer
at 2019-08-08T03:58:54Z
Add the ck_double_eq_tol() macros to the backwards compat headers
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
ad13116f
by Peter Hutterer
at 2019-08-08T03:58:54Z
test: fix the pressure offset tests
Unsuprisingly, a normalized [0,1] value will always be between 0 and 1, so
bhis gave us a false positive. Check for the real values instead.
Those values aren't 100% correct because of a bug in the offset handling which
will be fixed in a follow-up commit. The difference is near enough that it
doesn't matter here anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
f97e361d
by Peter Hutterer
at 2019-08-08T03:58:54Z
tablet: make the pressure-offset inclusive of the axis minimum
The offset handling was inconsistent, stored as relative to the axis minimum
but used as absolute in some places. Fix this by always using the absolute
value including the minimum (i.e. no pressure offset means offset == minimum).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
72121d6f
by Peter Hutterer
at 2019-08-08T03:58:54Z
tablet: reduce the pressure range by the offset
Previously, the pressure range was calculated from the axis total range. A
device with a pressure offset making the bottom 10% inaccessible would lose
10% of that range as non-accessible. Due to the implementation, this affected
the upper range of the device, so the top N percent became unaccessible. Which
may be why no-one's noticed this yet.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
78efec3d
by Peter Hutterer
at 2019-08-08T03:58:54Z
test: don't test at the 100 y range
Theoretically this shouldn't matter, but testing at the far end of the range
is bound to trigger some little issues eventually that should be triggered
explicitly, not by accident.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
d93feba1
by Peter Hutterer
at 2019-08-08T03:58:54Z
tablet: scale the available pressure range into the pressure thresholds
Pens that don't have a pressure offset (caused by a worn-out tip) still have
basic pressure thresholds to avoid tip events when we're still a bit away from
the tablet or barely touching it. That range is currently 5% of the pressure
for tip down, 1% for tip up.
This leaves us with 95% of the range and that needs to be scaled correctly,
otherwise the bottom 5% happen before a tip event and are inaccessible where
applications don't look at pressure before tip down.
Fixes #332
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
cc35d33f
by Peter Hutterer
at 2019-08-08T04:58:55Z
libinput 1.14.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>