Jump to page content

N-key rollover

Contents

Overview

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.

Historical context

It is taken for granted now that keyboards permit multiple keys to be pressed in rapid succession or held simultaneously. However, many early keyboard types in the 1960s and very early 1970s made this impossible, either physically or electronically. Invac’s photoelectric keyboards for example used a mechanical interlock to physically prevent more than one key to be pressed at once, because the sensing mechanism could not understand simultaneous key depressions. Keyboards using electrical encoding switches, such as those from Mechanical Enterprises and Micro Switch, did not physically prevent simultaneous keystrokes, but as these keyboards too could not understand such actions, output from the keyboard was suppressed when two or more keys were operated at the same time.

N-key rollover is discussed in the Focus on Keyboards article in Electronic Design magazine in 1972 [ED1972-FOK]. Here, N-key rollover is said to be a term originating at Micro Switch, indicating that during fast typing, the keystrokes are transmitted in the correct order no matter how many keys are not yet released. N-key rollover (“NKRO”) is contrasted here with “2-key rollover” (“2KRO”), defined as being where “an electronic interlock prevents errors when two keys are simultaneously depressed”, a fundamental limitation of some keyboard types. This early definition of two-key rollover is very different to the modern definition, in which the keyboard guarantees that a minimum of any two keys can be pressed or held simultaneously.

The article goes on to say:

Key Tronic proposes still another approach—selective N-key rollover, a combination of 2KRO and NKRO. The keyboard becomes locked after a fixed number of keys have been depressed—and are held depressed. Key Tronic claims that this approach is less expensive than NKRO but just as advantageous.

It is not clear what switch type is being described here. Key Tronic are best known for their capacitive keyboards, but this article could have been referring to their reed keyboards. N-key rollover is also discussed in the 1976 Focus on Keyboards article in Electronic Design magazine [ED1976-FOK]. Here, the details are even less clear. N-key rollover was shown by studies to result in 30% fewer errors compared to two-key rollover, and the article indicates that the 10–15% higher cost for N-key rollover is justifiable for workloads involving extensive text input. However, modern keyboards clearly demonstrate that N-key rollover is not a real requirement: virtually all keyboards produced today are two-key rollover—with optimisations made to accommodate modifier keys—and typists do not see errors resulting from not having N-key rollover. The article mentions a number of ways in which two-key rollover can produce unexpected or erroneous output, but none of these limitations exist with modern two-key rollover keyboards. N-key rollover does maintain an advantage for gamers in that there is no risk of blocked keystrokes from any combination of keys, but it is no longer a requirement for fast, accurate and reliable typing.

The 1976 article does also note the following, however:

If you do choose a rollover option, be warned: Not all options work exactly alike, even if called by the same name. There are many versions of each type. Even a single company can offer several choices. Key Tronic offers a choice of three types of two-key and four N-key rollover. Although Key Tronic explains its versions, many companies don’t.

The modern definitions of N-key rollover and two-key rollover are far more precise and clear-cut than the way that these terms were treated historically, when keyboard technology was still in its infancy, and the complex electronics required for reliable input were considered too expensive in many cases.

Definitions

Standard

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 protocol, 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

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. This method was not necessarily a disadvantage in context, because ASCII keyboards were prevalent, and they had no concept of press and release: the ASCII character was automatically transmitted to the host on keypress. Typematic repeat under these conditions was achieved by having a Repeat key, that was used in conjuction with another key to indicate that it should be repeated. A standard switch was placed under the Repeat key to allow separate press and release to be detected.

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.

Oak

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.

Implementations

Mitsumi

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.

See also