diff mbox

atkbd: Samsung NP530U3C laptop forced key release

Message ID 20140311195448.0b722ea5@sambook (mailing list archive)
State New, archived
Headers show

Commit Message

Arkadiusz Bokowy March 11, 2014, 6:54 p.m. UTC
atkbd: Samsung NP530U3C laptop forced key release

For Samsung NP530U3C laptop (observed on firmware P09ABH) not all Fn keys
generates release event, which leaves key in a pressed state. This patch
adds those keys into the "forced release" workaround. Fixed keys: WLAN,
Settings, Fn Lock.

Patch generated for kernel version 3.13.6

Signed-off-by: Arkadiusz Bokowy <arkadiusz.bokowy@gmail.com>
---

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Dmitry Torokhov March 28, 2014, 7:48 a.m. UTC | #1
Hi Arkadiusz,

On Tue, Mar 11, 2014 at 07:54:48PM +0100, Arkadiusz Bokowy wrote:
> atkbd: Samsung NP530U3C laptop forced key release
> 
> For Samsung NP530U3C laptop (observed on firmware P09ABH) not all Fn keys
> generates release event, which leaves key in a pressed state. This patch
> adds those keys into the "forced release" workaround. Fixed keys: WLAN,
> Settings, Fn Lock.
> 
> Patch generated for kernel version 3.13.6

This should be done by udev nowadays, please submit patch for it instead
of modifying the kernel.

Thanks!
diff mbox

Patch

--- linux-3.13.6/drivers/input/keyboard/atkbd.c.orig	2014-03-07 07:07:02.000000000 +0100
+++ linux-3.13.6/drivers/input/keyboard/atkbd.c	2014-03-11 18:48:47.593211190 +0100
@@ -943,6 +943,13 @@  static unsigned int atkbd_samsung_forced
 };
 
 /*
+ * Samsung NP530U3C key release for WLAN, Settings and Fn Lock
+ */
+static unsigned int atkbd_samsung_np530_forced_release_keys[] = {
+	0xa8, 0xa9, 0xce, 0xd5, -1U
+};
+
+/*
  * Amilo Pi 3525 key release for Fn+Volume keys not working
  */
 static unsigned int atkbd_amilo_pi3525_forced_release_keys[] = {
@@ -1732,6 +1739,15 @@  static const struct dmi_system_id atkbd_
 		.driver_data = atkbd_samsung_forced_release_keys,
 	},
 	{
+		/* Samsung NP530U3C */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "SAMSUNG ELECTRONICS CO., LTD."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "530U3C"),
+		},
+		.callback = atkbd_setup_forced_release,
+		.driver_data = atkbd_samsung_np530_forced_release_keys,
+	},
+	{
 		/* Fujitsu Amilo PA 1510 */
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"),