platform/upstream/libinput.git
5 years agoLenovo X1 Carbon 6th Trackpoint
Diep Pham [Thu, 14 Feb 2019 13:56:02 +0000 (20:56 +0700)]
Lenovo X1 Carbon 6th Trackpoint

5 years agodoc/user: swap udevadm hwdb for systemd-hwdb
Peter Hutterer [Thu, 14 Feb 2019 06:55:01 +0000 (16:55 +1000)]
doc/user: swap udevadm hwdb for systemd-hwdb

The latter has more obvious handling of hwdb matches. With udevadm hwdb a glob
may take precedence over a hwdb entry even if the latter is sorted later.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoadd quirk for Lenovo X1 Carbon 4th Trackpoint
Diep Pham [Thu, 14 Feb 2019 03:17:28 +0000 (10:17 +0700)]
add quirk for Lenovo X1 Carbon 4th Trackpoint

5 years agotools: debug-gui: change the tablet color
Peter Hutterer [Thu, 14 Feb 2019 03:01:39 +0000 (13:01 +1000)]
tools: debug-gui: change the tablet color

Grey isn't pretty enough

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: debug-gui: add a previously unbalanced cairo_restore()
Peter Hutterer [Thu, 14 Feb 2019 02:44:27 +0000 (12:44 +1000)]
tools: debug-gui: add a previously unbalanced cairo_restore()

And remove some of the unnecessary ones

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: debug-gui: move the pointer delta code to draw_pointer
Peter Hutterer [Thu, 14 Feb 2019 02:57:11 +0000 (12:57 +1000)]
tools: debug-gui: move the pointer delta code to draw_pointer

Not sure why this was in draw_tablet(), probably copy/paste

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: add another helper to discard specific events
Peter Hutterer [Tue, 12 Feb 2019 01:59:09 +0000 (11:59 +1000)]
test: add another helper to discard specific events

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: skip the tablet pressure test if we don't have pressure
Peter Hutterer [Tue, 12 Feb 2019 04:02:13 +0000 (14:02 +1000)]
test: skip the tablet pressure test if we don't have pressure

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: fix the tablet relative delta test
Peter Hutterer [Tue, 12 Feb 2019 04:02:48 +0000 (14:02 +1000)]
test: fix the tablet relative delta test

These numbers just happened to add up correctly for the motion history to
produce a zero delta for a diagonal movement. Fix it by adding extra events to
flush out any motion history leftovers.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: fix the tablet motion test
Peter Hutterer [Tue, 12 Feb 2019 01:36:20 +0000 (11:36 +1000)]
test: fix the tablet motion test

This test had a loop around the proximity events, so in theory we could've
sent two proximity-in events and still get a positive test.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: set LITEST_HOVER for all tests that require the hover feature
Peter Hutterer [Tue, 12 Feb 2019 04:04:49 +0000 (14:04 +1000)]
test: set LITEST_HOVER for all tests that require the hover feature

Where we test for changes on tip state, we need the hover feature

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: mark all current tablets as having a hover feature
Peter Hutterer [Tue, 12 Feb 2019 01:19:54 +0000 (11:19 +1000)]
test: mark all current tablets as having a hover feature

The totem, also a tablet tool, is a tool that is always tip-down and does not
support hovering so we need to be able to distinguish this for tests.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: make litest robust for ABS_MT_POSITION_X-only devices
Peter Hutterer [Thu, 27 Sep 2018 05:07:53 +0000 (15:07 +1000)]
test: make litest robust for ABS_MT_POSITION_X-only devices

The Dell Canvas Totem only has the MT axes but not the single touch ones. Make
sure we copy the axis extents correctly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: draw the tablet before the touch points
Peter Hutterer [Wed, 13 Feb 2019 00:15:29 +0000 (10:15 +1000)]
tools: draw the tablet before the touch points

On the Dell Canvas Totem, the tool will cancel existing touch points and to
visually debug that, we need the touchpoints to be drawn over the tool.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: draw other buttons in the debug-gui
Peter Hutterer [Tue, 12 Feb 2019 04:46:58 +0000 (14:46 +1000)]
tools: draw other buttons in the debug-gui

Buttons that aren't lmr are drawn in a separate button square now with the
name as it comes from the kernel. This only handles one button at a time, but
it'll do for debugging.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: debug-gui: move the lmr button handling into a substruct
Peter Hutterer [Tue, 12 Feb 2019 00:05:25 +0000 (10:05 +1000)]
tools: debug-gui: move the lmr button handling into a substruct

