Commit graph

3563 commits

Author SHA1 Message Date
Peter Hutterer
9da9118edc libinput 1.12.6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-01-21 10:47:13 +10:00
Peter Hutterer
be762cc492 tools: document show-keycodes option for libinput-record
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit c8599ea2ae)
2019-01-21 10:39:55 +10:00
Peter Hutterer
bd1f8c8587 doc/user: fix a leftover html tag
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit e453a2bf3e)
2019-01-21 10:39:51 +10:00
Christoffer Holmstedt
806b0908af 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

(cherry picked from commit fc029e3fb5)
2019-01-21 10:39:42 +10:00
Nathaniel Roach
abc0dfbdea 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.

(cherry picked from commit eb0b48151f)
2019-01-21 10:39:38 +10:00
Peter Hutterer
7d25d9e1c6 libinput 1.12.5
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-01-07 10:35:11 +10:00
Thomas Sailer
c730840ad6 ModelTabletModeNoSuspend=1 is currently only honored for keyboards, but not touchpads. This commit changes that.
(cherry picked from commit f9ec9b8f8d)
2019-01-07 10:27:25 +10:00
Peter Hutterer
bb07025144 doc: fix doxygen references for libinput_get_user_data
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit a60b5b0f8f)
2019-01-07 10:27:22 +10:00
Thomas Sailer
0cfabd6d87 Asus VivoBook Flip 14 TP412UA tablet mode switch misbehaving
(cherry picked from commit 988d5b6328)
2019-01-07 10:27:18 +10:00
Peter Hutterer
a2f411bc4b 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>:
(cherry picked from commit a904738730)
2019-01-07 10:27:07 +10:00
makepost
62a04b5d6d README: update documentation links
Got 404s and placeholders saying that pages have moved.

(cherry picked from commit 5f39f0bf6f)
2019-01-07 10:26:34 +10:00
Peter Hutterer
e2e8db17ec libinput 1.12.4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-12-18 10:33:33 +10:00
Peter Hutterer
c3dbb867b1 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>
(cherry picked from commit 0cd65cf336)
2018-12-18 10:33:31 +10:00
Thomas Profitt
e864ca3e49 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.

(cherry picked from commit ad50a94789)
2018-12-12 14:35:20 +10:00
Peter Hutterer
b31c5c9d67 doc/user: bugzilla → gitlab issue
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit d9c82dbb70)
2018-12-12 14:35:13 +10:00
Arick McNiel-Cho
147fd9bf18 Added quirk for HP Spectre x360 Convertable 15-bl1xx touchpad.
(cherry picked from commit 3bb62c9732)
2018-12-12 14:35:08 +10:00
Peter Hutterer
67b2e3264b libinput 1.12.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-11-07 14:37:47 +10:00
Peter Hutterer
27bf3fb2ab tools: allow measuring single-touch ABS_PRESSURE
Fixes #173

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-11-06 00:24:06 +00:00
Peter Hutterer
6041d0ba69 test: fix a clang warning
test/test-misc.c:1065:28: warning: Value stored to 't' during its
initialization is never read

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-11-05 14:28:13 +10:00
Peter Hutterer
fcfffd80d7 tools: drop a superfluous linebreak in the list-quirks output
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-11-05 14:28:13 +10:00
Peter Hutterer
48a7c507f8 tools: handle the EventCodeDisable quirk in the quirks tool
This caused an assertion

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-11-05 14:28:13 +10:00
Peter Hutterer
83c3a3c6c8 Gitlab CI: use the docker:stable image for image creation
alpine:latest which is now the default image doesn't docker installed by
default. apk add docker results in failures
	Warning: failed to get default registry endpoint from daemon

last time all this worked was when we defaulted to the docker:stable image,
see https://gitlab.freedesktop.org/libinput/libinput/-/jobs/8316

