diff options
author | Samuel Čavoj <sammko@sammserver.com> | 2020-03-13 03:12:38 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2020-03-18 13:36:21 +0100 |
commit | 77a36a3ab4ff17fad23831192e3694a3c5a1750d (patch) | |
tree | 5f181a064cac936f529ef976b67573de2fd173ba /drivers/hid/hid-ids.h | |
parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid... (diff) | |
download | linux-77a36a3ab4ff17fad23831192e3694a3c5a1750d.tar.xz linux-77a36a3ab4ff17fad23831192e3694a3c5a1750d.zip |
HID: Add driver fixing Glorious PC Gaming Race mouse report descriptor
The Glorious Model O mice (and also at least the Model O-, which is
driver-wise the same mouse) have a bug in the descriptor of HID
Report with ID 2. This report is used for Consumer Control buttons,
which can be mapped using the provided Windows only software.
Here is an excerpt from the original descriptor:
INPUT(2)[INPUT]
Field(0)
Flags( Constant Variable Absolute )
Field(1)
Flags( Constant Variable Absolute )
Field(2)
Flags( Constant Variable Absolute )
The issue is the Constant flag specified on all 3 fields, which
causes the hid driver to ignore changes in these fields and
essentialy causes the buttons to not work at all. The submitted driver
patches the descriptor to end up with the following:
INPUT(2)[INPUT]
Field(0)
Flags( Variable Relative )
Field(1)
Flags( Variable Relative )
Field(2)
Flags( Variable Relative )
The Constant bit is reset and the Relative bit has been set in
order to prevent repeat events when holding down the button.
Additionally, the device name is changed from the hardware-reported
"SINOWEALTH Wired Gaming Mouse" to "Glorious Model O" or "Glorious
Model D".
Signed-off-by: Samuel Čavoj <sammko@sammserver.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-ids.h')
-rw-r--r-- | drivers/hid/hid-ids.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 9f2213426556..54474205b12c 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -464,6 +464,10 @@ #define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_010A 0x010a #define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_E100 0xe100 +#define USB_VENDOR_ID_GLORIOUS 0x258a +#define USB_DEVICE_ID_GLORIOUS_MODEL_D 0x0033 +#define USB_DEVICE_ID_GLORIOUS_MODEL_O 0x0036 + #define I2C_VENDOR_ID_GOODIX 0x27c6 #define I2C_DEVICE_ID_GOODIX_01F0 0x01f0 |