No functional changes

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: debug-gui: show cancelled touches as unfilled circles
Peter Hutterer [Wed, 6 Feb 2019 23:30:46 +0000 (09:30 +1000)]
tools: debug-gui: show cancelled touches as unfilled circles

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: remove hwdb leftovers
Peter Hutterer [Wed, 13 Feb 2019 04:33:35 +0000 (14:33 +1000)]
test: remove hwdb leftovers

We don't write hwdb entries anymore, so let's drop any reference to it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotouchpad: fix typo in comment
Peter Hutterer [Wed, 13 Feb 2019 04:31:30 +0000 (14:31 +1000)]
touchpad: fix typo in comment

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agogitlab CI: update arch linux source image
Peter Hutterer [Tue, 12 Feb 2019 23:28:17 +0000 (09:28 +1000)]
gitlab CI: update arch linux source image

The old one is deprecated (and removed), new one is archlinux/base which also
now requires the diffutils package.

The new one apparently doesn't come with /var/cache/pacman/pkg and it's
not created, so pacman clean exits with an error, breaking the build.
Simply create that directory and everything is hunky, though dory remains
elusive.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agofallback: cancel the arbitration timer on device remove
Peter Hutterer [Thu, 7 Feb 2019 02:02:50 +0000 (12:02 +1000)]
fallback: cancel the arbitration timer on device remove

When the touch arbitration is reset to ARBITRATION_NOT_ACTIVE, the proximity
timer is set for 90ms to avoid erroneous touches (see 2a378beab for the
reason).

If the device is removed within those 90ms, the timer is never cancelled,
leading to an assert on cleanup.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotimer: print the timers still in the list before the assert
Peter Hutterer [Wed, 6 Feb 2019 23:36:08 +0000 (09:36 +1000)]
timer: print the timers still in the list before the assert

Helps a lot with debugging if we know which timer is still there during
cleanup.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoDrop the AS_MASK macro, replace with bit
Peter Hutterer [Thu, 7 Feb 2019 04:15:38 +0000 (14:15 +1000)]
Drop the AS_MASK macro, replace with bit

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoAdd a bit() macro
Peter Hutterer [Wed, 6 Feb 2019 05:29:23 +0000 (15:29 +1000)]
Add a bit() macro

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoinclude: add MT_TOOL_DIAL to freebsd's input.h
Peter Hutterer [Thu, 7 Feb 2019 23:13:27 +0000 (09:13 +1000)]
include: add MT_TOOL_DIAL to freebsd's input.h

Missing from 6d683213dbbf17ee0e03138802bb071efb6944cd

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agopath: limit path device nodes to PATH_MAX characters
Peter Hutterer [Fri, 8 Feb 2019 01:08:36 +0000 (11:08 +1000)]
path: limit path device nodes to PATH_MAX characters

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoudev: restrict the seat ID to 256 characters
Peter Hutterer [Fri, 8 Feb 2019 01:07:15 +0000 (11:07 +1000)]
udev: restrict the seat ID to 256 characters

Anything longer than that is likely a bug.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoquirks: add a quirk for the Lenovo L380 (Yoga) clickpad
Pascal Kockwelp [Sun, 10 Feb 2019 23:02:28 +0000 (00:02 +0100)]
quirks: add a quirk for the Lenovo L380 (Yoga) clickpad

5 years agomeson.build: define HAVE_LOCALE_H
Peter Hutterer [Tue, 5 Feb 2019 00:04:56 +0000 (10:04 +1000)]
meson.build: define HAVE_LOCALE_H

Regression introduced in 99bb0ee7cb35f7d7a932e7cf28885782bad17613,
HAVE_LOCALE_H isn't defined by default, we need to set it manually.

Reported-by: Pascal Kockwelp
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoudev: drop unused function
Peter Hutterer [Thu, 7 Feb 2019 05:00:39 +0000 (15:00 +1000)]
udev: drop unused function

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoevdev: fix a a compiler warning
Peter Hutterer [Thu, 7 Feb 2019 04:58:59 +0000 (14:58 +1000)]
evdev: fix a a compiler warning

