Skip to contentSkip to conversation

dell-wmi: Add KEY_SWITCHVIDEOMODE for Dell N4110.

PATCH In review Souvik Banerjee 2 participants 6 messages Jan 20, 2014 2 messages not in the archive x86 platform drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dell-wmi: Add KEY_SWITCHVIDEOMODE for Dell N4110.

This key is reported by the keyboard controller but also generates WMI events. By adding it to the legacy keymap the WMI messages can be silenced.

---
 drivers/platform/x86/dell-wmi.c | 3 +++
 1 file changed, 3 insertions(+)
(quoted diff) +0 -0

b/drivers/platform/x86/dell-wmi.c
index 60e0900..72f6cc8 100644

drivers/platform/x86/dell-wmi.c +0 -0
@@ -92,6 +92,9 @@ static const struct key_entry dell_wmi_legacy_keymap[]

__initconst = {
{ KE_IGNORE, 0xe025, { KEY_RESERVED } },
{ KE_IGNORE, 0xe026, { KEY_RESERVED } },

+ /* For laptops like the Dell Inspiron N4110 with a monitor hotkey */
+ { KE_KEY, 0xe027, { KEY_SWITCHVIDEOMODE } },
+
{ KE_IGNORE, 0xe02e, { KEY_VOLUMEDOWN } }, { KE_IGNORE, 0xe030, { KEY_VOLUMEUP } }, { KE_IGNORE, 0xe033, { KEY_KBDILLUMUP } },

Signature · 1 line
1.8.5.3

From 66440f78e9989d759be4dd550f76179d8df64083 Mon Sep 17 00:00:00 2001
From: Souvik Banerjee <[email protected]>
Date: Mon, 20 Jan 2014 09:10:29 -0600
Subject: [PATCH] dell-wmi: Add KEY_SWITCHVIDEOMODE for Dell N4110.

This key is reported by the keyboard controller but also generates WMI events. By adding it to the legacy keymap the WMI messages can be silenced.

---
 drivers/platform/x86/dell-wmi.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/platform/x86/dell-wmi.c +3 -0
index 60e0900..72f6cc8 100644
@@ -92,6 +92,9 @@ static const struct key_entry dell_wmi_legacy_keymap[] __initconst = {
 	{ KE_IGNORE, 0xe025, { KEY_RESERVED } },
 	{ KE_IGNORE, 0xe026, { KEY_RESERVED } },
 
+	/* For laptops like the Dell Inspiron N4110 with a monitor hotkey */
+	{ KE_KEY, 0xe027, { KEY_SWITCHVIDEOMODE } },
+
 	{ KE_IGNORE, 0xe02e, { KEY_VOLUMEDOWN } },
 	{ KE_IGNORE, 0xe030, { KEY_VOLUMEUP } },
 	{ KE_IGNORE, 0xe033, { KEY_KBDILLUMUP } },
Signature · 1 line
1.8.5.3
#1 lore raw
Quoted 3 lines · Souvik Banerjee

This key is reported by the keyboard controller but also generates WMI events. By adding it to the legacy keymap the WMI messages can be silenced.

Wouldn't this result in it being reported twice?

Signature · 1 line
Matthew Garrett | [email protected]
#3 lore raw
In reply to a message not in the archive

Forgot to cc the LKML.

-------- Original Message --------
Subject: Re: [PATCH] dell-wmi: Add KEY_SWITCHVIDEOMODE for Dell N4110.
Date: Mon, 20 Jan 2014 10:05:03 -0600
From: Souvik Banerjee <[email protected]>
To: Matthew Garrett <[email protected]>

No, I don't think so. My testing shows that it is now just reported by the keyboard controller. My commit is similar to 'f1566f0dc07ec9b5409b348070f5a700032d7881' in which keys for the Dell XPS L502X are added to the legacy keymap to reduce the noise. Without this patch dell-wmi reports an unknown key, but with it those messages are silenced.

--
Souvik Banerjee

Quoted 7 lines · Matthew Garrett
Quoted 3 lines · Souvik Banerjee

This key is reported by the keyboard controller but also generates WMI events. By adding it to the legacy keymap the WMI messages can be silenced.

Wouldn't this result in it being reported twice?

#5 lore raw
In reply to a message not in the archive

I used KE_KEY instead of KE_IGNORE. Should it be changed to KE_IGNORE? On my kernel build with KE_KEY everything works as expected, but I have not tried it with KE_IGNORE.

--
Souvik Banerjee

Quoted 2 lines · Matthew Garrett

Sorry, I missed the KE_IGNORE somehow. This should be fine. Thanks!

#6 lore raw
Quoted 3 lines · Souvik Banerjee

I used KE_KEY instead of KE_IGNORE. Should it be changed to KE_IGNORE? On my kernel build with KE_KEY everything works as expected, but I have not tried it with KE_IGNORE.

KE_KEY means that dell-wmi will report the key. If it's also being reported via the keyboard controller then it should be KE_IGNORE instead.

Signature · 1 line
Matthew Garrett | [email protected]
#7 lore raw

I see. Here's the patch with KE_IGNORE instead of KE_KEY. Does it look ok?

This key is reported by the keyboard controller but also generates WMI events. By adding it to the legacy keymap the WMI messages can be silenced.

---
 drivers/platform/x86/dell-wmi.c | 3 +++
 1 file changed, 3 insertions(+)
(quoted diff) +0 -0

b/drivers/platform/x86/dell-wmi.c
index 60e0900..72f6cc8 100644

drivers/platform/x86/dell-wmi.c +0 -0
@@ -92,6 +92,9 @@ static const struct key_entry dell_wmi_legacy_keymap[]
__initconst = {
        { KE_IGNORE, 0xe025, { KEY_RESERVED } },
        { KE_IGNORE, 0xe026, { KEY_RESERVED } },

+ /* For laptops like the Dell Inspiron N4110 with a monitor hotkey */
+ { KE_IGNORE, 0xe027, { KEY_SWITCHVIDEOMODE } },
+

        { KE_IGNORE, 0xe02e, { KEY_VOLUMEDOWN } },
        { KE_IGNORE, 0xe030, { KEY_VOLUMEUP } },
        { KE_IGNORE, 0xe033, { KEY_KBDILLUMUP } },
Signature · 1 line
1.8.5.3
Quoted 9 lines · Matthew Garrett
Quoted 3 lines · Souvik Banerjee

I used KE_KEY instead of KE_IGNORE. Should it be changed to KE_IGNORE? On my kernel build with KE_KEY everything works as expected, but I have not tried it with KE_IGNORE.

KE_KEY means that dell-wmi will report the key. If it's also being reported via the keyboard controller then it should be KE_IGNORE instead.

From 66440f78e9989d759be4dd550f76179d8df64083 Mon Sep 17 00:00:00 2001
From: Souvik Banerjee <[email protected]>
Date: Mon, 20 Jan 2014 09:10:29 -0600
Subject: [PATCH] dell-wmi: Add KEY_SWITCHVIDEOMODE for Dell N4110.

This key is reported by the keyboard controller but also generates WMI events. By adding it to the legacy keymap the WMI messages can be silenced.

---
 drivers/platform/x86/dell-wmi.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/platform/x86/dell-wmi.c +3 -0
index 60e0900..72f6cc8 100644
@@ -92,6 +92,9 @@ static const struct key_entry dell_wmi_legacy_keymap[] __initconst = {
 	{ KE_IGNORE, 0xe025, { KEY_RESERVED } },
 	{ KE_IGNORE, 0xe026, { KEY_RESERVED } },
 
+	/* For laptops like the Dell Inspiron N4110 with a monitor hotkey */
+	{ KE_IGNORE, 0xe027, { KEY_SWITCHVIDEOMODE } },
+
 	{ KE_IGNORE, 0xe02e, { KEY_VOLUMEDOWN } },
 	{ KE_IGNORE, 0xe030, { KEY_VOLUMEUP } },
 	{ KE_IGNORE, 0xe033, { KEY_KBDILLUMUP } },
Signature · 1 line
1.8.5.3