platform/upstream/libinput.git
16 months agolibinput-util: fix logical error regarding comparison of a long variable with its...
Sung-Jin Park [Mon, 13 Nov 2017 05:10:53 +0000 (14:10 +0900)]
libinput-util: fix logical error regarding comparison of a long variable with its maximum/minimum value

Change-Id: I9d6451a645476efb85477e6e4a9807ea136c05b4
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
16 months agoevdev: fix integer division problem by casting one of two integers as double
Sung-Jin Park [Mon, 13 Nov 2017 06:39:40 +0000 (15:39 +0900)]
evdev: fix integer division problem by casting one of two integers as double

Change-Id: Ice7caf41c4834b625825335c37e14266c31f5cc4
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
16 months agofix build warnings
JengHyun Kang [Wed, 25 Oct 2017 08:02:39 +0000 (17:02 +0900)]
fix build warnings

16 months agopackaging: Bump up to 1.8.0
JengHyun Kang [Tue, 24 Oct 2017 07:39:33 +0000 (16:39 +0900)]
packaging: Bump up to 1.8.0

Change-Id: I4530bc57d1cbc9d9441f95e2e68c944ad7210794

16 months agoevdev: check a null list
JengHyun Kang [Tue, 5 Sep 2017 12:54:07 +0000 (21:54 +0900)]
evdev: check a null list

Change-Id: Ic281e4ff5f266bff9638f204964cc2503c7d90c8

16 months agolibinput-device-group: apply ASLR
Sung-Jin Park [Fri, 11 Aug 2017 07:34:55 +0000 (16:34 +0900)]
libinput-device-group: apply ASLR

Change-Id: I517dde04ad048cace459d23f3df63d8deb26c5c6
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
16 months agoevdev: casting unsigned int to int to compare value
JengHyun Kang [Wed, 7 Jun 2017 11:20:56 +0000 (20:20 +0900)]
evdev: casting unsigned int to int to compare value

Change-Id: I3c1a3da814b89af44e3d6e93bbad2cc7c2535b70

16 months agoevdev: free aux_data list when device is destroy
JengHyun Kang [Wed, 7 Jun 2017 11:10:07 +0000 (20:10 +0900)]
evdev: free aux_data list when device is destroy

Change-Id: I76f8df6b8fed1d01540c1430247ffc00dc28dfc5

16 months agoevdev: remove unreachable code and add exception handling code for aux_data_list
Sung-Jin Park [Tue, 30 May 2017 06:53:19 +0000 (15:53 +0900)]
evdev: remove unreachable code and add exception handling code for aux_data_list

Change-Id: I7e2a936cece97d7a8ecce90fa261976514e35371
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
16 months agosupport a AUX code events generated from EV_ABS
JengHyun Kang [Tue, 25 Apr 2017 09:51:02 +0000 (18:51 +0900)]
support a AUX code events generated from EV_ABS

Change-Id: I144282f5ddc330eb77b73b3da5a36cedb6af069f

16 months agoImport opensource codes for security issue. - evdev: user safe_atod to convert the...
JengHyun Kang [Mon, 17 Apr 2017 09:54:11 +0000 (18:54 +0900)]
Import opensource codes for security issue. - evdev: user safe_atod to convert the matrix values

Change-Id: I140c95ca030822bf6345b09d16d445af0aebd9e5

16 months agopackaging: update packaging file to install license file via %license macro
Sung-Jin Park [Wed, 22 Mar 2017 05:27:02 +0000 (14:27 +0900)]
packaging: update packaging file to install license file via %license macro

Change-Id: I65ccb6a6357abf1a9ea060ca8c1eb3abf077d955
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
16 months agoIgnore joystick devices if LIBINPUT_IGNORE_JOYSTICK env is 1
JengHyun Kang [Fri, 9 Dec 2016 02:51:58 +0000 (11:51 +0900)]
Ignore joystick devices if LIBINPUT_IGNORE_JOYSTICK env is 1

Change-Id: I56d9cc833acad212e3d8071a79adf27bc29c19ca

16 months agoevdev: Do not open the already opened device
JengHyun Kang [Mon, 22 Aug 2016 07:54:29 +0000 (16:54 +0900)]
evdev: Do not open the already opened device

