...
 
Commits (16)
......@@ -15,11 +15,11 @@ User documentation
------------------
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
[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
......@@ -32,7 +32,7 @@ For a list of current and past releases visit:
https://www.freedesktop.org/wiki/Software/libinput/
Build instructions:
https://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html
https://wayland.freedesktop.org/libinput/doc/latest/building.html
Reporting Bugs
--------------
......@@ -49,11 +49,11 @@ for more info.
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:
https://wayland.freedesktop.org/libinput/doc/latest/pages.html
https://wayland.freedesktop.org/libinput/doc/latest/features.html
- 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/
Examples of how to use libinput are the debugging tools in the libinput
......
......@@ -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
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: ::
$ 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
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.
Of course, unless you actually run git master, the bug will continue to
......
project('libinput', 'c', 'cpp',
version : '1.12.3',
version : '1.12.6',
license : 'MIT/Expat',
default_options : [ 'c_std=gnu99', 'warning_level=2' ],
meson_version : '>= 0.41.0')
......@@ -251,6 +251,7 @@ quirks_data = [
'quirks/10-generic-trackball.quirks',
'quirks/30-vendor-aiptek.quirks',
'quirks/30-vendor-alps.quirks',
'quirks/30-vendor-contour.quirks',
'quirks/30-vendor-cyapa.quirks',
'quirks/30-vendor-elantech.quirks',
'quirks/30-vendor-huion.quirks',
......
[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
......@@ -3,3 +3,7 @@ MatchName=AT Translated Set 2 keyboard
MatchDMIModalias=dmi:*svnAcer:pnSwitchSA5-271:*
ModelTabletModeNoSuspend=1
[Acer Spin 5]
MatchName=AT Translated Set 2 keyboard
MatchDMIModalias=dmi:*svnAcer:pnSpinSP513-52N:*
ModelTabletModeNoSuspend=1
\ No newline at end of file
......@@ -52,3 +52,10 @@ MatchBus=usb
MatchVendor=0x05AC
MatchProduct=0x0237
AttrPalmSizeThreshold=1000
[Apple Laptop Touchpad (MacBookPro11,2 among others)]
MatchUdevType=touchpad
MatchBus=usb
MatchVendor=0x5AC
MatchProduct=0x0262
AttrPalmSizeThreshold=1600
......@@ -17,3 +17,15 @@ AttrPressureRange=24:10
MatchName=*ETPS/2 Elantech Touchpad*
MatchDMIModalias=dmi:*svnASUSTeKCOMPUTERINC.:pnUX302LA:*
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
......@@ -33,3 +33,11 @@ ModelHPZBookStudioG3=1
MatchName=*Cypress APA Trackpad *cyapa*
MatchDMIModalias=dmi:*svnHewlett-Packard*:pnFalco*
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
......@@ -20,6 +20,11 @@ MatchName=Synaptics tm2964-001
MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT440p*
ModelLenovoT450Touchpad=1
[Lenovo T480s Touchpad]
MatchName=Elan Touchpad
MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT480s*
ModelLenovoT480sTouchpad=1
[Lenovo X200 Trackpoint]
MatchName=*TPPS/2 IBM TrackPoint
MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPadX20?:*
......
......@@ -2504,6 +2504,10 @@ tp_pair_tablet_mode_switch(struct evdev_device *touchpad,
if (touchpad->tags & EVDEV_TAG_EXTERNAL_TOUCHPAD)
return;
if (evdev_device_has_model_quirk(touchpad,
QUIRK_MODEL_TABLET_MODE_NO_SUSPEND))
return;
evdev_log_debug(touchpad,
"tablet_mode_switch: activated for %s<->%s\n",
touchpad->devname,
......
......@@ -1908,6 +1908,12 @@ evdev_pre_configure_model_quirks(struct evdev_device *device)
libevdev_enable_property(device->evdev,
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
* https://bugs.freedesktop.org/show_bug.cgi?id=98100 */
if (evdev_device_has_model_quirk(device, QUIRK_MODEL_HP_ZBOOK_STUDIO_G3))
......
......@@ -3159,7 +3159,8 @@ libinput_set_user_data(struct libinput *libinput,
*
* @param libinput A previously initialized libinput context
* @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 *
libinput_get_user_data(struct libinput *libinput);
......
......@@ -241,6 +241,7 @@ quirk_get_name(enum quirk q)
case QUIRK_MODEL_HP_ZBOOK_STUDIO_G3: return "ModelHPZBookStudioG3";
case QUIRK_MODEL_LENOVO_SCROLLPOINT: return "ModelLenovoScrollPoint";
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_SYNAPTICS_SERIAL_TOUCHPAD: return "ModelSynapticsSerialTouchpad";
case QUIRK_MODEL_SYSTEM76_BONOBO: return "ModelSystem76Bonobo";
......
......@@ -73,6 +73,7 @@ enum quirk {
QUIRK_MODEL_HP_ZBOOK_STUDIO_G3,
QUIRK_MODEL_LENOVO_SCROLLPOINT,
QUIRK_MODEL_LENOVO_T450_TOUCHPAD,
QUIRK_MODEL_LENOVO_T480S_TOUCHPAD,
QUIRK_MODEL_LENOVO_X230,
QUIRK_MODEL_SYNAPTICS_SERIAL_TOUCHPAD,
QUIRK_MODEL_SYSTEM76_BONOBO,
......
......@@ -455,7 +455,7 @@ def main(args):
except PermissionError as e:
print('Permission denied, please re-run as root')
except InvalidConfigurationError as e:
print('Error: {}'.format(e.message))
print('Error: {}'.format(e))
except KeyboardInterrupt as e:
print('Exited on user request')
......
......@@ -53,6 +53,10 @@ This option requires that a
\fB\-\-output-file\fR is specified and that all devices to be recorded are
given on the commandline.
.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
Record libinput events alongside device events.
.B THIS FEATURE IS EXPERIMENTAL.
......