Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1a4914b authored by Anders F. U. Kiær's avatar Anders F. U. Kiær Committed by Jiri Kosina
Browse files

HID: add support for LEETGION Hellion Gaming Mouse



Added id, bindings and comments for Holtek USB ID 04d9:a072
LEETGION Hellion Gaming mouse to use the same corrections of the report
descriptor as Holtek 04d9:a067. As the mouse exceed HID_MAX_USAGES at the
same offsets in the reported descriptor.
Tested on the hardware.

Signed-off-by: default avatarAnders F. U. Kiær <ablacksheep@gmail.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 1c241131
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -242,6 +242,7 @@ config HID_HOLTEK
	  - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 /
	    Zalman ZM-GM1
	  - SHARKOON DarkGlider Gaming mouse
	  - LEETGION Hellion Gaming Mouse

config HOLTEK_FF
	bool "Holtek On Line Grip force feedback support"
+1 −0
Original line number Diff line number Diff line
@@ -1716,6 +1716,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A04A) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A067) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A072) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A081) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_HUION, USB_DEVICE_ID_HUION_580) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_JESS2, USB_DEVICE_ID_JESS2_COLOR_RUMBLE_PAD) },
+4 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
 * - USB ID 04d9:a04a, sold as Tracer Sniper TRM-503, NOVA Gaming Slider X200
 *   and Zalman ZM-GM1
 * - USB ID 04d9:a081, sold as SHARKOON DarkGlider Gaming mouse
 * - USB ID 04d9:a072, sold as LEETGION Hellion Gaming Mouse
 */

static __u8 *holtek_mouse_report_fixup(struct hid_device *hdev, __u8 *rdesc,
@@ -40,6 +41,7 @@ static __u8 *holtek_mouse_report_fixup(struct hid_device *hdev, __u8 *rdesc,
		 * 0x2fff, so they don't exceed HID_MAX_USAGES */
		switch (hdev->product) {
		case USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A067:
		case USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A072:
			if (*rsize >= 122 && rdesc[115] == 0xff && rdesc[116] == 0x7f
					&& rdesc[120] == 0xff && rdesc[121] == 0x7f) {
				hid_info(hdev, "Fixing up report descriptor\n");
@@ -65,6 +67,8 @@ static const struct hid_device_id holtek_mouse_devices[] = {
			USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A067) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT,
			USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A04A) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT,
			USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A072) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_HOLTEK_ALT,
			USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A081) },
	{ }
+2 −1
Original line number Diff line number Diff line
@@ -448,8 +448,9 @@

#define USB_VENDOR_ID_HOLTEK_ALT		0x04d9
#define USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD	0xa055
#define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A067	0xa067
#define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A04A	0xa04a
#define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A067	0xa067
#define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A072	0xa072
#define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A081	0xa081

#define USB_VENDOR_ID_IMATION		0x0718