Re: Capturing all keys on more-than-102-keys keyboards

From: Vojtech Pavlik (vojtech@suse.cz)
Date: Sat Feb 12 2000 - 05:21:02 EST


On Fri, Feb 11, 2000 at 05:44:05PM +0100, Maciej W. Rozycki wrote:

> > All "normal" keys are sent in the standard way. The extra ones are sent
> > by
> > first sending a zero, and then a keycode for some "normal" key.
> > Releasing
> > the key or autorepeating use the same zero prefix.
> >
> > The current keyboard driver toss zeroes in the interrrupt routine,
> > because
> > they don't conform to protocol. So I get ordinary letters and numbers
> > from my extra keys. And that is what showkey shows too. Using the
> > printk()
> > method showed the zeroes. I was going to modify the driver, and checked
> > if someone else worked on it. Vojtech Pavlik turned out to be rewriting
> > that already, and incorporated support for zero-prefixing. So all I
> > need
> > now is to write the conversion table, when his patch gets accepted.
>
> Note that zeroes are an internal buffer overrun message from the 8048 (or
> whatever) that is present in the keyboard (not to be confused with the
> 8042 or equivalent that is normally present on the motherboard). So it's
> a good idea to ignore them (logging them as errors would probably be an
> overkill).

Basically, my current driver (in the input patches, an older version is
at http://www.suse.cz/development/input) allows zeroes to be set as a
prefix, although normally ignores them. And, they're not exactly buffer
overflow - they mean 'ambiguous key combination pressed' - ie. too many
keys pressed to confuse the keyboard matrix.

-- 
Vojtech Pavlik
SuSE Labs

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Feb 15 2000 - 21:00:22 EST