platform/upstream/libinput.git
3 years agogitlab CI: update to latest templates
Peter Hutterer [Tue, 10 Nov 2020 23:08:52 +0000 (09:08 +1000)]
gitlab CI: update to latest templates

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agogitlab CI: remove unused custom ubuntu install script
Peter Hutterer [Wed, 11 Nov 2020 23:34:33 +0000 (09:34 +1000)]
gitlab CI: remove unused custom ubuntu install script

Looks like this has been obsolete since
4df2ac731ff3ae420081b3e243fc2cec636bdfd6 where it stopped passing in the
packages.

And a bug caused the template to checked the "version" against "ubuntu", so
the script hasn't actually been included in any job anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agogitlab CI: update Ubuntu to current distros
Peter Hutterer [Sun, 8 Nov 2020 21:50:08 +0000 (07:50 +1000)]
gitlab CI: update Ubuntu to current distros

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agogitlab CI: rename FREEBSD_PKGS to FREEBSD_PACKAGES for consistency
Peter Hutterer [Wed, 11 Nov 2020 01:18:30 +0000 (11:18 +1000)]
gitlab CI: rename FREEBSD_PKGS to FREEBSD_PACKAGES for consistency

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agogitlab CI: switch the coverity job to Debian stable
Peter Hutterer [Wed, 11 Nov 2020 01:16:06 +0000 (11:16 +1000)]
gitlab CI: switch the coverity job to Debian stable

coverity doesn't work with gcc 10, it fails with "invalid GNU version
number: 201". F31 is about to be EOL but we can't use to F32 or later.

So let's switch to debian stable instead, that one will stick around for a bit
longer.

Debian packages are the same as the Ubuntu packages

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agogitlab CI: Fedora only needs git-core, not git
Peter Hutterer [Wed, 11 Nov 2020 01:12:17 +0000 (11:12 +1000)]
gitlab CI: Fedora only needs git-core, not git

The other lines are just for indentation to match up

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agogitlab CI: use a template for the various ci-fairy jobs
Peter Hutterer [Tue, 10 Nov 2020 23:13:20 +0000 (09:13 +1000)]
gitlab CI: use a template for the various ci-fairy jobs

And switch to python:alpine, an image that is tiny and sufficient for the job
we want.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agogitlab CI: switch to the vmctl script
Peter Hutterer [Sun, 8 Nov 2020 21:18:32 +0000 (07:18 +1000)]
gitlab CI: switch to the vmctl script

See ci-templates commit acda94e139030dc2caa058118956225e55bbec5f, it replaces
vm interactions with vmctl start/stop/exec and sets up an ssh config for the
hostname 'vm'.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agogitlab CI: pass MESON_ARGS down to the wayland-web job
Peter Hutterer [Tue, 10 Nov 2020 07:40:40 +0000 (17:40 +1000)]
gitlab CI: pass MESON_ARGS down to the wayland-web job

Now that we're firing the wayland website generation as trigger, we're
automatically passing down the variables to the pipeline. Let's pass down
something sensible, we already had one issue with our space-separated
'build dir' and let's not require more than absolutely necessary to build
the docs.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agotools: print the AttrEventCodeEnable and AttrInputPropEnable/Disable quirks
Peter Hutterer [Tue, 10 Nov 2020 03:32:26 +0000 (13:32 +1000)]
tools: print the AttrEventCodeEnable and AttrInputPropEnable/Disable quirks

Introduced in e3c4ff3 and e882bd02

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agoFix a few coverity complaints
Peter Hutterer [Tue, 10 Nov 2020 03:09:00 +0000 (13:09 +1000)]
Fix a few coverity complaints

All minor:
- execdir does not need initialization, it's not used until written to
- 'newest' could be NULL
- zalloc(-1) confuses coverity
- 't' is never used in that test

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
3 years agoFix the termination of the readlink result
Peter Hutterer [Tue, 10 Nov 2020 04:25:31 +0000 (14:25 +1000)]
Fix the termination of the readlink result

