HID: asus: Fix special function keys on T200TA
authorHans de Goede <hdegoede@redhat.com>
Fri, 5 Jan 2018 11:09:19 +0000 (12:09 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 23 Jan 2018 14:44:59 +0000 (15:44 +0100)
Just like on the T100TA the T200TA HID descriptors for the 0xff32
Asus vendor usage page need a small fixup. But on the T200TA the HID
descriptors are larger because they have descrriptors for one more
(unused) HID report appended.

Extend the T100TA descriptor fixup to also check for the T200TA's
descriptors size.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-asus.c

index 07525bc..88b9703 100644 (file)
@@ -715,9 +715,10 @@ static __u8 *asus_report_fixup(struct hid_device *hdev, __u8 *rdesc,
                hid_info(hdev, "Fixing up Asus notebook report descriptor\n");
                rdesc[55] = 0xdd;
        }
-       /* For the T100TA keyboard dock */
+       /* For the T100TA/T200TA keyboard dock */
        if (drvdata->quirks & QUIRK_T100_KEYBOARD &&
-                *rsize == 76 && rdesc[73] == 0x81 && rdesc[74] == 0x01) {
+                (*rsize == 76 || *rsize == 101) &&
+                rdesc[73] == 0x81 && rdesc[74] == 0x01) {
                hid_info(hdev, "Fixing up Asus T100 keyb report descriptor\n");
                rdesc[74] &= ~HID_MAIN_ITEM_CONSTANT;
        }