Patch "HID: hid-elecom: extend to fix descriptor for HUGE trackball" has been added to the 4.13-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
HID: hid-elecom: extend to fix descriptor for HUGE trackball
to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
hid-hid-elecom-extend-to-fix-descriptor-for-huge-trackball.patch
and it can be found in the queue-4.13 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
a0933a456ff83a3b5ffa3a1903e0b8de4a56adf5Mon Sep 17 00:00:00 2001
From: Alex Manoussakis <[email protected]>
Date: Thu, 5 Oct 2017 13:41:20 -0400
Subject: HID: hid-elecom: extend to fix descriptor for HUGE trackball
From: Alex Manoussakis <[email protected]>
commit a0933a456ff83a3b5ffa3a1903e0b8de4a56adf5 upstream.
In addition to DEFT, Elecom introduced a larger trackball called HUGE, in both wired (M-HT1URBK) and wireless (M-HT1DRBK) versions. It has the same buttons and behavior as the DEFT. This patch adds the two relevant USB IDs to enable operation of the three Fn buttons on the top of the device.
--- drivers/hid/Kconfig | 1 + drivers/hid/hid-core.c | 2 ++ drivers/hid/hid-elecom.c | 13 +++++++++---- drivers/hid/hid-ids.h | 2 ++ 4 files changed, 14 insertions(+), 4 deletions(-)
drivers/hid/Kconfig +1 -0
@@ -281,6 +281,7 @@ config HID_ELECOM Support for ELECOM devices: - BM084 Bluetooth Mouse - DEFT Trackball (Wired and wireless) + - HUGE Trackball (Wired and wireless) config HID_ELO tristate "ELO USB 4000/4500 touchscreen"
drivers/hid/hid-core.c +2 -0
@@ -2031,6 +2031,8 @@ static const struct hid_device_id hid_ha { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) }, { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRED) }, { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRELESS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRED) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRELESS) }, #endif #if IS_ENABLED(CONFIG_HID_ELO) { HID_USB_DEVICE(USB_VENDOR_ID_ELO, 0x0009) },
drivers/hid/hid-elecom.c +9 -4
@@ -3,6 +3,7 @@* Copyright (c) 2010 Richard Nauber <[email protected]> * Copyright (c) 2016 Yuxuan Shui <[email protected]> * Copyright (c) 2017 Diego Elio Pettenò <[email protected]> +* Copyright (c) 2017 Alex Manoussakis <[email protected]> */ /*
@@ -32,9 +33,11 @@ static __u8 *elecom_report_fixup(structbreak ;case USB_DEVICE_ID_ELECOM_DEFT_WIRED :case USB_DEVICE_ID_ELECOM_DEFT_WIRELESS : -/* The DEFT trackball has eight buttons, but its descriptor only -* reports five, disabling the three Fn buttons on the top of -* the mouse. +case USB_DEVICE_ID_ELECOM_HUGE_WIRED : +case USB_DEVICE_ID_ELECOM_HUGE_WIRELESS : +/* The DEFT/HUGE trackball has eight buttons, but its descriptor +* only reports five, disabling the three Fn buttons on the top +* of the mouse. * * Apply the following diff to the descriptor: *
@@ -62,7 +65,7 @@ static __u8 *elecom_report_fixup(struct* End Collection, End Collection, */ if (*rsize ==213 && rdesc[13 ] ==5 && rdesc[21 ] ==5 ) { -hid_info (hdev,"Fixing up Elecom DEFT Fn buttons\n" ); +hid_info (hdev,"Fixing up Elecom DEFT/HUGE Fn buttons\n" ); rdesc[13 ] =8 ;/* Button/Variable Report Count */ rdesc[21 ] =8 ;/* Button/Variable Usage Maximum */ rdesc[29 ] =0 ;/* Button/Constant Report Count */
@@ -76,6 +79,8 @@ static const struct hid_device_id elecom { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) }, { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRED) }, { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRELESS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRED) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRELESS) }, { } };MODULE_DEVICE_TABLE (hid, elecom_devices);
drivers/hid/hid-ids.h +2 -0
@@ -366,6 +366,8 @@#define USB_DEVICE_ID_ELECOM_BM084 0x0061#define USB_DEVICE_ID_ELECOM_DEFT_WIRED 0x00fe#define USB_DEVICE_ID_ELECOM_DEFT_WIRELESS 0x00ff +#define USB_DEVICE_ID_ELECOM_HUGE_WIRED 0x010c +#define USB_DEVICE_ID_ELECOM_HUGE_WIRELESS 0x010d#define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34#define USB_DEVICE_ID_DREAM_CHEEKY_WN 0x0004
Patches currently in stable-queue which might be from [email protected] are
queue-4.13/hid-hid-elecom-extend-to-fix-descriptor-for-huge-trackball.patch