2019-09-04 17:01:23 +00:00
|
|
|
From aef319b9bc1b4dcf3700fa8ffe5dd95ac54079d4 Mon Sep 17 00:00:00 2001
|
2019-08-09 17:50:30 +00:00
|
|
|
From: Jonathan Bell <jonathan@raspberrypi.org>
|
|
|
|
Date: Thu, 1 Aug 2019 16:41:20 +0100
|
2019-09-04 17:01:23 +00:00
|
|
|
Subject: [PATCH 730/782] hid: usb: Add device quirks for Freeway Airmouse T3
|
2019-08-09 17:50:30 +00:00
|
|
|
and MX3
|
|
|
|
|
|
|
|
These wireless mouse/keyboard combo remote control devices specify
|
|
|
|
multiple "wheel" events in their report descriptors. The wheel events
|
|
|
|
are incorrectly defined and apparently map to accelerometer data, leading
|
|
|
|
to spurious mouse scroll events being generated at an extreme rate when
|
|
|
|
the device is moved.
|
|
|
|
|
|
|
|
As a workaround, use HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE to mask
|
|
|
|
feeding the extra wheel events to the input subsystem.
|
|
|
|
|
|
|
|
See: https://github.com/raspberrypi/firmware/issues/1189
|
|
|
|
|
|
|
|
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|
|
|
---
|
|
|
|
drivers/hid/hid-ids.h | 6 ++++++
|
|
|
|
drivers/hid/hid-quirks.c | 2 ++
|
|
|
|
2 files changed, 8 insertions(+)
|
|
|
|
|
|
|
|
--- a/drivers/hid/hid-ids.h
|
|
|
|
+++ b/drivers/hid/hid-ids.h
|
|
|
|
@@ -222,6 +222,9 @@
|
|
|
|
#define USB_VENDOR_ID_BAANTO 0x2453
|
|
|
|
#define USB_DEVICE_ID_BAANTO_MT_190W2 0x0100
|
|
|
|
|
|
|
|
+#define USB_VENDOR_ID_BEKEN 0x25a7
|
|
|
|
+#define USB_DEVICE_ID_AIRMOUSE_T3 0x2402
|
|
|
|
+
|
|
|
|
#define USB_VENDOR_ID_BELKIN 0x050d
|
|
|
|
#define USB_DEVICE_ID_FLIP_KVM 0x3201
|
|
|
|
|
2019-08-29 10:30:46 +00:00
|
|
|
@@ -1188,6 +1191,9 @@
|
2019-08-09 17:50:30 +00:00
|
|
|
#define USB_VENDOR_ID_XAT 0x2505
|
|
|
|
#define USB_DEVICE_ID_XAT_CSR 0x0220
|
|
|
|
|
|
|
|
+#define USB_VENDOR_ID_XENTA 0x1d57
|
|
|
|
+#define USB_DEVICE_ID_AIRMOUSE_MX3 0xad03
|
|
|
|
+
|
|
|
|
#define USB_VENDOR_ID_XIN_MO 0x16c0
|
|
|
|
#define USB_DEVICE_ID_XIN_MO_DUAL_ARCADE 0x05e1
|
|
|
|
#define USB_DEVICE_ID_THT_2P_ARCADE 0x75e1
|
|
|
|
--- a/drivers/hid/hid-quirks.c
|
|
|
|
+++ b/drivers/hid/hid-quirks.c
|
|
|
|
@@ -43,6 +43,7 @@ static const struct hid_device_id hid_qu
|
|
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS682), HID_QUIRK_NOGET },
|
|
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS692), HID_QUIRK_NOGET },
|
|
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_UC100KM), HID_QUIRK_NOGET },
|
|
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_BEKEN, USB_DEVICE_ID_AIRMOUSE_T3), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
|
|
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
|
|
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
|
|
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
|
2019-08-29 10:30:46 +00:00
|
|
|
@@ -173,6 +174,7 @@ static const struct hid_device_id hid_qu
|
2019-08-09 17:50:30 +00:00
|
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SIRIUS_BATTERY_FREE_TABLET), HID_QUIRK_MULTI_INPUT },
|
|
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
|
|
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
|
|
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_XENTA, USB_DEVICE_ID_AIRMOUSE_MX3), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
|
|
|
|
|
|
|
|
{ 0 }
|
|
|
|
};
|