Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Tomasz Kramkowski and committed by
Jiri Kosina
fbb77e88 79837ede

+5 -1
+3 -1
drivers/hid/hid-elecom.c
··· 1 1 /* 2 2 * HID driver for ELECOM devices: 3 3 * - BM084 Bluetooth Mouse 4 - * - EX-G Trackballs (M-XT3DRBK, M-XT3URBK) 4 + * - EX-G Trackballs (M-XT3DRBK, M-XT3URBK, M-XT4DRBK) 5 5 * - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK) 6 6 * - HUGE Trackballs (M-HT1DRBK, M-HT1URBK) 7 7 * ··· 67 67 break; 68 68 case USB_DEVICE_ID_ELECOM_M_XT3URBK: 69 69 case USB_DEVICE_ID_ELECOM_M_XT3DRBK: 70 + case USB_DEVICE_ID_ELECOM_M_XT4DRBK: 70 71 mouse_button_fixup(hdev, rdesc, *rsize, 6); 71 72 break; 72 73 case USB_DEVICE_ID_ELECOM_M_DT1URBK: ··· 84 83 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) }, 85 84 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK) }, 86 85 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3DRBK) }, 86 + { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) }, 87 87 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) }, 88 88 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) }, 89 89 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },
+1
drivers/hid/hid-ids.h
··· 373 373 #define USB_DEVICE_ID_ELECOM_BM084 0x0061 374 374 #define USB_DEVICE_ID_ELECOM_M_XT3URBK 0x00fb 375 375 #define USB_DEVICE_ID_ELECOM_M_XT3DRBK 0x00fc 376 + #define USB_DEVICE_ID_ELECOM_M_XT4DRBK 0x00fd 376 377 #define USB_DEVICE_ID_ELECOM_M_DT1URBK 0x00fe 377 378 #define USB_DEVICE_ID_ELECOM_M_DT1DRBK 0x00ff 378 379 #define USB_DEVICE_ID_ELECOM_M_HT1URBK 0x010c
+1
drivers/hid/hid-quirks.c
··· 337 337 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) }, 338 338 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK) }, 339 339 { 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) }, 340 341 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) }, 341 342 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) }, 342 343 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },