[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4A0B0866.2040402@dell.com>
Date: Wed, 13 May 2009 12:50:30 -0500
From: Mario Limonciello <mario_limonciello@...l.com>
To: Matthew Garrett <mjg59@...f.ucam.org>
CC: linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/3] Add support for more dell-wmi hotkeys
Hi Matthew:
Matthew Garrett wrote:
> This is the version I'm planning on applying - look ok? I've skipped the
> OSD stuff, since right now we're not going to do anything terribly
> useful with them. I'd prefer some consensus on where we're going with
> these notifications.
>
> commit d0cc3d9de1b8e97a7176ddc7efe48239896100c1
> Author: Matthew Garrett <mjg@...hat.com>
> Date: Wed Apr 29 18:07:30 2009 +0100
>
> From: Mario Limonciello <mario_limonciello@...l.com>
>
> dell-wmi: Add additional keyboard events
>
> Upcoming Dell hardware will send more keyboard events via WMI. Add support
> for them.
>
> Signed-off-by: Mario Limonciello <mario_limonciello@...l.com>
>
> diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
> index 81d7179..847f486 100644
> --- a/drivers/platform/x86/dell-wmi.c
> +++ b/drivers/platform/x86/dell-wmi.c
> @@ -48,8 +48,49 @@ struct key_entry {
>
> enum { KE_KEY, KE_SW, KE_END };
>
> +/*
> + * There are some additional events sent as scancodes, but these are
> + * not currently terribly relevant to Linux. They are:
> + *
> + * 0xe020: Mute
> + * 0xe02e: Volume down
> + * 0xe030: Volume up
> + * 0xe00c: Keyboard illumination toggle
> + * 0xe033: Keyboard illumination up
> + * 0xe034: Keyboard illumination down
> + * 0xe00d: BIOS error detected
> + * 0xe013: Ambient light sensor toggle
> + * 0xe03a: Caps lock
> + * 0xe045: Num lock
> + * 0xe046: Scroll lock
> + *
> + * All of these are either notifications (rather than requests for change) or
> + * are also sent via the keyboard controller
> + */
> +
> static struct key_entry dell_wmi_keymap[] = {
> {KE_KEY, 0xe045, KEY_PROG1},
> + {KE_KEY, 0xe009, KEY_EJECTCD},
> +
> + /* These also contain the brightness level at offset 6 */
> + {KE_KEY, 0xe006, KEY_BRIGHTNESSUP},
> + {KE_KEY, 0xe005, KEY_BRIGHTNESSDOWN},
> +
> + /* The next device is at offset 6, the active devices are at
> + offset 8 and the attached devices at offset 10 */
> + {KE_KEY, 0xe00b, KEY_DISPLAYTOGGLE},
> +
> + /* This is actually for all radios. Although physically a
> + * switch, the notification does not provide an indication of
> + * state and so it should be reported as a key */
> + {KE_KEY, 0xe008, KEY_WLAN},
> +
> + /* Wifi Catcher */
> + {KE_KEY, 0xe011, KEY_PROG2},
> +
> + /* Battery health status button */
> + {KE_KEY, 0xe007, KEY_BATTERY},
> +
> {KE_END, 0}
> };
>
Two additional comments:
1) Rather than KEY_DISPLAYTOGGLE, it would make more sense to use
KEY_SWITCHVIDEOMODE.
2) There is another scancode that should be tied to KEY_SWITCHVIDEOMODE,
0xe09b. Machines will support one or the other, but not both.
Regards
--
Mario Limonciello
*Dell | Linux Engineering*
mario_limonciello@...l.com
Download attachment "signature.asc" of type "application/pgp-signature" (261 bytes)
Powered by blists - more mailing lists