Re: [PATCH] Make Dell keyboard repeat quirk apply to a wider range of hardware




Dell laptops fail to send key up events for several of their special
keys. There's an existing quirk in the kernel to handle this, but it's
limited to the Latitude range. This patch extends it to cover all
portable Dells.

Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>

---
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index b1ce10f..e32c24d 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -834,10 +834,10 @@ static void atkbd_disconnect(struct serio *serio)
}

/*
- * Most special keys (Fn+F?) on Dell Latitudes do not generate release
+ * Most special keys (Fn+F?) on Dell laptops do not generate release
* events so we have to do it ourselves.
*/
-static void atkbd_latitude_keymap_fixup(struct atkbd *atkbd)
+static void atkbd_dell_laptop_keymap_fixup(struct atkbd *atkbd)
{
const unsigned int forced_release_keys[] = {
0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8f, 0x93,
@@ -1461,13 +1461,13 @@ static int __init atkbd_setup_fixup(const struct dmi_system_id *id)

static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
{
- .ident = "Dell Latitude series",
+ .ident = "Dell Laptop",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
- DMI_MATCH(DMI_PRODUCT_NAME, "Latitude"),
+ DMI_MATCH(DMI_CHASSIS_TYPE, "8"), /* Portable */
},
.callback = atkbd_setup_fixup,
- .driver_data = atkbd_latitude_keymap_fixup,
+ .driver_data = atkbd_dell_laptop_keymap_fixup,
},
{
.ident = "HP 2133",

This issue has hit a lot of Ubuntu Dell uses (like myself), and the
patch indeed fixes it up - but it appears not all Dell machines are
alike. One user has reported it doesn't work, and his investigation
reveals dmicode output shows:

Vendor: Dell Computer Corporation

So I guess this isn't totally fixed yet. As to what the vendor output
is al all these machines, I don't know, but I guess now it could be any
permatation of Dell Inc., Dell Computer Corp. etc.

Ref. Ubuntu bug report thread:

https://bugs.launchpad.net/ubuntu/+source/acpid/+bug/285323/comments/88

Nick

--
Free Software Foundation Associate Member 5508
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: My experiences with a Dell D620 Laptop. Part 1.
    ... Specification of the Dell. ... highlights extra key functions on the keys accessible via the Fn key. ... Powerbook and MacBook screens. ... - There are the usual irritating Intel Core Duo and 'Windows Designed ...
    (comp.sys.mac.advocacy)
  • My experiences with a Dell D620 Laptop. Part 1.
    ... My company has issued me with a brand new Dell Latitude D620 Laptop, so I thought I'd report on the experiences I've had with it. ... the dock prevents you from using the laptop screen along side the main screen since it docks a bit like the old Mac Duos. ... It has a rather tacky looking two-tone appearance around the keyboard and trackpad with the keys being a different colour to the inner silver 'ring'. ... It is not very bright and you can see it is not as sharp as the Mac screens. ...
    (comp.sys.mac.advocacy)
  • Re: [PATCH] Map volume and brightness events on thinkpads
    ... disable keys on my HP. ... It is not clear to me if they are notifications or not. ... But for that Dell case, there is already a proper notification ... "One disk to rule them all, ...
    (Linux-Kernel)
  • Re: Vista Ultimate Activation / Ramble
    ... But it only works as long as certain keys in the Dell customized copy of the OS match certain keys in the Dell ROM BIOS. ... I think that XP was the first OS that required activation. ... their copies too and the versions that were released for students at ...
    (alt.sys.pc-clone.dell)
  • Re: XP license key
    ... Dell Reinstallation CD. ... The Dell Product Keys ... because they are "OEM" Product Keys. ... | thought xp was to buggy to use so i downgraded most computers to 2000. ...
    (microsoft.public.windowsxp.setup_deployment)