Commit graph

4839 commits

Author SHA1 Message Date
Peter Hutterer
8e34037dcd doc/user: add a section on natural scrolling
Just for completeness, turns out we were missing that one.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-04-18 16:54:57 +10:00
Peter Hutterer
7073a39ec0 doc/user: fix documentation for rotation
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-04-18 16:54:57 +10:00
Peter Hutterer
2432b6eeff tools: add a tool to update our Razer quirks for internal keyboards
openrazer keeps a convenient list of keyboard devices that belong to the
RazerBlade line and thus should be marked as internal by us. Let's
use that one.

This script git clones the current openrazer repo, imports the file we
need and then overwrites our current quirks file with the sorted list of
devices.

For the second part of this to work reliable we need a marker in the
quirks file that marks the start of autogenerated entries.

Heavily influenced by @danryu in !887.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-04-11 14:48:41 +10:00
Peter Hutterer
8a01c3423d quirks: sort the razer entries by PID
No functional changes here, this should help with adding autogenerated
entries since we no longer rely on the source order.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-04-11 14:43:46 +10:00
Robert Glossop
57f0354ee5 Disregard touchless clicks on flaky devices
Some touchpads, notably those on the Dell XPS 15 9500, are prone to registering
touchpad clicks when the case is sufficiently flexed. Ignore these by
disregarding any clicks that are registered without touchpad touch.

Signed-off-by: Rob Glossop <robgssp@gmail.com>
2023-04-11 02:00:52 +00:00
Peter Hutterer
7c84fb87e9 CI: remove unused meson-prep.sh and meson-test.sh scripts
From an earlier version of the b2c patches, before meson-build.sh got
updated to do what's required here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-04-11 00:13:08 +00:00
Hector Martin
4a8b5e6ec4 touchpad: Disable edge palm detection Apple touchpads
This hurts more than it helps, and users complain of dead trackpad
edges. Apple touchpads have fairly sophisticated internal palm rejection
algorithms going back many years, so let's just disable this one on
everything Apple.

