Skip to content

Commit fbb77e8

Browse files
EliteTKJiri Kosina
authored andcommitted
HID: elecom: add support for EX-G M-XT4DRBK trackball
This patch enables the 6th button on the ELECOM EX-G M-XT4DRBK trackball mouse. This is a left handed EX-G variant which only comes in a wireless (D) model. It has a total of 6 buttons but one of these is not available because of how the HID descriptor is configured. Signed-off-by: Tomasz Kramkowski <tk@the-tk.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
1 parent 79837ed commit fbb77e8

3 files changed

Lines changed: 5 additions & 1 deletion

File tree

drivers/hid/hid-elecom.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* HID driver for ELECOM devices:
33
* - BM084 Bluetooth Mouse
4-
* - EX-G Trackballs (M-XT3DRBK, M-XT3URBK)
4+
* - EX-G Trackballs (M-XT3DRBK, M-XT3URBK, M-XT4DRBK)
55
* - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)
66
* - HUGE Trackballs (M-HT1DRBK, M-HT1URBK)
77
*
@@ -67,6 +67,7 @@ static __u8 *elecom_report_fixup(struct hid_device *hdev, __u8 *rdesc,
6767
break;
6868
case USB_DEVICE_ID_ELECOM_M_XT3URBK:
6969
case USB_DEVICE_ID_ELECOM_M_XT3DRBK:
70+
case USB_DEVICE_ID_ELECOM_M_XT4DRBK:
7071
mouse_button_fixup(hdev, rdesc, *rsize, 6);
7172
break;
7273
case USB_DEVICE_ID_ELECOM_M_DT1URBK:
@@ -83,6 +84,7 @@ static const struct hid_device_id elecom_devices[] = {
8384
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
8485
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK) },
8586
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3DRBK) },
87+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) },
8688
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) },
8789
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) },
8890
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },

drivers/hid/hid-ids.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,7 @@
373373
#define USB_DEVICE_ID_ELECOM_BM084 0x0061
374374
#define USB_DEVICE_ID_ELECOM_M_XT3URBK 0x00fb
375375
#define USB_DEVICE_ID_ELECOM_M_XT3DRBK 0x00fc
376+
#define USB_DEVICE_ID_ELECOM_M_XT4DRBK 0x00fd
376377
#define USB_DEVICE_ID_ELECOM_M_DT1URBK 0x00fe
377378
#define USB_DEVICE_ID_ELECOM_M_DT1DRBK 0x00ff
378379
#define USB_DEVICE_ID_ELECOM_M_HT1URBK 0x010c

drivers/hid/hid-quirks.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
337337
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
338338
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK) },
339339
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3DRBK) },
340+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) },
340341
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) },
341342
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) },
342343
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },

0 commit comments

Comments
 (0)