Messages in this thread | | | Date | Thu, 21 Aug 2003 01:52:58 +0200 | From | Andries Brouwer <> | Subject | Re: Input issues - key down with no key up |
| |
On Wed, Aug 20, 2003 at 11:58:12PM +0100, Jamie Lokier wrote:
> Synthesising an UP event after receiving a DOWN from the keyboard, and > nothing else for that key for > (repeat delay + a bit more) time looks > like a good plan to me, UNLESS there are keys which do report UP when > the key is released (as opposed to immediately after the DOWN), and > also don't repeat.
And there are keyboards with such keys.
> Unrelated: I have some messages from my laptop, Toshiba Satellite 4070CDT: > > atkbd.c: Unknown key (set 2, scancode 0x94, in isa0060/serio0) pressed. > atkbd.c: Unknown key (set 2, scancode 0xbf, in isa0060/serio0) pressed. > atkbd.c: Unknown key (set 2, scancode 0xa1, in isa0060/serio0) pressed.
Do you know what keystrokes cause this?
It looks like this cannot come from i8042_unxlate_table[]. Do you set i8042_direct?
Vojtech, this sounds like a bug in i8042.c: We do if (data > 0x7f) { index = (data & 0x7f); if (test_and_clear_bit(index, i8042_unxlate_seen)) { data = i8042_unxlate_table[data & 0x7f]; } } else { data = i8042_unxlate_table[data]; } serio_interrupt(&i8042_kbd_port, data, dfl, regs);
In other words, the keyboard sends something in translated Set 2, but we fake that it is untranslated, unless it was a key release and we didnt know that the key was down. Thus, atkbd.c gets a mixture of untranslated and translated codes.
Andries
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |