HID: corsair: fix mapping of non-keyboard usages
authorClément Vuchener <clement.vuchener@gmail.com>
Tue, 16 Feb 2016 17:38:24 +0000 (18:38 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 23 Feb 2016 13:21:19 +0000 (14:21 +0100)
This fixes a bug where the Volume Up key was ignored because it uses the same usage code as G18. Special Corsair usage codes are in the keyboard page, other pages should be left to the generic driver.

Signed-off-by: Clément Vuchener <clement.vuchener@gmail.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-corsair.c

index 58551964ce8692d97d33ffa8ae02f76c500871cf..717704e9ae07bd97d64f38321d2d49f07de62b83 100644 (file)
@@ -595,6 +595,9 @@ static int corsair_input_mapping(struct hid_device *dev,
 {
        int gkey;
 
+       if ((usage->hid & HID_USAGE_PAGE) != HID_UP_KEYBOARD)
+               return 0;
+
        gkey = corsair_usage_to_gkey(usage->hid & HID_USAGE);
        if (gkey != 0) {
                hid_map_usage_clear(input, usage, bit, max, EV_KEY,