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>
Peter Hutterer [Thu, 20 Jun 2019 00:56:17 +0000 (10:56 +1000)]
touchpad: rename the thumb detection methods
No functional changes, just prep work for a later patch where the thumbs will
dynamically update their state (instead of just using yes/no/maybe).
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Jun 2019 00:37:37 +0000 (10:37 +1000)]
touchpad: extract some bits of thumb detection into helper functions
No functional changes
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 19 Jun 2019 02:05:25 +0000 (12:05 +1000)]
touchpad: move the speed-thumb detection code to the thumb helper file
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 19 Jun 2019 02:04:23 +0000 (12:04 +1000)]
touchpad: add helper function to reset a thumb's state
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 19 Jun 2019 02:01:09 +0000 (12:01 +1000)]
touchpad: explicitly start with detect_thumbs as false
Not needed because we zalloc() anyway, but this makes it grep-able.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 19 Jun 2019 01:57:45 +0000 (11:57 +1000)]
touchpad: add helper function for setting the thumb state
This moves the thumb state logging directly into that helper function too.
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Jun 2019 00:53:39 +0000 (10:53 +1000)]
touchpad: move tp_init_thumb and tp_thumb_detect to the thumb file
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Jun 2019 00:21:13 +0000 (10:21 +1000)]
touchpad: add a helper function for counting touches for gestures
Currently the same as tp_touch_active() but this will change.
No functional changes.
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Jun 2019 00:16:33 +0000 (10:16 +1000)]
touchpad: add a helper function for checking thumb state
No functional changes
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Jun 2019 00:27:59 +0000 (10:27 +1000)]
touchpad: rename the scroll timeout define, drop the pinch one
The previously 'scroll'-named timeout is also used for swipe, so let's rename
it. And the pinch one isn't used at all.
Extracted from Matt Mayfield's thumb detection patches.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 18 Jun 2019 08:24:49 +0000 (18:24 +1000)]
touchpad: reduce state debugging output by only logging changed states
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Vladyslav Shtabovenko [Thu, 11 Jul 2019 09:20:32 +0000 (11:20 +0200)]
Introduce Dell Latitude 5480 trackpoint multiplier. Otherwise the
trackpoint is too sensitive.
Peter Hutterer [Wed, 10 Jul 2019 03:52:25 +0000 (13:52 +1000)]
doc/user: fix a typo
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 26 Jun 2019 22:31:01 +0000 (08:31 +1000)]
meson: run the test suite per group
We can't run this in parallel so it doesn't gain us any speed advantage. If
anything, it'll be slower because it's more setup time in between. But: meson
doesn't display the result until the test suite finished, so having this
broken up into smaller chunks means we're more likely to see a general failure
early.
And the failure should be quicker to reproduce as well.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 1 Jul 2019 02:20:44 +0000 (12:20 +1000)]
test: use the default job control for --filter-groups
All filter arguments currently force a -j1 unless otherwise specified. Change
this for --filter-group since that one is most likely invoked by some test
setup that can either add -j X or set the environment variable LITEST_JOBS as
well.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 1 Jul 2019 02:34:09 +0000 (12:34 +1000)]
meson.build: move the leftover udev rule check up
ninja executes the test in the same order but we don't want to waste 5 minutes
testing other things when we have a udev rule leftover from a previous run.
Plus, this test can't be run in parallel with others, so in the worst case we
had to wait for several long-running tests to finish before this one could be
started.
To avoid all this, let's move this up to be the first check.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 7 Jul 2019 23:53:49 +0000 (09:53 +1000)]
test: fix an always-true check for udev properties
Found by coverity
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 7 Jul 2019 23:47:31 +0000 (09:47 +1000)]
test: fix two coverity warnings
Alleged division by zero and use of an uninitialized variable. Both cannot
happen the way we call the tests, so let's just abort to make coverity happy.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 1 Jul 2019 06:12:26 +0000 (16:12 +1000)]
test: drop the litest feature enum, make it normal bits instead
The coverity compiler can't handle 64-bit enums and since it does provide
useful data, let's switch this to #defines instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
pixl [Fri, 5 Jul 2019 05:14:31 +0000 (05:14 +0000)]
Fixed a grammar error
Peter Hutterer [Tue, 29 Jan 2019 04:34:47 +0000 (14:34 +1000)]
test: one O_NONBLOCK is enough
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 26 Jun 2019 22:51:51 +0000 (08:51 +1000)]
quirks: add touchpad range for cypress touchpads
As found in the Dell XPS 12 9Q23
Fixes #310
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 26 Jun 2019 22:50:51 +0000 (08:50 +1000)]
quirks: rename the cyapa quirks file to cypress
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 25 Jun 2019 22:55:07 +0000 (08:55 +1000)]
evdev: when the kernel fuzz is nonzero, set ours to zero
Our udev callout is supposed to reset the kernel fuzz to 0 and move the value
to the LIBINPUT_FUZZ property. This is to stop the kernel from applying its
own hysteresis-like approach.
Where the kernel fuzz is nonzero, something has gone wrong with that approach.
Complain about it and set our fuzz to zero, we are in the hands of the kernel
now. If we leave our fuzz as nonzero, we'll apply our own hysteresis on top of
the kernel's and that leads to unresponsive behavior.
Fixes #313
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 27 Jun 2019 01:12:58 +0000 (11:12 +1000)]
meson: force litest to use the right udev rules
We generate litest-specific udev rules that contain the path to the binaries
in the builddir. But litest wasn't using those, so IMPORT would run things in
/usr/lib/udev instead. Thus any changes to those binaries generated false test
results depending on how compatible the system-installed libinput was.
This is why 410b157 passed the test suite for example.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 26 Jun 2019 05:38:43 +0000 (15:38 +1000)]
tools: return 77 if gtk_init() fails in the debug-gui
And when that happens, skip the tests because what's happening here is that
you're running tests as root, but your X server doesn't allow root to connect.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 26 Jun 2019 07:05:41 +0000 (17:05 +1000)]
meson: increase the test time for the selftest suite
Because it's timing out on the XPS
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 26 Jun 2019 05:44:16 +0000 (15:44 +1000)]
test: disable coredumps for the selftest
Because on my XPS coredumps take away all the CPU, leading to a test timeout.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 26 Jun 2019 03:55:36 +0000 (13:55 +1000)]
evdev: only extract the fuzz for touchpads and touchscreens
We don't have a hysteresis for tablet devices, so let's leave those as-is.
This may be a slight regression in behavior compared to pre-
410b157e84 now the
kernel will apply the fuzz. Let's see if anyone notices, the fuzz is usually
so tiny on tablets that it shouldn't be noticable.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 26 Jun 2019 04:15:09 +0000 (14:15 +1000)]
If we never initialized the libwacom database, don't check the refcount
If the libwacom context failed to initialize for some reason, the database is
NULL and the refcount remains at zero. Calling unref should just work then.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>