N-key rollover is normally defined as the ability to simultaneously detect an unlimited number of keys. However, other definitions have been found. N-key rollover is not a requirement for typing, but video games can require more than two keys to be held at the same time, and increased rollover capacity reduces the likelihood of the keyboard causing problems for game playing. This was especially true in the 90s before the rise of network gameplay, when two players would share the same keyboard, giving rise to abnormally high numbers of concurrently-pressed keys compared to the expectations from terminal, typewriter and computer manufacturers.
The standard definition requires that the keyboard be able to independently detect every key, regardless of how many other keys are held at the same time. With keyboard protocols that provide interrupt-driven sequential press and release reporting, there is no signalling limit, but the operating system cannot necessarily memorise an unlimited number of held keys. Acorn MOS, designed around a 2-key rollover keyboard in the BBC Micro, reserves exactly two memory locations—two bytes—to remember up to two keys pressed during the last interrupt–scan event. (Here, only the existence of one more pressed keys is notified by interrupt, after which the OS scans the matrix to identify which two keys were held.)
USB is more awkward, because as a polled instead of interrupting protoco, it reports the list of keys currently held, not the individual press and release events, which in its most basic form is up to six keys plus eight modifiers (four left and four right).
Most keyboard designs require each switch to be wired in series with a diode to allow for independent key scanning. Without this, the number of simultaneously-detected keys can be reduced to as few as two, due to ambiguous readings from the circuitry when specific patterns of keys are held (“ghosting”, where extraneous keys are detected when electric current diverts the wrong way through one of the switches).
Micro Switch effectively defined N-key rollover as the ability to press an unlimited number of keys in sequence (not concurrently) without the previously-pressed keys interfering with the detection of later keys. This was accomplished by having the switches only conduct current for a tiny fraction of a second: by the time the next key is pressed, the previous key no longer registers. This approach comes at the cost of being able to detect key release, which for typing purposes is irrelevant unless typematic repeat is desired. Typematic repeat under these conditions was achieved by having a standard switch under the Repeat key, that was used in conjuction with another key to indicate that it should be repeated.
Each of 1PB800, SW and SN Series and SD Series provided press-only detection to this aim; KB series switches mechanically release the contacts, while SW and SD series solid state switches electronically shut off the output transistors to stop current flowing through them. SW and SN Series define the period that the switch conducts electricity to be 10–100 µs.
This definition is found in the 1973 Solid State Keyboards brochure.
US patent 4420744A filed in February 1981 covers achieving N-key rollover with a membrane keyboard. Their idea of N-key rollover is somewhat deceptive, however. They do not offer N-key rollover; rather they appear to be describing 2-key rollover with blocking, where the controller will output every key pressed except for any set of keys that are involved in a ghost (or “phantom”) situation. The scan rate should be sufficient for all keys to be registered so long as they are pressed and released in sequence (as with fast typing) where the previously-blocked keys will get detected as the ghost situation clears. However, being able to hold any combination of keys at once is still impossible.
Various Mitsumi membrane types of the 90s, including Mitsumi KUJ, KUK and KUL types featured “chip diode on membrane” to accomplish N-key rollover on a membrane keyboard. No further details are known, and no such keyboards have ever been examined to determine what they meant specifically. No other manufacturer is known to have ever used such a technique, despite the obvious advantages of such a feature on low-end gaming keyboards.
- Ghosting and N-key rollover explanation — Dave Dribin