Hi,

On 31-08-16 02:27, Peter Hutterer wrote:
The touchpad's says it can do two- and three-finger detection but it never
sends events for it. Disable them so we treat it as pure single-finger
touchpad.

https://bugzilla.redhat.com/show_bug.cgi?id=1351285

Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>

Patch LGTM:

Reviewed-by: Hans de Goede <hdego...@redhat.com>

Regards,

Hans


---
 src/evdev.c                        | 9 +++++++++
 src/evdev.h                        | 1 +
 udev/90-libinput-model-quirks.hwdb | 7 +++++++
 3 files changed, 17 insertions(+)

diff --git a/src/evdev.c b/src/evdev.c
index 4ec74a5..9154e96 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1954,6 +1954,7 @@ evdev_read_model_flags(struct evdev_device *device)
                MODEL(DELL_TOUCHPAD),
                MODEL(TRACKBALL),
                MODEL(APPLE_MAGICMOUSE),
+               MODEL(HP8510_TOUCHPAD),
 #undef MODEL
                { "ID_INPUT_TRACKBALL", EVDEV_MODEL_TRACKBALL },
                { NULL, EVDEV_MODEL_DEFAULT },
@@ -2521,6 +2522,14 @@ evdev_pre_configure_model_quirks(struct evdev_device 
*device)
         */
        if (device->model_flags & EVDEV_MODEL_APPLE_MAGICMOUSE)
                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
+        */
+       if (device->model_flags & EVDEV_MODEL_HP8510_TOUCHPAD) {
+               libevdev_disable_event_code(device->evdev, EV_KEY, 
BTN_TOOL_DOUBLETAP);
+               libevdev_disable_event_code(device->evdev, EV_KEY, 
BTN_TOOL_TRIPLETAP);
+       }
 }

 struct evdev_device *
diff --git a/src/evdev.h b/src/evdev.h
index 9564e77..10b0e58 100644
--- a/src/evdev.h
+++ b/src/evdev.h
@@ -118,6 +118,7 @@ enum evdev_device_model {
        EVDEV_MODEL_DELL_TOUCHPAD = (1 << 18),
        EVDEV_MODEL_TRACKBALL = (1 << 19),
        EVDEV_MODEL_APPLE_MAGICMOUSE = (1 << 20),
+       EVDEV_MODEL_HP8510_TOUCHPAD = (1 << 21),
 };

 struct mt_slot {
diff --git a/udev/90-libinput-model-quirks.hwdb 
b/udev/90-libinput-model-quirks.hwdb
index ebce8d2..2bccc71 100644
--- a/udev/90-libinput-model-quirks.hwdb
+++ b/udev/90-libinput-model-quirks.hwdb
@@ -87,6 +87,13 @@ libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*
  LIBINPUT_MODEL_CYAPA=1

 ##########################################
+# HP
+##########################################
+#
+libinput:name:SynPS/2 Synaptics 
TouchPad:dmi:*svnHewlett-Packard:*pnHPCompaq8510w*
+ LIBINPUT_MODEL_HP8510_TOUCHPAD=1
+
+##########################################
 # LENOVO
 ##########################################


_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to