Implicit enum conversion

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agopad: rename the include guard
Peter Hutterer [Wed, 6 Feb 2019 04:12:56 +0000 (14:12 +1000)]
pad: rename the include guard

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agofilter: drop an unused function and an unused struct
Peter Hutterer [Wed, 6 Feb 2019 04:07:37 +0000 (14:07 +1000)]
filter: drop an unused function and an unused struct

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agofallback: fix a comment typo
Peter Hutterer [Tue, 5 Feb 2019 23:05:48 +0000 (09:05 +1000)]
fallback: fix a comment typo

5 years agoquirks: add a quirk to ignore unreliable tablet mode switch devices
Peter Hutterer [Wed, 16 Jan 2019 00:05:59 +0000 (10:05 +1000)]
quirks: add a quirk to ignore unreliable tablet mode switch devices

On the Asus Vivobook Flip 14, the tablet mode switch is unreliable and always
on. Instead of marking every device as 'do not suspend', just mark the tablet
switch itself.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoevdev: Rename some debouncing functions for consistency
Benjamin Poirier [Fri, 4 Jan 2019 07:20:48 +0000 (16:20 +0900)]
evdev: Rename some debouncing functions for consistency

All other similar functions are named with the "_handle_event" postfix.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: up the ratelimit tests to 1000ms
Peter Hutterer [Sun, 3 Feb 2019 23:56:45 +0000 (09:56 +1000)]
test: up the ratelimit tests to 1000ms

This fails too often on the gitlab runners, so let's expand the times.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agomeson.build: gnu90 alias for gnu89 may not be supported
Jan Beich [Sun, 3 Feb 2019 09:27:33 +0000 (09:27 +0000)]
meson.build: gnu90 alias for gnu89 may not be supported

cc1: error: unrecognized command line option "-std=gnu90"

5 years agotablet: add tilt-based touch arbitration for screen tablets
Peter Hutterer [Fri, 28 Sep 2018 01:47:32 +0000 (11:47 +1000)]
tablet: add tilt-based touch arbitration for screen tablets

If the tilt angle on tip down is not 0 set the touch arbitration to a
rectangle around the assumed position of the hand. This assumed position is
right of the tip for a rightwards tilt and left of the tip for a leftwards
tilt (i.e. left-handed mode). The rectangle is 200x200mm with a 20x50mm
NW of the tip or NE for left-handed. In other words, if the period below is
the tip, the rectangle looks like this:

    +-----------+                          +-----------+
    | .  | <- for rightwards tilt   |         . |
    |           |                          |           |
    |           |                          |           |
    |           |    for leftwards tilt -> |           |
    +-----------+                          +-----------+

Touches within that rectangle are canceled, new touches are ignored. As the
tip moves around the rectangle is updated but touches are only cancelled on
the original tip down. While the tip is down, new touches are ignored in the
exclusion area but pre-existing touches are not cancelled.

This is currently only implemented in the fallback interface, i.e. it will
only work for Cintiqs.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoevdev: add a rectangle to the touch arbitration
Peter Hutterer [Wed, 19 Sep 2018 02:02:51 +0000 (12:02 +1000)]
evdev: add a rectangle to the touch arbitration

This enables us to specify the location that needs to be arbitrated, rather
than just disabling the whole device altogether. This patch just adds the
hooks, no implementation.

This is internal API only, one backend can specify an area in mm which gets
converted to device coordinates in the target device and arbitrated there.
Right now, everything simply passes NULL.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agofallback: force the palm state to PALM_NONE on touch begin
Peter Hutterer [Fri, 28 Sep 2018 04:10:48 +0000 (14:10 +1000)]
fallback: force the palm state to PALM_NONE on touch begin

If we don't have tool-based palm detection, make sure our touch is labelled as
"not palm" during touch down. Otherwise that slot remains on palm forever if
it gets tagged as palm through some other means.

This currently has no effect, nothing in the code would label the touch as
palm. This is prep work for better touch arbitration.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoevdev: introduce a touch arbitration enum
Peter Hutterer [Wed, 19 Sep 2018 02:02:51 +0000 (12:02 +1000)]
evdev: introduce a touch arbitration enum

This enables us to change the types of touch arbitration, with the focus on
allowing location-based touch arbitration as well as the more generic "disable
everything".

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: add a LITEST_DIRECT feature for the wacom cintiqs
Peter Hutterer [Tue, 8 Jan 2019 05:37:52 +0000 (15:37 +1000)]
test: add a LITEST_DIRECT feature for the wacom cintiqs