Change-Id: I96ba5287f28dfa301628232a5a6a02f1baf1c7a2

16 months agoSet receive buffer size from UDEV_MONITOR_BUFFER_SIZE env
Lisa kim [Fri, 29 Jul 2016 06:55:54 +0000 (15:55 +0900)]
Set receive buffer size from UDEV_MONITOR_BUFFER_SIZE env

Change-Id: I6adaa345ad4df6f1c3c26811b569cb0998bf0bc8
Signed-off-by: Lisa kim <hj0530.kim@samsung.com>
16 months agoCall a input_set_default_property() in evdev_device_create if this function is exist
JengHyun Kang [Tue, 12 Jul 2016 08:52:27 +0000 (17:52 +0900)]
Call a input_set_default_property() in evdev_device_create if this function is exist

Change-Id: Ib47c6115248204d9ff63ced802c557b1bf5ad5f5

16 months agosvace: Modify a strerror function to strerror_r to gurantee threads safety.
JengHyun Kang [Tue, 12 Jul 2016 02:14:03 +0000 (11:14 +0900)]
svace: Modify a strerror function to strerror_r to gurantee threads safety.

Change-Id: Iacd31adb29bb284f93aa04597d5c6ca364e0616b

16 months agoAdd a device only when the device is not created by libinput_path
Duna Oh [Mon, 18 Apr 2016 13:56:59 +0000 (22:56 +0900)]
Add a device only when the device is not created by libinput_path

Signed-off-by: Duna Oh <duna.oh@samsung.com>
Change-Id: Ic9d444cbf0d8ab95293e3770a91e31e83f405d60

16 months agoAdd a new API to return wheel click angle value
JengHyun Kang [Thu, 24 Mar 2016 11:50:02 +0000 (20:50 +0900)]
Add a new API to return wheel click angle value

Change-Id: Ic45f60fd95ab7835fa92064c9badb46fe9164695

16 months agoApply directory macros
Sung-Jin Park [Fri, 11 Mar 2016 02:50:46 +0000 (11:50 +0900)]
Apply directory macros

Change-Id: I9b419f585ef8b1832fcc114720fc572869771ce3

16 months agoModify a ttrace macro name TRACE_BEGIN to TRACE_INPUT_BEGIN
JengHyun Kang [Fri, 26 Feb 2016 08:40:45 +0000 (17:40 +0900)]
Modify a ttrace macro name TRACE_BEGIN to TRACE_INPUT_BEGIN

Change-Id: I2559a8156056fcbd359008e0da59615ff7270c7d

16 months agoRemove unnecessary ttrace and add ttrace logs to another point
JengHyun Kang [Wed, 24 Feb 2016 05:03:27 +0000 (14:03 +0900)]
Remove unnecessary ttrace and add ttrace logs to another point

Change-Id: I21c3d60d357c46df968437e22f45dcf12455ff6c

16 months agoAdd ttrace
JengHyun Kang [Thu, 11 Feb 2016 06:44:36 +0000 (15:44 +0900)]
Add ttrace

Change-Id: I82a316d226c967a396f6ce5671feeafbfb37bd0f

16 months agoAdd a patch for support extra touch events.
JengHyun Kang [Thu, 7 Jan 2016 08:23:24 +0000 (17:23 +0900)]
Add a patch for support extra touch events.

  - libinput commit name: add orientation and size of touch point and pressure to the API

Change-Id: Icfd09c132b51bf15837f11bdd662181e666960b5

16 months agoAdd manifest for security domain policy
Mun, Gwan-gyeong [Tue, 4 Aug 2015 08:03:30 +0000 (17:03 +0900)]
Add manifest for security domain policy

Change-Id: I70e41f3e4ad12035ff513fc2a322bedbaf87dd49

16 months agopackaging: correct installation path of udev rule files on 64bit arch
Gwanglim Lee [Mon, 11 May 2015 05:27:56 +0000 (14:27 +0900)]
packaging: correct installation path of udev rule files on 64bit arch

Change-Id: I26ae6192c393516e18d72b1fedc0aa1c412f164b