nread is the number of bytes put into the buffer, let's terminate it there
instead of one byte over. This only worked because execdir was initialized to
zero.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: update the comments
Peter Hutterer [Fri, 30 Oct 2020 00:44:23 +0000 (10:44 +1000)]
gitlab CI: update the comments

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: update to latest ci-templates
Peter Hutterer [Fri, 30 Oct 2020 00:41:18 +0000 (10:41 +1000)]
gitlab CI: update to latest ci-templates

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: remove a now-unused VERSION variable
Peter Hutterer [Fri, 30 Oct 2020 00:38:47 +0000 (10:38 +1000)]
gitlab CI: remove a now-unused VERSION variable

This became obsolete with FDO_DISTRIBUTION_VERSION being autogenerated by
templates.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: trigger the wayland website pipeline directly
Peter Hutterer [Tue, 27 Oct 2020 05:49:58 +0000 (15:49 +1000)]
gitlab CI: trigger the wayland website pipeline directly

See the documentation here:
https://docs.gitlab.com/ee/ci/multi_project_pipelines.html#trigger-a-pipeline-when-an-upstream-project-is-rebuilt

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agodoc/user: update the timer offset warning for the new "too slow" message
Peter Hutterer [Thu, 22 Oct 2020 05:10:38 +0000 (15:10 +1000)]
doc/user: update the timer offset warning for the new "too slow" message

Related #533

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoevdev: reduce the "your system is slow" warning to 5 per hour
Peter Hutterer [Thu, 22 Oct 2020 04:59:03 +0000 (14:59 +1000)]
evdev: reduce the "your system is slow" warning to 5 per hour

Two cases where this can happen: system is currently slow and delaying events,
n which case we'll get a burst and it'll show up in the log files anyway. Or
the system is generally slow and we get these warnings all the time. In the
latter case, let's not spam the log.

Fixes #533

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoquirks: add quirk for Dell Precision 7550/7750 touchpad
Scott Jann [Mon, 3 Aug 2020 05:03:59 +0000 (00:03 -0500)]
quirks: add quirk for Dell Precision 7550/7750 touchpad

Signed-off-by: Scott Jann <sjann@knight-rider.org>
4 years agoquirks: switch the models with missing buttonpad to use the new attr
Peter Hutterer [Fri, 23 Oct 2020 01:01:57 +0000 (11:01 +1000)]
quirks: switch the models with missing buttonpad to use the new attr

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoquirks: add AttrInputPropEnable and Disable
Peter Hutterer [Fri, 23 Oct 2020 00:38:14 +0000 (10:38 +1000)]
quirks: add AttrInputPropEnable and Disable

The latter requires libevdev 1.10 but since that'll take a while to filter
into our various CI systems, let's make it conditional.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoquirks: add AttrEventCodeEnable as counterpoint to the disable one
Peter Hutterer [Thu, 22 Oct 2020 23:14:33 +0000 (09:14 +1000)]
quirks: add AttrEventCodeEnable as counterpoint to the disable one

Currently unused, but let's get this in because we may need this very soon for
broken tablets.

Enabling EV_ABS axes requires an absinfo struct - we default to a simple 0-1
axis range for those as the most generic option. Anything more custom will
need more custom treatment when we need it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoevdev: localize two variables during quirks handling
Peter Hutterer [Fri, 23 Oct 2020 02:54:54 +0000 (12:54 +1000)]
evdev: localize two variables during quirks handling

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoevdev: quirks_get_tuples can deal with a NULL quirks
Peter Hutterer [Fri, 23 Oct 2020 02:53:35 +0000 (12:53 +1000)]
evdev: quirks_get_tuples can deal with a NULL quirks

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotools/debug-events: rework touch event printing
Peter Hutterer [Tue, 20 Oct 2020 23:06:16 +0000 (09:06 +1000)]
tools/debug-events: rework touch event printing

