summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* libinput 1.22.11.22.11.22-branchPeter Hutterer2023-01-161-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* tools: fflush the output in debug-events after each set of eventsPeter Hutterer2023-01-161-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> (cherry picked from commit 0266428c9300a18cec44786d84d5502b89c1e6eb)
* quirks: add quirks for Dell Precision5680 TouchpadCharles Wang2023-01-161-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> Cherry-pick adjusted to work with the AttrEventCodeDisable quirk (cherry picked from commit 29a49e968e67eb7bf6d63c9f93b06ee983772018)
* quirks: add quirk for Dell Latitude 5290 2-in-1José Expósito2023-01-161-0/+5
| | | | | | Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/846 Signed-off-by: José Expósito <jose.exposito89@gmail.com> (cherry picked from commit f185120936c00251e18406e34f33ecb0480215d9)
* quirks: add quirks for Glorious Model O mouseSamuel Reddy2023-01-161-0/+6
| | | | | Signed-off-by: Samuel Reddy <samuelsumukhreddy@gmail.com> (cherry picked from commit aed3fdb94bcc72efadcd3591305f0915768bbc2f)
* build: override dependency for use as subprojectSimon Ser2023-01-161-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> (cherry picked from commit ea9db278f3b062fe46553c741834b237350659a2)
* tablet: increase touch arbitration rectangle heightJosé Expósito2023-01-162-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> (cherry picked from commit 96e57b5eff18a18481c908df32db524f43ae0162)
* quirks: Add Apple MTP touchpad quirkHector Martin2023-01-161-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> (cherry picked from commit c2b420c793999ef924c4ef7e33e609fe0bd5d51c)
* libinput 1.22.01.22.0José Expósito2022-11-191-1/+1
| | | | Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* gitlab CI: pre-install all packages we needPeter Hutterer2022-11-163-22/+12
| | | | | | | | | | | | Running "dnf install" during a job can lead to issues when the image is old - package renames/replacements/etc. may require a dnf upgrade to get those packages sorted first before our dnf install works. This hasn't been a problem for us because we had weekly rebuilds of the images scheduled and were usually on the latest package set but let's do this properly anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* gitlab CI: update freebsd to 13.1Peter Hutterer2022-11-162-15/+15
| | | | | | | | | | This gets rid of of the following error: ld-elf.so.1: /lib/libc.so.7: version FBSD_1.7 required by /usr/local/lib/libpython3.9.so.1.0 not found Too tired to debug what is really going on, so let's pretend the update is the best way to fix this. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* gitlab CI: don't install valgrind, it's already in the templatePeter Hutterer2022-11-152-4/+0
| | | | | | This has been a noop for quite a while, so we might as well skip it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* touchpad: add escape and asterisk to the DWT blacklistJosé Expósito2022-11-142-1/+10
| | | | | | | | | | | | | | | The escape key can be used to cancel a drag and drop action in some desktop environments. However, it triggers disable-while-typing, ending the drag and drop action rather than cancelling it. Add it to the tp_key_ignore_for_dwt() set to avoid it. Since I'm here, add the asterisk key as it is the only numpad key not ignored by tp_key_ignore_for_dwt(). Fix: https://gitlab.freedesktop.org/libinput/libinput/-/issues/820 # [1] Suggested-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org> Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* util: use ck_assert_ptr_eq() instead of ck_assert_ptr_null()José Expósito2022-11-141-5/+5
| | | | | | | | | | The ck_assert_ptr_null() function is not available in the version of the check library included in 20.04 LTS Focal (0.10.0). Use ck_assert_ptr_eq() to avoid compilation errors. Fixes: eeae8906dbbb ("util: return the number of elements from strv_from_string") Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* util: return the number of elements from strv_from_stringYinon Burgansky2022-11-075-103/+91
| | | | Signed-off-by: Yinon Burgansky <51504-Yinon@users.noreply.gitlab.freedesktop.org>
* debug-gui: avoid locking pointer twiceJosé Expósito2022-10-101-1/+2
| | | | | | | | | | On Sway, and probably other Wayland compositors based on wlroots, the window_lock_pointer() was called twice. Avoid errors when window_lock_pointer() is invoked multiple times. Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/808 Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* tools: hide debug-gui help when building with -Ddebug-gui=falseJosé Expósito2022-10-102-0/+3
| | | | | | | | | | | | | | Some distributions, like Fedora, compile libinput with the debug-gui option set to false. Running "libinput debug-gui" indicates that the program is not installed; however, the help message suggests that the command is available. Hide debug-gui from the help message when it is not included. Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/480 Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* meson.build: always set HAVE_GTK_WAYLANDJosé Expósito2022-10-091-0/+1
| | | | | | | | | | | | | | | | | | In commit 6a1bd5b0c9be ("meson.build: check gtk targets before building") introduced a custom config option to check whether Wayland is supported by GTK or not. However, in some cases the config option is not set generating this warning: ../tools/libinput-debug-gui.c:51:5: warning: "HAVE_GTK_WAYLAND" is not defined, evaluates to 0 [-Wundef] 51 | #if HAVE_GTK_WAYLAND | ^~~~~~~~~~~~~~~~ Make sure to always set HAVE_GTK_WAYLAND. Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* tablet: avoid errors calling libevdev_get_abs_info()José Expósito2022-10-031-0/+16
| | | | | | | | | | | | Commit 806d4a1393db ("tablet: check libevdev_get_abs_info() return value") prevented a crash when tilt was deactivated by a quirk. For more information check [1]. Add similar checks before calling libevdev_get_abs_info() to avoid possible crashes. [1] https://gitlab.freedesktop.org/libinput/libinput/-/issues/805 Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* Fix Framework quirk so it wirks with 12 gen intelTadhg McDonald-Jensen2022-09-231-1/+1
| | | | | | | Removes a colon from frameworks quirks dmi match so it matches pnLaptop(12thGenIntelCore) on newer model Signed-off-by: Tadhg McDonald-Jensen <tadhgmister@gmail.com>
* tablet: check libevdev_get_abs_info() return valueJosé Expósito2022-09-181-0/+4
| | | | | | | | | | | | | | | | Commit b5f0536a4f93 ("quirks: add a quirk for the Wacom 524c device") added the quirk "AttrEventCodeDisable=ABS_TILT_X;ABS_TILT_Y;" to the Wacom 524c. When using the pen in a display with tilt support, the tilt X/Y axes are set as changed. Using the pen again, but this time in the display without tilt support, will try to get the tilt information, crashing. Check the return value of libevdev_get_abs_info() to avoid this crash. Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/805 Fixes: b5f0536a4f93 ("quirks: add a quirk for the Wacom 524c device") Signed-off-by: José Expósito <jose.exposito89@gmail.com>
* filter: add a flat trackpoint accelPeter Hutterer2022-09-084-10/+168
| | | | | | | | | | | Previously, trackpoints got assigned the normal flat profile which does not accommodate for the trackpoint magic multiplier *and* had a config range that was too small if you take the multiplire indo account anyway. Fix this by adding a trackpoint-specific flat accel that has a wider configuration range and take sthe magic multiplier into account. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: apply the same factor for constant motion as for normal motionPeter Hutterer2022-09-082-14/+24
| | | | | | | | | | | | Users that want a flat pointer acceleration want the input speed to match 1:1 to the output speed, barring a fixed constant multiplier. This will apply to things like button scrolling as well, so let's map the constant accel function to the non-constant accel functions to the speed setting applies to every movement. This is applied to both the flat and the touchpad flat filter. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: don't normalize the speed again in the default mouse filterPeter Hutterer2022-09-081-4/+1
| | | | | | | | | | | The first thing this filter does is normalize the coordinates to 1000dpi, i.e. all other values are in normalized coordinates. By normalizing the speed again we get an invalid value, effectively stretching or compressing the acceleration curve. e.g. on a 5000dpi mouse the estimated speed was 1/5 of the real speed. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev: use filter_dispatch_constant() for the lenovo trackpoint "wheel"Peter Hutterer2022-09-083-18/+10
| | | | | | | Rather than normalizing manually, leave this up to the pointer acceleration code. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev: use filter_dispatch_constant() for button scrollingPeter Hutterer2022-09-081-7/+13
| | | | | | | | | | | | | Our pointer filter code has two functions - one for accelerated movement and one for "constant" movement (i.e. no accel factor provided but same conversions). Let's use that instead of a manual normalization. This fixes an issue with button scrolling on high-dpi mice in the flat pointer acceleration: normal pointer motion in the flat profile isn't normalized but the button scrolling was - resulting in e.g. 5 times slower motion for button scrolling on a 5000dpi mouse. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: don't normalize the const filter approachPeter Hutterer2022-09-082-8/+10
| | | | | | | | | | | | | | | The filter vs const filter is supposed to be for accelerated vs non-accelerated motion (e.g. pointer motion vs scrolling) - in both cases the returned value is supposed to be in the same coordinate system, just once with an extra accel factor applied. This was broken in the flat and low-dpi profiles: in both of those the accelerated filter does *not* normalize, it merely applies the fixed/adaptive factor. The constant filter normalized however. The result was that on e.g. a 5000dpi mouse the constant motion was 5 times slower than the accelerated motion, even with a factor of 1. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: constify the interfaces and make them staticPeter Hutterer2022-09-089-9/+9
| | | | | | No functional change Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev: rename post_trackpoint_scroll to post_button_scrollPeter Hutterer2022-09-081-4/+4
| | | | | | This is no longer trackpoint-only, so let's rename this. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: localize a few variablesPeter Hutterer2022-09-081-10/+6
| | | | | | No functional changes Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: constify the tracker APIPeter Hutterer2022-09-081-5/+5
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: remove an unnecessary layer of indirectionPeter Hutterer2022-09-083-117/+39
| | | | | | | | | | | | | | This is a leftover from when some of the filter code was shared between pointer acceleration methods (pre v1.11 or so). Now these functions are duplicated across files, so both the names and what they do isn't necessarily reflective anymore. Let's drop one layer of indirection to make the code a bit easier to understand. No functional changes. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: fix the mix of normalized vs device coordinatesPeter Hutterer2022-09-081-15/+15
| | | | | | | | | | | | No functional changes, this is just for improving readability and a leftover when some of these functions were used by multiple filters. This filter normalizes the data first, then applies the acceleration to the normalized values. So let's keep the data in normalized_coords structs and only drop to device_float_coords when we have to to use the tracker API. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* filter: a few whitespace fixes and extra commentsPeter Hutterer2022-09-083-10/+12
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* CI: drop the job count for the valgrind test suite to 2Peter Hutterer2022-09-022-0/+12
| | | | | | | Too many timing-related failures with 4 or (the default) 8 jobs, clearly our runners aren't fast enough. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* CI: in b2c, compile on the host, then test in qemuBenjamin Tissoires2022-09-027-13/+77
| | | | | | | | Looks like we are having clock skew issues on qemu, so given that we just need qemu in the image, we can compile on the host (reliable) and then only start the tests in qemu. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* CI: start a full systemd environment before running the testsuiteBenjamin Tissoires2022-09-023-2/+71
| | | | Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* CI: include systemd-udev in the fedora imageBenjamin Tissoires2022-09-022-8/+9
| | | | | | | This will allow us to have the udevadm tool and systemd-udevd available while running inside qemu Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* CI: rely on b2c to start qemu testsBenjamin Tissoires2022-09-023-48/+55
| | | | | | | | This allows us to not have to create a specific image, and also should be more reliable because we don't have to boot a full distribution each time we just start our test suite. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* CI: do not retry the qemu runsBenjamin Tissoires2022-09-012-6/+0
| | | | | | They should be more reliable now, so no need to try them twice Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* CI: remove unused testBenjamin Tissoires2022-09-011-2/+0
| | | | | | | | I am pretty sure this one guard is a leftover from a previous version. That is because use_for_custom_build_tests is true when use_for_qemu_tests is, so probably a useless test here. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* CI: make freebsd slightly more in line with othersBenjamin Tissoires2022-09-013-27/+39
| | | | | | | | | | the combination of want_qemu and skip_container is not very straight forward. What we actually have, is that freebsd is only qemu based, so there is no point in really having a `_QEMU` tag for it. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* CI: remove one occurrence of fedora instead of distro.nameBenjamin Tissoires2022-09-011-1/+1
| | | | | | | For .{{distro.name}}-build@template, everything is parametrized with the distro name, so having plain 'fedora' might bite us in the future. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* CI: prettify the include of templatesBenjamin Tissoires2022-09-012-31/+19
| | | | | | Makes the resulting file easier to read Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
* gitlab-ci: add commandline options to the meson-build.sh scriptPeter Hutterer2022-08-311-6/+38
| | | | | | | | The various --skip-build, --skip-test and --skip-setup skip the respective step, the --run-test argument runs the test even where MESON_TEST_ARGS is nil. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* gitlab-ci: explicitly call "meson setup" to improve readabilityPeter Hutterer2022-08-311-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* gitlab-ci: export MESON_TESTTHREADS so meson actually sees itPeter Hutterer2022-08-311-1/+1
| | | | | | | Unlike NINJA_ARGS this isn't passed into meson, it's picked from the env. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev: remove duplicate "device is a switch" messagePeter Hutterer2022-08-231-1/+0
| | | | | | We log this a few lines south of here. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* quirks: add generic quirks for ARM based chromebooksLeonard Lausen2022-08-221-5/+5
| | | | Signed-off-by: Leonard Lausen <leonard@lausen.nl>
* quirks: add quirks for Acer Spin 513 (Lazor)Leonard Lausen2022-08-151-0/+10
| | | | Signed-off-by: Leonard Lausen <leonard@lausen.nl>