Currently unused, but will be used in later patches

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agofallback: add timer-based touch arbitration
Peter Hutterer [Sun, 6 Jan 2019 22:27:22 +0000 (08:27 +1000)]
fallback: add timer-based touch arbitration

When a hand is resting on a pen+touch device, lifting the hand may remove the
stylus from proximity before the hand leaves the surface. If the kernel
performs touch arbitration, this triggers a touch down on proximity out,
followed by a touch up immediately after when the hand stops touching.

This can cause ghost touch events. Prevent this by using a timer-based
arbitration toggle.

Same as 2a378beab032d742770e24a6822378faa90cf1f6 but for the fallback
interface.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotouchpad: release all button presses on device suspend
Peter Hutterer [Thu, 31 Jan 2019 01:09:53 +0000 (11:09 +1000)]
touchpad: release all button presses on device suspend

This leaves a bug open, on a Lenovo T440 generation touchpad with top software
buttons, the button will not be leased correctly. This is caused by
device->is_suspended=true by the time we try to clear the state and the
button events thus getting filtered.

This used to affect all touchpads, this patch just moves it so it only affects
the T440-like devices now.

Fixes #233

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: add a test for normal touchpad button presses
Peter Hutterer [Thu, 31 Jan 2019 01:55:55 +0000 (11:55 +1000)]
test: add a test for normal touchpad button presses

Probably covered elsewhere in a more generic test anyway but let's have one we
know is executed for all touchpads.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoevdev: cancel the middle button timer on device removed
Peter Hutterer [Wed, 30 Jan 2019 23:02:58 +0000 (09:02 +1000)]
evdev: cancel the middle button timer on device removed

If a middle-button-emulating device is removed with one button down, the timer
never gets cancelled and triggers an assert during device removal.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: add an additional final libinput_dispatch()
Peter Hutterer [Wed, 30 Jan 2019 04:26:31 +0000 (14:26 +1000)]
test: add an additional final libinput_dispatch()

After the test device was removed, run one more libinput_dispatch(). This may
catch some errors that happen due to the device removal that were ignored for
now.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agofallback: when force-releasing keys, release them directly
Peter Hutterer [Wed, 30 Jan 2019 04:10:28 +0000 (14:10 +1000)]
fallback: when force-releasing keys, release them directly

An emulated button is recorded as BTN_MIDDLE in the key down mask. If the
device is removed in that state, the BTN_MIDDLE event processed triggers
an assertion when we try to send out the event twice.

Fixes #201

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoevdev: cancel the button scroll timer on device removed
Peter Hutterer [Wed, 30 Jan 2019 02:00:47 +0000 (12:00 +1000)]
evdev: cancel the button scroll timer on device removed

If a device was removed while a button was held down and within the timeout,
the timer was never cancelled (and removed from the timer list), triggering an
assert during device removal.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agomeson.build: replace manual checks with cc.has_function()
Peter Hutterer [Wed, 30 Jan 2019 09:37:48 +0000 (19:37 +1000)]
meson.build: replace manual checks with cc.has_function()

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agomeson.build: bump to 1.12.900
Peter Hutterer [Wed, 30 Jan 2019 23:46:51 +0000 (09:46 +1000)]
meson.build: bump to 1.12.900

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: Missing test cases for palm detection based on touch size
Furkan Tokac [Sun, 23 Dec 2018 23:52:42 +0000 (01:52 +0200)]
test: Missing test cases for palm detection based on touch size

Missing tests are written.

5 years agoquirks: enforce uppercase hex numbers
Peter Hutterer [Fri, 18 Jan 2019 01:57:55 +0000 (11:57 +1000)]
quirks: enforce uppercase hex numbers

No specific reason other than consistency.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: run the 'keep ignoring' arbitration tests on the cintiqs as well
Peter Hutterer [Fri, 4 Jan 2019 05:09:37 +0000 (15:09 +1000)]
test: run the 'keep ignoring' arbitration tests on the cintiqs as well

