[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] update:WRITE_BOOT,ALLOW_TRP_CHG



On Sun, 2012-10-07 at 18:54 +1300, Paul Wratt wrote:

> you misunderstand post reference. The hardware circuits in 99% of
> keyboards can NOT detect/acknowledge more than 3 simultaneous
> kepresses (keys pressed at the same time). 4+ keys can be pressed, but

I'm afraid you're the one who's misunderstanding. What you're writing
here is not correct. You can easily press 10+ keys simultaneously on a
PS/2 keyboard, and all of them will be sent to the computer. However, in
any keyboard with a foil/membrane matrix instead of PCB (which means -
as you say - cheap keyboards) there is a phenomenon called "ghosting"
which means that if you press three adjacent (in the matrix that is)
keys simultaneously a fourth "ghost" keypress will be generated. Now,
the keyboard controller might handle this or it might not. If not, the
ghost keypress will be sent to the computer. If it does handle it, it
normally does so by filtering out possible ghost keypresses, *NOT* by
limiting the number of simultaneous keypresses to three.

> This directly affects the result of any /dev/xkbd driver output, but
> not what the driver can process.

Correct. Contrary to what you write a couple of posts back this is
completely irrelevant to the device driver. Ghost keypresses are unique
for any keyboard matrix, and there is no way to detect or handle this in
software. The only thing the programmer can do is to allow the user to
select which keys to use. But this is *not* specific to PS/2 keyboards,
but to all membrane/foil keyboards (like the Stacy, or my old
Spectravideo, or my CPC6128, or my Amiga 600...) or even "quality"
keyboards with PCB but no diodes.

Jo Even