Let's switch back to that and move on with our lives.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-11-02 13:13:54 +10:00
Peter Hutterer
4584a1eadd gitlab CI: buildah requires the transport protocol
Executing the script as illustrated sends it to nowhere (localhost maybe?),
prepending docker:// makes it recognize the hostname correctly and actually
upload it to gitlab.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-11-02 13:13:54 +10:00
Peter Hutterer
db56772de0 gitlab CI: swap Fedora 27 for Fedora 29
And run all the special stuff we currently run on F28 on F29

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-11-02 10:20:53 +10:00
Ryan Walklin
91e681f2cb Don't disable keyboard for Lenovo X230 Tablet in tablet mode
This also disables the special buttons on the tablet screen. Re-enabling to allow screen rotation.
2018-11-01 17:42:45 +00:00
Peter Hutterer
4286dcd1de quirks: switch a few model quirks over to use the new evcode disabling
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-29 04:16:38 +00:00
Peter Hutterer
981f3a47e6 quirks: add the ability to disable custom event codes/types
This is a more flexible approach than adding a model flag and the C code to
just call libevdev_disable_event_code(). There's a risk users will think this
is is a configuration API but there are some devices out there (e.g. the
Microsoft Sculpt mouse) that need a more generic solution.

Case in point: the Sculpt mouse insists on holding BTN_SIDE down at all times.
We cannot ship any quirks for that device because we only have the receiver's
generic VID/PID. So a local override is required, but we might as well make
that one generic enough to catch other devices too in the future.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-29 04:16:38 +00:00
Peter Hutterer
49b5831159 evdev: log the wheel click angle setting
Log if we use a non-default click angle setting, makes it easier to debug
this. The condition to add the log was a bit unwieldly to read, so this also
factors out the property names to temporary variables.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-29 14:11:26 +10:00
Peter Hutterer
5fd8c7cdb8 libinput 1.12.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-24 15:23:37 +10:00
Peter Hutterer
4fa7a6b94a test: move the custom parser test structs into the functions
No need to pollute the namespace here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-22 08:16:02 +10:00
Peter Hutterer
fd9e749f1c Remove obsolete HAVE_CONFIG_H check
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-22 08:15:45 +10:00
Peter Hutterer
ec5d7702ff quirks: disable debouncing on the VMware Virtual mice
At least on MacBooks, the host emulates two clicks 8ms apart in response to a
doubletap. Those clicks are filtered by our debouncing code.

Since these are emulated devices anyway and by definition cannot have a stuck
button, let's tag them so we don't enable the debouncing code. If the button
of the physical device is stuck, that's a problem that needs to be fixed in
the host system.

Fixes #158

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-19 00:16:15 +00:00
Michał Kopeć
e96904e906 quirks: don't disable keyboard for Lenovo X60 Tablet in tablet mode
Lenovo X60 tablet has bezel buttons that are bound to the keyboard.
They should not be disabled.
2018-10-18 22:08:28 +02:00
Greg V
b0cd07bf75 quirks: use basename in a POSIX compliant way
The POSIX version of basename modifies the string (and therefore crashes
on static strings), so use safe_strdup before calling it.

glibc provides a POSIX version when libgen.h is included.
FreeBSD 12 provides a POSIX version when nothing is included, which was
causing a segfault.

Using the POSIX version correctly is the right way to avoid any such issues.
2018-10-16 13:01:02 +03:00
Peter Hutterer
430ede8266 test: add tablet-mode suspend/resume keyboard and touchpad tests
Related #155

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-16 09:26:25 +10:00
Peter Hutterer
12dc64af24 touchpad: handle a touch ending and restarting in the same frame
If a touch ends and starts again in the same frame, our touch count gets out
of whack. This later triggers an assertion when the tap touch count mismatches
the real tap count.

E: 0.105005 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1
E: 0.105005 0003 0035 8447      # EV_ABS / ABS_MT_POSITION_X    8447
E: 0.105005 0003 0036 4479      # EV_ABS / ABS_MT_POSITION_Y    4479
E: 0.105005 0001 014a 0000      # EV_KEY / BTN_TOUCH            0
E: 0.105005 0001 0145 0000      # EV_KEY / BTN_TOOL_FINGER      0
E: 0.105005 0003 0039 0074      # EV_ABS / ABS_MT_TRACKING_ID   74
E: 0.105005 0003 0035 8388      # EV_ABS / ABS_MT_POSITION_X    8388
E: 0.105005 0003 0036 4480      # EV_ABS / ABS_MT_POSITION_Y    4480
E: 0.105005 0001 014a 0001      # EV_KEY / BTN_TOUCH            1
E: 0.105005 0001 0145 0001      # EV_KEY / BTN_TOOL_FINGER      1
E: 0.105005 0003 0000 8388      # EV_ABS / ABS_X                8388
E: 0.105005 0003 0001 4480      # EV_ABS / ABS_Y                4480
E: 0.105005 0000 0000 0000      # ------------ SYN_REPORT (0) ---------- +19ms

