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>
Konstantin Kharlamov [Sun, 8 Sep 2019 21:28:35 +0000 (00:28 +0300)]
filter.h/c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 21:08:00 +0000 (00:08 +0300)]
libinput-fuzz-override.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Peter Hutterer [Thu, 12 Sep 2019 01:10:34 +0000 (11:10 +1000)]
meson.build: bump to 1.14.900
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Konstantin Kharlamov [Wed, 11 Sep 2019 20:51:49 +0000 (23:51 +0300)]
timer.c: remove unused include <inttypes.h>
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:26:09 +0000 (01:26 +0300)]
evdev-tablet-pad-leds.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:25:46 +0000 (01:25 +0300)]
evdev-tablet.c: remove unused include
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:25:11 +0000 (01:25 +0300)]
evdev-mt-touchpad-gestures.c: remove unused include
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:24:32 +0000 (01:24 +0300)]
evdev-mt-touchpad-edge-scroll.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:22:49 +0000 (01:22 +0300)]
evdev-mt-touchpad-tap.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:19:20 +0000 (01:19 +0300)]
evdev-mt-touchpad.h: remove unused include
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 22:17:36 +0000 (01:17 +0300)]
evdev.c: remove unused include
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 21:54:22 +0000 (00:54 +0300)]
filter-trackpoint.c: remove unused include
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 21:46:04 +0000 (00:46 +0300)]
filter-touchpad-x230.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 21:43:27 +0000 (00:43 +0300)]
filter-touchpad.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 21:32:19 +0000 (00:32 +0300)]
filter-mouse.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 21:31:31 +0000 (00:31 +0300)]
filter-low-dpi.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Konstantin Kharlamov [Sun, 8 Sep 2019 21:30:52 +0000 (00:30 +0300)]
filter-flat.c: remove unused includes
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
Peter Hutterer [Wed, 4 Sep 2019 05:09:13 +0000 (15:09 +1000)]
udev: parse the EVDEV_ABS properties for a potential fuzz setting
Where a fuzz is defined in the 60-evdev.hwdb, we rely on a udev builtin to
set the kernel device to that fuzz value. Unfortunately that happens after our
program is called with this order of events:
1. 60-evdev.rules calls IMPORT(builtin) for the hwdb which sets the EVDEV_ABS_*
properties. It also sets RUN{builtin}=keyboard but that's not invoked yet.
2. 90-libinput-fuzz-override.rules calls IMPORT{program} for our fuzz override
bits. That sets the kernel fuzz value to 0 and sets the LIBINPUT_FUZZ_*
propertie
3. The keyboard builtin is run once all the rules have been processed.
Our problem is that where the fuzz is set in a hwdb entry, the kernel fuzz is
still unset when we get to look at it, so we always end up with a fuzz of zero
for us and a nonzero kernel fuzz.
Work around this by checking the EVDEV_ABS property, extracting the fuzz from
there and re-printing that property without the fuzz. This way we ensure the
kernel remains at zero fuzz and we use the one from the hwdb instead.
Fixes #346
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 6 Sep 2019 01:42:09 +0000 (11:42 +1000)]
Remove some usage of libinput-util.h
Positive side-effect - this exposed a bunch of missing #includes that got
pulled in by other headers before.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Sep 2019 05:11:45 +0000 (15:11 +1000)]
Split utility functions into separate source files
libinput-util.h is getting a bit of a catchall bucket and it includes things
like libinput-private.h which in turn includes libwacom. This makes
libinput-util.h less useful for bits that only need e.g. the string processing
utilities.
So let's split them all up in to separate files, to be used as-needed.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 6 Sep 2019 00:31:49 +0000 (10:31 +1000)]
test: do run the util tests under valgrind
These tests include string parsers, definitely want those to run under
valgrind to detect OOB reads and writes.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 11 Sep 2019 00:00:33 +0000 (10:00 +1000)]
tools: flake8 fixes for the various python files
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 10 Sep 2019 23:22:31 +0000 (09:22 +1000)]
tools: change python invocations to use /usr/bin/env python3
Let's be consistent here
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Sep 2019 03:51:07 +0000 (13:51 +1000)]
tools: install local quirks during libinput replay
The quirks for each device are listed in the recording but they may not apply
during libinput replay (e.g. for DMI matches). Work around this by writing out
the local-overrides.quirks file before initializing the devices. This way
we're guaranteed that the device is identical as on the reporter's machine.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Sep 2019 03:50:37 +0000 (13:50 +1000)]
tools: make an infinite loop more obvious in the code
Nothing sets "stop", so we might as well make it a while True
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 4 Sep 2019 03:33:25 +0000 (13:33 +1000)]
tools: factor out a sanity check in libinput-replay
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Richard McIntosh [Sun, 8 Sep 2019 13:21:11 +0000 (15:21 +0200)]
Added magic trackpoint multiplier for Thinkpad 13 G2
RussianNeuroMancer [Tue, 3 Sep 2019 08:02:28 +0000 (08:02 +0000)]
Mark HP Elite x2 1013 G3 keyboard as external
Keyboard+touchpad is external:
http://h10032.www1.hp.com/ctg/Manual/
c06077534 (page 12)
RussianNeuroMancer [Fri, 30 Aug 2019 15:09:01 +0000 (15:09 +0000)]
Tablet Mode Switch on HP Elite x2 1013 G3 is unreliable:
https://bugzilla.kernel.org/show_bug.cgi?id=204719
https://bugzilla.kernel.org/show_bug.cgi?id=204739
Keyboard+touchpad is external:
http://h10032.www1.hp.com/ctg/Manual/
c06077534 (page 12)
Peter Hutterer [Mon, 26 Aug 2019 01:38:05 +0000 (11:38 +1000)]
libinput 1.14.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Matt Mayfield [Wed, 14 Aug 2019 13:29:07 +0000 (08:29 -0500)]
touchpad: don't allow gestures with a clickpad button down by a finger
Allowing gestures when holding a physical click enables tasks like
switching workspaces while dragging an icon, but this should only be
possible with a *thumb* holding down the clickpad, not fingers. This
commit restores the ability to hold down the clickpad with two or three
fingers to right- or middle-drag.
Fixes #339, #340
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Ronan Pigott [Tue, 13 Aug 2019 21:47:53 +0000 (14:47 -0700)]
tools: fix typo in debug-events
Ronan Pigott [Sat, 10 Aug 2019 20:51:19 +0000 (13:51 -0700)]
completion: add libinput(1) zsh completions
Kevin Kaland [Sun, 11 Aug 2019 20:02:18 +0000 (20:02 +0000)]
Fix double click button.
This fixes the double click button on the RollerMouse v3 (USB ID 0b33:1004).
Peter Hutterer [Thu, 8 Aug 2019 04:58:55 +0000 (14:58 +1000)]
libinput 1.14.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 6 Aug 2019 04:04:16 +0000 (14:04 +1000)]
tablet: scale the available pressure range into the pressure thresholds
Pens that don't have a pressure offset (caused by a worn-out tip) still have
basic pressure thresholds to avoid tip events when we're still a bit away from
the tablet or barely touching it. That range is currently 5% of the pressure
for tip down, 1% for tip up.
This leaves us with 95% of the range and that needs to be scaled correctly,
otherwise the bottom 5% happen before a tip event and are inaccessible where
applications don't look at pressure before tip down.
Fixes #332
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 6 Aug 2019 04:22:27 +0000 (14:22 +1000)]
test: don't test at the 100 y range
Theoretically this shouldn't matter, but testing at the far end of the range
is bound to trigger some little issues eventually that should be triggered
explicitly, not by accident.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 6 Aug 2019 03:15:48 +0000 (13:15 +1000)]
tablet: reduce the pressure range by the offset
Previously, the pressure range was calculated from the axis total range. A
device with a pressure offset making the bottom 10% inaccessible would lose
10% of that range as non-accessible. Due to the implementation, this affected
the upper range of the device, so the top N percent became unaccessible. Which
may be why no-one's noticed this yet.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 6 Aug 2019 02:57:51 +0000 (12:57 +1000)]
tablet: make the pressure-offset inclusive of the axis minimum
The offset handling was inconsistent, stored as relative to the axis minimum
but used as absolute in some places. Fix this by always using the absolute
value including the minimum (i.e. no pressure offset means offset == minimum).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 6 Aug 2019 03:30:14 +0000 (13:30 +1000)]
test: fix the pressure offset tests
Unsuprisingly, a normalized [0,1] value will always be between 0 and 1, so
bhis gave us a false positive. Check for the real values instead.
Those values aren't 100% correct because of a bug in the offset handling which
will be fixed in a follow-up commit. The difference is near enough that it
doesn't matter here anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 8 Aug 2019 03:57:55 +0000 (13:57 +1000)]
Add the ck_double_eq_tol() macros to the backwards compat headers
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 6 Aug 2019 03:09:40 +0000 (13:09 +1000)]
tablet: add a comment explaining why we adjust the pressure offset downwards
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 6 Aug 2019 03:24:11 +0000 (13:24 +1000)]
tablet: point the pressure offset log messages to the right URL
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Benjamin Tissoires [Wed, 7 Aug 2019 10:11:30 +0000 (12:11 +0200)]
tests: increase the timeout for the subprocess to receive the quit signal
On a very loaded machine, the process might not receive the quit signal
in a timely manner, and this introduce false positive results.
Add a longer timeout. This shouldn't interfere with the global time
spent in the tests, but will allow some loaded environment to pass
the tests.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Benjamin Tissoires [Wed, 7 Aug 2019 09:57:01 +0000 (11:57 +0200)]
gitlab-ci: force using docker format for the generated images
See https://gitlab.freedesktop.org/freedesktop/freedesktop/issues/178#note_203050
Some shared runners are not capable of understanding OCI format for
container images, and they are failing.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Benjamin Tissoires [Tue, 6 Aug 2019 11:32:16 +0000 (13:32 +0200)]
gitlab-ci: allow to run on unprivileged containers
This parameter is already included by default in ci-templates, but
we also need it in freebsd
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Peter Hutterer [Wed, 7 Aug 2019 03:42:36 +0000 (13:42 +1000)]
gitlab CI: fetch the WAYLAND_WEB_TOKEN from a file
This way it can't leak into the meson testlog.txt during the other stages.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 7 Aug 2019 01:55:21 +0000 (11:55 +1000)]
gitlab CI: replace the user:password with a netrc file
Gitlab supports masked tokens that get sanitized during log output but these
tokens are still in the environment. meson dumps the environment into
testlog.txt, resulting in our tokens leaking.
Avoid that leak by using a netrc file instead. The token value now refers to
the file name which is safe enough to leak into the test logs.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Brian Ashworth [Sun, 4 Aug 2019 15:48:28 +0000 (11:48 -0400)]
evdev: always store user calibration matrix
In evdev_device_calibrate, the user matrix was not being stored when it
was the identity matrix. This resulted in
libinput_device_config_calibration_get_matrix not providing the correct
matrix. Instead of giving the identity matrix, the last non-identity
matrix set was given.
This just moves the storage of the user matrix in
evdev_device_calibrate to be above the identity matrix early return so
that it always get stored.
Signed-off-by: Brian Ashworth <bosrsf04@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 2 Aug 2019 12:45:16 +0000 (22:45 +1000)]
meson.build: drop explicit install:true from configure_file
meson implicitly sets install to whether install_dir is nonzero. Which means
it's superfluous anyway and removing it drops the meson warning:
WARNING: Project specifies a minimum meson_version '>= 0.41.0' but uses
features which were added in newer versions:
* 0.50.0: {'install arg in configure_file'}
Fixes #334
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 31 Jul 2019 22:31:07 +0000 (08:31 +1000)]
tools: record: fix two memory leaks
Found by coverity.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 31 Jul 2019 22:28:13 +0000 (08:28 +1000)]
tools: record: fix segfault on exit
If we don't supply --with-libinput, the device is NULL so we can't unref it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 30 Jul 2019 09:45:05 +0000 (19:45 +1000)]
libinput 1.13.902
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 31 Jul 2019 00:20:50 +0000 (10:20 +1000)]
test: mix tablet events into touch arbitration tests
We keep running into the proximity timeout for these tests, especially under
valgrind. To avoid this, manually intersperse the touch events with tablet
events.
Note that this manual loop would just work even without tablet events
because we no longer have a 10ms delay between touch events as enforced by
litest_touch_move_to. But let's do the right thing anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Jason Gerecke [Fri, 26 Jul 2019 14:24:26 +0000 (07:24 -0700)]
udev: Reproduce entire LIBINPUT_DEVICE_GROUP for paired ExpressKey Remote
In order for two devices to be in the same group, they need to share
identical LIBINPUT_DEVICE_GROUP attributes. The `wacom_handle_ekr` function
overwrites the VID/PID for an ExpressKey Remote, but the 'phys' path is
left unchanged. This only works if the EKR and the device we want to pair
it with are both direct sibings in the USB tree. It isn't always possible
to actually connect the devices like this, however. The Cintiq Pro 32 and
24, for instance, have multiple internal USB hubs and place the pen sensor
and the USB port for the EKR dongle behind different ones.
By copying the 'phys' path of the device we want to pair with, it is
possible to reproduce the entire LIBINPUT_DEVICE_GROUP and ensure that
the two devices actually end up paired in libinput.
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Jacob Moroni [Sun, 28 Jul 2019 00:26:16 +0000 (20:26 -0400)]
Introduce Dell Latitude 5580 trackpoint multiplier
It is required, otherwise the trackpoint is too sensitive.
Tested with a Dell Latitude 5580.
Signed-off-by: Jacob Moroni <mail@jakemoroni.com>
Peter Hutterer [Wed, 24 Jul 2019 03:33:11 +0000 (13:33 +1000)]
tools: record: when running from the builddir, load the quirks correctly
Fixes #324
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 24 Jul 2019 03:32:58 +0000 (13:32 +1000)]
tools: handle arguments correctly for the YAML verifier tool
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 24 Jul 2019 03:32:15 +0000 (13:32 +1000)]
tools: skip the event tests for eventless recordings in the YAML verifier
When verifying a recording, let's skip those tests that require events but
don't have any.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 19 Jul 2019 01:30:37 +0000 (11:30 +1000)]
libinput 1.13.901
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 17 Jul 2019 09:37:21 +0000 (19:37 +1000)]
Merge branch 'wip/advanced-thumb-detection-v2'
Matt Mayfield [Thu, 11 Jul 2019 15:14:37 +0000 (10:14 -0500)]
touchpad: stricter thumb detection if no pressure/size
Matt Mayfield [Sun, 14 Jul 2019 17:50:14 +0000 (12:50 -0500)]
touchpad: don't detect speed-based thumbs if there's already a thumb
Peter Hutterer [Wed, 10 Jul 2019 04:06:07 +0000 (14:06 +1000)]
doc/user: add documentation for the new thumb detection
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Matt Mayfield [Fri, 21 Jun 2019 03:19:22 +0000 (13:19 +1000)]
touchpad: revamp thumb detection
Instead of a simple yes/no/maybe for thumbs, have a more extensive state
machine that keeps track of the thumb. Since we only support one thumb anyway,
the tracking moves to the tp_dispatch struct.
Test case changes:
touchpad_clickfinger_3fg_tool_position:
with better thumb detection we can now handle this properly and expect a
right button (2fg) press for the test case
touchpad_thumb_no_doublethumb_with_timeout:
two thumbs are now always two fingers, so let's switch to axis events here
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 10 Jul 2019 02:45:46 +0000 (12:45 +1000)]
test: make the touchpad size the only check for thumb detection
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 10 Jul 2019 02:10:42 +0000 (12:10 +1000)]
test: only run the speed finger tests when the touchpad has thumb detection
Peter Hutterer [Wed, 10 Jul 2019 02:07:09 +0000 (12:07 +1000)]
test: only run the speed tests for clickpads
We don't need speed detection for non-clickpads - the only reason to ever drop
a second finger on those is to either scroll or trigger a gesture. Unlike
clickpads, where a dropped finger may be a thumb to click.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 10 Jul 2019 01:56:52 +0000 (11:56 +1000)]
touchpad: only log edge scroll state changes when the state actually changes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 21 Jun 2019 01:26:11 +0000 (11:26 +1000)]
touchpad: add a helper function for supressing a thumb
Only sets the state to YES at the moment, will do more in the future.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Matt Mayfield [Fri, 31 Aug 2018 02:29:46 +0000 (21:29 -0500)]
gestures: Improve thumb detection, allow one finger scroll
Check if there's a thumb if we have two touches. If one finger moves but
the thumb remains still, we assume that one is really a thumb. But if the
thumb moves while the finger is still, let's assume this is a 2-finger scroll.
Extracted from Matt Mayfield's thumb detection patchset
Peter Hutterer [Thu, 20 Jun 2019 11:25:25 +0000 (21:25 +1000)]
gestures: fast-track scroll/swipe detection when gestures are off
We can't detect pinch when gestures are off anyway, so we don't need to check
the finger distances.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Matt Mayfield [Sat, 25 Aug 2018 04:17:03 +0000 (23:17 -0500)]
gestures: improvements to pinch detection
Only bias towards scrolling if the fingers are in the position past the
timeout.
Matt Mayfield [Wed, 22 Aug 2018 02:12:33 +0000 (21:12 -0500)]
gestures: improve scroll responsiveness for vertically aligned touches
Put some basic location checks in, if the fingers are next to each other and
vertically close, assume scroll over swipe.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>:
Matt Mayfield [Sat, 18 Aug 2018 06:10:34 +0000 (01:10 -0500)]
touchpad: basic thumb detection within gestures
When a touchpad has thumb detection enabled, avoid false-positive gestures
involving a resting thumb by using two thresholds: inner and outer.
While both touches remain inside their inner thresholds, remain in UNKNOWN
state to allow for accurate gesture detection even with no timeout.
If both touches move outside their inner thresholds, start a pinch or
swipe/scroll gesture according to direction, as usual.
If one touch moves outside its outer threshold while the other has not yet
exceeded its inner threshold, and thumb detection is enabled, then if one
touch is >20mm lower, mark it as a thumb and cancel the gesture.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>