Commit graph

4437 commits

Author SHA1 Message Date
Peter Hutterer
4a4c30f546 libinput 1.17.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-05-26 12:16:52 +10:00
dan g
57ad6e5994 quirks: add palm rejection support for all Razer Blade models
Generated with a script to scrape the openrazer project for Razer Blade
internal keyboard VIDs, see `razer_quirk_util.py` [1]

This allows us to potentially bulk-add all Razer Blade models to benefit from
palm rejection, rather than processing individual requests and merges.

[1] https://gist.github.com/danryu/ee0c24ac50af40321550462bbf9ab594

Signed-off-by: dan g <dan.garton@gmail.com>
(cherry picked from commit 3dcfae3fb6)
2021-05-24 14:35:49 +10:00
Peter Hutterer
9b4f50472f gitlab CI: bump from Fedora 32 to 34
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 5a6f141bd8)
2021-05-24 14:35:19 +10:00
Hans Gaiser
54451cb7a0 Add quirk for Lenovo Legion 5 Pro.
Signed-off-by: Hans Gaiser <hansg91@gmail.com>
(cherry picked from commit b1f958a178)
2021-05-24 14:35:11 +10:00
Peter Hutterer
f42b8dd1ae libinput 1.17.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-30 13:52:07 +10:00
Udo Rader
4813e63f79 quirks: add quirk for Lenovo Yoga Slim 9 Touchpad
This touchpad is a pressure pad and needs the pressure
handling disabled.

Fixes #604

Signed-off-by: Udo Rader <udo.rader@bestsolution.at>
(cherry picked from commit 144f5ed93d)
2021-04-29 10:59:06 +10:00
Peter Hutterer
26c65758e9 quirks: add palm size quirk for the Gigabyte Aero 15
Fixes #599

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 10124797b5)
2021-04-29 10:59:04 +10:00
Chris Dickson
a3103ded82 quirks: mark the 0x252 razer keyboard as internal
Signed-off-by: Chris Dickson <hobochili@pm.me>
(cherry picked from commit 9ce8d561c1)
2021-04-29 10:58:50 +10:00
Peter Hutterer
b8d79df696 evdev: don't truncate event time to 32 bits
This causes a bunch of "your system is too slow" messages in e.g. the various
gesture tests.

Fixes 95a72990
Fixes #601

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 04dc67e092)
2021-04-29 10:58:44 +10:00
Peter Hutterer
eea702e30a evdev: don't check the event time if it's higher than the dispatch time
The dispatch time is taken during libinput_dispatch(), i.e. at the beginning
of an event sequence. We always read all events off the device, so where
events come in while we're inside the main dispatch loop, our event time may
be later than the saved dispatch_time. This causes an uint underflow and our
tdelta > 10 will be true for that case.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 95a72990ad)
2021-04-29 10:58:43 +10:00
Jonas Ådahl
0cfe00f493 tablet-pad-leds: Open led file with O_NONBLOCK | O_CLOEXEC
We don't want the file to be left open after any fork/exec, and we don't
want the read to be blocking; so open it as such.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
(cherry picked from commit f723b28220)
2021-04-29 10:58:24 +10:00
Ben Weston
0d3d885a1a quirk: fix sensitivity for Dell Latitude 7490 pointing-stick
Signed-off-by: Ben Weston <b.weston60@gmail.com>
(cherry picked from commit 74f6821d7a)
2021-04-29 10:58:13 +10:00
Peter Hutterer
6df5169229 libinput 1.17.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-03-24 14:46:08 +10:00
Greg V
4f2f1d29ec quirks: add wildcard to HID-over-I2C names (for FreeBSD)
The FreeBSD HID stack adds the device type to the evdev name,
so we get e.g. "ACPI0C50:00 18D1:5028 TouchPad".

