Compare commits

...

16 commits
main ... 1.12.6

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
16 changed files with 77 additions and 12 deletions

View file

@ -15,11 +15,11 @@ User documentation
------------------ ------------------
Documentation explaining features available in libinput is available Documentation explaining features available in libinput is available
[here](https://wayland.freedesktop.org/libinput/doc/latest/pages.html). [here](https://wayland.freedesktop.org/libinput/doc/latest/features.html).
This includes the [FAQ](https://wayland.freedesktop.org/libinput/doc/latest/faq.html) This includes the [FAQ](https://wayland.freedesktop.org/libinput/doc/latest/faqs.html)
and the instructions on and the instructions on
[reporting bugs](https://wayland.freedesktop.org/libinput/doc/latest/reporting_bugs.html). [reporting bugs](https://wayland.freedesktop.org/libinput/doc/latest/reporting-bugs.html).
Source code Source code
@ -32,7 +32,7 @@ For a list of current and past releases visit:
https://www.freedesktop.org/wiki/Software/libinput/ https://www.freedesktop.org/wiki/Software/libinput/
Build instructions: Build instructions:
https://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html https://wayland.freedesktop.org/libinput/doc/latest/building.html
Reporting Bugs Reporting Bugs
-------------- --------------
@ -49,11 +49,11 @@ for more info.
Documentation Documentation
------------- -------------
- Developer API documentation: https://wayland.freedesktop.org/libinput/doc/latest/modules.html - Developer API documentation: https://wayland.freedesktop.org/libinput/doc/latest/development.html
- High-level documentation about libinput's features: - High-level documentation about libinput's features:
https://wayland.freedesktop.org/libinput/doc/latest/pages.html https://wayland.freedesktop.org/libinput/doc/latest/features.html
- Build instructions: - Build instructions:
https://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html https://wayland.freedesktop.org/libinput/doc/latest/building.html
- Documentation for previous versions of libinput: https://wayland.freedesktop.org/libinput/doc/ - Documentation for previous versions of libinput: https://wayland.freedesktop.org/libinput/doc/
Examples of how to use libinput are the debugging tools in the libinput Examples of how to use libinput are the debugging tools in the libinput

View file

@ -228,7 +228,7 @@ device capabilities together with the event stream from the kernel. On our
side, this allows us to recreate a virtual device identical to your device side, this allows us to recreate a virtual device identical to your device
and re-play the event sequence, hopefully triggering the same bug. and re-play the event sequence, hopefully triggering the same bug.
evemu-record takes a <tt>/dev/input/eventX</tt> event node, but without arguments evemu-record takes a ``/dev/input/eventX`` event node, but without arguments
it will simply show the list of devices and let you select: :: it will simply show the list of devices and let you select: ::
$ sudo evemu-record > scroll.evemu $ sudo evemu-record > scroll.evemu
@ -288,7 +288,7 @@ My bug was closed as fixed, what now?
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
libinput's policy on closing bugs is: once the fix for a given bug is on git libinput's policy on closing bugs is: once the fix for a given bug is on git
master, the bug is considered fixed and the bugzilla entry will be closed master, the bug is considered fixed and the gitlab issue will be closed
accordingly. accordingly.
Of course, unless you actually run git master, the bug will continue to Of course, unless you actually run git master, the bug will continue to

View file

@ -1,5 +1,5 @@
project('libinput', 'c', 'cpp', project('libinput', 'c', 'cpp',
version : '1.12.3', version : '1.12.6',
license : 'MIT/Expat', license : 'MIT/Expat',
default_options : [ 'c_std=gnu99', 'warning_level=2' ], default_options : [ 'c_std=gnu99', 'warning_level=2' ],
meson_version : '>= 0.41.0') meson_version : '>= 0.41.0')
@ -251,6 +251,7 @@ quirks_data = [
'quirks/10-generic-trackball.quirks', 'quirks/10-generic-trackball.quirks',
'quirks/30-vendor-aiptek.quirks', 'quirks/30-vendor-aiptek.quirks',
'quirks/30-vendor-alps.quirks', 'quirks/30-vendor-alps.quirks',
'quirks/30-vendor-contour.quirks',
'quirks/30-vendor-cyapa.quirks', 'quirks/30-vendor-cyapa.quirks',
'quirks/30-vendor-elantech.quirks', 'quirks/30-vendor-elantech.quirks',
'quirks/30-vendor-huion.quirks', 'quirks/30-vendor-huion.quirks',

View file

@ -0,0 +1,11 @@
[Contour Design RollerMouse Free 2]
MatchVendor=0x0b33
MatchProduct=0x0401
MatchUdevType=mouse
ModelBouncingKeys=1
[Contour Design RollerMouse Re:d]
MatchVendor=0x0b33
MatchProduct=0x1000
MatchUdevType=mouse
ModelBouncingKeys=1

View file

@ -3,3 +3,7 @@ MatchName=AT Translated Set 2 keyboard
MatchDMIModalias=dmi:*svnAcer:pnSwitchSA5-271:* MatchDMIModalias=dmi:*svnAcer:pnSwitchSA5-271:*
ModelTabletModeNoSuspend=1 ModelTabletModeNoSuspend=1
[Acer Spin 5]
MatchName=AT Translated Set 2 keyboard
MatchDMIModalias=dmi:*svnAcer:pnSpinSP513-52N:*
ModelTabletModeNoSuspend=1

View file

@ -52,3 +52,10 @@ MatchBus=usb
MatchVendor=0x05AC MatchVendor=0x05AC
MatchProduct=0x0237 MatchProduct=0x0237
AttrPalmSizeThreshold=1000 AttrPalmSizeThreshold=1000
[Apple Laptop Touchpad (MacBookPro11,2 among others)]
MatchUdevType=touchpad
MatchBus=usb
MatchVendor=0x5AC
MatchProduct=0x0262
AttrPalmSizeThreshold=1600

View file

@ -17,3 +17,15 @@ AttrPressureRange=24:10
MatchName=*ETPS/2 Elantech Touchpad* MatchName=*ETPS/2 Elantech Touchpad*
MatchDMIModalias=dmi:*svnASUSTeKCOMPUTERINC.:pnUX302LA:* MatchDMIModalias=dmi:*svnASUSTeKCOMPUTERINC.:pnUX302LA:*
AttrEventCodeDisable=ABS_MT_PRESSURE;ABS_PRESSURE; AttrEventCodeDisable=ABS_MT_PRESSURE;ABS_PRESSURE;
# Asus VivoBook Flip 14 TP412UA tablet switch seems misbehaving, always
# indicating tablet position
[Asus TP412UA Keyboard]
MatchName=AT Translated Set 2 keyboard
MatchDMIModalias=dmi:*svnASUSTeKCOMPUTERINC.:pnVivoBookFlip14_ASUSFlipTP412UA:*
ModelTabletModeNoSuspend=1
[Asus TP412UA Touchpad]
MatchName=*ELAN*Touchpad*
MatchDMIModalias=dmi:*svnASUSTeKCOMPUTERINC.:pnVivoBookFlip14_ASUSFlipTP412UA:*
ModelTabletModeNoSuspend=1

View file

@ -33,3 +33,11 @@ ModelHPZBookStudioG3=1
MatchName=*Cypress APA Trackpad *cyapa* MatchName=*Cypress APA Trackpad *cyapa*
MatchDMIModalias=dmi:*svnHewlett-Packard*:pnFalco* MatchDMIModalias=dmi:*svnHewlett-Packard*:pnFalco*
AttrPressureRange=12:8 AttrPressureRange=12:8
[HP Spectre x360 Convertable 15-bl1xx]
MatchUdevType=touchpad
MatchName=*SynPS/2 Synaptics TouchPad
MatchDMIModalias=dmi:*svnHP:pnHPSpectrex360Convertible15-bl1XX:*
AttrPressureRange=55:40
AttrThumbPressureThreshold=90
AttrPalmPressureThreshold=100

View file

@ -20,6 +20,11 @@ MatchName=Synaptics tm2964-001
MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT440p* MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT440p*
ModelLenovoT450Touchpad=1 ModelLenovoT450Touchpad=1
[Lenovo T480s Touchpad]
MatchName=Elan Touchpad
MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT480s*
ModelLenovoT480sTouchpad=1
[Lenovo X200 Trackpoint] [Lenovo X200 Trackpoint]
MatchName=*TPPS/2 IBM TrackPoint MatchName=*TPPS/2 IBM TrackPoint
MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPadX20?:* MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPadX20?:*

View file

@ -2504,6 +2504,10 @@ tp_pair_tablet_mode_switch(struct evdev_device *touchpad,
if (touchpad->tags & EVDEV_TAG_EXTERNAL_TOUCHPAD) if (touchpad->tags & EVDEV_TAG_EXTERNAL_TOUCHPAD)
return; return;
if (evdev_device_has_model_quirk(touchpad,
QUIRK_MODEL_TABLET_MODE_NO_SUSPEND))
return;
evdev_log_debug(touchpad, evdev_log_debug(touchpad,
"tablet_mode_switch: activated for %s<->%s\n", "tablet_mode_switch: activated for %s<->%s\n",
touchpad->devname, touchpad->devname,

View file

@ -1908,6 +1908,12 @@ evdev_pre_configure_model_quirks(struct evdev_device *device)
libevdev_enable_property(device->evdev, libevdev_enable_property(device->evdev,
INPUT_PROP_BUTTONPAD); INPUT_PROP_BUTTONPAD);
/* Touchpad is a clickpad but INPUT_PROP_BUTTONPAD is not set, see
* https://gitlab.freedesktop.org/libinput/libinput/issues/177 */
if (evdev_device_has_model_quirk(device, QUIRK_MODEL_LENOVO_T480S_TOUCHPAD))
libevdev_enable_property(device->evdev,
INPUT_PROP_BUTTONPAD);
/* Touchpad claims to have 4 slots but only ever sends 2 /* Touchpad claims to have 4 slots but only ever sends 2
* https://bugs.freedesktop.org/show_bug.cgi?id=98100 */ * https://bugs.freedesktop.org/show_bug.cgi?id=98100 */
if (evdev_device_has_model_quirk(device, QUIRK_MODEL_HP_ZBOOK_STUDIO_G3)) if (evdev_device_has_model_quirk(device, QUIRK_MODEL_HP_ZBOOK_STUDIO_G3))

View file

@ -3159,7 +3159,8 @@ libinput_set_user_data(struct libinput *libinput,
* *
* @param libinput A previously initialized libinput context * @param libinput A previously initialized libinput context
* @return The caller-specific data previously assigned in * @return The caller-specific data previously assigned in
* libinput_create_udev(). * libinput_set_user_data(), libinput_path_create_context() or
* libinput_udev_create_context().
*/ */
void * void *
libinput_get_user_data(struct libinput *libinput); libinput_get_user_data(struct libinput *libinput);

View file

@ -241,6 +241,7 @@ quirk_get_name(enum quirk q)
case QUIRK_MODEL_HP_ZBOOK_STUDIO_G3: return "ModelHPZBookStudioG3"; case QUIRK_MODEL_HP_ZBOOK_STUDIO_G3: return "ModelHPZBookStudioG3";
case QUIRK_MODEL_LENOVO_SCROLLPOINT: return "ModelLenovoScrollPoint"; case QUIRK_MODEL_LENOVO_SCROLLPOINT: return "ModelLenovoScrollPoint";
case QUIRK_MODEL_LENOVO_T450_TOUCHPAD: return "ModelLenovoT450Touchpad"; case QUIRK_MODEL_LENOVO_T450_TOUCHPAD: return "ModelLenovoT450Touchpad";
case QUIRK_MODEL_LENOVO_T480S_TOUCHPAD: return "ModelLenovoT480sTouchpad";
case QUIRK_MODEL_LENOVO_X230: return "ModelLenovoX230"; case QUIRK_MODEL_LENOVO_X230: return "ModelLenovoX230";
case QUIRK_MODEL_SYNAPTICS_SERIAL_TOUCHPAD: return "ModelSynapticsSerialTouchpad"; case QUIRK_MODEL_SYNAPTICS_SERIAL_TOUCHPAD: return "ModelSynapticsSerialTouchpad";
case QUIRK_MODEL_SYSTEM76_BONOBO: return "ModelSystem76Bonobo"; case QUIRK_MODEL_SYSTEM76_BONOBO: return "ModelSystem76Bonobo";

View file

@ -73,6 +73,7 @@ enum quirk {
QUIRK_MODEL_HP_ZBOOK_STUDIO_G3, QUIRK_MODEL_HP_ZBOOK_STUDIO_G3,
QUIRK_MODEL_LENOVO_SCROLLPOINT, QUIRK_MODEL_LENOVO_SCROLLPOINT,
QUIRK_MODEL_LENOVO_T450_TOUCHPAD, QUIRK_MODEL_LENOVO_T450_TOUCHPAD,
QUIRK_MODEL_LENOVO_T480S_TOUCHPAD,
QUIRK_MODEL_LENOVO_X230, QUIRK_MODEL_LENOVO_X230,
QUIRK_MODEL_SYNAPTICS_SERIAL_TOUCHPAD, QUIRK_MODEL_SYNAPTICS_SERIAL_TOUCHPAD,
QUIRK_MODEL_SYSTEM76_BONOBO, QUIRK_MODEL_SYSTEM76_BONOBO,

View file

@ -455,7 +455,7 @@ def main(args):
except PermissionError as e: except PermissionError as e:
print('Permission denied, please re-run as root') print('Permission denied, please re-run as root')
except InvalidConfigurationError as e: except InvalidConfigurationError as e:
print('Error: {}'.format(e.message)) print('Error: {}'.format(e))
except KeyboardInterrupt as e: except KeyboardInterrupt as e:
print('Exited on user request') print('Exited on user request')

View file

@ -53,6 +53,10 @@ This option requires that a
\fB\-\-output-file\fR is specified and that all devices to be recorded are \fB\-\-output-file\fR is specified and that all devices to be recorded are
given on the commandline. given on the commandline.
.TP 8 .TP 8
.B \-\-show\-keycodes
Show keycodes as-is in the recording. By default, common keys are obfuscated
and printed as \fBKEY_A\fR to avoid information leaks.
.TP 8
.B \-\-with-libinput .B \-\-with-libinput
Record libinput events alongside device events. Record libinput events alongside device events.
.B THIS FEATURE IS EXPERIMENTAL. .B THIS FEATURE IS EXPERIMENTAL.