Peter Hutterer [Thu, 20 Feb 2020 03:31:33 +0000 (13:31 +1000)]
gitlab CI: rename the custom build jobs
The distro we're running on is a side-effect, it's more important to see the
bit that describes what the job actually does.
And while we're there, shuffle the hierarchy a bit for less duplication.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Feb 2020 03:25:40 +0000 (13:25 +1000)]
gitlab CI: use a separate variable for the template list
Just because I feel more comfortable with having this code in python than in
the templates.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Feb 2020 03:20:53 +0000 (13:20 +1000)]
gitlab CI: don't hard-code the arch/alpine versions
We only have one each and they're not really versions anyway but now that it
is all generated through templates, let's be consistent with the rest of the
CI script.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Feb 2020 02:48:16 +0000 (12:48 +1000)]
gitlab CI: generate the various default-builds through templating
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Feb 2020 02:08:48 +0000 (12:08 +1000)]
gitlab CI: generate the VM tests through the templates as well
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Feb 2020 01:57:44 +0000 (11:57 +1000)]
gitlab CI: generate the CI script from a template
All the distro-specific stuff is the same template anyway, so let's generate
this (like we already do in libevdev and the ci-templates).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Feb 2020 01:36:23 +0000 (11:36 +1000)]
gitlab CI: add a comment to explain one of the jobs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Feb 2020 01:22:32 +0000 (11:22 +1000)]
gitlab CI: whitespace fixes for better visual alignments
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Feb 2020 01:21:16 +0000 (11:21 +1000)]
libinput 1.15.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Feb 2020 07:35:58 +0000 (17:35 +1000)]
tools: record: record basic os-release information as well
Because sometimes it's useful to know what distro a recording was made on, and
the kernel version doesn't always reveal that.
Fixes #428
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Feb 2020 07:29:28 +0000 (17:29 +1000)]
tools: record: rename a variable to just buf
Better name for re-use
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Feb 2020 22:42:15 +0000 (08:42 +1000)]
gitlab CI: handling killing the qemu process better
If qemu has already shut down by the time we call kill, pgrep returns nothing
and we fail the script. Let's not do that. And let's replace kill pgrep with
just pkill in the process.
Let's get rid of the after_script part too, gitlab kills any process started
in the main script anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Feb 2020 23:26:59 +0000 (09:26 +1000)]
gitlab CI: print a warning when our VM startup fails
This happens on packet-3 and packet-4 atm, so let's print out a clear warning
that whatever the failure is, it's not directly related to libinput.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Feb 2020 06:48:09 +0000 (16:48 +1000)]
touchpad: sync the initial tracking id state to the touchpad
Where fingers are down during startup we need to sync them to the known state
of the device so our slot count is correct. Otherwise, when the fingers are
lifted we will trigger the new assert for nactive_slots being less than 0.
Regression introduced in
eb6ef9fe70635e7c91e8bb860b5a282f4cd3f91e
Fixes #429
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 14 Feb 2020 06:20:32 +0000 (16:20 +1000)]
touchpad: never reduce the slot count to 0
Where a user releases all touches during a SYN_DROPPED and then puts more than
one finger back down before we sync, we end up with nonzero fake touches but
a zero slot count. This is caused by a wrong event sequences provided by
libevdev in that case.
This really needs to be fixed in libevdev, see
https://gitlab.freedesktop.org/libevdev/libevdev/merge_requests/19
In the meantime, put a check in to ignore that case and never reduce the slot
count to 0. It still leaves us open for some issues where 3fg gestures may
stop working if the right sequences are triggered during SYN_DROPPED but
updating libevdev will eventually make that go away too.
Fixes #422
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Victor Brekenfeld [Sat, 15 Feb 2020 19:15:41 +0000 (20:15 +0100)]
quirks: Add quirk for MadCatz RAT7 mouse
Signed-off-by: Victor Brekenfeld <github@drakulix.de>
Peter Hutterer [Thu, 6 Feb 2020 09:09:14 +0000 (19:09 +1000)]
tablet: don't force a proximity out while buttons are down
While buttons are down, don't let a forced proximity out happen. If the tablet
goes out of proximity normally that's fine but we don't force a proximity out.
Remains to be seen if this causes stuck buttons now on devices that rely on
the forced proximity out...
Fixes #403
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 6 Feb 2020 09:05:20 +0000 (19:05 +1000)]
test: drop a wait in favor of direct event processing
We know we should have an event here, so we might as well process it
immediately to speed the error case up.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 6 Feb 2020 09:04:38 +0000 (19:04 +1000)]
test: fix a duplicate button down where we want a button press + release
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 6 Feb 2020 08:51:09 +0000 (18:51 +1000)]
test: mark the tablets that require forced prox out as such
Because certain things are hard to test when you have to guess whether a
tablet has forced proximity out or not. Currently unused, see future patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 12 Feb 2020 08:04:41 +0000 (18:04 +1000)]
test: add a test case for checking EVDEV_ABS overrides
Problem: it's still not a 100% check because the way real udev handles the
EVDEV_ABS overrides ignores any that are set through udev properties only. So
we manually have to trigger the keyboard builtin for our test device which
can give us false positives (e.g. it wouldn't have detected #424). But still,
it'll alert us if the actual overridden values are different to what we
expect.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 12 Feb 2020 07:03:31 +0000 (17:03 +1000)]
test: drop the #define for the litest device rules
This was more useful when we installed multiple device rules but now it's only
one file anyway. Also, this drops the inadvertant double-dash
(e.g. 99-litest--Jo7Ji8.rules) which made the file name look like some
substitution was missing.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 12 Feb 2020 06:51:29 +0000 (16:51 +1000)]
udev: directly import the device groups
No need for the indirection of PROGRAM, then ENV for the output value.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 11 Feb 2020 21:13:02 +0000 (07:13 +1000)]
udev: *add* the fuzz-to-zero program to the udev RUN list, don't overwrite
For historical reasons, the keyboard builtin that sets the EVDEV_ABS values is
added as RUN. When we add our own fuzz-to-zero tool we must use +=, just using
an equals overwrites the existing RUN list.
The same is true for the IMPORT command we use to extract the fuzz to begin
with.
Fixes #424
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 7 Feb 2020 06:17:30 +0000 (16:17 +1000)]
tools: record: record the EVDEV_ABS properties correctly
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 3 Feb 2020 04:28:44 +0000 (14:28 +1000)]
libinput 1.15.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 31 Jan 2020 02:12:59 +0000 (12:12 +1000)]
tablet: fix the handling of axis updates after a forced proximity out
Where a pen was forced out of proximity and an eraser came into proximity
without axis updates on the prox-in, subsequent axis updates would trigger the
pen back into proximity. This resulted in two tools in proximity at once
though the new pen never went out of proximity
This would trigger crashes in various compositors/applications, see
https://github.com/xournalpp/xournalpp/issues/1141#issuecomment-
578362497
The cause was a wrong condition introduced in
ffd8c71e4e. We only need to
force the pen bit on if the current tool state is currently zero and no tool
update was sent with the axis event. In our case, the tool state is nonzero
already (eraser) and we can skip this bit.
Fixes #418
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 31 Jan 2020 02:23:53 +0000 (12:23 +1000)]
test: add helper functions for checking proximity events
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 31 Jan 2020 02:23:24 +0000 (12:23 +1000)]
test: add a comment to a test device
Just so I don't have to look up the git history next time
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 31 Jan 2020 08:03:01 +0000 (18:03 +1000)]
tools: record: record the EV_ABS deltas along with the absolute value
It's useful to have this in the immediate recording. Example output now:
- evdev:
- [ 2, 300309, 3, 47, 0] # EV_ABS / ABS_MT_SLOT 0
- [ 2, 300309, 3, 54, 3547] # EV_ABS / ABS_MT_POSITION_Y 3547 (+8)
- [ 2, 300309, 3, 58, 70] # EV_ABS / ABS_MT_PRESSURE 70 (-14)
- [ 2, 300309, 3, 47, 1] # EV_ABS / ABS_MT_SLOT 1
- [ 2, 300309, 3, 54, 3112] # EV_ABS / ABS_MT_POSITION_Y 3112 (+4)
- [ 2, 300309, 3, 58, 68] # EV_ABS / ABS_MT_PRESSURE 68 (-4)
- [ 2, 300309, 3, 1, 3547] # EV_ABS / ABS_Y 3547 (+8)
- [ 2, 300309, 3, 24, 70] # EV_ABS / ABS_PRESSURE 70 (-14)
- [ 2, 300309, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +49ms
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 5 Dec 2019 05:11:03 +0000 (15:11 +1000)]
tools: fix typo in debug-events man page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 31 Jan 2020 02:23:01 +0000 (12:23 +1000)]
timer: make the timer offset error a bit more user-friendly
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 30 Jan 2020 00:49:06 +0000 (10:49 +1000)]
tools: record: fix broken event time stamp recording
event->time ended up being an uninitialized field. Introduced in 5dc1a7e, the
event here isn't a struct input event but rather our internal event struct.
Fix this and reshuffle the time handling a bit so it's a bit more obvious
here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 30 Jan 2020 00:24:59 +0000 (10:24 +1000)]
tools: record: wrap the time offset handling into a helper function
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 29 Jan 2020 23:47:51 +0000 (09:47 +1000)]
tools: refuse to replay recordings with timestamps from the future
This indicates a bug in libinput record, might as well complain about it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 29 Jan 2020 23:45:37 +0000 (09:45 +1000)]
tools: align the tool type names on proximity nicely
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Jacob Kauffmann [Mon, 27 Jan 2020 21:49:25 +0000 (21:49 +0000)]
doc/user: Fix grammar.
Signed-off-by: Jacob Kauffmann <jacob@system76.com>
Peter Hutterer [Thu, 9 Jan 2020 00:10:31 +0000 (10:10 +1000)]
touchpad: correct a wrong slot count by the kernel
alps.c hardcodes 5 slots in the kernel but some devices only provide 2 slots
plus BTN_TOOL_TRIPLETAP, etc. Fix this by counting active slots and when the
fake finger count exceeds the active slots but is still less than the number
of slots, adjust the slots themselves downwards.
And because the new test device messes with our slot count assumptions for the
various tests hardcode that one device to return 2 slots.
Fixes #408
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Jan 2020 23:48:29 +0000 (09:48 +1000)]
test: make the custom touch override methods filter-able
Let those functions return true if they handled the event or false where they
didn't. This makes it more flexible to override touches in special cases only
and fall back to the normal litest handling otherwise.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 9 Jan 2020 01:13:18 +0000 (11:13 +1000)]
test: wrap slot counting into a helper function
This is prep work for future devices that announce a wrong slot count. For the
tests this can be a problem if we rely on the correct slot count to decided
whether to run a test or not.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
William Brown [Wed, 29 Jan 2020 03:32:03 +0000 (13:32 +1000)]
Improve git commit section
It wasn't clear about the Signed-of-by requirements, so this has been
improved with an example, and clarifies that it is a requirement, not
optional.
Signed-off-by: William Brown <william@blackhats.net.au>
William Brown [Wed, 29 Jan 2020 02:40:39 +0000 (12:40 +1000)]
Small improvements to contributing for accessibility.
This makes a small number of changes that can help improve onboarding
and diversity of contributors. Key to point out is that the code of
conduct is now one of the first items, to highlight the community
standards (rather than being at the bottom where it can be
overlooked). The use of the work "hack" often is off putting to
many people, so replaced with "work". Additionally, changed
the introduction to highlight a desire to be inclusive.
A follow up you probably could do, is have a "how to prepare the
development environment" aka "what depenedencies do I need for
my distro to build the project.
Much of this has come from experience working with outreach/diversity
experts, and my own experience on
http://www.port389.org/docs/389ds/contributing.html
Signed-off-by: William Brown <william@blackhats.net.au>
Peter Hutterer [Tue, 21 Jan 2020 01:45:25 +0000 (11:45 +1000)]
doc/user: explain the gitlab issue tags
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 21 Jan 2020 01:45:10 +0000 (11:45 +1000)]
doc/user: some minor improvements
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
A. Wilcox [Sun, 19 Jan 2020 22:01:57 +0000 (16:01 -0600)]
evdev-fallback: Use input_event_init for fallback
Old-style field initialisation ignores the 64-bit time_t change in
Linux UAPI, which causes the structure to be incompletely initialised
on 32-bit systems with the 64-bit time_t kernel headers.
This patch uses the input_event_init helper from the original 64-bit
time_t enablement patch.
Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
Fixes:
5dc1a7ebd ("Adjust for 64bit time_t for 32bit architectures")
See-Also: libinput/libinput!346
Peter Hutterer [Mon, 20 Jan 2020 01:25:22 +0000 (11:25 +1000)]
gitlab CI: retry the VM jobs on script failure
Unfortunately the various VM jobs are timing sensitive and create a bunch of
false positives if the runners are under load and miss out on some of the
events (the tablet proximity handling is a particularly bad test here).
Let's retry on failure first to give the CI more opportunity to maybe succeed.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 19 Jan 2020 23:14:44 +0000 (09:14 +1000)]
doc/user: expand the contributing document and make it top-level
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 15 Jan 2020 04:09:50 +0000 (14:09 +1000)]
tools: fix abort caused by the pointing stick integration quirk
See #400
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 9 Jan 2020 01:51:55 +0000 (11:51 +1000)]
test: switch from counting slot max to num_slots
Much more human-readable this way
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 9 Jan 2020 02:22:11 +0000 (12:22 +1000)]
test: simplify a slot count check
Smaller than 3 and greater or equal to 4 means - well, anything that's not 3.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 9 Jan 2020 01:43:20 +0000 (11:43 +1000)]
test: fix some wrong touchpad slot range checks
This was excluding tests from some touchpads due to slot count confusion.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Michael Forney [Sat, 4 Jan 2020 02:06:54 +0000 (18:06 -0800)]
litest: Fix warnings about discarded qualifiers with check-0.13.0
check 0.13.0 introduced a new struct type TTest for test functions
instead of just a function. However, now the tcase_add_* functions use
`const Ttest *`, and since litest stores the test case in a `void *`,
we get warnings like the following:
../test/test-touchpad.c:7079:30: warning: passing argument 3 of '_litest_add' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
litest_add("touchpad:fuzz", touchpad_fuzz, LITEST_TOUCHPAD, LITEST_ANY);
To fix this, use `const void *`, which is compatible with both APIs.
Signed-off-by: Michael Forney <mforney@mforney.org>
Peter Hutterer [Fri, 3 Jan 2020 04:38:01 +0000 (14:38 +1000)]
libinput 1.15.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 3 Jan 2020 06:43:27 +0000 (16:43 +1000)]
test: indentation fix
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 3 Jan 2020 06:42:20 +0000 (16:42 +1000)]
test: add the test cases to the suite in the utils tests
oops...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 2 Jan 2020 22:25:41 +0000 (08:25 +1000)]
doc/user: fix some HTML formatting
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Björn Daase [Thu, 26 Dec 2019 00:02:03 +0000 (00:02 +0000)]
quirks: fix horizontal scrolling for Logitech MX Master 2S on bluetooth
It turns out that the MX Master 2S also has a different PID when connected
via bluetooth, causing horizontal scrolling to not work properly. Fix this,
by also adding it with the blueetooth PID (according to
https://github.com/libratbag/libratbag/blob/master/data/devices/logitech-MX-Master-2S.device
and in line with local testing) to the quirks file.
Signed-off-by: Björn Daase <bjoern@daase.net>
Peter Hutterer [Mon, 23 Dec 2019 00:57:53 +0000 (10:57 +1000)]
meson.build: re-add missing trailing slash to the HTTP link
Got lost in
61f81ec93e7ddfae79ce3d1e8069bfce97c6d6aa
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 11 Dec 2019 03:36:10 +0000 (13:36 +1000)]
gitlab CI: update to latest ci-templates
Rebuild all the images to make sure this still works fine.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Anatolii Lishchynskyi [Wed, 11 Dec 2019 09:45:49 +0000 (09:45 +0000)]
quirks: ignore mode switch button on Madcatz R.A.T.3 mouse
Avoid stuck buttons, so window managers won't behave buggy, for example:
* You click on one window, but click is emulated in another one
* You hover cursor over button/link but see no feedback
Based on quirk for Cyborg mouse.
Signed-off-by: Anatolii Lishchynskyi <iamnotacake@protonmail.com>
Peter Hutterer [Wed, 11 Dec 2019 05:02:43 +0000 (15:02 +1000)]
gitlab CI: fix skopeo copy
skopeo doesn't handle the destination credentials correctly
See ci-templates commit
0a9bdd33a98f05af6761ab118b5074952242aab0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 11 Dec 2019 01:50:10 +0000 (11:50 +1000)]
gitlab CI: use a minimal alpine image for the commit checks
This runs at the same time as the other images being created so it'll fail if
the image itself doesn't exist yet. Since we only need pip here, let's use
alpine and install the two packages we need.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 5 Dec 2019 03:50:17 +0000 (13:50 +1000)]
libinput 1.14.901
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Dec 2019 23:21:05 +0000 (09:21 +1000)]
gitlab CI: add an explanatory comment why we're hardcoding master
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Dec 2019 23:00:13 +0000 (09:00 +1000)]
gitlab CI: add a local emulation mode to the gitlab CI script
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Dec 2019 23:01:02 +0000 (09:01 +1000)]
gitlab CI: make the commit check errors more verbose and useful
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Dec 2019 22:46:47 +0000 (08:46 +1000)]
gitlab CI: don't try adding the upstream remote if it exists already
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Dec 2019 22:16:09 +0000 (08:16 +1000)]
Expand the CODING_STYLE with an explanation of commit requirements
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 17 Jan 2019 01:08:27 +0000 (11:08 +1000)]
pad: add LIBINPUT_EVENT_TABLET_PAD_KEY for pad keys
The Wacom Cintiq 24HD and later tablets send specific key events for
hardware/soft buttons. KEY_PROG1..KEY_PROG3 on earlier tablets,
KEY_CONTROLPANEL, KEY_ONSCREEN_DISPLAY, and KEY_BUTTONCONFIG on later tablets.
We ignore KEY_PROG1-3 because starting with kernel 5.4 older tablets will too
use the better-named #defines.
These differ from pad buttons as the key code in itself carries semantic
information, so we should pass them on as-is instead of mapping them to
meaningless 0-indexed buttons like we do on the other buttons.
So let's add a new event, LIBINPUT_EVENT_TABLET_PAD_KEY and the associated
functions to handle that case.
Pad keys have a fixed hw-defined semantic meaning and are thus not part of
a tablet mode group.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 17 Jan 2019 01:49:39 +0000 (11:49 +1000)]
pad: switch the button mapping to one that can handle keys or buttons
No functional changes, we still use the same bits everywhere.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Dec 2019 00:18:27 +0000 (10:18 +1000)]
tools: debug-events: don't overrun the device array with too many arguments
Only the --device option was checked for argument count, not the rest so it's
easy to overrun the array by specifying too many devices.
Except: this was a theoretical bug only, more than 64 arguments trigger
an assertion in the argv processing in tools/shared.c anyway. Let's drop the
debug-events limit to 60 devices so we can at least have a test for this.
Found by coverity
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 28 Nov 2019 03:02:48 +0000 (13:02 +1000)]
gitlab CI: run the meson script for the VMs as well
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 28 Nov 2019 01:35:54 +0000 (11:35 +1000)]
gitlab CI: move the build instructions into a bash file
Extending/debugging scripts in the gitlab CI directly is a pain, the
turnaround cycle is terrible. Let's move this into a shellscript that we can
just call directly.
Bonus side-effect: if we wanted to extend the script: set somewhere, this is
now much easier to override.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 27 Nov 2019 23:35:29 +0000 (09:35 +1000)]
gitlab CI: add meson to junit script
This script was written by Emmanuele Bassi, copied from
https://gist.github.com/ebassi/
e5296ec77ae9e0d3a33fd483b5613b09/
It converts meson test results into a junit file which we can then use to
display in the merge request GUI.
Note that as litest writes out junit files as well, some tests are reported
twice. Specifically: where litest fails the failure will be reported once
through litest itself and once by meson test. Oh well.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 26 Nov 2019 21:28:27 +0000 (07:28 +1000)]
test: write our test case results out as junit xml files
libcheck has the ability to write out XML files for test results, but
converting those into junit isn't ideal, for a number of reasons:
- junit xml is different to libcheck's xml, so not all data is available or
useful. Especially with our litest wrappers around it.
- litest forking off tests means we have to wrap around everything anyway to
avoid multiple forks writing to the same test file.
This is the minimal implementation since it's only user is likely the CI which
we control fairly tightly. So there are a few corners we can skip:
- no filename validation is performed by litest
- we write out a lot of junit xml files (one per litest fork). Rather than
collating those we just rely on the CI to find the files.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 26 Nov 2019 05:37:28 +0000 (15:37 +1000)]
gitlab CI: apply some basic validity checks on the commit messages
Let's stop merge requests from users that don't set their git author name and
email address. Aside from it looking stange in the history it'll also make it
virtually impossible to ever find that user again should something important
arise in the future - especially if we switch off gitlab.
The rest is basic style, short subject lines, Signed-off-by lines and correct
formatting.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
[bentiss: use /usr/bin/env python3 as requested by the CI]
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Peter Hutterer [Tue, 26 Nov 2019 05:34:21 +0000 (15:34 +1000)]
gitlab CI: rename the container_prep state to just "prep"
So we can shove other stuff in there without it looking strange.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 27 Nov 2019 21:52:21 +0000 (07:52 +1000)]
gitlab CI: use multiple extends for the default artifact/build snippets
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 27 Nov 2019 21:51:16 +0000 (07:51 +1000)]
gitlab CI: use multiple extends over anchors for the upstream pull
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 27 Nov 2019 05:38:36 +0000 (15:38 +1000)]
gitlab CI: add a global policy snippet for retries and interruptible
We want to retry if we have a system/timeout/stuck failure. And our jobs are
all interruptible, we want to cancel them when the branch has new commits.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 27 Nov 2019 20:58:12 +0000 (06:58 +1000)]
gitlab CI: split all extends into multiple lines
No functional changes, this merely prepares the file for easier multiple
extends.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 27 Nov 2019 00:55:14 +0000 (10:55 +1000)]
tools: print the libinput version in debug-events
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 26 Nov 2019 00:07:51 +0000 (10:07 +1000)]
tools: libinput-record: drop the explicit --multiple argument
If we want to record multiple events, let's just specify multiple event nodes.
No need for a specific extra argument here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 27 Nov 2019 00:33:43 +0000 (10:33 +1000)]
tools: libinput-record: return the correct exit value on invalid usage
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 25 Nov 2019 23:38:51 +0000 (09:38 +1000)]
tools: libinput-record: bail out on invalid commandline arguments
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 25 Nov 2019 23:53:10 +0000 (09:53 +1000)]
tools: print stderr/stdout when a option test fails
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 24 Nov 2019 01:23:56 +0000 (17:23 -0800)]
Adjust for 64bit time_t for 32bit architectures
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
satrmb [Fri, 22 Nov 2019 14:37:53 +0000 (15:37 +0100)]
touchpad: simplify tapping state machine by eliminating the multitap states
Alternating between TAPPED and DRAGGING_OR_MULTITAP on repeated taps is enough, no need for more states.
satrmb [Fri, 22 Nov 2019 14:36:24 +0000 (15:36 +0100)]
test: fix a multitap test expecting one tap too few
The problem was masked by a missing timeout, causing one up / down pair to not yet be enqueued before reading the queue.
Peter Hutterer [Mon, 25 Nov 2019 02:22:19 +0000 (12:22 +1000)]
tools: make debug-events accept multiple device nodes
For interaction between devices it's necessary to look at more than one device
at a time.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 25 Nov 2019 04:47:42 +0000 (14:47 +1000)]
tools: replay: fix wrong timestamps for multiple device replay
When multiple devices are recorded, the event times are offset from a global
baseline. Each device thus has a different offset for the first event. To
replay correctly, we must figure out the offset of the first event (across all
devices) and use that for all of them.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Rasmus Thomsen [Mon, 25 Nov 2019 02:02:55 +0000 (02:02 +0000)]
Add Palm&ThumbPressureThreshold for the Spectre x360 15-ch0xx
Without this palm rejection doesn't work properly, making typing pretty
annoying.
Peter Hutterer [Tue, 19 Nov 2019 04:48:54 +0000 (14:48 +1000)]
completion: add the new libinput debug-tablet to the zsh completion files
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 8 Nov 2019 04:23:40 +0000 (14:23 +1000)]
tools: print the tip state in the tablet debugging tool
Peter Hutterer [Fri, 8 Nov 2019 04:13:03 +0000 (14:13 +1000)]
tools: add stylus button support
For the evdev events only a few hand-selected ones, all other ones are ignored
for now.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 5 Nov 2019 06:17:01 +0000 (16:17 +1000)]
tools: add a tablet debugging tool
Nothing sophisticated but easier to debug certain tablet oddities.
It shows a bar for each axis on the tablet (and the evdev axis) and prints
that relative to the axis range. This makes it easy to check if we do hit the
full range (especially for distance/pressure/tilt) and whether that matches
with what the device gives us.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 18 Nov 2019 22:39:55 +0000 (08:39 +1000)]
tools: debug-events: expand timestamp prints to full millis
Tens of millis is not quite enough in some cases.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 11 Nov 2019 05:47:10 +0000 (15:47 +1000)]
tools: debug-events: offset timestamps by the first normal event
Start counting the timestamps from the first time we get something off the
actual fd. This makes it easier to match up timestamps with the output from
libinput record.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 8 Nov 2019 01:34:01 +0000 (11:34 +1000)]
tools: libinput-record: expand the evdev event value to 7 digits
MSC_TIMESTAMPS need 7 digits so let's make sure everything is nicely aligned
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 11 Nov 2019 05:15:30 +0000 (15:15 +1000)]
doc: remove the direct link to the various state diagrams
draw.io is playing up with old files and sending me into a redirect loop.
Duplicating files works but that changes the links. So to avoid dead links,
let's just remove the direct link and let anyone who cares enough about it ask
me.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>