(Maybe this shouldn't be matched by name at all though...)

Signed-off-by: Greg V <greg@unrelenting.technology>
(cherry picked from commit 06697b5e85)
2021-03-24 14:45:24 +10:00
Greg V
4c1862c1e4 quirks: implement DMI support on FreeBSD
FreeBSD does not use Linux modaliases, so we have to generate these strings.
Unfortunately for us, the data in kenv has the chassis type pre-parsed into
a nice string, so we have to match these strings back into numbers.
Only relevant types are included to avoid bloating the code.

Signed-off-by: Greg V <greg@unrelenting.technology>
(cherry picked from commit 6941f74070)
2021-03-24 14:45:18 +10:00
Greg V
a49826a7a8 quirks: add quirks for Apple SPI input devices
The Linux applespi driver currently uses the Synaptics vendor ID
on the trackpad for some reason (even though, at least from bcm5974
we only know that Broadcom is involved..) but my upcoming FreeBSD driver
uses the Apple vendor ID everywhere, so add two quirks.

Signed-off-by: Greg V <greg@unrelenting.technology>
(cherry picked from commit d8b1a773e3)
2021-03-24 14:45:17 +10:00
Greg V
f905054b5b quirks: recognize SPI bus
Apple MacBooks (Broadwell/Skylake/Kaby Lake and Apple Silicon)
use SPI to communicate with the keyboard and trackpad.

Signed-off-by: Greg V <greg@unrelenting.technology>
(cherry picked from commit 5f00c32d9e)
2021-03-24 14:45:16 +10:00
Peter Hutterer
b8f90d074e doc/user: explain why we are doing motion normalization
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 2f8dab4537)
2021-03-24 14:44:47 +10:00
Peter Hutterer
7624497df5 completion: add missing libinput analyze subtools to the zsh completions
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 40b83b1105)
2021-03-24 14:44:31 +10:00
Pedro Ribeiro
1ca2f11524 Add Lenovo Legion 5 keyboard to 50-system-lenovo.quirks
Signed-off-by: Pedro Ribeiro <pedrib@gmail.com>
(cherry picked from commit 5e69c5f9ae)
2021-03-24 14:44:29 +10:00
Peter Hutterer
9477d91d69 libinput 1.17.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 19:02:45 +10:00
Peter Hutterer
1b00eb5e03 tools/record: fix two coverity complaints
In both cases we only read to drain the fd, we don't care about the return
value.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 16:55:58 +10:00
Peter Hutterer
6a6435ae4b tools: add a tool to print a libinput recording as a table
This makes it easier to visualize changes in various axes or key states that
should not be there, doubly so for long recordings.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 13:46:00 +10:00
Peter Hutterer
9323cdfc11 meson.build: build libinput replay as well
Just like the other python-based tools it's just a basename copy, so let's be
consistent here and have all tools perform that way.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 13:30:42 +10:00
Peter Hutterer
627a3dd2b2 tools/record: use a helper function to get the next event for a device
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 10:56:53 +10:00
Peter Hutterer
4a7dece88c tools/record: switch record over to using epoll
Using poll means more difficult fd management, epoll (together with am
modified version of the libinput_sources) makes this a lot easier by simply
using dispatch.

This means we are no longer reliant on a specific file descriptor order in the
poll array.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 10:56:53 +10:00
Peter Hutterer
d8b64d413d tools/record: reword parts of the man page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 10:56:53 +10:00
Peter Hutterer
ca9067992e tools/record: use safe_basename() to get to the hid report descriptor
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 10:56:53 +10:00
Peter Hutterer
671eb8cbbb utils: add a safe version of basename
So we don't need to worry about the libgen.h include game.
And we can switch trunkname over to that, making it a bit simpler.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 10:56:53 +10:00
Peter Hutterer
fd9d165a77 tools/record: simplify the behavior to emulate Python's join()
Instead of a boolean "is_first", just change the separator.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 10:56:53 +10:00
Peter Hutterer
ff87151764 tools/replay: Enter quits if there are no events
If we have no events in any of the recorded devices, state that this is the
case and make Enter simply quit instead of a pointless while loop.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 10:53:31 +10:00
Peter Hutterer
f30342644a tools/replay: search for the first event with a timestamp
When running with --with-libinput, the first event is the DEVICE_ADDED event
for our device. Those events do not have a timestamp.

