kernel atkbd.c: Unknown key released messages on Linux

I just installed Ubuntu 10.10 (Maverick Meerkat) on to a Dell Vostro 1000. (Yea, yea, I know Natty is just around the corner). During the installation I dropped the terminal box down — ‘cus I’m like that — and noticed the following messages spamming the terminal log:

Apr 20 14:17:59 Vostro-1000 kernel: [    2.814838] atkbd serio0: Unknown key pressed (translated set 2, code 0x8d on isa0060/serio0).
Apr 20 14:17:59 Vostro-1000 kernel: [    2.814844] atkbd serio0: Use 'setkeycodes e00d ' to make it known.

Unplugging the laptop’s AC adapter caused it to throw the same event, this time with code e06e.

After some research, it looks like various model laptops throw odd keycodes in response to AC adapter/battery events. The Dell Vostro 1000 seems to be the one that comes up the most in searches, but the Dell Latitude 131L (which is based on the same design / hardware) is mentioned in Launchpad bug #549741, which is specific to this issue. The Inspiron 1501 is mentioned in Redhat bug #454131.

There’s also the issue of the specific keycodes that are thrown. Myself, I saw e00d and e06e. The author at DezzaNet mentions e055 as well.

So how to get rid of these messages?

The two bug reports referenced above mention removing and replacing the battery while the system is on. However, that may not work in all cases. There’s another way to get rid of the messages, and that’s mapping the keycode to the NULL character.

To do this at every bootup, edit the /etc/rc.local file and add lines like the following above the exit 0 statement:

setkeycodes  255

For example:

setkeycodes e00d 255

Repeat for each keycode you will to null out.

Questions, comments, feedback regarding this? Feel free to share in the comments below. Thank you!


, , , ,