Not 100% why this one was only run on the intuos, but I suspect by accident.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: automate the tablet pairing for the arbitration tests
Peter Hutterer [Fri, 4 Jan 2019 04:58:52 +0000 (14:58 +1000)]
test: automate the tablet pairing for the arbitration tests

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: store the device type in the test device struct
Peter Hutterer [Fri, 4 Jan 2019 04:44:38 +0000 (14:44 +1000)]
test: store the device type in the test device struct

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: fetch the is-touchpad in arbitration tests from a input property
Peter Hutterer [Fri, 4 Jan 2019 04:21:38 +0000 (14:21 +1000)]
test: fetch the is-touchpad in arbitration tests from a input property

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: don't enable tapping for the touch arbitration test
Peter Hutterer [Fri, 4 Jan 2019 05:10:20 +0000 (15:10 +1000)]
test: don't enable tapping for the touch arbitration test

Looks like a copy/paste error.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotest: clarify a confusing comment
Peter Hutterer [Fri, 4 Jan 2019 05:27:02 +0000 (15:27 +1000)]
test: clarify a confusing comment

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoevdev: don't execute snprintf if not gonna print
Konstantin Kharlamov [Fri, 11 Jan 2019 23:15:20 +0000 (02:15 +0300)]
evdev: don't execute snprintf if not gonna print

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
5 years agoevdev: inline evdev_log_msg_va
Konstantin Kharlamov [Fri, 11 Jan 2019 22:57:08 +0000 (01:57 +0300)]
evdev: inline evdev_log_msg_va

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
5 years agodoc: add missing @ref
Peter Hutterer [Thu, 17 Jan 2019 00:45:18 +0000 (10:45 +1000)]
doc: add missing @ref

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc: correct a slightly ambiguous @ref wording
Peter Hutterer [Thu, 17 Jan 2019 00:44:47 +0000 (10:44 +1000)]
doc: correct a slightly ambiguous @ref wording

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: document show-keycodes option for libinput-record
Peter Hutterer [Thu, 17 Jan 2019 00:00:30 +0000 (10:00 +1000)]
tools: document show-keycodes option for libinput-record

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agodoc/user: fix a leftover html tag
Peter Hutterer [Tue, 15 Jan 2019 23:37:10 +0000 (09:37 +1000)]
doc/user: fix a leftover html tag

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoUpdate gitlab templates for label renames
Peter Hutterer [Tue, 15 Jan 2019 23:32:46 +0000 (09:32 +1000)]
Update gitlab templates for label renames

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agomeson.build: enable CPP include check only in case CPP compiler is available
Peter Seiderer [Sat, 12 Jan 2019 10:10:46 +0000 (11:10 +0100)]
meson.build: enable CPP include check only in case CPP compiler is available

Drop hard meson C++/CPP dependency, only needed for the build-time
header inclusion test, build the test only in case C++/CPP compiler
is available.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoquirks: add ModelBouncingKeys for Contour RollerMouse
Christoffer Holmstedt [Sun, 13 Jan 2019 09:37:04 +0000 (10:37 +0100)]
quirks: add ModelBouncingKeys for Contour RollerMouse

The Contour RollerMouse have a button for "double click" which emulates
a double click. The two clicks are so close together that with libinput
heuristics it looks like a worn-out button and triggers debouncing
functionality.

This commit adds support for the RollerMouse Free 2 and RollerMouse
Re:d.

Fixes libinput/libinput#204

5 years agoquirks: don't disable keyboard device for Acer Spin 5 when in tablet mode
Nathaniel Roach [Tue, 8 Jan 2019 02:24:16 +0000 (02:24 +0000)]
quirks: don't disable keyboard device for Acer Spin 5 when in tablet mode

As with some other convertible devices, the keyboard is disabled by the system when the device is in tablet mode.
The volume control keys on the side of the unit are not, but still appear from the keyboard to the system.
Don't disable the keyboard when in tablet mode.

Tested working.

5 years agotest: add test devices for the Cintiq Pro 16
Peter Hutterer [Fri, 4 Jan 2019 02:35:22 +0000 (12:35 +1000)]
test: add test devices for the Cintiq Pro 16

Reconstructed from the HID descriptors here:
https://github.com/linuxwacom/wacom-hid-descriptors/tree/master/Wacom Cintiq Pro 16/

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoinclude: update input-event-codes.h to v4.19
Peter Hutterer [Fri, 4 Jan 2019 02:37:23 +0000 (12:37 +1000)]
include: update input-event-codes.h to v4.19

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoModelTabletModeNoSuspend=1 is currently only honored for keyboards, but not touchpads...
Thomas Sailer [Thu, 3 Jan 2019 01:22:21 +0000 (02:22 +0100)]
ModelTabletModeNoSuspend=1 is currently only honored for keyboards, but not touchpads. This commit changes that.

