[PATCH][SRU] UBUNTU: SAUCE: (drop after 2.6.31) input: Add hotkey quirk for Fujitsu Amilo 1848+u

Keng-Yu Lin keng-yu.lin at canonical.com
Wed Jan 20 09:18:16 UTC 2010


From: Pascal Bach <pascal at nextrem.ch)>

SRU Justification:

Impact:
  Some hotkeys do not produce key release events so not function well.

Fix:
  Add quirks in atkbd.c to force a key release.
  (in 2.6.32, this can be done via /sys from userspace)

Testcase:
  The reportor reported this patch works well.

-
>From e846e9be96c925c3c491828b6fc7d59ab2abc6fe Mon Sep 17 00:00:00 2001
From: Pascal Bach <pascal at nextrem.ch)>
Date: Thu, 22 Oct 2009 21:54:44 +0200
Subject: [PATCH] UBUNTU: SAUCE: (drop after 2.6.31) input: Add hotkey quirk for Fujitsu Amilo 1848+u

Volume keys do not produce release events. Add the quirk to force a key release.

In 2.6.32, a /sys interface is provided to handle setting from userspace.
It is not necessary to apply this patch to newer version than 2.6.31.

BugLink: http://bugs.launchpad.net/bugs/458503

Signed-off-by: Keng-Yu Lin <keng-yu.lin at canonical.com>
---
 drivers/input/keyboard/atkbd.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 63f5c94..1189978 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -910,6 +910,13 @@ static unsigned int atkbd_amilo_pi3525_forced_release_keys[] = {
 };
 
 /*
+ * Amilo Si 1848 key release for Fn+Volume keys not working
+ */
+static unsigned int atkbd_amilo_si1848_forced_release_keys[] = {
+	0xa0, 0xae, 0xb0, -1U
+};
+
+/*
  * Amilo Xi 3650 key release for light touch bar not working
  */
 static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = {
@@ -1652,6 +1659,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
 		.driver_data = atkbd_amilo_pa1510_forced_release_keys,
 	},
 	{
+		.ident = "Fujitsu Amilo Si 1848+u",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Si 1848+u"),
+		},
+		.callback = atkbd_setup_forced_release,
+		.driver_data = atkbd_amilo_si1848_forced_release_keys,
+	},
+	{
 		.ident = "Fujitsu Amilo Pi 3525",
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),
-- 
1.6.3.3





More information about the kernel-team mailing list