[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f236aea8-de6a-418e-9008-26f9505362c0@amd.com>
Date: Thu, 31 Oct 2024 10:53:46 -0500
From: Mario Limonciello <mario.limonciello@....com>
To: Kurt Borja <kuurtb@...il.com>
Cc: Dell.Client.Kernel@...l.com, hdegoede@...hat.com,
ilpo.jarvinen@...ux.intel.com, linux-kernel@...r.kernel.org,
pali@...nel.org, platform-driver-x86@...r.kernel.org, w_armin@....de
Subject: Re: [PATCH v2 2/2] dell-wmi-base: Handle META key Lock/Unlock events
On 10/31/2024 10:44, Kurt Borja wrote:
> Some Alienware devices have a key that locks/unlocks the Meta key. This
> key triggers a WMI event that should be ignored by the kernel, as it's
> handled by internally the firmware.
>
> There is no known way of changing this default behavior. The firmware
> would lock/unlock the Meta key, regardless of how the event is handled.
>
Thinking through why this event exists, it's probably so that there can
be a toast message or popup or something similar in Windows to show an
icon that it was changed, which doesn't currently exist in Linux.
Reviewed-by: Mario Limonciello <mario.limonciello@....com>
> Tested on an Alienware x15 R1.
>
> Signed-off-by: Kurt Borja <kuurtb@...il.com>
> ---
> v2:
> - Fixed entry style
> - Commit message clarifies firmware behavior
> - Commit message now has "Tested on"
> ---
> drivers/platform/x86/dell/dell-wmi-base.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/platform/x86/dell/dell-wmi-base.c b/drivers/platform/x86/dell/dell-wmi-base.c
> index 502783a7a..ce421e51b 100644
> --- a/drivers/platform/x86/dell/dell-wmi-base.c
> +++ b/drivers/platform/x86/dell/dell-wmi-base.c
> @@ -80,6 +80,12 @@ static const struct dmi_system_id dell_wmi_smbios_list[] __initconst = {
> static const struct key_entry dell_wmi_keymap_type_0000[] = {
> { KE_IGNORE, 0x003a, { KEY_CAPSLOCK } },
>
> + /* Meta key lock */
> + { KE_IGNORE, 0xe000, { KEY_RIGHTMETA } },
> +
> + /* Meta key unlock */
> + { KE_IGNORE, 0xe001, { KEY_RIGHTMETA } },
> +
> /* Key code is followed by brightness level */
> { KE_KEY, 0xe005, { KEY_BRIGHTNESSDOWN } },
> { KE_KEY, 0xe006, { KEY_BRIGHTNESSUP } },
Powered by blists - more mailing lists