platform/x86: thinkpad_acpi: Add support for new hotkeys found on X1C8 / T14
authorHans de Goede <hdegoede@redhat.com>
Tue, 8 Sep 2020 19:21:11 +0000 (12:21 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 8 Sep 2020 23:31:15 +0000 (16:31 -0700)
New Lenovo Thinkpad models, e.g. the X1 Carbon 8th gen and the new T14 gen1
models have 3 new symbols / shortcuts on their F9-F11 keys (and the
thinkpad_acpi driver receives 3 new hkey events for these):

F9:  Has a symbol resembling a rectangular speech balloon, the manual says
     the hotkey functions shows or hides the notification center
F10: Has a symbol of a telephone horn which has been picked up from the
     receiver, the manual says: "Answer incoming calls"
F11: Has a symbol of a telephone horn which is resting on the receiver,
     the manual says: "Decline incoming calls"

And these Thinkpad models also send a new 0x1316 hkey events when the
Fn + right Shift key-combo is pressed.

This commit adds support for these 4 new hkey events.

Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20200908135147.4044-4-hdegoede@redhat.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/platform/x86/thinkpad_acpi.c

index 0f70448..c09933a 100644 (file)
@@ -1930,6 +1930,10 @@ enum {   /* hot key scan codes (derived from ACPI DSDT) */
        TP_ACPI_HOTKEYSCAN_CALCULATOR,
        TP_ACPI_HOTKEYSCAN_BLUETOOTH,
        TP_ACPI_HOTKEYSCAN_KEYBOARD,
+       TP_ACPI_HOTKEYSCAN_FN_RIGHT_SHIFT, /* Used by "Lenovo Quick Clean" */
+       TP_ACPI_HOTKEYSCAN_NOTIFICATION_CENTER,
+       TP_ACPI_HOTKEYSCAN_PICKUP_PHONE,
+       TP_ACPI_HOTKEYSCAN_HANGUP_PHONE,
 
        /* Hotkey keymap size */
        TPACPI_HOTKEY_MAP_LEN
@@ -3446,11 +3450,15 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
                KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
                KEY_UNKNOWN,
 
-               KEY_BOOKMARKS,       /* Favorite app, 0x311 */
-               KEY_RESERVED,        /* Clipping tool */
-               KEY_CALC,            /* Calculator (above numpad, P52) */
-               KEY_BLUETOOTH,       /* Bluetooth */
-               KEY_KEYBOARD         /* Keyboard, 0x315 */
+               KEY_BOOKMARKS,                  /* Favorite app, 0x311 */
+               KEY_RESERVED,                   /* Clipping tool */
+               KEY_CALC,                       /* Calculator (above numpad, P52) */
+               KEY_BLUETOOTH,                  /* Bluetooth */
+               KEY_KEYBOARD,                   /* Keyboard, 0x315 */
+               KEY_FN_RIGHT_SHIFT,             /* Fn + right Shift */
+               KEY_NOTIFICATION_CENTER,        /* Notification Center */
+               KEY_PICKUP_PHONE,               /* Answer incoming call */
+               KEY_HANGUP_PHONE,               /* Decline incoming call */
                },
        };