16 months agopackaging: Bump to 0.11.0
Philippe Coval [Mon, 23 Feb 2015 09:05:08 +0000 (10:05 +0100)]
packaging: Bump to 0.11.0

Change-Id: I68ab7b18613657814e6535261ac85fad4019122a
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
16 months agopackaging: Bump to 0.8.0
Manuel Bachmann [Sat, 14 Feb 2015 15:10:57 +0000 (16:10 +0100)]
packaging: Bump to 0.8.0

Change-Id: I661837a5368f60aeeb0760c1f419fd3c457faf31
Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
16 months agopackaging: Bump to 0.6.0
Philippe Coval [Tue, 4 Nov 2014 15:31:28 +0000 (16:31 +0100)]
packaging: Bump to 0.6.0

Change-Id: Id66ecfc8dec24521687a572b699d0606b29ff4dc
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
16 months agopackaging: Bump to 0.5.0
Philippe Coval [Thu, 14 Aug 2014 12:46:53 +0000 (14:46 +0200)]
packaging: Bump to 0.5.0

Change-Id: Icc00f5164583a5657e7699a686c76e49698093f2
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
16 months agopackaging: use upstream tags
Philippe Coval [Thu, 14 Aug 2014 12:46:23 +0000 (14:46 +0200)]
packaging: use upstream tags

Change-Id: Ia5af4a9a3294e3359dd67f635be1c0e97a416387
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
16 months agopackaging: Initial packaging on 0.1.0 for Tizen
Philippe Coval [Fri, 28 Feb 2014 15:46:59 +0000 (16:46 +0100)]
packaging: Initial packaging on 0.1.0 for Tizen

Change-Id: I682fc2715f9f8a60046c5c9297b7d96173131aeb
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
18 months agolibinput 1.22.0 upstream_bkup_20240104 upstream_work_20230126 1.22.0 upstream/1.22.0
José Expósito [Sat, 19 Nov 2022 11:21:06 +0000 (12:21 +0100)]
libinput 1.22.0

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
18 months agogitlab CI: pre-install all packages we need
Peter Hutterer [Fri, 1 Jul 2022 04:40:20 +0000 (14:40 +1000)]
gitlab CI: pre-install all packages we need

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>
18 months agogitlab CI: update freebsd to 13.1
Peter Hutterer [Tue, 15 Nov 2022 22:33:51 +0000 (08:33 +1000)]
gitlab CI: update freebsd to 13.1

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>
18 months agogitlab CI: don't install valgrind, it's already in the template
Peter Hutterer [Fri, 1 Jul 2022 04:33:17 +0000 (14:33 +1000)]
gitlab CI: don't install valgrind, it's already in the template

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>
18 months agotouchpad: add escape and asterisk to the DWT blacklist
José Expósito [Mon, 14 Nov 2022 17:38:13 +0000 (18:38 +0100)]
touchpad: add escape and asterisk to the DWT blacklist

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>
18 months agoutil: use ck_assert_ptr_eq() instead of ck_assert_ptr_null()
José Expósito [Mon, 14 Nov 2022 18:06:07 +0000 (19:06 +0100)]
util: use ck_assert_ptr_eq() instead of ck_assert_ptr_null()

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>
19 months agoutil: return the number of elements from strv_from_string
Yinon Burgansky [Wed, 5 Oct 2022 15:20:06 +0000 (18:20 +0300)]
util: return the number of elements from strv_from_string

Signed-off-by: Yinon Burgansky <51504-Yinon@users.noreply.gitlab.freedesktop.org>
19 months agodebug-gui: avoid locking pointer twice
José Expósito [Mon, 10 Oct 2022 06:14:55 +0000 (08:14 +0200)]
debug-gui: avoid locking pointer twice

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>
19 months agotools: hide debug-gui help when building with -Ddebug-gui=false
José Expósito [Mon, 10 Oct 2022 06:27:05 +0000 (08:27 +0200)]
tools: hide debug-gui help when building with -Ddebug-gui=false

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>
20 months agomeson.build: always set HAVE_GTK_WAYLAND
José Expósito [Sun, 9 Oct 2022 18:07:59 +0000 (20:07 +0200)]
meson.build: always set HAVE_GTK_WAYLAND

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>
20 months agotablet: avoid errors calling libevdev_get_abs_info()
José Expósito [Mon, 3 Oct 2022 10:53:22 +0000 (12:53 +0200)]
tablet: avoid errors calling libevdev_get_abs_info()

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>
20 months agoFix Framework quirk so it wirks with 12 gen intel
Tadhg McDonald-Jensen [Fri, 23 Sep 2022 16:26:36 +0000 (12:26 -0400)]
Fix Framework quirk so it wirks with 12 gen intel

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>
20 months agotablet: check libevdev_get_abs_info() return value
José Expósito [Mon, 12 Sep 2022 16:28:38 +0000 (18:28 +0200)]
tablet: check libevdev_get_abs_info() return value

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>
21 months agofilter: add a flat trackpoint accel
Peter Hutterer [Mon, 5 Sep 2022 01:33:57 +0000 (11:33 +1000)]
filter: add a flat trackpoint accel

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>
21 months agofilter: apply the same factor for constant motion as for normal motion
Peter Hutterer [Sun, 4 Sep 2022 23:56:16 +0000 (09:56 +1000)]
filter: apply the same factor for constant motion as for normal motion

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>
21 months agofilter: don't normalize the speed again in the default mouse filter
Peter Hutterer [Sun, 4 Sep 2022 23:46:54 +0000 (09:46 +1000)]
filter: don't normalize the speed again in the default mouse filter

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>
21 months agoevdev: use filter_dispatch_constant() for the lenovo trackpoint "wheel"
Peter Hutterer [Sun, 4 Sep 2022 23:26:21 +0000 (09:26 +1000)]
evdev: use filter_dispatch_constant() for the lenovo trackpoint "wheel"

Rather than normalizing manually, leave this up to the pointer acceleration
code.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
21 months agoevdev: use filter_dispatch_constant() for button scrolling
Peter Hutterer [Sun, 4 Sep 2022 23:26:21 +0000 (09:26 +1000)]
evdev: use filter_dispatch_constant() for button scrolling

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>
21 months agofilter: don't normalize the const filter approach
Peter Hutterer [Sun, 4 Sep 2022 23:35:23 +0000 (09:35 +1000)]
filter: don't normalize the const filter approach

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>
21 months agofilter: constify the interfaces and make them static
Peter Hutterer [Mon, 5 Sep 2022 01:33:20 +0000 (11:33 +1000)]
filter: constify the interfaces and make them static

No functional change

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
21 months agoevdev: rename post_trackpoint_scroll to post_button_scroll
Peter Hutterer [Sun, 4 Sep 2022 23:15:39 +0000 (09:15 +1000)]
evdev: rename post_trackpoint_scroll to post_button_scroll

This is no longer trackpoint-only, so let's rename this.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
21 months agofilter: localize a few variables
Peter Hutterer [Sun, 4 Sep 2022 22:48:12 +0000 (08:48 +1000)]
filter: localize a few variables

