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>
Peter Hutterer [Mon, 11 Nov 2019 04:37:43 +0000 (14:37 +1000)]
test: allow for substring matching in the various --filter- arguments
A unique substring of a test/group/device should be enough to filter, even
without surrounding it with asterisks.
This allows for things like --filter-device=t440 as opposed to the previous
--filter-device="*t440*".
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 11 Nov 2019 04:17:13 +0000 (14:17 +1000)]
doc: updates to the tap state machine
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 8 Nov 2019 05:16:42 +0000 (15:16 +1000)]
touchpad: don't allow for multifinger tapping after a move
In the current implementation, movements > threshold and timeouts usually move
to HOLD state and continue from there. Where a finger is lifted, we go back
up the diagram into the previous finger count's HOLD state.
The side-effect of this is that a tap of a finger can be counted as tap even
after a movement:
- two fingers down, move to scroll, hold down
- third finger down, third finger up
This sequence triggers an erroneous three-finger tap. Once the motion
threshold is hit by any touch, no finger must trigger 2/3 finger tap events
while any touch is down.
The false tap is only triggered where the new finger can execute a tap without
any other finger changing any property. This can be triggered on the
reporter's Dell Precision 5520 but on most other touchpads, a new finger down
will trigger slight movement, pressure or touch size updates and thus the bug
cannot be triggered.
Fixes #382
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 11 Nov 2019 04:20:57 +0000 (14:20 +1000)]
test: fix a pressure test to movement during tap
The motion event here was intended to offset the light pressure from the
extended touch down. This also causes motion past the tap threshold and won't
work with a future patch.
Make the touch "real" by simply plaing a normal movement in the current
position - the kernel will filter and we'll just update the pressure.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Philipp Fischbeck [Thu, 14 Nov 2019 20:28:00 +0000 (20:28 +0000)]
Fix typo in zsh completion
Peter Hutterer [Wed, 6 Nov 2019 01:48:49 +0000 (11:48 +1000)]
meson.build: drop the explicit -g flag
Let's rely on meson to set this for us.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 28 Oct 2019 23:39:39 +0000 (09:39 +1000)]
gitlab CI: work around collapsed multiline commands in the rebuild check
Multiline commands are currently collapsed with no way of uncollapsing them
(https://gitlab.com/gitlab-org/gitlab-runner/issues/3392), so we never see the
skopeo invocations. Work around this by touching a file when scheduled and
using that to break up the conditions.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 28 Oct 2019 23:16:50 +0000 (09:16 +1000)]
gitlab CI: allow the qemu-prep job to fail, runners are unreliable
The qemu jobs themselves already have this tag so let's add it to the
container prep itself too. Unfortunately the CI doesn't have a conditional
allow-failure (ideally we want retry's stuck_or_timeout_failure condition).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 5 Nov 2019 00:54:32 +0000 (00:54 +0000)]
test: remove the hardcoded four-job valgrind test run
Make this dependent on the number of processes too.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 5 Nov 2019 00:12:08 +0000 (00:12 +0000)]
test: drop a now-obsolete test
As of
d20bbfa5cb56e8bc we handle the direct tool switch correctly so there's
no more warning. Which means testing for the warning is pointless.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 4 Nov 2019 23:32:34 +0000 (23:32 +0000)]
gitlab CI: add diffutils to the Fedora RPMs
Needed for the symbols leak test.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 30 Oct 2019 05:23:24 +0000 (15:23 +1000)]
tablet: handle a direct tool switch correctly
Fixes #259
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 25 Sep 2019 23:59:47 +0000 (09:59 +1000)]
tablet: add a helper function to get the current tool
No functional changes.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 31 Oct 2019 22:20:07 +0000 (08:20 +1000)]
tools: debug-gui: show pressure/distance as vertical bar
Both of these are normalized so let's draw a bar that shows the values
accordingly. This makes it a lot easier to check whether pressure values go to
the maximum, etc.
A little extra square is shown whenever the tip is logically down.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 25 Oct 2019 01:09:50 +0000 (11:09 +1000)]
gitlab CI: split the qemu test runs up into multiple jobs
The tests are split by topic but have varying runtime. Specifically, the
longest test (touchpad) takes ~170s whereas many of the others can take less
than a second. Splitting them all up into separate VMs costs too much in
startup time so here's the middle ground of some custom grouping to make the
tests roughly run the same time.
This list will need to be manually maintained but given that groups are rarely
added anyway this shouldn't be too much of a maintenance burden. And bonus:
since the kvm tests often fail due to timing issues, re-running one is
significantly faster now.
This shaves about 8min of the CI run
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 30 Oct 2019 23:12:59 +0000 (09:12 +1000)]
gitlab CI: fix an indentation issue
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 30 Oct 2019 00:43:18 +0000 (10:43 +1000)]
test: remove a useless assignment
copy/paste error that makes coverity unhappy. This is the code to correctly
release all touches and the buttons have already been processed above - no
need to reassign here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 30 Oct 2019 00:38:02 +0000 (10:38 +1000)]
test: silence a coverity warning
Coverity complains that we call libinput_event_destroy() twice on the variable
(once in and once just outside the condition). This is technically correct but
never true because we always break the loop early for the touch up/frame events.
Let's just reset the pointers so coverity is happy.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 30 Oct 2019 00:29:46 +0000 (10:29 +1000)]
test: remove some useless code triggering a coverity warning
x/y assigned but never used. Dropping those few lines gets rid of the warning
and checks the coordinates correctly now too.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 29 Oct 2019 01:05:59 +0000 (11:05 +1000)]
tools: drop the specific libinput measure tools from the libinput man page
libinput measure lists them all anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 29 Oct 2019 01:07:32 +0000 (11:07 +1000)]
tools: correct libinput measure reference to the tap man page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 28 Oct 2019 05:12:22 +0000 (15:12 +1000)]
test: make the test jobs dependent on the number of processors
Let's hope the test suite is more successful on puny VMs that way.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Konstantin Kharlamov [Sat, 26 Oct 2019 20:14:42 +0000 (23:14 +0300)]
libinput-list-devices: make paragraph about different settings terser
Changes are:
1. "configuration options" is same as "options"
2. The clarification "e.g. scrolling" doesn't clarify anything because a
user don't necessarily knows there're "2-finger scroll" and
"edge-scroll"; and even if they do, they can imagine the settings to be
represented by "0" and "1" values, which then begs a question: why
aren't all "Enabled/Disabled" settings are prefixed with "*" too.
Instead, replace the vague `multiple different settings` with more
specific `more settings than "enabled/disabled"`.
3. "ones" is shorter than "settings" and makes sure a user haven't lost
context.
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sat, 26 Oct 2019 20:10:59 +0000 (23:10 +0300)]
libinput-list-devices: be more explicit about only listing defaults
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Sven Slootweg [Sat, 26 Oct 2019 16:04:05 +0000 (16:04 +0000)]
quirks: add RollerMouse Free 3 for double-click fix
Peter Hutterer [Fri, 25 Oct 2019 00:22:28 +0000 (10:22 +1000)]
gitlab CI: switch to Ubuntu 19.10
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 25 Oct 2019 00:22:01 +0000 (10:22 +1000)]
gitlab CI: switch to Fedora 31
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 24 Oct 2019 04:27:37 +0000 (14:27 +1000)]
udev: fix potential memory leak for the phys string
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 24 Oct 2019 04:10:47 +0000 (14:10 +1000)]
fallback: fix a coverity warning
Value stored to 'rect' during its initialization is never read
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 22 Oct 2019 02:10:03 +0000 (12:10 +1000)]
doc/user: add a faq entry about the pointer acceleration "issue"
Despite many bits wasted on reddit, phoronix, lwn etc. no-one seems interested
in actually fixing this for their device, so let's at least add a FAQ entry.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 22 Oct 2019 02:04:04 +0000 (12:04 +1000)]
doc/user: reword one of the FAQ entries to no tmake it read outdated
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 15 Oct 2019 06:03:46 +0000 (16:03 +1000)]
gitlab CI: add an alpine image
Alpine uses musl, eudev and elogind, so it's useful to build on that to get
those covered.
Notably, ninja test is not run because the litest-selftest will fail for
tcase_add_exit_test() and tcase_add_test_raise_signal(). This may be due to
some missing bits in musl or check not using the feature test macros, etc.
Someone with time and motivation to have this actually work on musl can figure
that out.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 15 Oct 2019 09:51:35 +0000 (19:51 +1000)]
quirks: make the diff call for the meson check more portable
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 17 Oct 2019 09:50:23 +0000 (19:50 +1000)]
doc/user: actually link to the API documentation
a6082d3a6f only included the base link
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 17 Oct 2019 03:53:07 +0000 (13:53 +1000)]
doc/user: add a link to the API documentation in the TOC
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 17 Oct 2019 03:39:23 +0000 (13:39 +1000)]
meson: move HTTP doc url generation to here
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 20 Mar 2019 00:56:51 +0000 (10:56 +1000)]
Add a scroll button lock feature
Scroll button locking is an accessibility feature. When enabled, the scroll
button does not need to be held down, the first click holds it logically down,
to be released on the second click of that same button.
This is implemented as simple event filter, so we still get the same behavior
from the emulated logical button, i.e. a physical double click results in a
single logical click of that button provided no scrolling was triggered.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Luflosi [Wed, 16 Oct 2019 12:58:21 +0000 (14:58 +0200)]
doc: fix sentence
Signed-off-by: Luflosi <luflosi@luflosi.de>
Peter Hutterer [Wed, 16 Oct 2019 02:50:44 +0000 (12:50 +1000)]
fallback: don't send a single-touch motion if we just sent a begin
Any touch down event will also provide motion data, but we must not send a
motion event for those in the same frame as the down event.
Fixes #375
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Balazs Endresz [Tue, 15 Oct 2019 08:50:07 +0000 (10:50 +0200)]
Fix horizontal scrolling for Logitech MX Master 3 on bluetooth
Peter Hutterer [Mon, 14 Oct 2019 03:40:47 +0000 (13:40 +1000)]
CI: UI improvements
This should not change the overall time, but allows for a nicer
UI when looking at the pipelines:
* first "check" icon is the container_prep stage
* second icon is all of the variations of builds
* third is the full test suite in the VM
* forth is the distribution specifics
* last one is the deploy
This allows to see which step fails from the UI instead of having
a lengthy list of jobs all in the same column.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Peter Hutterer [Mon, 14 Oct 2019 03:17:01 +0000 (13:17 +1000)]
gitlab CI: run the valgrind test suite as well
Separate instance so we can speed things up a bit.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 14 Oct 2019 01:23:30 +0000 (11:23 +1000)]
touchpad: use the same speed for scrolling as the baseline of the accel curve
Scrolling and gestures use unaccelerated motion. The idea behind it was that
at least for the default speed setting of 0, the accelerated speed and
unaccelerated speed are identical where meaningful.
The touchpad speed curve has a plateau for 'normal' speeds (i.e. not very slow
and not very fast) where the acceleration factor is constant. This is the
reference factor that the unaccelerated motion should use as well.
Since the touchpad acceleration rework in
d6e5313497 the reference factor is
0.9 * TP_MAGIC_SLOWDOWN (previously the factor was 1.0 * TP_MAGIC_SLOWDOWN)
and scroll motion is thus 10% faster than the pointer movement at the default
speeds. Let's fix this and let the two match up.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Aleix Pol [Fri, 11 Oct 2019 00:37:39 +0000 (02:37 +0200)]
LIBINPUT_EVENT_TABLET_BUTTON doesn't exist, use LIBINPUT_EVENT_TABLET_PAD_BUTTON
Tadeo Kondrak [Mon, 7 Oct 2019 07:04:21 +0000 (01:04 -0600)]
meson.build: fix building as a subproject
Peter Hutterer [Fri, 4 Oct 2019 21:10:43 +0000 (07:10 +1000)]
util-time: include linux/input.h
struct timeval isn't defined in time.h, at least not on musl. And since we
need that value for struct input_events, let's include the header for that
struct. That'll sort out the includes for free.
Fixes #371
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Benjamin Tissoires [Fri, 4 Oct 2019 19:03:50 +0000 (15:03 -0400)]
gitlab-ci: use one sha1 instead of duplicates
because we can
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Benjamin Tissoires [Tue, 6 Aug 2019 10:40:44 +0000 (12:40 +0200)]
gitlab-ci: use qemu to run the full test suite
We currently allow the stage to fail, but at least,
we can make use of it.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
yy [Fri, 4 Oct 2019 17:07:34 +0000 (19:07 +0200)]
Added quirk for Lenovo ThinkPad X200 Tablet.
Jakub Schmidtke [Mon, 30 Sep 2019 23:34:45 +0000 (23:34 +0000)]
Fixed horizontal scrolling on Logitech MX Master 2S/3
Logitech MX Master 2S and 3 by default use natural scrolling
for the horizontal scroll wheel, while the main wheel
uses traditional mode. This change inverts the default
direction of horizontal scrolling.
Peter Hutterer [Mon, 30 Sep 2019 01:17:17 +0000 (11:17 +1000)]
test: fix a coverity warning about an unused value
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
John Chadwick [Sun, 29 Sep 2019 23:35:09 +0000 (23:35 +0000)]
tablet: Improve forced prox out behavior.
Some graphics tablets (most or all Wacom, for example) do not emit
proximity out events when the tablet pen goes out of range. To
compensate for this, libinput synthesizes proximity out events when no
events are received for a certain period of time. Unfortunately, on some
tablets, this is fairly failure prone when moving the pen slowly. As a
workaround, this patch causes libinput to avoid synthesizing proximity
out events when the pen is still in contact with the tablet pad, as
defined by the TABLET_TOOL_IN_CONTACT status.
Peter Hutterer [Fri, 27 Sep 2019 00:23:44 +0000 (10:23 +1000)]
middle-button: add space to middlebutton state debug message
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>`
John Chadwick [Fri, 27 Sep 2019 03:06:11 +0000 (20:06 -0700)]
test: Make udev_properties array fixed-size.
The udev_properties array is currently variable length, which causes the
tests to invoke undefined behavior on empty lists, as it attempts to
access the first array item to check if the key is NULL, which is an out
of bounds read and will fail when the struct alignment happens to line
up such that there is no padding after the list in the empty list case.
By making the udev_properties array 32 items long, it can encapsulate
every existing case, with only a fairly small amount of memory overhead,
and without requiring every single `TEST_DEVICE` call to initialize
`udev_properties`.
Peter Hutterer [Wed, 25 Sep 2019 06:49:08 +0000 (16:49 +1000)]
test: don't use debounced clicks for the middle button emulation click
This used to work under valgrind up to F30 but with the F31 beta something is
now a tad slower so it triggers the timeouts before the middle emulation kicks
in.
The middlebutton timeout is 50ms and the first debounce timeout is 30ms, so if
we're late by 20ms, well, there goes the timeout.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 25 Sep 2019 05:49:58 +0000 (15:49 +1000)]
doc/user: drop markdown source parsers
This is deprecated in sphinx 1.8 but we don't include any markdown sources
anyway, so let's just drop it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 25 Sep 2019 05:49:36 +0000 (15:49 +1000)]
doc/user: update copyright for the sphinx docs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 25 Sep 2019 05:07:02 +0000 (15:07 +1000)]
doc: update reference to the event codes header
The codes have been in input-event-codes.h for quite a few releases now.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 19 Sep 2019 03:56:32 +0000 (13:56 +1000)]
gestures: where we have more fingers than slots, default to swipe
Fixes #360
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 19 Sep 2019 03:19:09 +0000 (13:19 +1000)]
gestures: rename the inner/outer thresholds to min/max_move
inner/outer refer more to static thresholds when really what we have here is a
minimum movement before we look at the touch, and a maximum one after which
it's largely ignored.
Straight-up rename, no functional changes.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 19 Sep 2019 02:51:10 +0000 (12:51 +1000)]
touchpad: only identify for pinch in a distinct pinch position
Previously, any lower finger spaced more than the vertical threshold apart
would be labelled as thumb. This causes some taps to be detected as
single-taps, particularly where the user's hand is at an angle that causes the
touches to be effectively vertical.
Restructure that condition so that we only go for a thumb if we're
distinctively apart, and we only *not* go for thumb if we're distinctively
close together.
Fixes #359
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 19 Sep 2019 01:39:24 +0000 (11:39 +1000)]
touchpad: drop useless asserts()
Just above that line is an early return if either is NULL, so...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Serhii Chaplia [Wed, 25 Sep 2019 00:46:23 +0000 (00:46 +0000)]
Touchpad fix and trackpoint speed adjustment for Lenovo T490s
Same issue as #177
Konstantin Kharlamov [Wed, 11 Sep 2019 20:57:26 +0000 (23:57 +0300)]
libinput-tool.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Wed, 11 Sep 2019 20:54:27 +0000 (23:54 +0300)]
libinput-measure.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 21:55:15 +0000 (00:55 +0300)]
quirks.c: remove unused include
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Wed, 11 Sep 2019 20:29:52 +0000 (23:29 +0300)]
libinput-fuzz-to-zero.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Wed, 11 Sep 2019 20:16:39 +0000 (23:16 +0300)]
libinput-fuzz-extract.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:31:49 +0000 (01:31 +0300)]
libinput-debug-events.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:27:38 +0000 (01:27 +0300)]
udev-seat.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:26:32 +0000 (01:26 +0300)]
path-seat.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:23:45 +0000 (01:23 +0300)]
evdev-mt-touchpad-buttons.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>