summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSerhii Chaplia <serg.chaplya@gmail.com>2019-09-25 00:46:23 +0000
committerPeter Hutterer <peter.hutterer@who-t.net>2019-09-25 00:46:23 +0000
commit79e91f8a30504fc3e97cce1bf069438a934803da (patch)
tree4ef61ab381942d4ab3ba7d089e2f19ea85da7503
parent0fa8d0d98303b80563ed8e8cd09aac23c4068722 (diff)
downloadlibinput-79e91f8a30504fc3e97cce1bf069438a934803da.tar.gz
Touchpad fix and trackpoint speed adjustment for Lenovo T490s
Same issue as #177
-rw-r--r--quirks/50-system-lenovo.quirks10
-rw-r--r--src/evdev.c1
-rw-r--r--src/quirks.c1
-rw-r--r--src/quirks.h1
4 files changed, 13 insertions, 0 deletions
diff --git a/quirks/50-system-lenovo.quirks b/quirks/50-system-lenovo.quirks
index 60106d89..ce1920f3 100644
--- a/quirks/50-system-lenovo.quirks
+++ b/quirks/50-system-lenovo.quirks
@@ -36,6 +36,16 @@ MatchName=Elan Touchpad
MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT480s*
ModelLenovoT480sTouchpad=1
+[Lenovo T490s Touchpad]
+MatchName=Elan Touchpad
+MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT490s*
+ModelLenovoT490sTouchpad=1
+
+[Lenovo T490s Trackpoint]
+MatchName=*TPPS/2 IBM TrackPoint
+MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadT490s:*
+AttrTrackpointMultiplier=0.4
+
[Lenovo L380 Touchpad]
MatchName=Elan Touchpad
MatchDMIModalias=dmi:*svnLENOVO:*:pvrThinkPadL380*
diff --git a/src/evdev.c b/src/evdev.c
index 3526bc88..0728b4db 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1952,6 +1952,7 @@ evdev_pre_configure_model_quirks(struct evdev_device *device)
* 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_T490S_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 89eeb697..cb5ee34b 100644
--- a/src/quirks.c
+++ b/src/quirks.c
@@ -242,6 +242,7 @@ quirk_get_name(enum quirk q)
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_T490S_TOUCHPAD: return "ModelLenovoT490sTouchpad";
case QUIRK_MODEL_LENOVO_X230: return "ModelLenovoX230";
case QUIRK_MODEL_SYNAPTICS_SERIAL_TOUCHPAD: return "ModelSynapticsSerialTouchpad";
case QUIRK_MODEL_SYSTEM76_BONOBO: return "ModelSystem76Bonobo";
diff --git a/src/quirks.h b/src/quirks.h
index 1e6232d8..dd9265d2 100644
--- a/src/quirks.h
+++ b/src/quirks.h
@@ -75,6 +75,7 @@ enum quirk {
QUIRK_MODEL_LENOVO_SCROLLPOINT,
QUIRK_MODEL_LENOVO_T450_TOUCHPAD,
QUIRK_MODEL_LENOVO_T480S_TOUCHPAD,
+ QUIRK_MODEL_LENOVO_T490S_TOUCHPAD,
QUIRK_MODEL_LENOVO_X230,
QUIRK_MODEL_SYNAPTICS_SERIAL_TOUCHPAD,
QUIRK_MODEL_SYSTEM76_BONOBO,