2013-03-26 11:36:55

by Danny Baumann

[permalink] [raw]
Subject: [PATCH 0/1] dell-wmi: Add support for keys present on Inspiron 15R SE.

This patch adds support for some keys of the newer Inspiron models not
yet supported (the two buttons in the upper right corner in [1]). I'm not
yet entirely sure what the best way to handle the audio one (in the middle)
is (whether it's best to handle the key-down or the key-up event, and what
scancode to use), I would appreciate input on that.

Regards,

Danny

[1] http://www.tomshw.it/files/2012/08/collezioni/1752/32067_b.jpg

Danny Baumann (1):
dell-wmi: Add support for keys present on Inspiron 15R SE.

drivers/platform/x86/dell-wmi.c | 9 +++++++++
1 file changed, 9 insertions(+)

--
1.8.1.4


2013-03-26 11:36:56

by Danny Baumann

[permalink] [raw]
Subject: [PATCH 1/1] dell-wmi: Add support for keys present on Inspiron 15R SE.

Those devices have some additional buttons:
- A 'Windows Mobility Center' button that sends Windows+X
- A 'Dell audio preset switch' button that sends key code 0xe02a on
press (with auto-repeat) and 0xe02c on release
- An 'instant launch' button that sends key code 0xe024

The first one doesn't require handling; the two latter ones do not have
a real meaning in Linux, so bind them to launcher keycodes.

Signed-off-by: Danny Baumann <[email protected]>
---
drivers/platform/x86/dell-wmi.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c
index fa9a217..7b1ffd3 100644
--- a/drivers/platform/x86/dell-wmi.c
+++ b/drivers/platform/x86/dell-wmi.c
@@ -88,6 +88,15 @@ static const struct key_entry dell_wmi_legacy_keymap[] __initconst = {

{ KE_IGNORE, 0xe020, { KEY_MUTE } },

+ /* Instant launch button */
+ { KE_KEY, 0xe024, { KEY_PROG3 } },
+
+ /* 'Dell audio with preset switch' button -
+ 0xe02a is fired on press (with auto-repeat),
+ 0xe02c is fired on release */
+ { KE_IGNORE, 0xe02a, { KEY_RESERVED } },
+ { KE_KEY, 0xe02c, { KEY_PROG4 } },
+
/* Shortcut and audio panel keys */
{ KE_IGNORE, 0xe025, { KEY_RESERVED } },
{ KE_IGNORE, 0xe026, { KEY_RESERVED } },
--
1.8.1.4