This is a kernel bug but let's paper over here because otherwise we crash and
that's considered impolite.

Fixes #161

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-15 14:46:53 +10:00
Peter Hutterer
782bbdb231 touchpad: only log the touch state if we have something to log
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-15 14:07:41 +10:00
Peter Hutterer
2bf3d57fe0 quirks: fix palm size threshold for the Wacom PTH660
Copy/paste error in the hwdb to quirks transition

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-10 16:36:50 +10:00
Matthias Mayr
260e43532a quirks: suppress tablet-mode for Lenovo X220T keyboard. Resolves #154
The special bezel buttons are associated to the keyboard and would
therefore mistakenly be deactivated as well. See #154.
2018-10-08 23:21:36 +02:00
Peter Hutterer
df1f6ba40f touchpad: avoid motion events when moving one finger into AREA
If a 2fg scroll motion starts with both fingers in the bottom button area and
one finger moves into the main area before the other, we used to send motion
events for that finger. Once the second finger moved into the main area the
scroll was detected correctly but by then the cursor may have moved out of the
intended focus area.

We have two transitions where we may start sending motion events: when we move
out of the bottom area and when the finger moves by more than 5mm within the
button area. In both cases, check for any touches that are in the
bottom area and started at the 'same' time as our moving touch. Mark those as
'moved' to release them for gestures so we get the right finger count and
axis/gesture events instead of just motion events.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-04 10:44:55 +10:00
Peter Hutterer
60d9defdb7 touchpad: don't calculate movement for an already-moved touch
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-04 10:44:55 +10:00
Peter Hutterer
d98e474953 touchpad: align the button state log messages
There's one state with a name longer than allocated but it's virtually never
triggered so let's just ignore the misalignment in that case.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-04 10:44:27 +10:00
Peter Hutterer
655f565fba touchpad: if two fingers are within the lower thumb area, they're not thumbs
The shape of the average hand implies that two fingers down within the lower
thumb area (the bottom few mm of the touchpad) cannot be thumbs without
significant contortion. So let's not mark them as thumb.

Fixes #126

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-03 14:52:36 +10:00
Peter Hutterer
9847329d2c libinput 1.12.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-03 11:41:46 +10:00
Peter Hutterer
2a83357bab doc/user: add a warning that udevadm test doesn't always work
We rely on the udev keyboard builtin to set the fuzz but that builtin isn't
run during udevadm test. So running sudo udevadm test shows the LIBINPUT_FUZZ
properties the first time round (still set from boot), but not the second time.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-03 11:13:58 +10:00
Peter Hutterer
d1a0d50c30 doc/user: fix typo
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-03 11:13:58 +10:00
Peter Hutterer
a8e3f4d1a5 touchpad: ignore motion speed for hovering touches
tp_detect_thumb_while_moving() assumes that of the 2 fingers down, at least
one must be in TOUCH_UPDATE, otherwise we wouldn't have a speed to analyze for
thumb.

If a touch starts in HOVERING and exceeds the speed limit, we were previously
increasing the 'exceeded count'. This later leads to an assert() in
tp_detect_thumb_while_moving() when the second finger comes down because
although we have multiple fingers, none of them are in TOUCH_UPDATE.

This only happens when fingers 2 and 3 come down in the same event frame,
because then we have nfingers_down at 2 (the hovering one doesn't count) but
we don't yet have a finger in TOUCH_UPDATE.

Fix this twofold, first by now calculating the speed on anything but
TOUCH_UPDATE. And second by force-resetting the speed count on
TOUCH_BEGIN/TOUCH_END so we definitely cover all the hover transitions.

Fixes #150

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-02 22:32:55 +00:00
Peter Hutterer
b599177200 quirks: fix the trackpoint multiplier for the Dell E7470
Fixes #148

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-02 04:06:16 +00:00
Peter Hutterer
059484b8e7 touchpad: fix typo 2018-09-28 10:38:52 +10:00
Peter Hutterer
500d03d78e fallback: cancel touches, don't just release them when we suspend
When we disable the touch device, any existing touches should be cancelled,
not just released.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-09-27 10:27:19 +10:00