Related to: #433 (need to figure out what other hardware may need this)

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-06 16:34:20 +09:00
Hector Martin
d61d385951 evdev: Enable natural scrolling by default on Apple
As suggested by the comment itself. I think most users expect this.

Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-06 15:30:14 +09:00
Peter Hutterer
7ae3713a77 doc/user: the CI uses FEDORA_PACKAGES, not FEDORA_RPMS
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-04-04 08:56:47 +10:00
Peter Hutterer
898f80fa37 tablet: always enable touch arbitration with touchscreens/ext. touchpads
Right now for touch arbitration to work, we require the device group to
be the same (i.e. they're hanging off the same physical bus). That's not
always the case and statistically we have a lot more devices that have
a built-in tablet + touchscreen than we have Intuos-like external
tablets.

So let's default to the more common case - enabling arbitration with the
first touchscreen/external touchpad we find. If a subsequent device is
"better", swap it out. Right now, the only heuristic we have here is the
device group check but in the future we could get more precise.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-30 05:53:23 +00:00
Peter Hutterer
c26c05b255 tablet: split out arbitration/rotation handling assignment
No functional changes

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-30 05:53:23 +00:00
Peter Hutterer
7e1ab13f89 test: move arbitration test into a helper function
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-30 05:53:23 +00:00
Peter Hutterer
01a02d4033 fallback: don't double-map if any left-handed buttons are down
The key_count array for buttons records the logical button sent to the
client - for left-handed configurations that means a BTN_LEFT is
recorded as BTN_RIGHT.

When the device is suspended and we are releasing all keys we must thus
release the button code as-is without trying to map it again.

Fixes #881

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-29 16:37:24 +10:00
Peter Hutterer
41b16e6e4f CI: bump to latest ci-templates for a new ci-fairy
This version includes the (possible) fix for our CI picking up the wrong
range in the commit checks and failing the pipeline.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-29 06:03:04 +00:00
Peter Hutterer
40869bf11e test: minor cleanups
A whitespace fix, moving a check-related #define closer to the #include
and change a test that doesn't need a device to litest_add_no_device().

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-29 11:14:27 +10:00
José Expósito
f8497bf176 doc: document libinput_device_tablet_pad_get_* error case
Like in libinput_device_switch_has_switch()'s documentation, document
the error case in libinput_device_tablet_pad_get_num_buttons(),
libinput_device_tablet_pad_get_num_rings() and
libinput_device_tablet_pad_get_num_strips().

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-03-25 19:33:05 +01:00
José Expósito
0b005eb64b libinput 1.23.0
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-03-25 18:59:47 +01:00
Peter Hutterer
b2f5925e62 quirks: add a bunch more Razer internal keyboards
Generated with the same script as the list from
commit 3dcfae3fb6.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-24 04:32:20 +00:00
Peter Hutterer
fbd8febc79 test: add a test to make sure we don't accidentally add Logitech receivers
IDs copied over from libratbag which has that same check, with C548
added.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-23 12:13:23 +10:00
Peter Hutterer
dcea365373 test: add a quicks file validation test
Now that we're Python ConfigParser compatible (again), we can check our
quirks file for things our actual parser doesn't care about, but that we
should honour. Right now that means that bustypes and vid/pid matches are
all spelled consistently.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-23 12:13:23 +10:00
Tobias Bengfort
ec0041f116 touchpad: rm dead tp_palm_tap_is_palm
This was added in 39f1125347
(https://bugs.freedesktop.org/show_bug.cgi?id=89625)

Later, a more sophisticated palm detection was implemented in
46eab97538
(https://bugs.freedesktop.org/show_bug.cgi?id=103210)

The only place where `tp_palm_tap_is_palm()` is called is if the more
sophisticated palm detection has already decided that this is not a palm,
so it should never return true.

Signed-off-by: Tobias Bengfort <tobias.bengfort@posteo.de>
2023-03-23 00:22:25 +00:00
Peter Hutterer
9422d72f97 test: comment two tap tests
This is confusing without any explanation - the first set of touches is
within the edge zone, the second set of touches is explicitly within the
software button area but not inside the edge zone. Let's add comments so
the intention is clear.

Same-ish for the clickfinger test.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-22 16:16:59 +10:00
Peter Hutterer
c491e3b94d CI: make the ci-fairy commit check verbose
This way it prints the commit range which should help debug why it fails
when it does.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-22 14:27:36 +10:00
Peter Hutterer
2a3a116e05 test: drop the explicit -n auto to the tool options test
This script adds the option automatically where xdist is available.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-20 22:13:19 +00:00
Peter Hutterer
6bfd658173 tools: honor FDO_CI_CONCURRENT in the tools option parser
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-20 22:13:19 +00:00
Peter Hutterer
f276f3de54 quirks: change all 3-digit matches to zero-prefixed 4-digit matches
Time to get some standardization here!

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-20 17:38:28 +00:00
Peter Hutterer
28a246188d quirks: fix duplicate section names
Our parser doesn't care about this, but let's stick to the proper format so
we can read those files with e.g. Python's ConfigParser

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-20 17:38:28 +00:00
José Expósito
74a94be8ed quirks: add a note to not quirk the Bolt Receiver
The Logitech Bolt Receiver can be used with multiple mice, but the
kernel exposes the same product ID for all of them.

Adding a quirk for the device trying to fix a specific mouse would
break other mice.

Since we avoided this problem during code review a couple of times [1]
[2] add a warning to avoid it in the future.

[1] https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/867#note_1759931
[2] https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/847#note_1725364
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-03-20 18:10:10 +01:00
Tobias Bengfort
1843a2dd0f doc/user: fix tap in palm exclusion zone
See 211bed2c25 and
79139ebcd1

Signed-off-by: Tobias Bengfort <tobias.bengfort@posteo.de>
2023-03-17 12:23:59 +01:00
Peter Hutterer
8b7320b8fa test: give the generic MT touchscreen realistic ranges
This way we can rely on physical coords on this screen being actually
meaningful. Not currently in use but future tests will use this touch
device as generic screen.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-17 14:04:58 +10:00
Peter Hutterer
f1e93b5159 CI: add new workflow rules
Required for pipelines to run after some infrastructure changes, see
https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/438

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-15 09:30:58 +10:00
Peter Hutterer
da58d59b99 CI: update to latest ci-templates
The commit fixes linebreaks at the end of the files for files generated
with ci-fairy generate-templates.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-03-15 09:30:58 +10:00
Yinon Burgansky
93135c2012 filter: add scroll movement type to the custom acceleration profile
Adds a dedicated scroll movement type to the custom acceleration profile.
Supported by physical mouse and touchpad.
Other profiles remain the same by using the same unaccelerated filter for the scroll filter.

Signed-off-by: Yinon Burgansky <51504-Yinon@users.noreply.gitlab.freedesktop.org>
2023-02-24 13:01:34 +02:00
José Expósito
6c88d9a251 quirks: fix DWT on Legion 5i
The keyboard present on this device is not recognized as internal and
disable while typing does not work.

Add a quirk to fix this feature.

Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/848
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-02-13 02:44:20 +00:00
Peter Hutterer
b044b5fae1 gitlab CI: explicitly run the test in the systemd service
This shouldn't have functional changes because MESON_TEST_ARGS was set
for all our b2c/qemu tests and thus the tests would run automatically.
To make this script more generic, specify --run-test explicitly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-02-13 09:43:47 +10:00
Peter Hutterer
c739cc7b41 gitlab CI: remove a leftover use of a fedora image
This is overridden by the template users anyway

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-02-13 09:43:47 +10:00
Peter Hutterer
9a12a447ec gitlab CI: drop comment about weekly rebuild of images
This was disabled many moons ago, pre the b2c work.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-02-13 09:43:47 +10:00
Peter Hutterer
ba3ddc9e2d CI: bump to use Fedora 37
This was delayed by https://github.com/systemd/systemd/pull/25941 which
is now available in F37 as of v251.11

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-02-13 09:07:00 +10:00
Aksel Stokseth
9764d1f362 add quirks for Logitech MX Master 3B
Signed-off-by: Aksel Stokseth aksel.stokseth@gmail.com
2023-02-09 04:59:51 +00:00
Benjamin Tissoires
c40286bbf4 CI: bump b2c and kernel
Same than https://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/106
We need to upgrade to a newer boot2container

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2023-02-08 11:01:13 +00:00
Tobias Bengfort
9bb2136bab filter: simplify speed_factor()
The `speed_factor()` formula is unnecessarily complex, The behavior that is described in the comment can be achieved with a simple power function.

And adjust the comment to explicitly state that 0.05 is the minimum.
2023-02-08 10:56:48 +00:00
Marge Yang
74415b13fb quirks: Dell Mayabay (Pressure Pad).
Signed-off-by: Marge Yang <marge.yang@synaptics.corp-partner.google.com>
2023-02-08 08:05:37 +00:00
hrdl
5d7fc54c22 evdev: apply calibration for touch arbitration
Rectangle-based touch arbitration should respect calibration. This
fixes #853.

Signed-off-by: hrdl <git@hrdl.eu>
2023-02-08 03:57:18 +00:00
hrdl
1e64d52fe9 evdev-tablet: clip touch arbitration rectangle
Previously the arbitration rectangle would be moved to lie completely in
the first quadrant of the coordinate system.

Signed-off-by: hrdl <51402-hrdl@users.noreply.gitlab.freedesktop.org>
2023-02-07 11:26:27 +01:00
gogogoghost
c855012ddb quirk: Google Chromebook Atlas (Pixelbook go)
Signed-off-by: Jax Leach <heiguiyj@gmail.com>
2023-02-06 18:23:31 +00:00
Peter Hutterer
41e7caac48 tools: add --replay-after and --once to libinput replay
For the cases where it's not possible to hit enter to start the replay
because e.g. we cannot change focus, etc.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-02-06 18:02:58 +00:00
Bill A
bb21327efe quirks: add generic quirk for Dell 2-in-1 models for side volume buttons
Signed-off-by: Bill A's avatarBill A <vukk.euob@gmail.com>
2023-02-06 17:46:01 +00:00
Yinon Burgansky
886f1c6767 filter: validate custom acceleration function's points size
Adds min and max size limit for custom acceleration function's points.
Adds tests to make sure validation works properly.

Signed-off-by: Yinon Burgansky <51504-Yinon@users.noreply.gitlab.freedesktop.org>
2023-02-02 04:56:18 +00:00
Diep Pham
32c0af17f0 quirk: Lenovo P14s Gen 1 AMD Trackpoint 2023-01-28 16:06:06 +00:00
José Expósito
f668e827e4 doc/user: fix trackpoint quirks path
Fix a small typo in the file name.

Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/851
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-01-23 18:44:59 +00:00