From 3a89f95b55f5f3d47e7c3fe3a25308f5dffcea3e Mon Sep 17 00:00:00 2001 From: Pascal Kockwelp Date: Mon, 11 Feb 2019 00:02:28 +0100 Subject: [PATCH] quirks: add a quirk for the Lenovo L380 (Yoga) clickpad --- quirks/50-system-lenovo.quirks | 5 +++++ src/evdev.c | 6 ++++-- src/quirks.c | 1 + src/quirks.h | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/quirks/50-system-lenovo.quirks b/quirks/50-system-lenovo.quirks index c45359e6..6de95fdc 100644 --- a/quirks/50-system-lenovo.quirks +++ b/quirks/50-system-lenovo.quirks @@ -25,6 +25,11 @@ MatchName=Elan Touchpad MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT480s* ModelLenovoT480sTouchpad=1 +[Lenovo L380 Touchpad] +MatchName=Elan Touchpad +MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadL380* +ModelLenovoL380Touchpad=1 + [Lenovo X200 Trackpoint] MatchName=*TPPS/2 IBM TrackPoint MatchDMIModalias=dmi:*svnLENOVO:*pvrThinkPadX20?:* diff --git a/src/evdev.c b/src/evdev.c index 35f084a0..4a205705 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -1915,8 +1915,10 @@ evdev_pre_configure_model_quirks(struct evdev_device *device) 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)) + * https://gitlab.freedesktop.org/libinput/libinput/issues/177 and + * https://gitlab.freedesktop.org/libinput/libinput/issues/234 */ + if (evdev_device_has_model_quirk(device, QUIRK_MODEL_LENOVO_T480S_TOUCHPAD) || + evdev_device_has_model_quirk(device, QUIRK_MODEL_LENOVO_L380_TOUCHPAD)) libevdev_enable_property(device->evdev, INPUT_PROP_BUTTONPAD); diff --git a/src/quirks.c b/src/quirks.c index 687c6941..e62174b1 100644 --- a/src/quirks.c +++ b/src/quirks.c @@ -239,6 +239,7 @@ quirk_get_name(enum quirk q) case QUIRK_MODEL_HP_PAVILION_DM4_TOUCHPAD: return "ModelHPPavilionDM4Touchpad"; case QUIRK_MODEL_HP_STREAM11_TOUCHPAD: return "ModelHPStream11Touchpad"; case QUIRK_MODEL_HP_ZBOOK_STUDIO_G3: return "ModelHPZBookStudioG3"; + case QUIRK_MODEL_LENOVO_L380_TOUCHPAD: return "ModelLenovoL380Touchpad"; case QUIRK_MODEL_LENOVO_SCROLLPOINT: return "ModelLenovoScrollPoint"; case QUIRK_MODEL_LENOVO_T450_TOUCHPAD: return "ModelLenovoT450Touchpad"; case QUIRK_MODEL_LENOVO_T480S_TOUCHPAD: return "ModelLenovoT480sTouchpad"; diff --git a/src/quirks.h b/src/quirks.h index 577c2fab..e269e999 100644 --- a/src/quirks.h +++ b/src/quirks.h @@ -71,6 +71,7 @@ enum quirk { QUIRK_MODEL_HP_PAVILION_DM4_TOUCHPAD, QUIRK_MODEL_HP_STREAM11_TOUCHPAD, QUIRK_MODEL_HP_ZBOOK_STUDIO_G3, + QUIRK_MODEL_LENOVO_L380_TOUCHPAD, QUIRK_MODEL_LENOVO_SCROLLPOINT, QUIRK_MODEL_LENOVO_T450_TOUCHPAD, QUIRK_MODEL_LENOVO_T480S_TOUCHPAD,