5 years agodoc: fix doxygen references for libinput_get_user_data
Peter Hutterer [Wed, 2 Jan 2019 04:59:03 +0000 (14:59 +1000)]
doc: fix doxygen references for libinput_get_user_data

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoAsus VivoBook Flip 14 TP412UA tablet mode switch misbehaving
Thomas Sailer [Wed, 2 Jan 2019 23:19:32 +0000 (00:19 +0100)]
Asus VivoBook Flip 14 TP412UA tablet mode switch misbehaving

5 years agotools: libinput-record: record the hid report descriptor where available
Peter Hutterer [Thu, 20 Dec 2018 04:48:52 +0000 (14:48 +1000)]
tools: libinput-record: record the hid report descriptor where available

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: measure-fuzz: slightly expand the help
Peter Hutterer [Thu, 20 Dec 2018 01:43:34 +0000 (11:43 +1000)]
tools: measure-fuzz: slightly expand the help

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: measure-fuzz: fix a typo
Peter Hutterer [Thu, 20 Dec 2018 01:41:37 +0000 (11:41 +1000)]
tools: measure-fuzz: fix a typo

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: measure-fuzz: downgrade the fuzz mismatch error to just a warning
Peter Hutterer [Thu, 20 Dec 2018 01:36:18 +0000 (11:36 +1000)]
tools: measure-fuzz: downgrade the fuzz mismatch error to just a warning

Related to #199

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: measure-fuzz: fix exception printing
Peter Hutterer [Thu, 20 Dec 2018 01:09:59 +0000 (11:09 +1000)]
tools: measure-fuzz: fix exception printing

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/x86_64-linux-gnu/libinput/libinput-measure-fuzz", line 464, in <module>
    main(sys.argv)
  File "/usr/lib/x86_64-linux-gnu/libinput/libinput-measure-fuzz", line 458, in main
    print('Error: {}'.format(e.message))
AttributeError: 'InvalidConfigurationError' object has no attribute 'message'

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>:
5 years agoutil: fall back to strtod if no locale in libc
makepost [Sat, 22 Dec 2018 17:51:21 +0000 (19:51 +0200)]
util: fall back to strtod if no locale in libc

uClibc-ng has experimental locale support but it's incomplete and
disabled by default, for example in Hardened Gentoo.

Fixes #63

5 years agoREADME: update documentation links
makepost [Sat, 22 Dec 2018 17:40:46 +0000 (19:40 +0200)]
README: update documentation links

Got 404s and placeholders saying that pages have moved.

5 years agotools: don't apply config options on device removed
Peter Hutterer [Wed, 28 Nov 2018 23:15:52 +0000 (09:15 +1000)]
tools: don't apply config options on device removed

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agofilter: fix typo in comment
Peter Hutterer [Tue, 18 Dec 2018 22:46:24 +0000 (08:46 +1000)]
filter: fix typo in comment

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoFix typos in README.md
Josh Holland [Sat, 15 Dec 2018 13:57:29 +0000 (13:57 +0000)]
Fix typos in README.md

5 years agoquirks: add a quirk for the Lenovo T480s clickpad
Peter Hutterer [Thu, 13 Dec 2018 02:06:53 +0000 (12:06 +1000)]
quirks: add a quirk for the Lenovo T480s clickpad

It's missing INPUT_PROP_BUTTONPAD but working kernel drivers prove to be
elusive. Meanwhile, add a quirk here that force-enables this bit.

Fixes #177

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoDrop explicit version requirement for libevdev
Peter Hutterer [Tue, 11 Dec 2018 02:37:40 +0000 (12:37 +1000)]
Drop explicit version requirement for libevdev

The minimum version of libevdev we require is so old that we really don't need
an explicity requirement here anymore.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agogitlab CI: switch Ubuntu 17.10 to test 18.10 instead
Peter Hutterer [Tue, 4 Dec 2018 06:44:57 +0000 (16:44 +1000)]
gitlab CI: switch Ubuntu 17.10 to test 18.10 instead

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agogitlab CI: fix ubuntu version for 18.04
Peter Hutterer [Tue, 4 Dec 2018 06:44:16 +0000 (16:44 +1000)]
gitlab CI: fix ubuntu version for 18.04

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoGitLab CI: Fix clean up stage
Benjamin Tissoires [Mon, 26 Nov 2018 12:01:28 +0000 (13:01 +0100)]
GitLab CI: Fix clean up stage

