Man-wai Chang said:
What's the opposite of N-Key Rollover?
http://iitestudent.blogspot.ca/2011/05/8279-programmable-keyboarddisplay.html
"In two key lockout mode if 2 keys are pressed simultaneously only
the first key is recognized."
http://en.wikipedia.org/wiki/N-key_rollover#n-key_rollover
"Certain high-end keyboards have "n-key rollover". This means that
each key is scanned completely independently by the keyboard hardware,
so that each keypress is correctly detected regardless of how many
other keys are being pressed or held down at the time.
Most music keyboards use isolation diodes in their keyboard
matrix to implement full n-key rollover (sometimes abbreviated NKRO),
making them immune to both key ghosting and key blocking.
However, to reduce cost and design complexity, most keyboards do not
isolate all keys in this way. Instead, they use a matrix of key switches,
without any isolation diodes, that assumes that only a limited number of
keys will be held down at any given time."
*******
I built my own keyboard, and fitted a 1N914/1N4148 switching diode to
each keyswitch, to prevent ghosting and allow more than one key to be
depressed without losing it. I think on my keyboard, that's to prevent
a fast typist from having problems when the first key isn't completely
released, when the second key is starting to make contact. I'm not sure
my keyboard controller would support "mashing" a whole bunch of keys.
It probably did not have a buffer deep enough to allow that. Back
in those days, the geometry of silicon gates was so large, there was
a cost penalty for doing storage inside a chip. Adding a deep FIFO might
have doubled the price for the chip. The keyboard decoder I used,
might even have been NMOS and not CMOS, to give you some idea how
ancient the thing was.
Also, my chip was not a "full matrix" type. The signals for the modifier
keys were handled separately. So perhaps shift, control, alt, might have
had their own inputs, and not have been subject to ghosting. I notice
newer keyboards, all the keys seem to be wired to the matrix.
I doubt if you take a screwdriver, and examine the PCB on your keyboard,
you'll find the diode scheme that I was using. And I don't think the
diode idea can be fitted inside the chip. It has to be done at each
keyswitch, right on the PCB.
The diodes can be purchased for less than a penny ($0.01) each. So
doing a whole keyboard costs slightly more than $1 USD
That's
actually a significant expense, when you consider the retail price
of generic keyboards.
http://www.digikey.com/product-detail/en/1N914BTR/1N914BTR-ND/458816
This is how you add diodes to support N-key rollover (assuming the
keyboard controller can handle multiple keys).
http://www.avernus.com/~gadams/hardware/keyboard/images/choc-mini-matrix-schematic.png
Example of a keyboard with something added per switch. And judging by
the color and form factor of the diodes, those are 1N914/1N4148 style
general purpose switching diodes (the cheap ones). On this keyboard,
the keys are held in place by the upper substrate, while the lower
substrate is the single-sided PCB of the keyboard controller. A diode
is in series with each switch.
http://www.avernus.com/~gadams/hardware/keyboard/images/choc-mini-5398-diodes.jpg
Paul