Peter Hutterer [Mon, 27 May 2019 22:27:40 +0000 (08:27 +1000)]
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>
Peter Hutterer [Tue, 28 May 2019 00:34:34 +0000 (10:34 +1000)]
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>
Peter Hutterer [Thu, 11 Apr 2019 02:10:32 +0000 (12:10 +1000)]
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>
Peter Hutterer [Mon, 27 May 2019 08:21:09 +0000 (18:21 +1000)]
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>
Peter Hutterer [Mon, 27 May 2019 04:28:24 +0000 (14:28 +1000)]
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>
Peter Hutterer [Mon, 27 May 2019 04:47:00 +0000 (14:47 +1000)]
test: make all tap tests use the "tap" group prefix
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 May 2019 04:21:53 +0000 (14:21 +1000)]
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>
Peter Hutterer [Mon, 27 May 2019 04:19:26 +0000 (14:19 +1000)]
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>
Peter Hutterer [Fri, 10 May 2019 03:13:11 +0000 (13:13 +1000)]
test: add test cases for tablet/touchpad left-handed rotation locks
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 3 May 2019 05:56:54 +0000 (15:56 +1000)]
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>
Peter Hutterer [Fri, 3 May 2019 05:56:54 +0000 (15:56 +1000)]
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>
Peter Hutterer [Wed, 8 May 2019 01:24:28 +0000 (11:24 +1000)]
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>
Peter Hutterer [Sun, 26 May 2019 23:13:06 +0000 (09:13 +1000)]
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>
Peter Hutterer [Sun, 26 May 2019 23:51:47 +0000 (09:51 +1000)]
test: fix a typo in the test device name
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 26 May 2019 23:48:12 +0000 (09:48 +1000)]
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>
Peter Hutterer [Sun, 26 May 2019 23:02:06 +0000 (09:02 +1000)]
fallback: make a debug log prefix more consistent
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 9 May 2019 03:55:36 +0000 (13:55 +1000)]
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>
Peter Hutterer [Fri, 3 May 2019 04:12:44 +0000 (14:12 +1000)]
touchpad: fix two debug messages to have the same prefix as the rest
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 3 May 2019 03:52:09 +0000 (13:52 +1000)]
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>
Peter Hutterer [Fri, 3 May 2019 04:13:49 +0000 (14:13 +1000)]
tablet: add an extra debug message
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 3 May 2019 05:51:58 +0000 (15:51 +1000)]
tablet: indentation fix
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 May 2019 03:15:50 +0000 (13:15 +1000)]
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>
Peter Hutterer [Wed, 8 May 2019 03:59:27 +0000 (13:59 +1000)]
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>
Peter Hutterer [Wed, 1 May 2019 04:01:53 +0000 (14:01 +1000)]
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>
Peter Hutterer [Wed, 1 May 2019 03:46:46 +0000 (13:46 +1000)]
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>
Peter Hutterer [Fri, 12 Apr 2019 00:00:12 +0000 (10:00 +1000)]
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>
Peter Hutterer [Tue, 30 Apr 2019 03:12:23 +0000 (13:12 +1000)]
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>
Peter Hutterer [Tue, 30 Apr 2019 03:10:42 +0000 (13:10 +1000)]
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>
Peter Hutterer [Tue, 30 Apr 2019 03:13:56 +0000 (13:13 +1000)]
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>
Peter Hutterer [Thu, 11 Apr 2019 23:24:49 +0000 (09:24 +1000)]
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>
Peter Hutterer [Wed, 1 May 2019 00:46:20 +0000 (10:46 +1000)]
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>
Peter Hutterer [Thu, 2 May 2019 00:53:54 +0000 (10:53 +1000)]
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.
Peter Hutterer [Wed, 1 May 2019 22:42:18 +0000 (08:42 +1000)]
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>
Peter Hutterer [Wed, 1 May 2019 22:36:03 +0000 (08:36 +1000)]
CI: switch from Fedora 28 to Fedora 30
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 1 May 2019 02:02:42 +0000 (12:02 +1000)]
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>
Peter Hutterer [Tue, 30 Apr 2019 04:52:28 +0000 (14:52 +1000)]
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>
Peter Hutterer [Tue, 30 Apr 2019 05:27:35 +0000 (15:27 +1000)]
test: use identifiable shortnames for the Intuos5 devices
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 5 Apr 2019 04:58:56 +0000 (14:58 +1000)]
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>
Sebastian Krzyszkowiak [Sun, 14 Apr 2019 12:40:34 +0000 (14:40 +0200)]
CI: update arch package list
Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net>
Sebastian Krzyszkowiak [Thu, 11 Apr 2019 22:59:19 +0000 (00:59 +0200)]
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>
Sebastian Krzyszkowiak [Thu, 11 Apr 2019 22:55:26 +0000 (00:55 +0200)]
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>
Jason Gerecke [Wed, 10 Apr 2019 19:41:40 +0000 (12:41 -0700)]
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>
Jason Gerecke [Thu, 11 Apr 2019 03:17:02 +0000 (13:17 +1000)]
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>
Jason Gerecke [Wed, 10 Apr 2019 16:55:25 +0000 (09:55 -0700)]
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>
Peter Hutterer [Thu, 11 Apr 2019 04:19:49 +0000 (14:19 +1000)]
test: add proximity timeout delay to a tablet test
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 11 Apr 2019 03:16:02 +0000 (13:16 +1000)]
tablet: add a debugging message when we force a proximity out
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 8 Apr 2019 00:17:23 +0000 (10:17 +1000)]
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>
Peter Hutterer [Sun, 7 Apr 2019 22:50:41 +0000 (08:50 +1000)]
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>
Peter Hutterer [Fri, 5 Apr 2019 04:24:47 +0000 (14:24 +1000)]
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>
Peter Hutterer [Fri, 5 Apr 2019 05:49:31 +0000 (15:49 +1000)]
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>
Peter Hutterer [Fri, 5 Apr 2019 05:57:48 +0000 (15:57 +1000)]
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>
Peter Hutterer [Fri, 5 Apr 2019 01:02:46 +0000 (11:02 +1000)]
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>
Peter Hutterer [Fri, 5 Apr 2019 00:46:56 +0000 (10:46 +1000)]
tools: use American spelling for 'unrecognized'
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 5 Apr 2019 04:51:42 +0000 (14:51 +1000)]
tablet: fix some code alignment
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 4 Apr 2019 23:35:41 +0000 (09:35 +1000)]
tablet: add missing linebreak after error message
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 4 Apr 2019 04:49:47 +0000 (14:49 +1000)]
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>
Lubomir Rintel [Fri, 8 Mar 2019 14:26:21 +0000 (15:26 +0100)]
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>
Peter Hutterer [Mon, 1 Apr 2019 05:29:37 +0000 (15:29 +1000)]
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>
Peter Hutterer [Mon, 1 Apr 2019 05:10:55 +0000 (15:10 +1000)]
tablet: move the current tool bits into a substruct
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Ian Douglas Scott [Wed, 3 Apr 2019 02:54:47 +0000 (19:54 -0700)]
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
Peter Hutterer [Tue, 2 Apr 2019 23:39:25 +0000 (09:39 +1000)]
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>
Peter Hutterer [Tue, 2 Apr 2019 23:21:52 +0000 (09:21 +1000)]
doc/api: add since tags to all functions after 1.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 1 Apr 2019 05:20:20 +0000 (15:20 +1000)]
test: drop some unnecessary extern declarations
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 1 Apr 2019 06:00:10 +0000 (16:00 +1000)]
meson.build: bump to 1.13.900
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 15 Mar 2019 02:00:17 +0000 (12:00 +1000)]
tools: switch measure-touchpad-tap to python-libevdev
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 15 Mar 2019 01:56:48 +0000 (11:56 +1000)]
tools: switch measure-touchpad-pressure to python-libevdev
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 15 Mar 2019 01:34:15 +0000 (11:34 +1000)]
tools: switch measure-touch-size to python-libevdev
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 15 Mar 2019 01:21:27 +0000 (11:21 +1000)]
tools: switch measure-fuzz to use python-libevdev
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Benjamin Tissoires [Thu, 21 Mar 2019 08:35:40 +0000 (09:35 +0100)]
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>
Benjamin Tissoires [Tue, 19 Feb 2019 15:51:43 +0000 (16:51 +0100)]
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>
Benjamin Tissoires [Fri, 15 Mar 2019 09:58:50 +0000 (10:58 +0100)]
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>
Benjamin Tissoires [Thu, 14 Mar 2019 16:22:48 +0000 (17:22 +0100)]
CI: use templates for Arch
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Benjamin Tissoires [Thu, 14 Mar 2019 08:06:23 +0000 (09:06 +0100)]
CI: use the template for fedora
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Benjamin Tissoires [Tue, 19 Feb 2019 15:36:39 +0000 (16:36 +0100)]
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>
Benjamin Tissoires [Thu, 14 Mar 2019 07:59:53 +0000 (08:59 +0100)]
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>
Benjamin Tissoires [Tue, 19 Feb 2019 09:53:14 +0000 (10:53 +0100)]
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>
Peter Hutterer [Fri, 29 Mar 2019 05:12:36 +0000 (15:12 +1000)]
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>
Peter Hutterer [Sun, 31 Mar 2019 22:37:00 +0000 (08:37 +1000)]
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>
Peter Hutterer [Sun, 31 Mar 2019 22:29:44 +0000 (08:29 +1000)]
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>
Tobias Stoeckmann [Fri, 29 Mar 2019 11:32:14 +0000 (12:32 +0100)]
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>
Peter Hutterer [Thu, 28 Mar 2019 23:39:30 +0000 (09:39 +1000)]
libinput 1.13.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 28 Mar 2019 05:59:16 +0000 (15:59 +1000)]
test: add another valgrind suppression for Python
This triggers on Fedora 30, even though skip skip the tools options test when
running under valgrind.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 28 Mar 2019 05:31:51 +0000 (15:31 +1000)]
test: fix tool option parsing tests for signals
Not sure how this ever worked correctly: a process terminated by a signal has
the negative signo as return code. This would apply to every debug-events and
debug-gui test because they have to get killed by a signal. This failed
occasionally, presumably a race with the GTK startup/signal handler/whatever.
Fix this by a) sending SIGQUIT because that won't get handled by the tools and
b) prending that if we get a -SIGQUIT exit code, everything is fine.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 28 Mar 2019 05:25:13 +0000 (15:25 +1000)]
tools: fix the tool option parse test to handle unittest arguments
Pass arguments we don't handle directly through to the unittest module. This
way we can filter tests with -k testname etc.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 27 Mar 2019 05:18:20 +0000 (15:18 +1000)]
doc/api: improve readability of the API docs
Still not great and probably makes any professional designer's eyes bleed, but
at least it's more readable now.
Changes:
- spacing after param name so they don't cuddle up with the description
- color changes and background image removals to drop the doxygen default look
- font size changes to not make things overrun
- font family change to make the function prototypes readable
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 25 Mar 2019 05:15:13 +0000 (15:15 +1000)]
Fix three coverity complaints
Two resource leaks, one uninitialized variable.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 22 Mar 2019 06:21:08 +0000 (16:21 +1000)]
test: mark the protocol A device as touch device
Now that we're emulating everything correctly, let's mark it as proper touch
device.
Two test cases need to be excluded:
- double-down triggers an assert in the test device because this isn't
possible this way with protocol A devices
- the axisrange warning test can't be triggered, mtdev clips those axes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 22 Mar 2019 05:47:21 +0000 (15:47 +1000)]
test: switch the protocol A test device to be an actual protocol A device
This device mostly behaved like a normal touch device except for
SYN_MT_REPORT. Switch it to behave like a real protocol A device and adjust
the test accordingly.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 22 Mar 2019 05:44:32 +0000 (15:44 +1000)]
test: let the device custom create method return a bool
This is so we can tell litest to create the device anyway, useful for when all
we have to do in the custom create is allocate some memory.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 22 Mar 2019 01:49:41 +0000 (11:49 +1000)]
test: drop remnants of the test device udev rules
Removed with
27188228fdef10707c61f822db57bf0d3d568682 but we still had the
meson define being set.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 22 Mar 2019 01:43:13 +0000 (11:43 +1000)]
test: don't install our normal rules file in installed mode
When running the test-suite, don't install our rules for device groups and
model quirks - they're expected to be present already.
Plus, since we copy them from the meson build dir, we don't have
those files available anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Konstantin Kharlamov [Thu, 21 Mar 2019 21:02:24 +0000 (00:02 +0300)]
evdev: remove unnecessary comparison
All "goto err" resides after fd have been properly initialized.
Fixes "Comparison is always true because fd >= 0." warning by LGTM.
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Thu, 21 Mar 2019 20:49:46 +0000 (23:49 +0300)]
evdev: fix "always false" comparison
Fixes "Comparison is always false because rc >= 0." warning by LGTM.
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Peter Hutterer [Thu, 21 Mar 2019 05:19:46 +0000 (15:19 +1000)]
libinput 1.12.902
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Benjamin Poirier [Fri, 4 Jan 2019 06:37:17 +0000 (15:37 +0900)]
evdev: Rename button up and down states to mirror each other
The button up debouncing states mirror the button down states with the
addition of the spurious debouncing states. Rename the states to better
show this symmetry.
Paolo Giangrandi [Thu, 14 Mar 2019 03:53:54 +0000 (21:53 -0600)]
touchpad: multitap state transitions use the same timing used for taps
Multitap sequences (more than 2 taps) had a 180ms timer set only on press,
not on release.
New taps within those 180ms could either trigger multitap+drag or another
multitap (for N+1 taps), resetting the timer on press once again.
If no new tap appears within those 180ms, the sequence was considered
complete.
This behavior differed from regular taps: for the very first tap of a
sequence the timer was set both on touch and on release.
The multitap timing caused misdetection of triple-tap-and-drag sequences as
the timer was hit frequently. Some of those were correctly detected, others
as tripletap only.
Changing the timer to be set on press **and** release gives us a more lenient
timeout. 180ms for tap-and-drag and 180ms for the next tap down after
release. This was also the behavior for the xorg synaptics driver.
Note that quadruple-tap-and-drag didn't suffer from this because the timeout
resulted in double-tap + double-tap-and-drag. Which has the same
user-visible effect.
Feldwor [Sun, 17 Mar 2019 21:45:43 +0000 (21:45 +0000)]
Set TouchPad Pressure Range for Toshiba L855
Peter Hutterer [Fri, 15 Mar 2019 00:23:25 +0000 (10:23 +1000)]
meson.build: make valgrind optional
Now that we're providing the test suite as installed option, distributions
will likely include it as a test package. valgrind is only used for the
meson-specifc test setup. So let's make it optional.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 15 Mar 2019 01:19:22 +0000 (11:19 +1000)]
tools: flake8 fixes, typo fixes and missing exception handling
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 14 Mar 2019 05:13:52 +0000 (15:13 +1000)]
libinput 1.12.901
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>