HID: ortek: add one more buggy device
The iHome keypad also requires the same tweak we are doing for other Ortek devices. Reported-by: Mairin Duffy <duffy@redhat.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
cf601774c9
commit
c228352dc6
|
@ -2216,6 +2216,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
|
||||||
#if IS_ENABLED(CONFIG_HID_ORTEK)
|
#if IS_ENABLED(CONFIG_HID_ORTEK)
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_IHOME_IMAC_A210S) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_SKYCABLE, USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_SKYCABLE, USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER) },
|
||||||
#endif
|
#endif
|
||||||
#if IS_ENABLED(CONFIG_HID_PANTHERLORD)
|
#if IS_ENABLED(CONFIG_HID_PANTHERLORD)
|
||||||
|
|
|
@ -824,6 +824,7 @@
|
||||||
#define USB_VENDOR_ID_ORTEK 0x05a4
|
#define USB_VENDOR_ID_ORTEK 0x05a4
|
||||||
#define USB_DEVICE_ID_ORTEK_PKB1700 0x1700
|
#define USB_DEVICE_ID_ORTEK_PKB1700 0x1700
|
||||||
#define USB_DEVICE_ID_ORTEK_WKB2000 0x2000
|
#define USB_DEVICE_ID_ORTEK_WKB2000 0x2000
|
||||||
|
#define USB_DEVICE_ID_ORTEK_IHOME_IMAC_A210S 0x8003
|
||||||
|
|
||||||
#define USB_VENDOR_ID_PLANTRONICS 0x047f
|
#define USB_VENDOR_ID_PLANTRONICS 0x047f
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*
|
*
|
||||||
* Ortek PKB-1700
|
* Ortek PKB-1700
|
||||||
* Ortek WKB-2000
|
* Ortek WKB-2000
|
||||||
|
* iHome IMAC-A210S
|
||||||
* Skycable wireless presenter
|
* Skycable wireless presenter
|
||||||
*
|
*
|
||||||
* Copyright (c) 2010 Johnathon Harris <jmharris@gmail.com>
|
* Copyright (c) 2010 Johnathon Harris <jmharris@gmail.com>
|
||||||
|
@ -28,10 +29,10 @@ static __u8 *ortek_report_fixup(struct hid_device *hdev, __u8 *rdesc,
|
||||||
unsigned int *rsize)
|
unsigned int *rsize)
|
||||||
{
|
{
|
||||||
if (*rsize >= 56 && rdesc[54] == 0x25 && rdesc[55] == 0x01) {
|
if (*rsize >= 56 && rdesc[54] == 0x25 && rdesc[55] == 0x01) {
|
||||||
hid_info(hdev, "Fixing up logical minimum in report descriptor (Ortek)\n");
|
hid_info(hdev, "Fixing up logical maximum in report descriptor (Ortek)\n");
|
||||||
rdesc[55] = 0x92;
|
rdesc[55] = 0x92;
|
||||||
} else if (*rsize >= 54 && rdesc[52] == 0x25 && rdesc[53] == 0x01) {
|
} else if (*rsize >= 54 && rdesc[52] == 0x25 && rdesc[53] == 0x01) {
|
||||||
hid_info(hdev, "Fixing up logical minimum in report descriptor (Skycable)\n");
|
hid_info(hdev, "Fixing up logical maximum in report descriptor (Skycable)\n");
|
||||||
rdesc[53] = 0x65;
|
rdesc[53] = 0x65;
|
||||||
}
|
}
|
||||||
return rdesc;
|
return rdesc;
|
||||||
|
@ -40,6 +41,7 @@ static __u8 *ortek_report_fixup(struct hid_device *hdev, __u8 *rdesc,
|
||||||
static const struct hid_device_id ortek_devices[] = {
|
static const struct hid_device_id ortek_devices[] = {
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_IHOME_IMAC_A210S) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_SKYCABLE, USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_SKYCABLE, USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER) },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue