Distribution: Debian unstable Hardware Environment: Toshiba Libretto L5 laptop I have a Toshiba laptop with the spurious key-up hardware problem. The 2.5 keyboard driver suppresses this well, but "Unknown key" messages are constantly logged. First, I would suggest changing the message to "Unknown or unexpected key", which is more accurate. Second, I would like to see a driver option to disable this message. This would be useful to Toshiba laptop users who don't want to have their system logs filled with this message that they can do nothing about. I can prepare a patch if necessary.
What unknown keys are seen (what scancodes)? Does it also happen when you specify i8042_direct on the kernel command line?
If I use the i8042_direct kernel option, the messages don't occur. Here is a sample of the scancodes: atkbd.c: Unknown key (set 2, scancode 0xa4, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa0, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa0, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0x94, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xb2, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0x9f, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa3, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xb3, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa0, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa1, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa0, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0x95, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xf3, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa0, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa7, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa7, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xb2, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0x94, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa4, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa2, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0x9f, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa1, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0x99, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xb2, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0x95, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa2, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0x93, on isa0060/serio0) pressed. atkbd.c: Unknown key (set 2, scancode 0xa6, on isa0060/serio0) pressed.
Use that option, then - without it we cannot properly detect double release which the buggy Toshiba keyboard also likes to generate in addition to double presses.
I'm not sure I understand your comment. I'm not proposing any change in the functionality of your driver, only that an option be added to suppress the "Unknown key" message. Would you please explain exactly what the i8042_direct option does?
Actually I think that the message should not be suppresable, because when it is printed it usually points to a problem either in the driver or the keyboard. In your case the keyboard generates double releases of keys, which the un-translating engine in i8042.c cannot (and never will be able to) handle properly. Hence, using i8042_direct, which programs the i8042 chip not to use translation at all (and thus un-translation isn't needed) is the correct fix in this case. Actually it'd be nice if i8042_direct could be the default, but there are many systems which don't like that for different reasons.