HID: lenovo: Move USB KEY_FILE to 0x00f9 to prevent scancode clash
authorJamie Lentin <jm@lentin.co.uk>
Sun, 9 Nov 2014 07:54:29 +0000 (07:54 +0000)
committerJiri Kosina <jkosina@suse.cz>
Tue, 11 Nov 2014 10:46:32 +0000 (11:46 +0100)
The bluetooth keyboard also generates 0x00fa when the middle button is
pressed. Move the made-up report out of the way so we don't trigger
KEY_FILE when middle button is pressed

Signed-off-by: Jamie Lentin <jm@lentin.co.uk>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-lenovo.c

index bf227f7..4716f1e 100644 (file)
@@ -85,13 +85,13 @@ static int lenovo_input_mapping_cptkbd(struct hid_device *hdev,
                case 0x00f8: /* Fn-F11: View open applications (3 boxes) */
                        map_key_clear(KEY_SCALE);
                        return 1;
-               case 0x00fa: /* Fn-Esc: Fn-lock toggle */
-                       map_key_clear(KEY_FN_ESC);
-                       return 1;
-               case 0x00fb: /* Fn-F12: Open My computer (6 boxes) USB-only */
+               case 0x00f9: /* Fn-F12: Open My computer (6 boxes) USB-only */
                        /* NB: This mapping is invented in raw_event below */
                        map_key_clear(KEY_FILE);
                        return 1;
+               case 0x00fa: /* Fn-Esc: Fn-lock toggle */
+                       map_key_clear(KEY_FN_ESC);
+                       return 1;
                }
        }
 
@@ -207,8 +207,8 @@ static int lenovo_raw_event(struct hid_device *hdev,
                        && data[0] == 0x15
                        && data[1] == 0x94
                        && data[2] == 0x01)) {
-               data[1] = 0x0;
-               data[2] = 0x4;
+               data[1] = 0x00;
+               data[2] = 0x01;
        }
 
        return 0;