Commit graph

4919 commits

Author SHA1 Message Date
Peter Hutterer
d5ff9d75a8 triage-policies: emphasize that recordings must be attached 2024-01-03 08:40:17 +10:00
Aiden
5abe45cd49 Add Lenovo ThinkPad E14 Quirk 2023-12-24 13:50:33 -05:00
Peter Hutterer
19446a029b fallback: add messages for touch arbitration debugging 2023-12-19 04:26:50 +00:00
Peter Hutterer
c22ee58b4c triage-policies: add bugbot labels for requesting hid-recorder output
And libinput record too while we're at it.
2023-12-19 10:15:04 +10:00
Airat Makhmutov
106b61e216 quirks: touchpad quirk for Graviton N15i-K2
The generic quirk introduced in commit d1f274c7 ("quirks: add a
more generic match for the 5288 Synaptics clickpad") affects the
touchpad (with physical buttons) present in the Graviton N15i-K2.
2023-11-29 12:17:47 +00:00
Peter Hutterer
b600cc35c5 gitlab: make the bug template the default template
This way users who don't know gitlab much but are most likely reporting
a bug get to use this template and anyone else can remove the
boilerplate and be more free-form and/or prosaic.
2023-11-23 09:53:09 +10:00
José Expósito
9b964ae5da quirks: rename 50-framework.quirks
Follow the same naming used by other quirks.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-11-17 06:18:52 +00:00
José Expósito
d253165d7c quirks: disable button debouncing for the QEMU/KVM mouse integration
When using a touchpad to double click on a QEMU/KVM virtual machine,
fast double taps are filtered by our debouncing code.

Since these are emulated devices and by definition cannot have a stuck
button, let's tag them so we don't enable the debouncing code.
If the button of the physical device is stuck, that's a problem that
needs to be fixed in the host system.

The same device name and broken behavior was found in GNOME Boxes and
Virtual Machine Manager.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-11-16 23:07:32 +00:00
Benjamin Tissoires
ec0421d0ad CI: bump vm2c and kernel for VMs
Actually libinput is one of the last users of harbor.fd.o, because it uses
an outdated version of vm2c.py. Use the new location of the project,
bump its release, and also bump the kernel version we test while at it.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2023-11-16 14:25:10 +00:00
Peter Hutterer
e29a00d657 quirks: don't disable the keyboard on the Dell Latitude 7275
Fixes #950
2023-11-16 09:46:32 +10:00
Peter Hutterer
0e564f0857 quirks: disable button debouncing for the VirtualBox mouse integration
Fixes #158
2023-11-16 09:46:31 +10:00
Miroslav Jarý
da557f99cb Add quirk for Lenovo LOQ 15IRH8 2023-11-09 16:46:34 +00:00
José Expósito
802b0e14d0 doc/user: add FAQ about scroll speed
This question showed up in my email and it has been asked in the issue
tracker a few times. Explaining why libinput is not the right place to
implement it for future reference.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-11-07 09:50:29 +01:00
Czcibor Bohusz-Dobosz
713892c162 Number the fingers by slot in debug-gui 2023-10-16 04:31:17 +00:00
Rajas Paranjpe
686ec27ba3 quirks: disable Chromebook Redrix AttrPalmPressureThreshold
This device doesn't need libinput's palm detection, see
https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/939
2023-10-12 05:33:48 +00:00
Peter Hutterer
98c689ebb2 quirks: add quirks for RazerBlade162023 and RazerBlade182023
Autogenerated from our razer-quirks-lister.py tool
2023-10-09 20:15:10 +10:00
Peter Hutterer
fe3ae87b09 touchpad: allow a palm pressure threshold of 0 to disable
Where a more generic match assigns a palm threshold to a device, allow
unsetting this by assigning a threshold of zero.

And remove the bug log for palm size threshold of 0 for the same reason.
2023-10-09 07:03:47 +00:00
Peter Hutterer
ba32f0818f test: group the test devices and sort them
Group the LITEST_FOO enum into sections for touchpads, mice, etc. This
makes it easier to find whether a particular device may have a
representation already.
2023-10-09 07:03:47 +00:00
lilly-lizard
31062d6e53 removed thinkpad 13 gen 2 trackpoint pre-multiply quirk
Signed-off-by: Lilly Lizard <bigbanana29@aol.com>
2023-10-07 21:49:44 +00:00
Peter Hutterer
e9e3d2140a zsh: fix completion
Was missing a backslash

Fixes #941
2023-10-05 18:37:32 +10:00
Peter Hutterer
4b03374d50 doc/user: update the udev rule to handle bind/unbind events (part 2)
Summary: we expect add, change or remove but kernel 4.12 added bind and
unbind. These events were previously discarded by udevd. Our rules should
handle any event *but* remove, so update as suggested in the announce email
linked below.

For a longer explanation, see the system 247rc2 announcement
https://lists.freedesktop.org/archives/systemd-devel/2020-November/045570.html

See cd37dcfa66 where we did this already
for the udev rules we use ourselves and
a88d107c0d for the patch where we already
updated parts of the docs.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-09-28 08:57:15 +10:00
Vadim Yanitskiy
769cb992cc quirks: match 'ITE Device(8910)' keyboard by USB VID/PID
This allows the "Disable while typing" feature to work properly for:

  048d:c102 Integrated Technology Express, Inc. ITE Device(8910)

This keyboard was found in the following Lenovo laptops:

* Legion 5 Pro 16ARH7H
* Legion 5 15ARH7H

The quirk for 16ARH7H was added in 94c785a2 (see #933), however
matching by DMI does not work for 15ARH7H, so let's match by
USB VID/PID instead.

https://gitlab.freedesktop.org/libinput/libinput/-/issues/933#note_2099049
2023-09-25 19:40:26 +07:00
José Expósito
b6ea2f3976 quirks: add a quirk for the HUAWEI MateBook X Pro 2022 touchpad
Clickpad that announces BTN_RIGHT.

Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/939
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-09-25 10:15:35 +02:00
Elliot Gawthrop
99c4721f95 quirks: add RollerMouse Pro3 double-click fix 2023-09-05 09:39:06 +01:00
Branko Grubić
94c785a29c quirks: Adds Lenovo Legion 5 Pro 16ARH7H keyboard quirk
Fix allows touchpad Disable while typing feature to work properly.

Fixes: #933

Signed-off-by: Branko Grubić <bitlord0xff@gmail.com>
2023-09-05 01:43:26 +00:00
WeirdTreeThing
d4d0cee077 quirks: Add quirk for Google Chromebook Drobit
This device has a touchpad with uncommon pressure sensitivity which
makes it hard to use out of the box.

Signed-off-by: Brady Norander <bradyn127@protonmail.com>
2023-09-03 18:25:55 +00:00
José Expósito
63732a5431 meson.build: Fix add_lamguages() warning
We need to set the `native` flag:

    meson.build:704: WARNING: add_languages is missing native:,
    assuming languages are wanted for both host and build.

As documented [1]:

    If set to true, the language will be used to compile for the build
    machine, if false, for the host machine.

[1] https://mesonbuild.com/Reference-manual_functions.html#add_languages
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-09-03 17:01:59 +00:00
José Expósito
74829a650d meson.build: Update to meson v0.56.0
The meson version was `>= 0.49.0` but features from `0.56.0` were used:

    meson.build:485: WARNING: Project targets '>= 0.49.0' but uses
        feature introduced in '0.56.0': meson.project_source_root.

Update meson's target version to reflect the features used.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-09-03 17:01:59 +00:00
José Expósito
12bb7547f9 meson: Use the meson setup command
Meson recommends using the `meson setup [options]` command:

    WARNING: Running the setup command as `meson [options]` instead of
    `meson setup [options]` is ambiguous and deprecated.

Update the documentation and CI to use the recommended command.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-09-03 17:01:59 +00:00
José Expósito
8d0f2f5f62 pre-commit: Fix end of files
The new pre-commit hook introduced in commit 53517dccb8 ("Add
pre-commit hooks") found 2 files ending with a double empty line:

    Fix End of Files.............................Failed
      - hook id: end-of-file-fixer
      - exit code: 1
      - files were modified by this hook

Fix this error.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-09-03 17:01:59 +00:00
José Expósito
973c461d4b tools/record: print bus name
A follow up on commit 65eaabf91f ("tools/record: print the vid/pid
with proper 4 hex digits").

Print the bus name in addition to the bus ID. Only the busses available
in quirks are printed.

Example:

    $ sudo libinput record
    [...]
    # ID: bus 0x0003 (usb) vendor 0x046d product 0x406d version 0x0111
    [...]

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-09-01 16:21:15 +02:00
Peter Hutterer
53517dccb8 Add pre-commit hooks
This ensures a few things are correct before we commit and/or push,
making life a bit easier for both our contributors and our maintainers
since some things should no longer end up in the MRs.

Activate via:
$ pre-commit install
$ pre-commit install --hook-type pre-push

The latter is required for the ci-templates hooks which are pre-push
only.
2023-09-01 09:12:54 +00:00
José Expósito
bf59231f23 evdev: Fix uninitialized variable
Due to a patch pushed accidentally to main, the `key_count` variable is
uninitialized in the `evdev_log_bug_libinput` code path:

  ../src/evdev.c:148:12: error: ‘key_count’ may be used uninitialized [-Werror=maybe-uninitialized]
    148 |         if (key_count > 32) {
        |            ^
  ../src/evdev.c: In function ‘evdev_pointer_post_button’:
  ../src/evdev.c:132:13: note: ‘key_count’ was declared here
    132 |         int key_count;
        |             ^~~~~~~~~

Fixes commit bb1e4a493f ("evdev: Log bug when releasing key with count 0")
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-09-01 10:07:20 +02:00
José Expósito
bb1e4a493f evdev: Log bug when releasing key with count 0
libinput keeps an internal key count. It is increased by 1 when the key
is pressed and decreased by one when the key is released.

The count should never be negative, however a user found an issue while
running Sway and hit an assert.

Replace the assert with a log to avoid the crash.

Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/928
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-08-31 16:46:46 +02:00
Peter Hutterer
17e556503d tools: rename an enum value to fix a FreeBSD 14 name clash
Fixes #931
2023-08-31 12:21:00 +10:00
Weifeng Liu
5aca13a65c quirks: Add quirk for Google Chromebook Redrix
Google Chromebook Redrix (HP Elite Dragonfly) is shipped with a touchpad
from ELAN (ELAN2703:00 04F3:323B) with uncommon pressure parameters
which make moving and tapping not working out of box.

Signed-off-by: Weifeng Liu <weifeng.liu.z@gmail.com>
2023-08-30 08:22:25 +00:00
Peter Hutterer
4effe6b1b9 evdev: add a helper macro for the absinfo range
The range is (max - min + 1) because the kernel range is inclusive min
and max. Let's fix that once and for all with a helper function.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-08-29 17:07:38 +00:00
Peter Hutterer
a5b6f4009b tablet: fix the pressure offset range being off by one
Kernel ranges are inclusiv min/max, so let's make sure we calculate that
correctly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-08-29 17:07:38 +00:00
Peter Hutterer
d75a0fa42d tablet: fix the tilt range being off by one
Kernel ranges are inclusiv min/max, so let's make sure we calculate that
correctly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-08-29 17:07:38 +00:00
Peter Hutterer
65eaabf91f tools/record: print the vid/pid with proper 4 hex digits
The field with includes the 0x if printing with "0x04d". And because
that format prints zero as just 0000, let's move the 0x prefix out and
let printf only handle the actual number.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-08-29 05:35:15 +10:00
Peter Hutterer
1680f2fbaa libinput 1.24.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-08-25 13:04:17 +10:00
Bjørn Forsman
34b9c4ce44 quirks: Add Wacom Bamboo Fun Pen
We must disable ABS_DISTANCE or else the automatic pressure offset
calculation doesn't work for this device.

Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>
2023-08-24 19:22:00 +02:00
Bjørn Forsman
3dba00845c tablet: increase pressure offset limit from 20% to 50%
detect_pressure_offset() currently rejects offsets that are greater than
20%. My graphics tablet (Wacom Bamboo Fun) is about 30%. The pen tip is
2 mm. Wacom recommends replacing at 1 mm, which means this isn't worn
out yet and we should instead increase the limit to make these devices
usable.

Without this change a "pen down" event happens simultaneously with the
pen being detected -- about 1 cm above the surface -- and producing
libinput pressure of about 0.30. This means you start drawing "in the
air", without knowing up front where the cursor is going to be.

Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com>
2023-08-24 08:04:03 +02:00
Yinon Burgansky
f259cac9ca docs: improve custom pointer acceleration documentation.
- Explain calculation made by the driver.
- Provide detailed example with a plot for a custom function.
- Fix inaccurate explanation of unit values.

Signed-off-by: Yinon Burgansky <yinonburgansky@gmail.com>
2023-08-16 20:13:39 +03:00
Peter Hutterer
5534a5f640 quirks: add quirk for the RazerBlade152023 keyboard
Autogenerated from our razer-quirks-lister.py tool

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-08-08 20:26:28 +03:00
José Expósito
08e4a3deb9 quirks: Add Lenovo Legion 7i 4090 keyboard quirks
Disable while typing is not working because the keyboard uses the USB
bus.

Add the `AttrKeyboardIntegration=internal` quirk to fix it.

Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/911
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-07-31 17:16:42 +02:00
José Expósito
fa0d27d175 quirks: AddHP Spectre x360 15 ModelTabletModeNoSuspend keyboard quirk
The HP stream x360's embedded-controller filters out events form its
builtin keyboard when in tablet-mode itself; and it has a volume up/down
on the side.

Do not suspend the keyboard when in tablet-mode so that the volume
up/down button keeps working when in tablet-mode.

Add a ModelTabletModeNoSuspend quirk so that the home button keeps
working when in tablet-mode.
This can safely be done since the rest of the keyboard gets disabled by
the embedded-controller for us.

Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/920
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2023-07-31 13:25:57 +02:00
Llerraf Gnem
38fdfd1dfe
docs: fix "See also" link in libinput_config_accel_profile
Used to be to libinput_device_config_accel_set_points, corrected to
libinput_config_accel_set_points
2023-07-26 11:41:34 -05:00
Peter Hutterer
f617b414fb Drop the Signed-off-by requirement
We've had this for roughly 10y now and it's value is dubious. Most of
xorg no longer requires, mesa accepts but doesn't require it, most of GNOME
doesn't accept it and neither does systemd.

Let's drop the requirement.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-07-21 09:08:46 +10:00
Peter Hutterer
35a237e24c Fix a few gcc analyzer complaints in util-strings.*
Sprinkle a few asserts into the various string helpers for where our
arguments must not be NULL.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-07-19 14:19:08 +10:00