[PATCH libinput] evdev: add hwdb quirk for HP Compaq 6910

Peter Hutterer peter.hutterer at who-t.net
Wed Nov 2 11:33:05 UTC 2016


Same as the HP Compat 8510, it doesn't send BTN_TOOL_DOUBLETAP/TRIPLETAP. This
may be a general issue with those series but they're 6 years old now, so
it's questionable to spend extra effort detecting them.

https://bugs.freedesktop.org/show_bug.cgi?id=98538

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 src/evdev.c                        | 7 +++++--
 src/evdev.h                        | 1 +
 udev/90-libinput-model-quirks.hwdb | 6 +++++-
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/evdev.c b/src/evdev.c
index f423251..2412751 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -2143,6 +2143,7 @@ evdev_read_model_flags(struct evdev_device *device)
 		MODEL(TRACKBALL),
 		MODEL(APPLE_MAGICMOUSE),
 		MODEL(HP8510_TOUCHPAD),
+		MODEL(HP6910_TOUCHPAD),
 #undef MODEL
 		{ "ID_INPUT_TRACKBALL", EVDEV_MODEL_TRACKBALL },
 		{ NULL, EVDEV_MODEL_DEFAULT },
@@ -2712,9 +2713,11 @@ evdev_pre_configure_model_quirks(struct evdev_device *device)
 		libevdev_disable_event_type(device->evdev, EV_ABS);
 
 	/* Claims to have double/tripletap but doesn't actually send it
-	 * https://bugzilla.redhat.com/show_bug.cgi?id=1351285
+	 * https://bugzilla.redhat.com/show_bug.cgi?id=1351285 and
+	 * https://bugzilla.redhat.com/show_bug.cgi?id=98538
 	 */
-	if (device->model_flags & EVDEV_MODEL_HP8510_TOUCHPAD) {
+	if (device->model_flags &
+	    (EVDEV_MODEL_HP8510_TOUCHPAD|EVDEV_MODEL_HP6910_TOUCHPAD)) {
 		libevdev_disable_event_code(device->evdev, EV_KEY, BTN_TOOL_DOUBLETAP);
 		libevdev_disable_event_code(device->evdev, EV_KEY, BTN_TOOL_TRIPLETAP);
 	}
diff --git a/src/evdev.h b/src/evdev.h
index 4e28e05..b811f51 100644
--- a/src/evdev.h
+++ b/src/evdev.h
@@ -120,6 +120,7 @@ enum evdev_device_model {
 	EVDEV_MODEL_TRACKBALL = (1 << 19),
 	EVDEV_MODEL_APPLE_MAGICMOUSE = (1 << 20),
 	EVDEV_MODEL_HP8510_TOUCHPAD = (1 << 21),
+	EVDEV_MODEL_HP6910_TOUCHPAD = (1 << 22),
 };
 
 struct mt_slot {
diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
index fed28e2..4bfc0f9 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -91,7 +91,11 @@ libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*
 # HP
 ##########################################
 
-# HP 8510w
+# HP Compaq6910p
+libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnHewlett-Packard:*pnHPCompaq6910p*
+ LIBINPUT_MODEL_HP6910_TOUCHPAD=1
+
+# HP Compaq 8510w
 libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnHewlett-Packard:*pnHPCompaq8510w*
  LIBINPUT_MODEL_HP8510_TOUCHPAD=1
 
-- 
2.9.3



More information about the wayland-devel mailing list