No functional changes

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
21 months agofilter: constify the tracker API
Peter Hutterer [Fri, 2 Sep 2022 04:53:45 +0000 (14:53 +1000)]
filter: constify the tracker API

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
21 months agofilter: remove an unnecessary layer of indirection
Peter Hutterer [Fri, 2 Sep 2022 04:34:56 +0000 (14:34 +1000)]
filter: remove an unnecessary layer of indirection

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>
21 months agofilter: fix the mix of normalized vs device coordinates
Peter Hutterer [Fri, 2 Sep 2022 04:23:04 +0000 (14:23 +1000)]
filter: fix the mix of normalized vs device coordinates

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>
21 months agofilter: a few whitespace fixes and extra comments
Peter Hutterer [Fri, 2 Sep 2022 04:18:26 +0000 (14:18 +1000)]
filter: a few whitespace fixes and extra comments

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
21 months agoCI: drop the job count for the valgrind test suite to 2
Peter Hutterer [Thu, 1 Sep 2022 00:57:45 +0000 (10:57 +1000)]
CI: drop the job count for the valgrind test suite to 2

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>
21 months agoCI: in b2c, compile on the host, then test in qemu
Benjamin Tissoires [Thu, 11 Aug 2022 05:19:14 +0000 (07:19 +0200)]
CI: in b2c, compile on the host, then test in qemu

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>
21 months agoCI: start a full systemd environment before running the testsuite
Benjamin Tissoires [Thu, 5 Aug 2021 13:17:27 +0000 (15:17 +0200)]
CI: start a full systemd environment before running the testsuite

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
21 months agoCI: include systemd-udev in the fedora image
Benjamin Tissoires [Fri, 30 Jul 2021 10:05:01 +0000 (12:05 +0200)]
CI: include systemd-udev in the fedora image

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>
21 months agoCI: rely on b2c to start qemu tests
Benjamin Tissoires [Fri, 30 Jul 2021 09:30:32 +0000 (11:30 +0200)]
CI: rely on b2c to start qemu tests

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>
21 months agoCI: do not retry the qemu runs
Benjamin Tissoires [Fri, 30 Jul 2021 10:06:40 +0000 (12:06 +0200)]
CI: do not retry the qemu runs

They should be more reliable now, so no need to try them twice

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
21 months agoCI: remove unused test
Benjamin Tissoires [Fri, 30 Jul 2021 09:28:41 +0000 (11:28 +0200)]
CI: remove unused test

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>
21 months agoCI: make freebsd slightly more in line with others
Benjamin Tissoires [Thu, 29 Jul 2021 16:54:45 +0000 (18:54 +0200)]
CI: make freebsd slightly more in line with others

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>
21 months agoCI: remove one occurrence of fedora instead of distro.name
Benjamin Tissoires [Thu, 11 Aug 2022 05:47:40 +0000 (07:47 +0200)]
CI: remove one occurrence of fedora instead of distro.name

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>
21 months agoCI: prettify the include of templates
Benjamin Tissoires [Thu, 29 Jul 2021 16:50:57 +0000 (18:50 +0200)]
CI: prettify the include of templates

Makes the resulting file easier to read

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
21 months agogitlab-ci: add commandline options to the meson-build.sh script
Peter Hutterer [Wed, 31 Aug 2022 05:51:20 +0000 (15:51 +1000)]
gitlab-ci: add commandline options to the meson-build.sh script

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>
21 months agogitlab-ci: explicitly call "meson setup" to improve readability
Peter Hutterer [Wed, 31 Aug 2022 05:41:35 +0000 (15:41 +1000)]
gitlab-ci: explicitly call "meson setup" to improve readability

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
21 months agogitlab-ci: export MESON_TESTTHREADS so meson actually sees it
Peter Hutterer [Wed, 31 Aug 2022 05:37:37 +0000 (15:37 +1000)]
gitlab-ci: export MESON_TESTTHREADS so meson actually sees it

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>
21 months agoevdev: remove duplicate "device is a switch" message
Peter Hutterer [Tue, 23 Aug 2022 03:22:31 +0000 (13:22 +1000)]
evdev: remove duplicate "device is a switch" message

We log this a few lines south of here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
21 months agoquirks: add generic quirks for ARM based chromebooks
Leonard Lausen [Mon, 22 Aug 2022 00:47:47 +0000 (00:47 +0000)]
quirks: add generic quirks for ARM based chromebooks

Signed-off-by: Leonard Lausen <leonard@lausen.nl>
21 months agoquirks: add quirks for Acer Spin 513 (Lazor)
Leonard Lausen [Wed, 10 Aug 2022 22:13:39 +0000 (22:13 +0000)]
quirks: add quirks for Acer Spin 513 (Lazor)

Signed-off-by: Leonard Lausen <leonard@lausen.nl>
22 months agotools: add missing dwtp option setting
Peter Hutterer [Mon, 8 Aug 2022 03:56:11 +0000 (13:56 +1000)]
tools: add missing dwtp option setting

