]> git.itanic.dy.fi Git - linux-stable/commitdiff
platform/x86: asus-wmi: Map 0x2a code, Ignore 0x2b and 0x2c events
authorHans de Goede <hdegoede@redhat.com>
Tue, 17 Oct 2023 09:07:25 +0000 (11:07 +0200)
committerHans de Goede <hdegoede@redhat.com>
Wed, 18 Oct 2023 09:58:42 +0000 (11:58 +0200)
Newer Asus laptops send the following new WMI event codes when some
of the F1 - F12 "media" hotkeys are pressed:

0x2a Screen Capture
0x2b PrintScreen
0x2c CapsLock

Map 0x2a to KEY_SELECTIVE_SCREENSHOT mirroring how similar hotkeys
are mapped on other laptops.

PrintScreem and CapsLock are also reported as normal PS/2 keyboard events,
map these event codes to KE_IGNORE to avoid "Unknown key code 0x%x\n" log
messages.

Reported-by: James John <me@donjajo.com>
Closes: https://lore.kernel.org/platform-driver-x86/a2c441fe-457e-44cf-a146-0ecd86b037cf@donjajo.com/
Closes: https://bbs.archlinux.org/viewtopic.php?pid=2123716
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20231017090725.38163-4-hdegoede@redhat.com
drivers/platform/x86/asus-nb-wmi.c

index d85d895fee89431a42d94bfdde087f8e64183547..df1db54d4e183b8e34f6a0f4305d5d224aecba0e 100644 (file)
@@ -531,6 +531,9 @@ static void asus_nb_wmi_quirks(struct asus_wmi_driver *driver)
 static const struct key_entry asus_nb_wmi_keymap[] = {
        { KE_KEY, ASUS_WMI_BRN_DOWN, { KEY_BRIGHTNESSDOWN } },
        { KE_KEY, ASUS_WMI_BRN_UP, { KEY_BRIGHTNESSUP } },
+       { KE_KEY, 0x2a, { KEY_SELECTIVE_SCREENSHOT } },
+       { KE_IGNORE, 0x2b, }, /* PrintScreen (also send via PS/2) on newer models */
+       { KE_IGNORE, 0x2c, }, /* CapsLock (also send via PS/2) on newer models */
        { KE_KEY, 0x30, { KEY_VOLUMEUP } },
        { KE_KEY, 0x31, { KEY_VOLUMEDOWN } },
        { KE_KEY, 0x32, { KEY_MUTE } },