summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* quirks: Dell Mayabay (Pressure Pad).Marge Yang2023-02-081-0/+6
| | | | Signed-off-by: Marge Yang <marge.yang@synaptics.corp-partner.google.com>
* evdev: apply calibration for touch arbitrationhrdl2023-02-081-3/+10
| | | | | | | Rectangle-based touch arbitration should respect calibration. This fixes #853. Signed-off-by: hrdl <git@hrdl.eu>
* evdev-tablet: clip touch arbitration rectanglehrdl2023-02-071-3/+3
| | | | | | | 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>
* quirk: Google Chromebook Atlas (Pixelbook go)gogogoghost2023-02-061-0/+7
| | | | Signed-off-by: Jax Leach <heiguiyj@gmail.com>
* tools: add --replay-after and --once to libinput replayPeter Hutterer2023-02-062-1/+26
| | | | | | | 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>
* quirks: add generic quirk for Dell 2-in-1 models for side volume buttonsBill A2023-02-061-2/+2
| | | | Signed-off-by: Bill A's avatarBill A <vukk.euob@gmail.com>
* filter: validate custom acceleration function's points sizeYinon Burgansky2023-02-024-13/+47
| | | | | | | 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>
* quirk: Lenovo P14s Gen 1 AMD TrackpointDiep Pham2023-01-281-0/+6
|
* doc/user: fix trackpoint quirks pathJosé Expósito2023-01-231-1/+1
| | | | | | | 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>
* fix: add apple m2 keyboard quirksCyril LEVIS2023-01-231-0/+6
| | | | | | this fix dwt https://github.com/AsahiLinux/linux/issues/103 Signed-off-by: Cyril Levis <git@levis.name>
* Improve X280 supportRichard Stefun2023-01-231-0/+10
| | | | Signed-off-by: Richard Stefun <richard.stefun@icloud.com>
* quicks: invert horizontal scrolling for Logitech MX Master 3SZhangyuan Nie2023-01-171-0/+5
| | | | Signed-off-by: Zhangyuan Nie <yuan@znie.org>
* doc/user: fix sphinx warningPeter Hutterer2023-01-171-1/+1
| | | | | | | | | WARNING: extlinks: Sphinx-6.0 will require a caption string to contain exactly one '%s' and all other '%' need to be escaped as '%%'. Well, let's do that then! Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Introduce custom acceleration profileYinon Burgansky2023-01-1721-16/+1183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The custom acceleration profile allow the user to define custom acceleration functions for each movement type per device, giving full control over accelerations behavior at different speeds. This commit introduces 2 movement types which corresponds to the 2 profiles currently in use by libinput. regular filter is Motion type. constant filter is Fallback type. This allows possible expansion of new movement types for the different devices. The custom pointer acceleration profile gives the user full control over the acceleration behavior at different speeds. The user needs to provide a custom acceleration function f(x) where the x-axis is the device speed and the y-axis is the pointer speed. The user should take into account the native device dpi and screen dpi in order to achieve the desired behavior/feel of the acceleration. The custom acceleration function is defined using n points which are spaced uniformly along the x-axis, starting from 0 and continuing in constant steps. There by the points defining the custom function are: (0 * step, f[0]), (1 * step, f[1]), ..., ((n-1) * step, f[n-1]) where f is a list of n unitless values defining the acceleration factor for each velocity. When a velocity value does not lie exactly on those points, a linear interpolation of the two closest points will be calculated. When a velocity value is greater than the max point defined, a linear extrapolation of the two biggest points will be calculated. Signed-off-by: Yinon Burgansky <51504-Yinon@users.noreply.gitlab.freedesktop.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc/api: set HAVE_DOT to YESPeter Hutterer2023-01-171-0/+1
| | | | | | | | dot is required in meson.build, so we can hardcoded it here Fixes: libinput/build/doc/api/libinput.h:4087: warning: ignoring \dot command because HAVE_DOT is not set Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: add helper functions to create/destroy a delta smoothenerPeter Hutterer2023-01-174-13/+19
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* quirks: touchpad: add ModelPressurePadJosé Expósito2023-01-166-4/+11
| | | | | | | | | | | | | Unlike in traditional touchpads, whose pressure value equals contact size, on pressure pads pressure is a real physical axis. We don't take advantage of the pressure information reported by pressure pads yet, so we disable it to avoid errors. Add a new model quirk for pressure pads instead of disabling ABS_MT_PRESSURE and ABS_PRESSURE. Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* tools: fflush the output in debug-events after each set of eventsPeter Hutterer2023-01-131-0/+3
| | | | | | | | | | | Fixes e.g. the case where debug-events is used to get the initial device list but no more. Since we never flush, the content is stuck in the buffers and gets lost. Easy way to reproduce: `libinput debug-events | cat`, then ctrl+c and see nothing show up (before this patch, anyway). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* quirks: add quirks for Dell Precision5680 TouchpadCharles Wang2023-01-121-0/+8
| | | | | | | | | This touchpad is a pressure pad and needs the pressure handling disable. Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/849 Signed-off-by: Charles Wang <charles.goodix@gmail.com>
* CI: use meson compile over ninja directly in meson-build.shPeter Hutterer2023-01-061-2/+6
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* CI: make the meson-build.sh script even more genericPeter Hutterer2023-01-061-1/+2
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* CI: give the meson-build.sh script a proper license tagPeter Hutterer2023-01-061-0/+2
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* meson.build: fix a deprecation warningPeter Hutterer2023-01-061-2/+11
| | | | | | get_pkgconfig_variable is deprecated Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* quirks: add quirk for Dell Latitude 5290 2-in-1José Expósito2023-01-011-0/+5
| | | | | Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/846 Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* quirks: add quirks for Glorious Model O mouseSamuel Reddy2022-12-231-0/+6
| | | | Signed-off-by: Samuel Reddy <samuelsumukhreddy@gmail.com>
* tools/record: fix quirk error messageJosé Expósito2022-12-121-3/+7
| | | | | | | | | | When libinput-record fails to parse the quirks, it suggest to use the --verbose flag to get more details. However, libinput-record does not support the --verbose flag. Replace the error message and add a link to the documentation instead. Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* build: override dependency for use as subprojectSimon Ser2022-12-091-0/+4
| | | | | | | | Allows e.g. compositors to setup libinput as a subproject. Makes it easier to ad support for libinput features which haven't been released yet. Signed-off-by: Simon Ser <contact@emersion.fr>
* doc/user: document the new list-kernel-devices toolPeter Hutterer2022-12-091-1/+52
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* tools: add a --hid toggle to libinput-list-kernel-devicesPeter Hutterer2022-12-082-2/+56
| | | | | | | | | | | | Lists all SUBSYSTEM=hid devices, including the respective hidraw and evdev nodes. Note that this takes a shortcut in the udev handling: in theory we *should* compare the hidraw/evdev parent device with our hid device. In practice, checking if the devpath starts with the same substring is good enough. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* tools: add a libinput list-kernel-devices toolPeter Hutterer2022-12-085-0/+101
| | | | | | | | | | | Same as libinput list-devices, but lists the available event nodes. This effectively does the same as libinput record without arguments but it's more obvious in what it is supposed to do and thus easier to point to. Also, it uses pyudev instead of libevdev so it does not need to run as root to discover devices. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Allow rotation on all mice and for any angleLucas Zampieri2022-12-055-24/+22
| | | | | | | | | | | | Previously we restricted rotation to trackballs only and to multiples of 90 degrees. Update rotation allow angles other than multiples of 90. Also enable rotation on all mice. The only devices without rotation are now pointing sticks. Fixes #827 Signed-off-by: Lucas Zampieri <lzampier@redhat.com>
* evdev: only read the trackpoint multiplier on trackpointsPeter Hutterer2022-12-051-2/+4
| | | | | | | | Check the tag before we read any multiplier quirks. And don't bother reading the DPI for trackpoints either because it doesn't make sense for those devices. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* quirks: add quirks for Positivo-Vaio touchpadJosé Expósito2022-11-281-0/+5
| | | | | | | | | The generic quirk introduced in commit d1f274c78119 ("quirks: add a more generic match for the 5288 Synaptics clickpad") affects the touchpad (with physical buttons) present in the Positivo-Vaio. Fixes #819 Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* quirks: allow overriding of AttrEventCode and AttrInputPropPeter Hutterer2022-11-2829-211/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This switches the quirk from AttrEventCodeEnable/Disable to just AttrEventCode with a +/- prefix for each entry. This switches the quirk from AttrInputPropEnable/Disable to just AttrInputProp with a +/- prefix for each entry. Previously, both event codes and input props would only apply the last-matching section entry for a device. Furthermore, an earlier Disable entry would take precedence over a later Enable entry. For example, a set of sections with these lines *should* enable left, right and middle: [first] AttrEventCodeEnable=BTN_LEFT;BTN_RIGHT;BTN_MIDDLE [second] AttrEventCodeDisable=BTN_RIGHT [third] AttrEventCodeEnable=BTN_LEFT;BTN_RIGHT; Alas: the first line was effectively ignored (quirks only returned the last-matching one, i.e. the one from "third"). And due to implementation details in evdev.c, the Disable attribute was processed after Enable, i.e. the device was enabled for left + right and then disabled for right. As a result, the device only had BTN_LEFT enabled. Fix this by changing the attribute to carry both enable/disable information and merging the commands together. Internally, all quirks matching a device are simply ref'd into an array in the struct quirks. The applied value is simply the last entry in the array corresponding to our quirk. For AttrEventCode and AttrInputProp instead do this: - switch them to a tuple with the code as first entry and a boolean enable/disable as second entry - if the struct quirk already has an entry for either, append the more recent one to the existing entry (instead of creating a new entry in the array). This way we have all entries that match and in-order of precedence - i.e. we can process them left-to-right to end up with the right state. Fixes: https://gitlab.freedesktop.org/libinput/libinput/-/issues/821 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* gitlab CI: add a job to check for whitespace issuesPeter Hutterer2022-11-252-0/+46
| | | | | | Trailing whitespaces and tab after a space are a no-go. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* tools: fix a tab after space whitespace issuePeter Hutterer2022-11-251-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove duplicate empty lines in our sourcePeter Hutterer2022-11-2522-30/+0
| | | | | | | We only touch src and tools, imported headers from include are not ours to change. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove a few empty lines with nothing but a lonely tabPeter Hutterer2022-11-254-5/+5
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove trailing whitespaces in the treePeter Hutterer2022-11-256-36/+36
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* tablet: increase touch arbitration rectangle heightJosé Expósito2022-11-232-6/+6
| | | | | | | | | | | A user was experiencing issues with their hand being recognized as touch input above the stylus tip. Since touch above the stylus should be rare, increase the touch arbitration rectangle height by 50mm. Fix: https://gitlab.freedesktop.org/libinput/libinput/-/issues/809 Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* sparse: make some variables staticJosé Expósito2022-11-232-9/+9
| | | | | | | | | | When compiling with Sparse enabled: $ CC=cgcc meson builddir Fix warnings about variables that should be made static. Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* test: fix uninitialized variablesJosé Expósito2022-11-231-2/+2
| | | | | | | | | | | | | | | | | | | | Fix the warnings generated: [232/243] Compiling C object libinput-test-suite.p/test_test-pad.c.o ../test/test-pad.c:211:3: warning: variable 'count' is uninitialized when used here [-Wuninitialized] count++; ^~~~~ ../test/test-pad.c:261:3: warning: variable 'count' is uninitialized when used here [-Wuninitialized] count++; ^~~~~ When building with Clang v15 and without libwacom: $ CC=clang CXX=clang++ meson builddir -Dlibwacom=false Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* test: fix compiler warning when -Dlibwacom=falseJosé Expósito2022-11-231-0/+2
| | | | | | | | | | | | | | | | Fix the warning generated: [129/243] Compiling C object libinput-test-suite.p/test_test-touchpad.c.o ../test/test-touchpad.c:2679:1: warning: unused function 'touchpad_has_rotation' [-Wunused-function] touchpad_has_rotation(struct libevdev *evdev) ^ When building with Clang v15 and without libwacom: $ CC=clang CXX=clang++ meson builddir -Dlibwacom=false Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* tablet: fix compiler warning when -Dlibwacom=falseJosé Expósito2022-11-231-3/+3
| | | | | | | | | | | | | | | | Fix the warning generated: [82/243] Compiling C object libinput.so.10.13.0.p/src_evdev-tablet.c.o ../src/evdev-tablet.c:938:1: warning: unused function 'tool_set_bits_from_libwacom' [-Wunused-function] tool_set_bits_from_libwacom(const struct tablet_dispatch *tablet, ^ When building with Clang v15 and without libwacom: $ CC=clang CXX=clang++ meson builddir -Dlibwacom=false Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* tablet-pad-leds: fix compiler warning when -Dlibwacom=falseJosé Expósito2022-11-231-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Fix the warnings generated: ../src/evdev-tablet-pad-leds.c:54:1: warning: unused function 'pad_mode_toggle_button_new' [-Wunused-function] pad_mode_toggle_button_new(struct pad_dispatch *pad, ^ ../src/evdev-tablet-pad-leds.c:194:1: warning: unused function 'pad_group_new' [-Wunused-function] pad_group_new(struct pad_dispatch *pad, ^ ../src/evdev-tablet-pad-leds.c:238:1: warning: unused function 'pad_led_get_sysfs_base_path' [-Wunused-function] pad_led_get_sysfs_base_path(struct evdev_device *device, ^ When building with Clang v15 and without libwacom: $ CC=clang CXX=clang++ meson builddir -Dlibwacom=false Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* test: remove unused variableJosé Expósito2022-11-231-3/+0
| | | | | | | | | | Fix warning building with Clang v15: ../test/test-pad.c:334:15: warning: variable 'expected_number' set but not used [-Wunused-but-set-variable] unsigned int expected_number = 0; Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* quirks: Add Apple MTP touchpad quirkHector Martin2022-11-221-0/+9
| | | | | | | | | | | | Apple M2 (and presumably newer) laptops now embed the touchpad controller into the main SoC, and use a new internal communications protocol between it and the main CPU. This isn't really a "bus" like SPI or I2C, so the downstream kernel driver currently uses the (not well supported) HOST bus type. MatchBus can't match on that, so let's just use a name match (plus the vendor ID, which is still valid and the usual Apple one). Signed-off-by: Hector Martin <marcan@marcan.st>
* test: print the usage from the symbols-leak-testPeter Hutterer2022-11-221-1/+7
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc/user: explicitly specify language as enPeter Hutterer2022-11-221-1/+1
| | | | | | | | | | | Unlikely we'll ever have the docs fully translated (or translated at all...) anyway. Fixes "WARNING: Invalid configuration value found: 'language = None'. Update your configuration to a valid language code. Falling back to 'en' (English)." Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libinput 1.22.01.22.0José Expósito2022-11-191-1/+1
| | | | Signed-off-by: José Expósito <jose.exposito89@gmail.com>