Fixes 1f1ddbc6dff0cf0451e3c9ac923f9821278560aa

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
22 months agogitlab ci: drop EOL'd ubuntu 21.10
Peter Hutterer [Wed, 3 Aug 2022 03:42:47 +0000 (13:42 +1000)]
gitlab ci: drop EOL'd ubuntu 21.10

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
22 months agoquirks: update quirks for Lenovo IdeaPad Duet 3
Boris Pek [Fri, 15 Jul 2022 06:34:22 +0000 (09:34 +0300)]
quirks: update quirks for Lenovo IdeaPad Duet 3

My tablet has substring pvrIdeaPadDuet310IGL5-LTE in modalias and there are
other modifications of this model on a market so the mask for DMI should be
simplified to cover more devices.

Signed-off-by: Boris Pek <bpek@astralinux.ru>
22 months agodoc/user: minor rewording of the pointer accel profile list
Peter Hutterer [Thu, 14 Jul 2022 05:35:38 +0000 (15:35 +1000)]
doc/user: minor rewording of the pointer accel profile list

This just makes it easier to add new profiles to the list without ending
up with a word salad.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
22 months agolibwacom: fix warnings building without libwacom
José Expósito [Tue, 12 Jul 2022 17:44:59 +0000 (19:44 +0200)]
libwacom: fix warnings building without libwacom

When the libwacom build option is set to false the compiler throws
these warnings:

