70 lines
2.5 KiB
Diff
70 lines
2.5 KiB
Diff
From 153269d2f5c28f5af51b5e4019f621162508299a Mon Sep 17 00:00:00 2001
|
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Date: Fri, 17 Feb 2017 08:39:51 +1000
|
|
Subject: [PATCH libinput] evdev: add quirk for Logitech Marble Mouse
|
|
|
|
Device needs BTN_MIDDLE disabled, this way middle button emulation is present
|
|
by default.
|
|
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
|
|
(cherry picked from commit f7f849e576a5481751a8c3d086fc1b1b752fecc4)
|
|
---
|
|
src/evdev.c | 5 +++++
|
|
src/evdev.h | 1 +
|
|
udev/90-libinput-model-quirks.hwdb | 4 ++++
|
|
3 files changed, 10 insertions(+)
|
|
|
|
diff --git a/src/evdev.c b/src/evdev.c
|
|
index 17b28ec..73df74f 100644
|
|
--- a/src/evdev.c
|
|
+++ b/src/evdev.c
|
|
@@ -2225,6 +2225,7 @@ evdev_read_model_flags(struct evdev_device *device)
|
|
MODEL(HP_ZBOOK_STUDIO_G3),
|
|
MODEL(HP_PAVILION_DM4_TOUCHPAD),
|
|
MODEL(APPLE_TOUCHPAD_ONEBUTTON),
|
|
+ MODEL(LOGITECH_MARBLE_MOUSE),
|
|
#undef MODEL
|
|
{ "ID_INPUT_TRACKBALL", EVDEV_MODEL_TRACKBALL },
|
|
{ NULL, EVDEV_MODEL_DEFAULT },
|
|
@@ -2810,6 +2811,10 @@ evdev_pre_configure_model_quirks(struct evdev_device *device)
|
|
* https://bugs.freedesktop.org/show_bug.cgi?id=98100 */
|
|
if (device->model_flags & EVDEV_MODEL_HP_ZBOOK_STUDIO_G3)
|
|
libevdev_set_abs_maximum(device->evdev, ABS_MT_SLOT, 1);
|
|
+
|
|
+ /* Logitech Marble Mouse claims to have a middle button */
|
|
+ if (device->model_flags & EVDEV_MODEL_LOGITECH_MARBLE_MOUSE)
|
|
+ libevdev_disable_event_code(device->evdev, EV_KEY, BTN_MIDDLE);
|
|
}
|
|
|
|
struct evdev_device *
|
|
diff --git a/src/evdev.h b/src/evdev.h
|
|
index 5ae250f..1c25dc5 100644
|
|
--- a/src/evdev.h
|
|
+++ b/src/evdev.h
|
|
@@ -124,6 +124,7 @@ enum evdev_device_model {
|
|
EVDEV_MODEL_HP_ZBOOK_STUDIO_G3 = (1 << 23),
|
|
EVDEV_MODEL_HP_PAVILION_DM4_TOUCHPAD = (1 << 24),
|
|
EVDEV_MODEL_APPLE_TOUCHPAD_ONEBUTTON = (1 << 25),
|
|
+ EVDEV_MODEL_LOGITECH_MARBLE_MOUSE = (1 << 26),
|
|
};
|
|
|
|
struct mt_slot {
|
|
diff --git a/udev/90-libinput-model-quirks.hwdb b/udev/90-libinput-model-quirks.hwdb
|
|
index 10cb8ce..fafacb5 100644
|
|
--- a/udev/90-libinput-model-quirks.hwdb
|
|
+++ b/udev/90-libinput-model-quirks.hwdb
|
|
@@ -153,6 +153,10 @@ libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPadX1Carbon3rd
|
|
libinput:name:*Logitech M570*:dmi:*
|
|
LIBINPUT_MODEL_TRACKBALL=1
|
|
|
|
+# Logitech Marble Mouse trackball
|
|
+libinput:mouse:input:b0003v046DpC408*
|
|
+ LIBINPUT_MODEL_LOGITECH_MARBLE_MOUSE=1
|
|
+
|
|
##########################################
|
|
# Synaptics
|
|
##########################################
|
|
--
|
|
2.9.3
|
|
|