Skip to content

Commit 50f9ff5

Browse files
leondznJiri Kosina
authored andcommitted
HID: elecom: add support for ELECOM HUGE 019B variant
The ELECOM M-HT1DRBK trackball has an additional device ID (056E:019B) not yet recognized by the driver, despite using the same report descriptor as earlier variants. This patch adds the new ID and applies the same fixups, enabling all 8 buttons to function properly. Signed-off-by: Leonard Dizon <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
1 parent c80f2b0 commit 50f9ff5

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

drivers/hid/hid-elecom.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ static const __u8 *elecom_report_fixup(struct hid_device *hdev, __u8 *rdesc,
8989
break;
9090
case USB_DEVICE_ID_ELECOM_M_DT1URBK:
9191
case USB_DEVICE_ID_ELECOM_M_DT1DRBK:
92-
case USB_DEVICE_ID_ELECOM_M_HT1URBK:
92+
case USB_DEVICE_ID_ELECOM_M_HT1URBK_010C:
93+
case USB_DEVICE_ID_ELECOM_M_HT1URBK_019B:
9394
case USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D:
9495
/*
9596
* Report descriptor format:
@@ -122,7 +123,8 @@ static const struct hid_device_id elecom_devices[] = {
122123
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) },
123124
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) },
124125
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) },
125-
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },
126+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK_010C) },
127+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK_019B) },
126128
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D) },
127129
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C) },
128130
{ }

drivers/hid/hid-ids.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,8 @@
448448
#define USB_DEVICE_ID_ELECOM_M_XT4DRBK 0x00fd
449449
#define USB_DEVICE_ID_ELECOM_M_DT1URBK 0x00fe
450450
#define USB_DEVICE_ID_ELECOM_M_DT1DRBK 0x00ff
451-
#define USB_DEVICE_ID_ELECOM_M_HT1URBK 0x010c
451+
#define USB_DEVICE_ID_ELECOM_M_HT1URBK_010C 0x010c
452+
#define USB_DEVICE_ID_ELECOM_M_HT1URBK_019B 0x019b
452453
#define USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D 0x010d
453454
#define USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C 0x011c
454455

drivers/hid/hid-quirks.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
410410
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) },
411411
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) },
412412
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) },
413-
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },
413+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK_010C) },
414+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK_019B) },
414415
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D) },
415416
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C) },
416417
#endif

0 commit comments

Comments
 (0)