../udev/libinput-device-group.c:95:1: warning: ‘wacom_handle_ekr’ defined but not used [-Wunused-function]
   95 | wacom_handle_ekr(struct udev_device *device,
      | ^~~~~~~~~~~~~~~~
[205/237] Compiling C object 'libinput-test-suite@exe/test_test-tablet.c.o'.
../test/test-tablet.c:5440:1: warning: ‘verify_left_handed_touch_sequence’ defined but not used [-Wunused-function]
 5440 | verify_left_handed_touch_sequence(struct litest_device *finger,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../test/test-tablet.c:5385:1: warning: ‘verify_left_handed_tablet_sequence’ defined but not used [-Wunused-function]
 5385 | verify_left_handed_tablet_sequence(struct litest_device *tablet,
 #     | ^~~~~~~~~~~~~~~~
 #     | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Add the required guards to fix the warnings.

Fix #791.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
22 months agoevdev: fix a tab vs space indentation issue
Peter Hutterer [Mon, 11 Jul 2022 11:01:35 +0000 (21:01 +1000)]
evdev: fix a tab vs space indentation issue

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
22 months agomeson: use install_emptydir to create directory
illiliti [Sun, 3 Jul 2022 15:14:15 +0000 (18:14 +0300)]
meson: use install_emptydir to create directory

instead of install_subdir. Fixes muon - a strictly-conforming meson
implementation which doesn't implement deprecated and broken-by-design
functionality.

For more info, see: https://mesonbuild.com/Reference-manual_functions.html#install_subdir

Signed-off-by: illiliti <illiliti@protonmail.com>
22 months agoquirks: Add quirks to improve tablet-mode on the Surface Laptop Studio
Maximilian Luz [Mon, 4 Jul 2022 23:33:04 +0000 (01:33 +0200)]
quirks: Add quirks to improve tablet-mode on the Surface Laptop Studio

The Microsoft Surface Laptop Studio can operate in multiple postures. In
one of these, dubbed "slate/tent", the screen is angled roughly 45°,
covering the keyboard but not the touchpad. Unfortunately, this state is
(as far as we can tell) indiscernible to the display being flipped 180°
backwards (dubbed "slate/flipped"), where the keyboard points away from
the user and is now behind the screen.

Due to this, it makes sense to enable tablet-mode in this (general)
"slate" state, which is what the corresponding kernel driver currently
does. This, for example, can tell desktop environments to bring up a
touch keyboard in certain situations and to allow for automatic screen
rotation (which is required in the "flipped" mode).

Unfortunately, libinput disables all integrated peripherals, including
the touchpad, when tablet-mode is on, rendering the touchpad unusable in
the "slate/tent" state. Therefore, set ModelTabletModeNoSuspend=1 to
keep the touchpad functional. For simplicity, apply this quirk to all
input devices on the Surface Laptop Studio. Those are already disabled
by firmware in the respective postures, meaning things work well without
suspension by libinput.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
22 months agoquirks: Add quirks for Surface Laptop Studio touchpad
Maximilian Luz [Mon, 4 Jul 2022 23:24:21 +0000 (01:24 +0200)]
quirks: Add quirks for Surface Laptop Studio touchpad

The touchpad on the Microsoft Surface Laptop Studio is force-sensitive.
The default values used by libinput do not seem to work well (causing
touches to not be recognized), so configure it with known-good values.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
23 months agoquirks: add volume rocker quirk for Lenovo IdeaPad Duet 3i
Max Huber [Sun, 10 Jul 2022 12:11:57 +0000 (12:11 +0000)]
quirks: add volume rocker quirk for Lenovo IdeaPad Duet 3i

Signed-off-by: Max Huber <ycbcr@disroot.org>
23 months agoquirks: add Lenovo Legion 7 keyboard
Dale A. Jackson [Fri, 1 Jul 2022 17:26:44 +0000 (10:26 -0700)]
quirks: add Lenovo Legion 7 keyboard

Fixes disable-when-typing for the keyboard model on this laptop

Signed-off-by: Dale A. Jackson <JacksonWrath@gmail.com>
23 months agoCODING_STYLE: update with a better description for variable assignments
Peter Hutterer [Tue, 21 Jun 2022 05:11:08 +0000 (15:11 +1000)]
CODING_STYLE: update with a better description for variable assignments

Loop variables shouldn't be re-used.

Avoid uninitialized variables

Sort variables to make function calls more obvious

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
23 months agogitlab CI: dnf remove gtk4-devel for the no-debug-gui deps job
Peter Hutterer [Mon, 27 Jun 2022 00:00:55 +0000 (10:00 +1000)]
gitlab CI: dnf remove gtk4-devel for the no-debug-gui deps job

We've long preferred GTK4 and that's installed on our images, so let's
make sure that gets removed together with GTK3 (which isn't actually
installed anyway).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
23 months agomeson.build: fix build without Wayland
Peter Hutterer [Sun, 26 Jun 2022 23:47:41 +0000 (09:47 +1000)]
meson.build: fix build without Wayland

Introduced in 6a1bd5b0c9, we now have two potentially undeclared
variables if GTK is available but doesn't have Wayland support.

../meson.build:576:1: ERROR: Unknown variable "dep_wayland_client".

Fixes 6a1bd5b0c9be55d21c6e066a94fc6fd77fea96ce
Fixes #786

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
23 months agotest: exclude the two high-delay debounce tests from the valgrind CI run
satrmb [Tue, 28 Jun 2022 11:02:22 +0000 (13:02 +0200)]
test: exclude the two high-delay debounce tests from the valgrind CI run

The `debounce_bounce_high_delay` and `debounce_spurious_trigger_high_delay`
tests are failing with annoying frequency in valgrind, but that is
entirely due to valgrind being too slow for the tight timing reqirements
of these tests. Skipping them in valgrind has next to no potential to hide
memory leaks because the code paths leading to success are also covered by
other tests which are less picky about timing, and the CI test suite run
without valgrind still tests for their success.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
23 months agomeson.build: drop listing of header files from compilation targets
Peter Hutterer [Wed, 15 Jun 2022 22:20:54 +0000 (08:20 +1000)]
meson.build: drop listing of header files from compilation targets

"Meson uses Ninja which uses compiler dependency information to
automatically figure out dependencies between C sources and headers, so
it will rebuild things correctly when a header changes. [...]
If, for whatever reason, you do add non-generated headers to the sources
list of a target, Meson will simply ignore them."

https://mesonbuild.com/FAQ.html#do-i-need-to-add-my-headers-to-the-sources-list-like-in-autotools

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
23 months agogitlab CI: drop the manual meson to junit conversion
Peter Hutterer [Mon, 13 Jun 2022 04:07:56 +0000 (14:07 +1000)]
gitlab CI: drop the manual meson to junit conversion

Meson supports this natively since version 0.55 which is available in
all our tested distributions.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
23 months agolibinput 1.21.0 1.21.0
José Expósito [Sat, 11 Jun 2022 11:47:52 +0000 (13:47 +0200)]
libinput 1.21.0

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
23 months agogitlab CI: bump to F35 and F36, as well as Ubuntu 21.10 and 22.04
Peter Hutterer [Wed, 8 Jun 2022 06:43:39 +0000 (16:43 +1000)]
gitlab CI: bump to F35 and F36, as well as Ubuntu 21.10 and 22.04

F33 and F34 are both EOL. This also fixes the RPM build job to
automatically use the latest Fedora version and adds
wayland-protocols-devel which is now needed.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
23 months agomeson.build: check gtk targets before building
Peter Hutterer [Fri, 10 Jun 2022 00:31:37 +0000 (10:31 +1000)]
meson.build: check gtk targets before building

We have two different dependencies on Wayland: GTK support and the
wayland-protocols we use directly. If we have GTK support but
wayland-protocols is not installed at meson configure time, our build
fails.

To avoid having multiple ifdefs in the code, let's define two new ones:
HAVE_GTK_WAYLAND and HAVE_GTK_X11, both set if GTK supports that
particular target (from pkgconfig) and we have the other support
libraries we need.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2 years agotest: fix a typo
Peter Hutterer [Tue, 7 Jun 2022 23:25:59 +0000 (09:25 +1000)]
test: fix a typo

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2 years agotest: use a ranged test instead of a duplicated one
Peter Hutterer [Tue, 7 Jun 2022 23:25:02 +0000 (09:25 +1000)]
test: use a ranged test instead of a duplicated one

These two tests were identical except for the WHEEL/HWHEEL
differentiator, let's make this into a ranged test instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2 years agowheel: fix Lenovo Scrollpoint quirk
José Expósito [Mon, 6 Jun 2022 18:24:16 +0000 (20:24 +0200)]
wheel: fix Lenovo Scrollpoint quirk

The IBM/Lenovo Scrollpoint mouse features a trackpoint-like stick that
sends a great amount of scroll deltas.

In order to handle the device, a quirk is in place to normalize the
scroll events as they were relative motion.

However, when high-resolution scroll was implemented, we started
normalizing the hi-res events instead of the lo-res events by mistake.

Fix the quirk by normalizing the right deltas.

Fixes: 6bb02aaf307a ("High-resolution scroll wheel support")
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Tested-by: Peter Ganzhorn <peter.ganzhorn@gmail.com>
2 years agotest: ensure we always have an axis event where we expect one
Peter Hutterer [Mon, 6 Jun 2022 23:55:32 +0000 (09:55 +1000)]
test: ensure we always have an axis event where we expect one

If we never got an event, we'd skip over the while loop and generate a
false positive.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2 years agotest: fix the lowres-only wheel event tests
Peter Hutterer [Tue, 7 Jun 2022 01:56:04 +0000 (11:56 +1000)]
test: fix the lowres-only wheel event tests

These tests gave us false positives for devices without a REL_WHEEL or
REL_HWHEEL because one of the helper functions papered over missing
events.

We have two tests here, one for horizontal, one for vertical but they
mixed WHEEL and HWHEEL in both tests. Fix this by splitting them
properly, so each test only checks that axis.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2 years agofilter-touchpad: normalize for dpi on the touchpad-specific flat profile
satrmb [Sun, 29 May 2022 09:29:49 +0000 (11:29 +0200)]
filter-touchpad: normalize for dpi on the touchpad-specific flat profile

On mice, switching the acceleration profile to flat disables dpi normalization,
because high or even switchable dpi are generally major features of a
high-end mouse, and switching to flat acceleration indicates that the user
wants to reduce the effects of any cursor acceleration to a minimum.
Therefore we skip normalization there and let the user take full advantage
of their expensive hardware.

On touchpads, particularly those built into a laptop, users have to deal with
whatever hardware they have; touchpad dpi is an afterthought at best, or
a disaster at worst. Switching to the flat profile is more likely to be
about avoiding the non-linear acceleration curve of the adaptive profile.

Hence the flat profile for touchpads shouldn't copy what the one for mice does,
but rather use dpi normalization like the adaptive profile. This keeps flat
acceleration on low-resolution touchpads from dropping to unusably slow speeds.

Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>