We have to find the first event in the recording with a timestamp instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-23 10:43:52 +10:00
Peter Hutterer
59ca971898 tools/record: print a header as first line
To make the file format easier to detect

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-22 14:53:41 +10:00
yuri1969
201b81ebe9 Fix worng quirk name in doc
The doc mentioned 'AttrTouchPressureRange' quirk but `src/quirks.c` defines
'AttrPressureRange' instead. This led to unknown quirk name errors.

Signed-off-by: yuri1969 <1969yuri1969@gmail.com>
2021-02-19 22:14:38 +01:00
Peter Hutterer
4b0f200936 tools/record: fix outdated comment
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-19 09:09:53 +10:00
Peter Hutterer
a8597e3ab3 tools/record: de-inline our functions
Let's leave this up to the compiler, the usual side-effect of inline (compiler
doesn't complain about an unused static function) doesn't apply here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-19 09:09:53 +10:00
Peter Hutterer
ea4f89bd1d tools/record: correct the evdev data format in the man page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-19 09:09:53 +10:00
Peter Hutterer
1b8dd97092 meson.build: consolidate all man pages
They all use the same configure_file() process, so let's do them all in a
loop.

Exceptions are the test-suite man page.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-18 01:00:53 +00:00
Peter Hutterer
82e974ef1d meson.build: drop the dummy config data and use copy: true instead
We require the meson version this was introduced in, so let's use it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-18 01:00:53 +00:00
satrmb
dc936707a9 test: add test cases for 2/3 finger movement after drag-lock
Same as after a tap, just with a short drag between tap and 2/3 finger movement.
Also fixes a finger coord typo in one of the previously added test cases.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
2021-02-17 08:14:11 +01:00
Peter Hutterer
115a8ff141 libinput 1.16.902
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-16 13:10:18 +10:00
Peter Hutterer
e96852ac37 test: add test cases for 2/3 finger movement after tap
We have two behaviors here:
- tap + 2fg -> scrolling
- tap + 1fg move + 2f down -> dragging

Let's document this. The 3fg case only has one situation, so let's test that.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-15 18:03:34 +10:00
Peter Hutterer
06ef838b5b test: drop the needless base event conversion
This was just there to avoid unused variable warnings but the simpler approach
to that is to just not assign a variable in the first place.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-15 18:03:34 +10:00
Peter Hutterer
b8d4197697 test: print the event type on mismatch
We already have a helper function for this, let's use it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-15 17:34:51 +10:00
Peter Hutterer
a0d842a640 doc: update the docs with a note regarding multifinger dragging
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-15 17:13:46 +10:00
Peter Hutterer
da5bdd2022 gitlab CI: move the no-libwacom test suite into its own stage
Easier to spot visually in the GUI that way

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-15 16:28:44 +10:00
satrmb
37e6e89ed5 test: fix a few missing or wrong drag-lock timeouts
These had no consequences apart from occasional "system is too slow" messages,
because the test suite's shorter tap timeout is just barely long enough
for drag-lock, and/or because litest_assert_button_event waits for an event
anyway.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
2021-02-15 05:46:46 +00:00
satrmb
4ccdacaf95 touchpad: permit only one finger on the touchpad at the start of a tap-drag
This only affects the actual dragging part of the tap-and-drag interaction;
n-finger tap-and-drag is supposed to be performed with a n-finger tap
followed by a 1-finger drag.
Allowing a second finger in the middle of a drag is still necessary for a
finger swap, which users may need in long-distance drags, especially when
drag-lock is disabled.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
2021-02-15 05:46:46 +00:00
satrmb
a91ecbde74 touchpad: stretch the tap-and-drag timeout a bit depending on finger count
Some users reported problems triggering multi-finger tap-and-drag,
with reliability decreasing as the finger count increased.
This is plausible because they may shift towards moving the whole hand
up and down, which obviously takes more time than just a finger.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
2021-02-15 05:46:46 +00:00
Peter Hutterer
03280de5e9 doc/user: generate the required package list for the CI distributions
Use yq to extract the package list from the CI configuration, then dump that
into the user docs. This provides the long-requested commands to install all
dependencies without the maintenance effort or risk of going stale.

Note that we are *not* building this in the CI, it's just not needed.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-02-15 15:22:42 +10:00