Skip to content

Commit 9be2c22

Browse files
author
Jiri Kosina
committed
Merge branch 'for-6.20/elecom' into for-linus
- support for new model of "Elecom Huge" trackball (David Phillips)
2 parents ec496f7 + b8e5fdf commit 9be2c22

4 files changed

Lines changed: 23 additions & 0 deletions

File tree

drivers/hid/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,7 @@ config HID_ELECOM
369369
- EX-G Trackballs (M-XT3DRBK, M-XT3URBK)
370370
- DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)
371371
- HUGE Trackballs (M-HT1DRBK, M-HT1URBK)
372+
- HUGE Plus Trackball (M-HT1MRBK)
372373

373374
config HID_ELO
374375
tristate "ELO USB 4000/4500 touchscreen"

drivers/hid/hid-elecom.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
* - EX-G Trackballs (M-XT3DRBK, M-XT3URBK, M-XT4DRBK)
66
* - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)
77
* - HUGE Trackballs (M-HT1DRBK, M-HT1URBK)
8+
* - HUGE Plus Trackball (M-HT1MRBK)
89
*
910
* Copyright (c) 2010 Richard Nauber <Richard.Nauber@gmail.com>
1011
* Copyright (c) 2016 Yuxuan Shui <yshuiv7@gmail.com>
@@ -123,12 +124,25 @@ static const __u8 *elecom_report_fixup(struct hid_device *hdev, __u8 *rdesc,
123124
*/
124125
mouse_button_fixup(hdev, rdesc, *rsize, 22, 30, 24, 16, 8);
125126
break;
127+
case USB_DEVICE_ID_ELECOM_M_HT1MRBK:
128+
case USB_DEVICE_ID_ELECOM_M_HT1MRBK_01AB:
129+
case USB_DEVICE_ID_ELECOM_M_HT1MRBK_01AC:
130+
/*
131+
* Report descriptor format:
132+
* 24: button bit count
133+
* 28: padding bit count
134+
* 22: button report size
135+
* 16: button usage maximum
136+
*/
137+
mouse_button_fixup(hdev, rdesc, *rsize, 24, 28, 22, 16, 8);
138+
break;
126139
}
127140
return rdesc;
128141
}
129142

130143
static const struct hid_device_id elecom_devices[] = {
131144
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
145+
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1MRBK_01AC) },
132146
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XGL20DLBK) },
133147
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK_00FB) },
134148
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK_018F) },
@@ -142,6 +156,8 @@ static const struct hid_device_id elecom_devices[] = {
142156
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK_019B) },
143157
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D) },
144158
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C) },
159+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1MRBK) },
160+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1MRBK_01AB) },
145161
{ }
146162
};
147163
MODULE_DEVICE_TABLE(hid, elecom_devices);

drivers/hid/hid-ids.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,9 @@
472472
#define USB_DEVICE_ID_ELECOM_M_HT1URBK_019B 0x019b
473473
#define USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D 0x010d
474474
#define USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C 0x011c
475+
#define USB_DEVICE_ID_ELECOM_M_HT1MRBK 0x01aa
476+
#define USB_DEVICE_ID_ELECOM_M_HT1MRBK_01AB 0x01ab
477+
#define USB_DEVICE_ID_ELECOM_M_HT1MRBK_01AC 0x01ac
475478

476479
#define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34
477480
#define USB_DEVICE_ID_DREAM_CHEEKY_WN 0x0004

drivers/hid/hid-quirks.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
420420
#if IS_ENABLED(CONFIG_HID_ELECOM)
421421
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
422422
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XGL20DLBK) },
423+
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1MRBK_01AC) },
423424
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK_00FB) },
424425
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK_018F) },
425426
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3DRBK_00FC) },
@@ -432,6 +433,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
432433
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK_019B) },
433434
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D) },
434435
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C) },
436+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1MRBK) },
437+
{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1MRBK_01AB) },
435438
#endif
436439
#if IS_ENABLED(CONFIG_HID_ELO)
437440
{ HID_USB_DEVICE(USB_VENDOR_ID_ELO, 0x0009) },

0 commit comments

Comments
 (0)