]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/x86: ideapad-laptop: map Fn + R key to KEY_REFRESH_RATE_TOGGLE
authorGergo Koteles <soyer@irl.hu>
Sun, 10 Mar 2024 11:31:42 +0000 (12:31 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 12 Mar 2024 10:44:50 +0000 (12:44 +0200)
Newer Lenovo Yogas and Legions with 60Hz/90Hz displays send a wmi event
when Fn + R is pressed. This is intended for use to switch between the
two refresh rates.

The Fn + R key was incorrectly assigned to KEY_DISPLAYTOGGLE because it
is used to toggle the display on and off.

Map Fn + R key to the KEY_REFRESH_RATE_TOGGLE event code.

Signed-off-by: Gergo Koteles <soyer@irl.hu>
Link: https://lore.kernel.org/r/8fd36f0f016dde700396d8afaba1979d5dbc30a1.1710065750.git.soyer@irl.hu
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/ideapad-laptop.c

index 4c130957f80d13976e228fa36d6c07bd78e1eafb..901849810ce2e71387e920eebf60440fd3af12b5 100644 (file)
@@ -1092,7 +1092,7 @@ static const struct key_entry ideapad_keymap[] = {
        { KE_KEY,       0x0e | IDEAPAD_WMI_KEY, { KEY_PICKUP_PHONE } },
        { KE_KEY,       0x0f | IDEAPAD_WMI_KEY, { KEY_HANGUP_PHONE } },
        /* Refresh Rate Toggle (Fn+R) */
-       { KE_KEY,       0x10 | IDEAPAD_WMI_KEY, { KEY_DISPLAYTOGGLE } },
+       { KE_KEY,       0x10 | IDEAPAD_WMI_KEY, { KEY_REFRESH_RATE_TOGGLE } },
        /* Dark mode toggle */
        { KE_KEY,       0x13 | IDEAPAD_WMI_KEY, { KEY_PROG1 } },
        /* Sound profile switch */
@@ -1102,7 +1102,7 @@ static const struct key_entry ideapad_keymap[] = {
        /* Lenovo Support */
        { KE_KEY,       0x27 | IDEAPAD_WMI_KEY, { KEY_HELP } },
        /* Refresh Rate Toggle */
-       { KE_KEY,       0x0a | IDEAPAD_WMI_KEY, { KEY_DISPLAYTOGGLE } },
+       { KE_KEY,       0x0a | IDEAPAD_WMI_KEY, { KEY_REFRESH_RATE_TOGGLE } },
 
        { KE_END },
 };