-
bbc5aee5
by José Expósito
at 2021-06-09T01:18:58+00:00
gestures: add a function to know if there is pending pointer motion
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
ba3e79c9
by José Expósito
at 2021-06-09T01:18:58+00:00
gestures: refactor gesture enabled
Move the condition to check if gestures are enabled to its own function.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
d5636eb9
by José Expósito
at 2021-06-09T01:18:58+00:00
gestures: handle pointer motion as an extra state
Refactor the gesture state machine to integrate pointer motion as an extra state
of the state machine.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
b5b6f835
by José Expósito
at 2021-06-09T01:18:58+00:00
gestures: use events to change between states
Refactor the gesture state machine to emit events to change between states.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
781cee2d
by José Expósito
at 2021-06-09T01:18:58+00:00
gestures: filter motion inside the gesture state machine
At the moment, every gesture is triggered by motion. In order to implement
gestures not based on motion, like hold, it is required to filter the unwanted
motion inside the gesture state machine so it transits to the correct states.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
b6b15fa3
by José Expósito
at 2021-06-09T01:18:58+00:00
libinput: add hold gesture public API and tool support
Add hold gestures to the public API and the private functions to notify them.
Also add hold gestures to debug-events and debug-gui.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
279d14b3
by José Expósito
at 2021-06-09T01:18:58+00:00
gesutures: allow to configure hold gestures
Valgrind can be too slow to run some time based tests. In those cases, we
need to disable hold gestures.
Add the required functions to configure hold gestures: enable, disable,
get default state and get current state.
Keep them private as they are intended to be used only from the tests.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
8a180b52
by José Expósito
at 2021-06-09T01:18:58+00:00
gestures: add hold gesture implementation
Hold gestures are notifications about fingers on the touchpad.
There is no coordinate attached to a hold gesture, merely the number of fingers.
A hold gesture starts when the user places a finger on the touchpad and
ends when all fingers are lifted. It is cancelled when the finger(s) move
past applicable thresholds and trigger some other interaction like pointer
movement or scrolling.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
c99b24e5
by José Expósito
at 2021-06-09T01:18:58+00:00
tests: move existing gesture tests to functions to be able to reuse them
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
a18d9d3d
by José Expósito
at 2021-06-09T01:18:58+00:00
tests: optionally hold in gesture test functions
Add an extra parameter to the common gesture test functions to allow to hold
before performing the gesture.
This parameter will be used by the hold tests allowing to share the code.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
92827de6
by José Expósito
at 2021-06-09T01:18:58+00:00
tests: add hold gesture tests
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
9b024c69
by José Expósito
at 2021-06-09T01:18:58+00:00
gestures: add quick hold implementation
When 1 or 2 fingers are used to hold, use a faster timer to make the
"hold to stop kinetic scrolling" user interaction feel more immediate.
Also handle double tap and tap and drag interations to send only one
hold gesture instead of two.
Holding with 3 or 4 fingers remains the same to try to avoid callers
missusing hold gestures to build their own tap implementation.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
c96d414f
by Peter Hutterer
at 2021-06-09T13:01:26+10:00
doc: note that gestures may be cancelled
This has been in place forever, so let's note it in the docs.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
38e2a434
by Peter Hutterer
at 2021-06-09T13:12:59+10:00
doc: add docs for hold gestures
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
8aed8b6d
by José Expósito
at 2021-06-09T22:12:35+00:00
doc: add touchpad gestures state machine diagram
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
5603ed86
by José Expósito
at 2021-06-09T22:12:35+00:00
doc: update draw.io URL
The tool used to generate diagrams (draw.io) is now diagrams.net.
Update the URL in the comments.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
13c47598
by José Expósito
at 2021-06-10T01:07:19+00:00
gestures: always save touch information
When a single touch is used to hold or to move the pointer, save
information about the touch.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
45e6e28c
by José Expósito
at 2021-06-10T01:07:19+00:00
gestures: move first_moved and first_mm up
Move the calculation of first_moved and first_mm up inside
tp_gesture_detect_motion_gestures in order to be able to use their
values in the one finger code path.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
1f548864
by José Expósito
at 2021-06-10T01:07:19+00:00
gestures: improve one finger hold detection
When one finger is used to hold, tiny pointer movement deltas can easily
end the gesture.
Add a movement threshold to avoid small movement, before or after the hold
timeout, ending the gesture and make the hold-to-interact user
interaction more reliable.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
9cd6f3c5
by Peter Hutterer
at 2021-06-10T11:46:41+10:00
meson.build: bump to 1.18.900
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
87447a0e
by luokai
at 2021-06-15T11:27:29+08:00
using secure functions safe_strdup
Signed-off-by: luokai <l18674732394.com>
-
6aa24d10
by Peter Hutterer
at 2021-06-17T16:10:53+10:00
gitlab CI: add a comment to explain how to actually edit the CI
We tell users not to edit it, but don't tell them how to change it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
17783c24
by Peter Hutterer
at 2021-06-21T08:52:27+10:00
quirks: add a quirk for the Huawei Matebook 2020 touchpad
Clickpad that announces BTN_RIGHT
https://bugzilla.redhat.com/show_bug.cgi?id=1972370
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
b7aac3c1
by Thomas Weißschuh
at 2021-06-21T10:41:19+00:00
evdev: remove device when it is gone
This was observed when running in device mode with:
`libinput debug-events $EVENT_NODE`
When removing the monitored device, the no "device removed" message was
not shown.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
-
0ddb26a0
by Thomas Stenhouse-Pyne
at 2021-06-26T12:01:36+01:00
quirks: add volume rocker quirk for Lenovo Duet 7i
Signed-off-by: Thomas Stenhouse-Pyne <tommpyne@gmail.com>
-
5a23665d
by Mohamed Elsharnouby
at 2021-07-11T19:00:42-04:00
quirks: add pressure range for Dell Latitude 7480
Pressing Ctrl/Shift on this model triggers light touches that causes random clicks.
This doesn't occur on Windows 10 so adding this quirk to fix it
Signed-off-by: sharno <sharnoby3@gmail.com>
-
0a354dc1
by The_Observer
at 2021-07-13T21:28:57+00:00
quirks: add a quirk for the Purism Librem 14v1
Clickpad that announces BTN_RIGHT
Fixes #629
Signed-off-by: The_Observer <The_Observer@lindemann.space>
-
29d311d6
by Peter Hutterer
at 2021-07-13T21:58:24+00:00
quirks: add a quirk for the X61 bezel buttons
Fixes #628
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
492f6817
by Peter Hutterer
at 2021-07-22T12:53:08+10:00
util-list: restore list_for_each_safe() to be a single statement
3d3d9b7f69b1119523becab3160378066db2e1c0 got rid of the need for a tmp
argument for list_for_each_safe() but switched the loop to be a
multiline statement. This could potentially cause bugs where the loop is
used inside a block without curly braces, e.g.
if (condition)
list_for_each_safe()
func()
The assignment preceding the actual loop would result in the code
reading as:
if (condition)
pos = ....
list_for_each_safe()
The actual list loop would be unconditional.
Fix this by moving the initial assignment into an _expression_ statement.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
234eeabe
by Peter Hutterer
at 2021-07-22T23:14:43+00:00
Replace fallthrough comments with __attribute__((fallthrough))
This has recently been endorsed by the linux kernel, it should be good
enough for us.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
fc70c4f8
by Peter Hutterer
at 2021-07-22T23:14:43+00:00
Silence compiler warnings for -Wformat-nonliteral
In the various logging functions where we need to modify the format
argument, disable the compiler warnings. Interestingly, GCC doesn't seem
to mind those but building with clang unleashes pages of warnings.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7cccee25
by Peter Hutterer
at 2021-07-22T23:14:43+00:00
Disable -Wmissing-field-initializers
We really don't care about that one.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
9564b3c1
by Peter Hutterer
at 2021-07-22T23:14:43+00:00
Mark some functions as printf-like to silence some compiler warnings
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
2cf38f45
by Peter Hutterer
at 2021-07-22T23:14:43+00:00
touchpad: remove two unused functions
These functions have been unused since 1668cd5e8158a4d98516bfc7432af78be934253f
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
967b9d3e
by Andrea Ippolito
at 2021-07-26T12:35:33+02:00
doc/user: make "verifying install" command portable
According to the linker man page libraries are searched in the following paths:
LD_LIBRARY_PATH environment variable
Paths in the cache file /etc/ld.so.cache
/lib, /usr/lib, /lib64 and /usr/lib64
As we are not using LD_LIBRARY_PATH, we can rely on ldconfig as a fairly portable solution because it "creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories (/lib and /usr/lib)".
Tested on fedora 34, manjaro 2021.07, kubuntu 21.04
Signed-off-by: Andrea Ippolito <andrea.ippo@gmail.com>
-
67405c27
by Peter Hutterer
at 2021-07-27T05:20:45+00:00
doc/user: fix the line alignments for the hold gesture tables
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
ad239327
by Peter Hutterer
at 2021-07-27T05:20:45+00:00
doc/user: move the hold gesture section up to the others
Better structuring this way: pinch, swipe, hold, then other comments
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
6516374d
by Peter Hutterer
at 2021-07-28T08:59:09+10:00
gitlab CI: name the qemu tags per distribution
Having only one qemu tag worked only because we only had one
distribution using qemu. If we have multiple of those we just
duplicate/overwrite the variable so let's not do that.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
9133693b
by Peter Hutterer
at 2021-07-28T09:46:17+10:00
gitlab CI: split the qemu meson build parts out as separate template
This was part of the test-suite-vm template but to make it easily
re-usable split out the parts that are just about building in a qemu
image from the parts that are specific to running the test suites.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
94fc9b22
by Peter Hutterer
at 2021-07-28T09:46:20+10:00
gitlab CI: update to latest ci-templates
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
21824bc6
by Peter Hutterer
at 2021-07-28T12:48:56+10:00
gitlab CI: move the SUITES handling to the template where it matters
Should have been part of 9133693b15eb8211c7b08eb2f486a88d915715f6.
This fixes an issue with calls to meson_build.sh with an otherwise empty
MESON_TEST_ARGS - thanks to the space before $SUITES it would no longer
the zero-string condition in meson_build.sh.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
833e49ce
by Peter Hutterer
at 2021-07-28T12:50:11+10:00
gitlab CI: use the ci-templates FreeBSD templates
Replace our cross-compilation for FreeBSD with a proper template.
FreeBSD doesn't do normal containers so we need a bunch of if/else to
skip the container builds.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
047557b7
by Peter Hutterer
at 2021-07-28T12:50:11+10:00
Define the versionsort overrides as inlines
Squashes compiler warnings about unused functions given this header is
included in multiple files.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
79707b91
by Peter Hutterer
at 2021-07-28T12:50:11+10:00
gitlab CI: debug the meson_build script
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
eb2ed186
by Kevin Anderson
at 2021-07-28T16:47:48-04:00
quirks: add Framework Touchpad Quirk
Handle a bug that the touchpad announces BTN_RIGHT
Signed-off-by: Kevin Anderson <andersonkw2@gmail.com>
-
8ee85374
by Sanjiv
at 2021-07-28T22:37:35+00:00
Update quirks/50-system-chuwi.quirks
Author: Sanjiv <sanjerat@gmail.com>
Date: Wed Jul 28 04:27:56 2021 +0000
Signed-off-by: Sanjiv Erat <sanjerat@gmail.com>
-
e6c4b1d1
by Quytelda Kahja
at 2021-07-28T23:53:36+00:00
quirks: Add tablet smoothing attribute.
https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/512 disables
input smoothing for AES devices. However, some AES devices produce
segmented/wobbly curves without smoothing. This change introduces an
`AttrTabletSmoothing` boolean property, which overrides the default smoothing
behavior.
See #632
Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
-
fc24bba7
by Quytelda Kahja
at 2021-07-28T23:53:36+00:00
Add section for Lenovo Yoga C930 tablet in 50-system-lenovo.quirks.
Fixes #632.
Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
-
355635ad
by Peter Hutterer
at 2021-07-29T15:38:01+00:00
gitlab CI: drop dependencies between jobs
None of our jobs rely on the artifacts of a previous job, so let's not
pass those around. Make this part of the default policy and include it
from every job.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
140b4b78
by José Expósito
at 2021-07-30T05:21:59+00:00
doc: add common failed pipeline errors
Add a section in the contributing documentation with common pipeline
errors and how to fix them and point to this page when the CI fails.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
e8bcf71c
by Quytelda Kahja
at 2021-07-30T06:11:20-07:00
test: Add test for parsing of boolean quirk attributes.
Signed-off-by: Quytelda Kahja <quytelda@tamalin.org>
-
1773973d
by satrmb
at 2021-07-30T22:59:22+02:00
quirks: Chuwi AeroBook Plus has a clickpad falsely claiming to have BTN_RIGHT
Signed-off-by: satrmb <10471-satrmb@users.noreply.gitlab.freedesktop.org>
-
c21f20cc
by Peter Hutterer
at 2021-08-03T12:11:09+10:00
meson.build: disable documentation by default
This does little other than drag in a whole bunch of dependencies. The
libinput documentation is designed to be consumed online, so there's no
need building it on every machine.
We leave the dependencies installed in the images because it's a lot
easier to remove them and test if the build still works than adding them
and dragging in every updated package since we built the image.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
f36ccc3c
by José Expósito
at 2021-08-03T16:52:39+00:00
tools/debug-gui: move gtk_main_quit to a function
Wrap the calls to gtk_main_quit in its own function.
Refactor, no functional changes.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
791fbad5
by José Expósito
at 2021-08-03T16:52:39+00:00
tools/debug-gui: use GMainLoop instead of gtk_main
Migrate to GMainLoop because gtk_main is deprecated in GTK 4.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
55889ade
by José Expósito
at 2021-08-03T16:52:39+00:00
tools/debug-gui: refactor UI element placement
Move the code used to pace the different UI elements to its own
function.
Refactor, no functional changes.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
895e866d
by José Expósito
at 2021-08-03T16:52:39+00:00
debug-gui: migrate to GTK4
Global:
- Stop passing commandline arguments to gtk_init:
https://docs.gtk.org/gtk4/migrating-3to4.html#stop-passing-commandline-arguments-to-gtk_init
window_init function:
- gtk_window_new doesn't require a type anymore
- gtk_window_iconify has been renamed to gtk_window_minimize
- gtk_container_add has been removed in favor of container specific
APIs. Use gtk_window_set_child in this case.
- gtk_widget_show_all has been removed, widgets are now visible by
default:
https://docs.gtk.org/gtk4/migrating-3to4.html#widgets-are-now-visible-by-default
- gtk_widget_set_events to NULL is no longer required, widgets must set
their event handlers explicitly now:
https://blog.gtk.org/2020/04/29/custom-widgets-in-gtk-4-input/
window_delete_event_cb function:
- Use the new close-request event:
https://docs.gtk.org/gtk4/migrating-3to4.html#stop-using-gtkwidget-event-signals
map_event_cb function:
- gtk_widget_set_cursor_from_name instead of gdk_window_set_cursor
- Wait until the draw area is resized to use the whole window to start
calculating sizes
window_place_ui_elements function:
- Use gtk_widget_get_width and gtk_widget_get_height instead of
gtk_window_get_size
Drawing:
- Use gtk_drawing_area_set_draw_func instead of the GtkWidget::draw
signal:
https://docs.gtk.org/gtk4/migrating-3to4.html#adapt-to-drawing-model-changes
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
a9b334eb
by José Expósito
at 2021-08-03T16:52:39+00:00
debug-gui: pointer locking on Wayland
Use the pointer constraints protocol to lock the pointer on Wayland.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
be7264f3
by José Expósito
at 2021-08-03T16:52:39+00:00
debug-gui: pointer locking on X11
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
44212baa
by José Expósito
at 2021-08-03T16:52:39+00:00
ci: update to GTK 4 when available
Update GTK to version 4 on Fedora, Arch and Alpine Linux.
Not updating Debian and FreeBSD because the package is not available yet
and Ubuntu because it is not available on 20.10.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
375618b8
by José Expósito
at 2021-08-03T20:00:37+02:00
meson.build: use the / operator instead of join_paths
Starting with meson v0.49.0, the "/" operator can be used instead of
join_paths.
Update meson to v0.49.0 and remove all calls to join_paths.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
b925b556
by Peter Hutterer
at 2021-08-03T22:14:29+00:00
test: use MESON_TESTTHREADS to determine the number of jobs
meson uses MESON_TESTTHREADS to determine the number of parallel test
jobs. Since our main test suite cannot be run in parallel anyway, use
that same variable in litest to determine how many jobs we should fork
off.
In the CI pipeline, we can use FDO_CI_CONCURRENT to pass that down so we
don't end up running a billion jobs on a test runner.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
7265d167
by José Expósito
at 2021-08-04T05:58:29+00:00
editorconfig: add settings for meson files
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
ca1c05ab
by Peter Hutterer
at 2021-08-09T10:50:25+10:00
test: create devices for our udev seat checks
This way we can ensure that at least one device is available, and that
it is the device we want.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
53bd70f4
by José Expósito
at 2021-08-24T18:01:59+02:00
quirks: Lenovo Trackpoint Keyboard II
The device sends its own scroll events when its trackpoint is moved
while the middle button is pressed.
Because scroll events are inhibited while the middle button is pressed
a quirk is necessary for this device to not inhibit scroll events.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
a1566e34
by Dmitry Maluka
at 2021-08-26T23:55:57+02:00
quirks: Thinkpad T470 trackpoint multiplier
Set multiplier for T470 to 0.4, same as for T480.
Trackpoint behavior on T470 was good before 1.9.0 (more precisely,
before the commit 87b568) when a new trackpoint acceleration algorithm
was introduced instead of the traditional linear filter. Since then
it is too sensitive and seems impossible to fine-tune using hw settings
or libinput accel speed setting.
With multiplier set to 0.4 it is as good (or better) as in 1.8.4.
Sensitivity feels the same as in 1.8.4 with the same hw settings for
speed and sensitivity.
Signed-off-by: Dmitry Maluka <dmitrymaluka@gmail.com>
-
427c855d
by José Expósito
at 2021-08-31T14:42:15+10:00
test: refactor litest_assert_event_type logic
Extract the logic in litest_assert_event_type to a generic function,
litest_assert_event_type_is_one_of, that takes a variable number of
expected event types.
Refactor, no functional changes.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
6bb02aaf
by Peter Hutterer
at 2021-08-31T08:45:01+02:00
High-resolution scroll wheel support
Starting with kernel v5.0 two new axes are available for high-resolution wheel
scrolling: REL_WHEEL_HI_RES and REL_HWHEEL_HI_RES. Both axes send data in
fractions of 120 where each multiple of 120 amounts to one logical scroll
event. Fractions of 120 indicate a wheel movement less than one detent.
This commit adds a new API for scroll events. Three new event types that encode
the axis source in the event type name and a new API to get a normalized-to-120
value that also used by Windows and the kernel (each multiple of 120 represents
a logical scroll click).
This addresses a main shortcoming with the existing API - it was unreliable to
calculate the click angle based on the axis value+discrete events and thus any
caller using the axis value alone would be left with some ambiguity. With the
v120 API it's now possible to (usually) calculate the click angle, but more
importantly it provides the simplest hw-independent way of scrolling by a
click or a fraction of a click.
A new event type is required, the only way to integrate the v120 value
otherwise was to start sending events with a discrete value of 0. This
would break existing xf86-input-libinput (divide by zero, fixed in 0.28.2) and
weston (general confusion). mutter, kwin are unaffected.
With the new API, the old POINTER_AXIS event are deprecated - callers should use
the new API where available and discard any POINTER_AXIS events.
Notable: REL_WHEEL/REL_HWHEEL are emulated by the kernel but there's no
guarantee that they'll come every accumulated 120 values, e.g. Logitech mice
often send events that don't add up to 120 per detent.
We use the kernel's wheel click emulation instead of doing our own.
libinput guarantees high-resolution events even on pre-5.0 kernels.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
01cccd83
by Peter Hutterer
at 2021-09-01T14:09:26+10:00
libinput 1.18.901
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
c053d7b0
by Clayton Craft
at 2021-09-05T14:05:24-07:00
quirks: Pine64 PineBook Pro keyboard
The keyboard is 'internal' (built-in), and attached over usb.
Signed-off-by: Clayton Craft <clayton@craftyguy.net>
-
1d6c3878
by José Expósito
at 2021-09-06T08:42:28+02:00
doc: add missing literal blocks in contributing
Add missing literal blocks in the section "Failed pipeline errors"
introduced in 140b4b78530b62f8dc70645153b75b4adae23ed9.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
e4f9c618
by José Expósito
at 2021-09-06T18:51:01+02:00
quirks: Microsoft Surface Pro 3 Cover
Mark the Microsoft Surface Pro 3 Cover keyboard as internal.
Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/655
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
d8088176
by weizhixiang
at 2021-09-12T15:58:16+00:00
use ARRAY_FOR_EACH when traverse array
Signed-off-by: weizhixiang <weizhixiang@uniontech.com>
-
dbcb003c
by José Expósito
at 2021-09-12T21:16:32+00:00
util: add a function to parse bool properties
Move the logic used to parse boolean quirks and udev flags to a common
function in utils.
Refactor, no functional changes.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
c9483a6a
by José Expósito
at 2021-09-12T21:51:53+00:00
quirks: no button debouncing on generic emulated mouse
When the kernel doesn't support a touchpad, the device is handled as a
generic mouse named "ImPS/2 Generic Wheel Mouse".
Taps are handled as button clicks and the button debouncing code makes
it difficult to double click.
Add a quirk to disable button debouncing for this devices.
Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/656
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
ca0c2470
by Peter Hutterer
at 2021-09-14T17:52:56+10:00
libinput 1.19.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
6c869071
by Peter Hutterer
at 2021-09-15T09:03:21+10:00
touchpad: fix leak when the touchpad is removed before the dwt keyboard
If a touchpad is removed before its dwt-paired keyboard, we're leaking
the keyboard struct. Fix this by cleaning up properly when our device is
removed.
This is the cause of many failed tests in the udev backend tests during
the CI valgrind run. Because we're testing the udev backend it will add
any devices created by tests run in parallel, some of which are keyboard
devices. Depening on the test completions, the keyboards may or may not
get removed before this device.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
77b36de8
by Peter Hutterer
at 2021-09-17T09:03:17+10:00
touchpad: reduce the jumping cursor warnings to 5 per day
It's been a while since we really could do something about those jumps,
so let's assume most of these are informative and not a bug in libinput.
For that let's not spam the user's journal and ratelimit it to a handful
a day.
Per day because that increases the chance of an error being present in
the recent logs if the user does search for it.
Related #663
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
5f966dc6
by José Expósito
at 2021-09-19T21:32:59+02:00
doc: guarantee end sequence for continuous scroll
GTK handles LIBINPUT_EVENT_POINTER_SCROLL_CONTINUOUS as
GDK_SCROLL_SMOOTH, the same event type that is used to handle
LIBINPUT_EVENT_POINTER_SCROLL_FINGER.
Because Mutter and other compositors, like wlroots based compositors,
translate libinput terminating event to axis_stop instead of doing their
own emulation, if libinput stops sending terminating events, it will
cause client bugs.
Since libinput always sends the terminating event for trackpoints and
button scrolling and there are even tests in place to check for them,
update the documentation to guarantee the terminating scroll sequence.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
ea7a88d2
by Peter Hutterer
at 2021-09-21T09:28:18+10:00
touchpad: use the model flags to determine internal vs external
When pairing a trackpoint, use the model flags for the touchpad, don't
use a separate set of conditions.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
b6e8aef4
by Peter Hutterer
at 2021-09-21T09:28:18+10:00
touchpad: mark USB touchpads as internal by default
External touchpads using USB are vanishingly few, built-in touchpads
that use USB are comparatively common. So let's default to internal,
for vendors like Logitech and Wacom that only make external touchpads we
have special conditions in place anyway.
Fixes #664
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
ceda09e8
by José Expósito
at 2021-09-21T19:21:03+02:00
evdev: v120 scroll: invert horizontal scrolling quirk
When required, invert horizontal scrolling in evdev_notify_axis_wheel
following the QUIRK_MODEL_INVERT_HORIZONTAL_SCROLLING quirk.
Fix #669
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
f0d3761f
by José Expósito
at 2021-09-24T19:06:53+02:00
libinput: add hold to get base event
LIBINPUT_EVENT_GESTURE_HOLD_BEGIN and LIBINPUT_EVENT_GESTURE_HOLD_END
were missing from libinput_event_gesture_get_base_event.
Add them to avoid triggering an erroneous client bug warning.
Fix #671
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
bf61ab9b
by Peter Hutterer
at 2021-09-27T05:56:37+10:00
quirks: add quirk for the Prestigio Smartbook 141 C2 touchpad
Fixes #674
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
bad8b736
by Peter Hutterer
at 2021-09-28T08:13:54+10:00
quirks: update the Dell N5110 touchpad quirk
Later versions of this same model seem to have a different ALPS touchpad
and don't need the pressure settings. Narrow down this match so we only
apply to the one from the actual bug report in #565.
Fixes #676
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
e0aa946e
by José Expósito
at 2021-09-27T22:43:22+00:00
test: add kernel bugs to log handler
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
5bda716e
by José Expósito
at 2021-09-27T22:43:22+00:00
fallback: hires scroll heuristics for buggy devices
Some devices might announce support for high-resolution scroll wheel
by enabling REL_WHEEL_HI_RES and/or REL_HWHEEL_HI_RES but never send
a high-resolution scroll event.
When the first low-resolution scroll event is received without any
previous high-resolution event, print a kernel bug warning and start
emulating high-resolution scroll events.
Fix #668
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-
b3e58464
by Peter Hutterer
at 2021-09-28T08:46:37+10:00
libinput 1.19.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
a06b05c3
by Timo Aaltonen
at 2021-09-28T12:08:14+03:00
Merge tag '1.18.1' into d-u
1.18.1
-
828e30da
by Timo Aaltonen
at 2021-09-28T12:10:30+03:00
Merge branch 'debian-unstable' into d-u
-
cfc68e5c
by Timo Aaltonen
at 2021-09-28T12:17:53+03:00
bump the version
-
9f828aab
by Timo Aaltonen
at 2021-09-28T12:21:07+03:00
symbols: Updated.
-
dccd6085
by Timo Aaltonen
at 2021-09-28T12:25:36+03:00
release to sid