we need to get the authorization token with the gitlab address, not
the registry.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
5 years agoGitLab CI: use extends to simplify declaration of jobs
Benjamin Tissoires [Mon, 26 Nov 2018 11:09:57 +0000 (12:09 +0100)]
GitLab CI: use extends to simplify declaration of jobs

The build stage gets simpler:
- we define one high level build job
- for each type of distro, we subclass the high-level job with the
  distribution image
- then we subclass the previous jobs into specific release versions
  or specific items to check

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
5 years agoGitLab CI: use buildah/podman instead of docker
Benjamin Tissoires [Fri, 2 Nov 2018 10:44:45 +0000 (11:44 +0100)]
GitLab CI: use buildah/podman instead of docker

well, docker has licensing issues, and the version shipped in
Fedora is getting quite old now.
We have a free open source alternative through buildah/podman/skopeo.

Build our building image in the CI too, so updates can
be achieved by just triggering the bootstrap job.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
5 years agoGitLab CI: replace occurrences of docker by container
Benjamin Tissoires [Mon, 26 Nov 2018 10:49:50 +0000 (11:49 +0100)]
GitLab CI: replace occurrences of docker by container

We want to move away from docker, so let's not reference docker everywhere
when we can use a generic term

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
5 years agoquirks: Adjust MacBookPro11,2 touchpad PalmSize
Thomas Profitt [Tue, 27 Nov 2018 22:14:07 +0000 (16:14 -0600)]
quirks: Adjust MacBookPro11,2 touchpad PalmSize

The touchpad is 104mmx75mm, but an AttrPalmSizeThreshold of 800 is too
  aggressive, and even relatively-small fingers and thumbs register as
  palms sporadically, stopping the mouse until you lift your hand and try again.

1600 was chosen because it's the point at which my fingers and thumbs,
  held at a very low angle, stop registering as palms, so it should
  acommodate bigger fingers.

I don't know if the [Apple Touchpads USB] default of 800 needs to be
  updated too, or if it's a quirk of this particular touchpad.

5 years agodoc/user: bugzilla → gitlab issue
Peter Hutterer [Sun, 25 Nov 2018 22:29:47 +0000 (08:29 +1000)]
doc/user: bugzilla → gitlab issue

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agoAdded quirk for HP Spectre x360 Convertable 15-bl1xx touchpad.
Arick McNiel-Cho [Fri, 23 Nov 2018 21:10:15 +0000 (15:10 -0600)]
Added quirk for HP Spectre x360 Convertable 15-bl1xx touchpad.

5 years agomeson: increase timeout for the option parsing test
Peter Hutterer [Fri, 9 Nov 2018 00:10:58 +0000 (10:10 +1000)]
meson: increase timeout for the option parsing test

I've had runs with up to 50s, so let's cap it at 2 minutes.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: draw evdev events in the debug-gui
Peter Hutterer [Wed, 7 Nov 2018 01:05:05 +0000 (11:05 +1000)]
tools: draw evdev events in the debug-gui

Listen to the pure evdev events from each device and print them. This makes it
slightly easier to associate certain jumps with the output, or otherwise see
that events are coming in even when libinput doesn't seem to process them
anymore.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: let debug-events take a device path
Peter Hutterer [Wed, 31 Oct 2018 05:52:25 +0000 (15:52 +1000)]
tools: let debug-events take a device path

This is the most common use-case other than "all from udev", so let's just
parse a device path correctly without requiring --device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
5 years agotools: add a test for tool option parsing
Peter Hutterer [Wed, 31 Oct 2018 23:16:03 +0000 (09:16 +1000)]
tools: add a test for tool option parsing

We don't check for correctness in the output as such, just that whatever
combination of cmdline arguments still works/doesn't work. This is the
scaffolding and a few tests, but needs to be filled in, especially for
libinput measure and for some more complex combinations.

valgrind: requires one more python-related suppression
gitlab-ci: requires another environment variable so we know to skip the
   --device tests (udev will time out on those)
meson: skip the test run in release builds, we pass the full path to the built
       libinput tool but rely on the subtool lookup that won't work in a
       release build

Fixes #174

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>