Previously, touch up events did not contain the slot number which makes the
logs ambiguous (e.g. see the one in #532). Fix that, and since doing so would
require extra conditions anyway get rid of the current with/without coords
function and just handle it all inside one function instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoPrint the event name when using an invalid event type
Peter Hutterer [Tue, 20 Oct 2020 23:01:32 +0000 (09:01 +1000)]
Print the event name when using an invalid event type

Where an invalid event type is passed to a function (e.g. a keyboard event to
a touch-related function) we used to only print the event code. That makes
debugging less obvious than necessary, so let's print the event name too.

This requires the function to be moved below event_type_to_str()

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: fix the tip one axis test
Peter Hutterer [Thu, 8 Oct 2020 02:44:10 +0000 (12:44 +1000)]
test: fix the tip one axis test

Only worked because of axis smoothing mangling the coordinates - x is not
supposed to change where we're moving along a vertical line. And the same for
y and horizontal lines.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: fix the tablet relative calibration test
Peter Hutterer [Thu, 8 Oct 2020 02:27:37 +0000 (12:27 +1000)]
test: fix the tablet relative calibration test

This test only worked because axis smoothing mangled the coordinates, moving
from 5/10 to 10/20 cannot possibly have a dx of zero.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agofallback: expand the range of valid keys
Peter Hutterer [Tue, 6 Oct 2020 23:36:38 +0000 (09:36 +1000)]
fallback: expand the range of valid keys

The kernel has since added a bunch of keys in the range between
KEY_ONSCREEN_KEYBOARD and BTN_TRIGGER_HAPPY. Let's designate those as keys so
we handle them correctly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: add git depth to the coverity job and save the artifacts
Peter Hutterer [Tue, 6 Oct 2020 06:43:52 +0000 (16:43 +1000)]
gitlab CI: add git depth to the coverity job and save the artifacts

A default git depth of 1 means git describe won't work, let's set it to
something high enough that we should always have at least one tag in the
history.

And save the artifacts after the coverity compilation, where the submission
fails for whatever reason we can just resubmit those manually without having
to rebuild the whole image locally.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotools: color-group the debugging messages
Peter Hutterer [Tue, 6 Oct 2020 06:03:19 +0000 (16:03 +1000)]
tools: color-group the debugging messages

Alternate between two randomly-chosen colors for each batch of debug messages
to make it easier to visually group the two.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotools: print the libinput_dispatch() counter for debugging messages
Peter Hutterer [Tue, 6 Oct 2020 05:35:44 +0000 (15:35 +1000)]
tools: print the libinput_dispatch() counter for debugging messages

The messages with priority DEBUG refer to the various internal state machines
updating, so it's useful to know when they did so. Let's count up every time
we trigger libinput_dispatch() so we know how the messages group together.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotools: only call libinput_dispatch() once per poll
Peter Hutterer [Tue, 6 Oct 2020 05:04:08 +0000 (15:04 +1000)]
tools: only call libinput_dispatch() once per poll

This is a closer approximation of all callers anyway, and it makes it easier
to debug which events are handled per libinput_dispatch() call.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoquirks: fix force-press on Apple Magic Trackpad 2
Davide Depau [Sat, 12 Sep 2020 15:21:59 +0000 (17:21 +0200)]
quirks: fix force-press on Apple Magic Trackpad 2

The current defaults detect force presses as palm or thumb.
The values provided here work for a 99% accurate palm/thumb detection
and provide close zero false positives in my tests.

Signed-off-by: Davide Depau <davide@depau.eu>
4 years agodoc/api: fix the doxygen output handling
Peter Hutterer [Tue, 29 Sep 2020 07:33:36 +0000 (17:33 +1000)]
doc/api: fix the doxygen output handling

Using output: ['.'] broke ninja after ninja clean - it removed the whole
directory and thus the meson-generated configure_files (i.e. all the
doxygen sources we copied). ninja didn't know how to build those.

Fix this by rearranging the doxygen output to build into a different
directory now and setting the output to that. This doesn't exactly *fix*
things since that directory is no longer removed during ninja clean, but at
least the build no longer fails.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoquirks: Customize ALPS i2c touchpad palm detect pressure threshold
Kai-Chuan Hsieh [Mon, 28 Sep 2020 02:43:28 +0000 (10:43 +0800)]
quirks: Customize ALPS i2c touchpad palm detect pressure threshold

ALPS i2c touchpad support ABS_PRESSURE and ABS_MT_PRESSURE capabilities,
The default threshold 130 is too easy to across while finger movement.
It will cause the cursor stalled after the threshold is achieved, which
impacts user experience.
Test with some ALPS touchpads 0488:101A, 0488:101D, 0488:101E, the value
180 is good on those platforms.

Signed-off-by: Kai-Chuan Hsieh <kaichuan.hsieh@canonical.com>
4 years agodoc: update touchpad tapping state machine diagram
satrmb [Sun, 19 Jul 2020 21:46:01 +0000 (23:46 +0200)]
doc: update touchpad tapping state machine diagram

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
4 years agotest: expand drag and multitap tests to tap with up to 3 fingers
satrmb [Wed, 1 Jul 2020 19:02:09 +0000 (21:02 +0200)]
test: expand drag and multitap tests to tap with up to 3 fingers

This covers the addition of two- and three-finger tap-and-drag,
as well as the fix for multitaps with more than one finger in later taps
and the multifinger enhancement to the tap ending drag-lock.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
4 years agotouchpad: fix multitaps with more than one finger while dragging is enabled
satrmb [Wed, 8 Jul 2020 11:32:43 +0000 (13:32 +0200)]
touchpad: fix multitaps with more than one finger while dragging is enabled

Also permits any number of fingers in the tap that terminates drag-lock.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
4 years agotouchpad: allow tap-and-drag for two-finger and three-finger taps
satrmb [Tue, 23 Jun 2020 22:20:57 +0000 (00:20 +0200)]
touchpad: allow tap-and-drag for two-finger and three-finger taps

This commit duplicates the tap states responsible for tap-and drag (TAPPED
and all DRAGGING* states) to cover two-finger and three-finger taps;
the code for the new states is shared with the existing machinery for
one-finger tap-and-drag.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
4 years agotouchpad: track the release of all fingers in a three-finger tap
satrmb [Wed, 1 Jul 2020 09:54:28 +0000 (11:54 +0200)]
touchpad: track the release of all fingers in a three-finger tap

This is in preparation for three-finger tap-and-drag, which will start from
a completed tap with no fingers down.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
4 years agotest: set the elan test device to always double up on tool bits
Peter Hutterer [Thu, 10 Sep 2020 23:54:24 +0000 (09:54 +1000)]
test: set the elan test device to always double up on tool bits

This is the device from
https://gitlab.freedesktop.org/libinput/libinput/-/issues/259 which sets
BTN_TOOL_PEN in addition to the real tool. Integrate this into the test device
proper so it always does this to catch various outliers.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: move the x/y coords a bit when testing tool type switches
Peter Hutterer [Thu, 10 Sep 2020 23:31:20 +0000 (09:31 +1000)]
test: move the x/y coords a bit when testing tool type switches

More realistic, there's no way you can get the x/y coordinates exactly the
same when moving the pen back into prox.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: auto-assign the tool type for tablet tests
Peter Hutterer [Thu, 10 Sep 2020 22:43:58 +0000 (08:43 +1000)]
test: auto-assign the tool type for tablet tests

The current tool type test merely sends BTN_TOOL_RUBBER (and others) manually
and expects libinput to do the right thing. This only tests the perfect
sequence but not test weird devices that behave differently on a tool type
switch.

So let's fix this by setting the tool type as property on the libinput test
device itself, and then emulate the tool switch through litest.
For special devices this will need extra callbacks, this is just the initial
framework to handle those buttons.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotablet: split a ternary condition into a normal if else for readability
Peter Hutterer [Thu, 10 Sep 2020 22:42:15 +0000 (08:42 +1000)]
tablet: split a ternary condition into a normal if else for readability

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: don't run the tool switch test on tablets that require forced prox out
Peter Hutterer [Thu, 10 Sep 2020 22:39:52 +0000 (08:39 +1000)]
test: don't run the tool switch test on tablets that require forced prox out

This test only worked because we're emulating events that the device never
sends that way. Just skip the test, devices that require a forced prox out
probably don't handle (or even have) erasers ayway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: remove duplicate tool type
Peter Hutterer [Thu, 10 Sep 2020 05:41:01 +0000 (15:41 +1000)]
test: remove duplicate tool type

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotablet: group the pressure related bit into a substruct
Peter Hutterer [Wed, 9 Sep 2020 02:54:32 +0000 (12:54 +1000)]
tablet: group the pressure related bit into a substruct

No functional changes

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotools/record: compress a set of printfs into one
Peter Hutterer [Thu, 17 Sep 2020 02:31:29 +0000 (12:31 +1000)]
tools/record: compress a set of printfs into one

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotools/record: prefix the device list with a # character
Peter Hutterer [Thu, 17 Sep 2020 01:08:59 +0000 (11:08 +1000)]
tools/record: prefix the device list with a # character

Too many recordings end up with the device list at the top when users redirect
stderr and stdout to the recordings file. This breaks yaml parsing and
requires manual removal of the first few lines.

Avoid this by prefixing the lines with a command character, this way the yaml
stays correct.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotools/record: add --grab option
Peter Hutterer [Sun, 13 Sep 2020 21:58:04 +0000 (07:58 +1000)]
tools/record: add --grab option

Useful to record devices like power buttons, lid switches, etc.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agocheck return value for libudev/udev_monitor_filter_add_match_subsystem_devtype
weizhixiang [Tue, 15 Sep 2020 08:03:44 +0000 (16:03 +0800)]
check return value for libudev/udev_monitor_filter_add_match_subsystem_devtype

Signed-off-by: weizhixiang <1138871845@qq.com>
4 years agoremove extra parameter in path_disable_device()
weizhixiang [Wed, 16 Sep 2020 05:13:34 +0000 (13:13 +0800)]
remove extra parameter in path_disable_device()

Signed-off-by: weizhixiang <1138871845@qq.com>
4 years agocheck return value for udev_new()
weizhixiang [Tue, 15 Sep 2020 02:23:38 +0000 (10:23 +0800)]
check return value for udev_new()

Signed-off-by: weizhixiang <1138871845@qq.com>
4 years agotools/replay: check the recorded udev properties against the local properties
Peter Hutterer [Wed, 9 Sep 2020 00:50:42 +0000 (10:50 +1000)]
tools/replay: check the recorded udev properties against the local properties

Where a device is replayed locally for testing, its udev properties should
match the recorded properties. Otherwise the testing results will not be
reliable.

The exception here is the device group which we currently don't set for
emulated devices and even if we did, it may intentionally differ anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agomeson.build: add a few compiler warnings and make them compiler-conditional
Peter Hutterer [Wed, 9 Sep 2020 01:53:12 +0000 (11:53 +1000)]
meson.build: add a few compiler warnings and make them compiler-conditional

These seem like a decent-enough set to have, only -Wlogical-op actually
produced a new warning.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotimer: fix a logic error checking the list node
Peter Hutterer [Wed, 9 Sep 2020 01:56:54 +0000 (11:56 +1000)]
timer: fix a logic error checking the list node

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoquirks: fix a logical error checking for A..Z
Peter Hutterer [Wed, 9 Sep 2020 01:55:57 +0000 (11:55 +1000)]
quirks: fix a logical error checking for A..Z

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agomeson.build: drop the separate cpp flags
Peter Hutterer [Wed, 9 Sep 2020 01:42:17 +0000 (11:42 +1000)]
meson.build: drop the separate cpp flags

All we care about for C++ is that we build.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agomeson.build: bump minimum version to 0.47
Peter Hutterer [Wed, 9 Sep 2020 01:26:25 +0000 (11:26 +1000)]
meson.build: bump minimum version to 0.47

It's been out for 2 years.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agodoc/api: drop the doxygen/graphviz version checks
Peter Hutterer [Wed, 9 Sep 2020 01:22:24 +0000 (11:22 +1000)]
doc/api: drop the doxygen/graphviz version checks

Both of our minimum versions were released in 2012, no more need to check.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agomeson.build: update libwacom dependency to 0.27 or newer
Peter Hutterer [Thu, 18 Jun 2020 04:32:56 +0000 (14:32 +1000)]
meson.build: update libwacom dependency to 0.27 or newer

Released in 2017, that's enough waiting

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoDrop the trailing slash from the HTTP_DOC_LINK
Peter Hutterer [Wed, 9 Sep 2020 01:17:12 +0000 (11:17 +1000)]
Drop the trailing slash from the HTTP_DOC_LINK

It makes the printf statements nicer and we ne don't use it on its own
anywhere anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agomeson.build: we no longer install a hwdb file, so drop the directory define
Peter Hutterer [Wed, 9 Sep 2020 01:14:41 +0000 (11:14 +1000)]
meson.build: we no longer install a hwdb file, so drop the directory define

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agomeson.build: drop a meson < 0.43 condition
Peter Hutterer [Wed, 9 Sep 2020 01:13:39 +0000 (11:13 +1000)]
meson.build: drop a meson < 0.43 condition

We require meson 0.45, so this can no longer be triggered.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agomeson.build: bump to 1.16.900
Peter Hutterer [Wed, 9 Sep 2020 01:29:02 +0000 (11:29 +1000)]
meson.build: bump to 1.16.900

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoremove extra paramenter in libinput-debug-events
weizhixiang [Fri, 4 Sep 2020 06:55:10 +0000 (14:55 +0800)]
remove extra paramenter in libinput-debug-events

Signed-off-by: weizhixiang <1138871845@qq.com>
4 years agotouchpad: ignore the ALPS jump to 4095/0
Peter Hutterer [Wed, 26 Aug 2020 01:59:47 +0000 (11:59 +1000)]
touchpad: ignore the ALPS jump to 4095/0

Some ALPS touchpad send the occasional 4095/0 event on slot 1 during
two-finger interaction before snapping back to the actual position of the
finger. There doesn't seem to be a specific heuristic to predict this so let's
hardcode those values. When detected, overwrite the current touch point with
the position of the last point. This will likely cause a small pointer jump
when the finger later moves to the real position but based on #492 this could
be a second later, so all bets are off anyway.

Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/492

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agodoc: fix a wrongly named parameter
Peter Hutterer [Thu, 3 Sep 2020 23:54:49 +0000 (09:54 +1000)]
doc: fix a wrongly named parameter

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years ago[clang-tidy] do not use else after return
Rosen Penev [Thu, 27 Aug 2020 08:17:24 +0000 (01:17 -0700)]
[clang-tidy] do not use else after return

Found with readability-else-after-return

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago[clang-tidy] fix inconsistent declarations
Rosen Penev [Thu, 27 Aug 2020 08:00:31 +0000 (01:00 -0700)]
[clang-tidy] fix inconsistent declarations

Found with readability-inconsistent-declaration-parameter-name

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago[clang-tidy] remove pointless return in void function
Rosen Penev [Thu, 27 Aug 2020 07:58:40 +0000 (00:58 -0700)]
[clang-tidy] remove pointless return in void function

Found with readability-redundant-control-flow

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years agotools: fix a replay exception when a recording has an empty quirks list
Peter Hutterer [Sun, 23 Aug 2020 22:31:21 +0000 (08:31 +1000)]
tools: fix a replay exception when a recording has an empty quirks list

Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/520

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: drop Fedora 30
Peter Hutterer [Thu, 20 Aug 2020 04:46:50 +0000 (14:46 +1000)]
gitlab CI: drop Fedora 30

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoquirks: add Google Pixelbook (eve)
Alyssa Ross [Sat, 15 Aug 2020 17:53:51 +0000 (17:53 +0000)]
quirks: add Google Pixelbook (eve)

Signed-off-by: Alyssa Ross <hi@alyssa.is>
4 years agolibinput 1.16.1 sandbox/jeon/upstream upstream_bkup_20220207 1.16.1
Peter Hutterer [Thu, 13 Aug 2020 02:05:39 +0000 (12:05 +1000)]
libinput 1.16.1

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: add two test devices for the false joystick labelling
Peter Hutterer [Wed, 12 Aug 2020 23:37:30 +0000 (09:37 +1000)]
test: add two test devices for the false joystick labelling

Two devices that were affected by the regression fixed with #517

Test devices taken from:
https://gitlab.freedesktop.org/libinput/libinput/-/issues/514
https://gitlab.freedesktop.org/libinput/libinput/-/issues/515

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoinclude: update event codes to v5.8
Peter Hutterer [Wed, 12 Aug 2020 23:59:10 +0000 (09:59 +1000)]
include: update event codes to v5.8

SW_MAX changed and the device_capability_nocaps_ignored test will fail on
older kernels. Change that test to use some other unhandled-by-libinput switch
code instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoevdev: remove now-misleading comment
Peter Hutterer [Wed, 12 Aug 2020 23:40:27 +0000 (09:40 +1000)]
evdev: remove now-misleading comment

libwacom has been removing ID_INPUT_JOYSTICK for years

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoRevert "evdev: fix the check for tablet vs joystick"
Peter Hutterer [Wed, 12 Aug 2020 23:40:03 +0000 (09:40 +1000)]
Revert "evdev: fix the check for tablet vs joystick"

There are a number of devices that have the ID_INPUT_JOYSTICK tag set by udev,
usually because of seemingly random event codes set. We cannot rely on
ID_INPUT_JOYSTICK to be accurate enough.

Fixes #517

This reverts commit eededbeb7faa2b6182c02a84884f54c1cb1d8a2a.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoAdd original MX Master to inverted-horizontal-wheel-having mice.
haarp [Tue, 11 Aug 2020 16:51:05 +0000 (16:51 +0000)]
Add original MX Master to inverted-horizontal-wheel-having mice.

with help from
https://github.com/libratbag/libratbag/blob/master/data/devices/\
logitech-MX-Master.device

Signed-off-by: haarp <main.haarp@gmail.com>
4 years agolibinput 1.16.0 1.16.0
Peter Hutterer [Mon, 3 Aug 2020 05:37:49 +0000 (15:37 +1000)]
libinput 1.16.0

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: semi-fix the switch_suspend_with_touchpad test
Peter Hutterer [Mon, 3 Aug 2020 05:23:51 +0000 (15:23 +1000)]
test: semi-fix the switch_suspend_with_touchpad test

This used to do nothing, now at least it does the same thing as the
corresponding keyboard test. It merely tests the switch going on/off while a
touchpad is present, so short of an unexpected error message or a crash this
test doesn't actually test for any specific behavior.

Fixes #502

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoFIX: typo on building documentation
Diego Abad A [Mon, 27 Jul 2020 13:37:10 +0000 (08:37 -0500)]
FIX: typo on building documentation

Signed-off-by: Diego Abad <dabada83@gmail.com>
4 years agolibinput 1.15.902 1.15.902
Peter Hutterer [Mon, 27 Jul 2020 05:36:24 +0000 (15:36 +1000)]
libinput 1.15.902

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: build an rpm package to verify the installed file list
Peter Hutterer [Wed, 15 Jul 2020 00:02:20 +0000 (10:02 +1000)]
gitlab CI: build an rpm package to verify the installed file list

This is not a package intended for, it's a job to fail when we accidentally
change the file list. An rpmbuild job like this was what detected
f15da0f10890467712222410233c0bec9faefdd0.

The spec file resembles the Fedora one but has BuildRequires removed (we rely
on the container for that).

The same task could be achieved by keeping a file list and comparing the
installed tree but since I had the rpm spec file already, let's use that for
now.

This requires meson 0.55 which hit F32 yesterday.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agogitlab CI: remove a bunch of trailing spaces
Peter Hutterer [Wed, 22 Jul 2020 00:46:53 +0000 (10:46 +1000)]
gitlab CI: remove a bunch of trailing spaces

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotouchpad: disable jump detection on the Lenovo X1 Gen6 touchpad
Peter Hutterer [Sun, 12 Jul 2020 22:21:19 +0000 (08:21 +1000)]
touchpad: disable jump detection on the Lenovo X1 Gen6 touchpad

This touchpad has firmware that seems to buffer events. In the words of the
reporter:

  In usage, it feels like motions vary between smooth and choppy; slow
  movements are smooth and quick movements are choppy. It's as if the
  touchpad aggregates quick movements and sends one big movement instead
  of sending discrete events. To make the movement more natural, the
  events preceding the jump should be of higher magnitude and the jump
  less pronounced, but that's just not how the touchpad works, it seems.

In the actual event data this looks exactly like a pointer jump: small
movements, one big one, then small ones again. If we filter that large
movement out we prevent the user from moving quickly.

There's no way to detect this or work around this, so let's add a quirk that
disables the jump detection for this device.

Fixes #506

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoquirks: correct modalias for the Lenovo X1 Gen6
Peter Hutterer [Tue, 14 Jul 2020 22:11:17 +0000 (08:11 +1000)]
quirks: correct modalias for the Lenovo X1 Gen6

From commit 74e20e0ae01170fdc967e1a5cfeaea02ce57977a, bug report
https://bugzilla.redhat.com/show_bug.cgi?id=1565692

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoevdev: drop the check for tablet vs joystick
Peter Hutterer [Tue, 14 Jul 2020 03:04:25 +0000 (13:04 +1000)]
evdev: drop the check for tablet vs joystick

libwacom has been unsetting ID_INPUT_JOYSTICK for known tablets since 2015
(libwacom 0.12) so this comment is outdated. And the input-id udev builtin
never labels something as tablet *and* joystick. Which means: systemd sets
either tablet or joystick. For tablets that are known to libwacom the joystick
bit gets corrected and we only see the tablet bits.

Tablets unknown to libwacom remain as joysticks and are ignored but that's the
behavior we had anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agoevdev: fix the check for tablet vs joystick
Peter Hutterer [Tue, 14 Jul 2020 02:22:48 +0000 (12:22 +1000)]
evdev: fix the check for tablet vs joystick

A device may have ID_INPUT_JOYSTICK and ID_INPUT_KEY in which case it would
still get added, despite being a joystick device. Make sure we check only the
tablet and joystick bits - where a device has the joystick bit set but not the
tablet one we ignore it.

Note that this check will get removed in the next commit anyway, it's just
here to make tracking the change easier in the history (and figuring out where
potential regressions come from).

Fixes #415

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agolibinput 1.15.901 1.15.901
Peter Hutterer [Tue, 14 Jul 2020 23:09:31 +0000 (09:09 +1000)]
libinput 1.15.901

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: rename the identifier in the 50-litest.conf
Peter Hutterer [Tue, 14 Jul 2020 23:36:30 +0000 (09:36 +1000)]
test: rename the identifier in the 50-litest.conf

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: fix the ABS_Y handling for the Protocol A test device
Peter Hutterer [Wed, 8 Jul 2020 23:50:49 +0000 (09:50 +1000)]
test: fix the ABS_Y handling for the Protocol A test device

No effect on the test results because we never use ABS_Y anyway for multitouch
devices.

Fixes #505

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotools: add missing linebreak in error message
Peter Hutterer [Wed, 8 Jul 2020 03:25:12 +0000 (13:25 +1000)]
tools: add missing linebreak in error message

Missing from a0643a9c9879e569c2a47b13f203561de8031cc0

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: grab the device before any lid or tablet mode switches
Peter Hutterer [Fri, 3 Jul 2020 02:46:38 +0000 (12:46 +1000)]
test: grab the device before any lid or tablet mode switches

Putting an EVIOCGRAB on the device before sending those events means no-one
else sees those events - particularly upower. This means no-one else knows the
lid is on or off and thus we never blank the screen (or suspend/shut down but
those are inhibited anyway).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: store the list of open file descriptors in the litest context
Peter Hutterer [Fri, 3 Jul 2020 02:29:16 +0000 (12:29 +1000)]
test: store the list of open file descriptors in the litest context

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: use litest_destroy_context() for test-suite contexts
Peter Hutterer [Fri, 3 Jul 2020 00:47:13 +0000 (10:47 +1000)]
test: use litest_destroy_context() for test-suite contexts

Symmetrical to litest_create_context(), this allows us to store special data
in that context that we have access to during the tests.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: use context creation helper in the log tests
Peter Hutterer [Fri, 3 Jul 2020 00:49:32 +0000 (10:49 +1000)]
test: use context creation helper in the log tests

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
4 years agotest: inhibit shutdown and suspend while the tests are running
Peter Hutterer [Fri, 3 Jul 2020 00:28:53 +0000 (10:28 +1000)]
test: inhibit shutdown and suspend while the tests are running

We test lid switch events which are independently handled by Upower. Let's
make sure nothing else can tell logind to suspend or shut down while we're
running.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>