Key rollover is the ability of a
computer keyboard
A computer keyboard is a built-in or peripheral input device modeled after the typewriter keyboard which uses an arrangement of buttons or Push-button, keys to act as Mechanical keyboard, mechanical levers or Electronic switching system, electro ...
to correctly handle several simultaneous keystrokes. A keyboard with ''n''-key rollover (NKRO) can correctly detect input from each key on the keyboard at the same time, regardless of how many other keys are also being pressed. Keyboards that lack full rollover will register an incorrect keystroke when certain combinations of keys are pressed simultaneously. Rollover has applications for stenotype, electronic music keyboards, gaming, and touch-typing generally.
Keyboard usage

During normal typing on a conventional computer keyboard, only one key is usually pressed at any given time, then released before the next key is pressed. However, this is not always the case. When using
modifier key
In computing, a modifier key is a special key (or combination) on a computer keyboard that temporarily modifies the normal action of another key when pressed together. By themselves, modifier keys usually do nothing; that is, pressing any of the , ...
s such as Shift or Control, the user intentionally holds the modifier key(s) while pressing and releasing another key. Rapid typists may also sometimes inadvertently press a key before releasing the previous one.
Certain unusual forms of keyboarding require multiple keys to be pressed or held down simultaneously;
for example:
*
Braille2000 keying requires as many as six keys to be pressed at once
analogous to the six dot keys of a
Braille typewriter.
*
Stenographic typing also requires the ability to press multiple keys at once to form "chords."
* Some computer games require multiple keys (other than the usual modifier keys) to be held down while others are pressed and released, in order to perform actions simultaneously;
** a common scenario would be the holding down of two
Arrow keys
Arrow keys or cursor movement keys are keys on a computer keyboard that are either programmed or designated to move the cursor (computers), cursor in a specified direction.
The term "cursor movement key" is distinct from "arrow key" in that th ...
or
WASD keys in order to move the player in a diagonal direction.
** Other scenarios might be pressing a key to
interact with an object or item in the game while holding down an
Arrow key to signify movement.
''n''-key rollover
Certain high-end keyboards have -key rollover (NKRO). 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.
[ mirror: ] Full -key rollover is required for
stenotype, which relies on
chording to input text far faster than conventional typing methods, allowing it to keep pace with the speed of human speech.
Most music keyboards use isolation diodes in their
keyboard matrix to implement full -key rollover, making them immune to both key ghosting and key jamming.
For the user to get the benefit of the full -key rollover, the complete key press status must be transmitted to the computer. When the data is sent via the USB protocol, there are two operating modes:
Human Interface Device (HID) "report protocol" and "boot protocol". The (optional) boot protocol, which is solely used by very limited USB host implementations such as BIOS, is limited to eight modifier keys (left and right versions of Ctrl, Shift, Alt, and Win), followed by maximum six key codes. This will limit the number of simultaneous key presses that can be reported. The (mandatory) HID report protocol, which is what operating systems use, imposes no restrictions and supports full -key rollover. The HID specification however imposes no requirements on rollover and low-end keyboards may impose the same restrictions regardless of whether the boot protocol or the HID report protocol is used.
Multi-key rollover
However, to reduce cost and design complexity, most computer 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. With these keyboards, pressing as few as three keys can cause ghosting effects,
although care is taken when laying out the matrix arrangement that this does not happen for common modifier key combinations.
A keyboard with "two-key rollover" can reliably detect only any two keys used simultaneously; in other words, a user can hold down any key on the keyboard and press a second key, and be sure that the keypress is correctly detected by the computer. However, if the user has two keys depressed and attempts to strike a third key, the third keypress may create a "phantom key" by shorting out the switch matrix. This is not acceptable for quality keyboards because there are many cases when more than two keys need to be depressed at the same time, such as
Ctrl-Alt-Delete, or when more than two keys are depressed because of fast typing ("rolling over" more than two keys).
"Multi-key rollover" is considered essential for quality keyboards and for
English-language
English is a West Germanic language that developed in early medieval England and has since become a English as a lingua franca, global lingua franca. The namesake of the language is the Angles (tribe), Angles, one of the Germanic peoples th ...
touch typing
Touch typing (also called blind typing, or touch keyboarding) is a style of typing. Although the phrase refers to typing without using the sense of visual perception, sight to find the keys—specifically, a touch typist will know their location ...
. This is where the most common key sequences have been studied, and keys in the same common sequence are placed in the electrical switch matrix such that three keys down cannot produce a fourth "phantom" key by shorting out the matrix. The simplest way to accomplish this is to put all keys in the same common sequence on the same X or Y line of the switch matrix. As long as the electronics do not see more than two keys on different X and Y lines, which would create a phantom key, it will continue to process the next key depressed. This typically produces four- to five-key rollover for the most common key sequences.
Key jamming and ghosting

Key ghosting occurs on
matrix
Matrix (: matrices or matrixes) or MATRIX may refer to:
Science and mathematics
* Matrix (mathematics), a rectangular array of numbers, symbols or expressions
* Matrix (logic), part of a formula in prenex normal form
* Matrix (biology), the m ...
keyboards for certain combinations of three keys. The image to the right illustrates the problem.
This example shows that three keys, brown, blue and green, have been pressed. A signal path is accurately detected from terminal 1, through the brown switch to terminal 6, indicating that key 1/6 has been pressed. However, the signal also routes through the blue and green switches to terminal 4, falsely indicating that key 1/4 has been pressed. This error is called ''ghosting'', as a phantom keypress (1/4) has been detected. This only occurs when three corners of a rectangular set of switches are closed—the "ghost" being the fourth corner. When these three keys are pressed simultaneously, this fourth keypress is erroneously registered by the
keyboard controller.
If necessary, these errors can be eliminated by placing a diode in series with each key switch, as shown in Figure B. In this example, the false signal path is blocked by the diode in series with the blue switch.
Modern keyboards detect ghosting, and instead of registering a fourth key, they will ignore the third key. This behavior is known as ''jamming'', as the first two keys jam the third. Which keys jam when pressed together differs between brands and models of keyboards.
Most music keyboards and some high-end computer keyboards use an isolation diode with each keyswitch in their matrix, and can correctly read any combination (
chording) of keys pressed in any order and released in any order—they are immune to both key ghosting and key jamming.
Some "gaming keyboards" use a matrix, but only give individual diodes to the most frequently-used keys in gaming such as WASD and the arrow keys.
Key jamming is often noticed when using a keyboard to play computer games where many keypresses combine to movement vectors and other simultaneous activities rather than typing text. The original ''
Star Control'' game included a utility to test for key jamming and help the player to determine the best
key mapping for their keyboard, since during gameplay it was common for each of the two players to be pressing three or four keys at the same time.
Many computer games and
console emulator
A video game console emulator is a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass ...
s use the control, alt, and shift keys by default. Computer keyboards typically are designed to detect these keys being activated in addition to others from the character matrix, and this may prevent key jamming.
See also
*
Charlieplexing
*
Keyboard technology
The technology of computer keyboards includes many elements. Many different keyboard technologies have been developed for consumer demands and optimized for industrial applications. The standard full-size (100%) computer alphanumeric keyboard ...
*
Stenotype
References
{{Reflist
External links
Keyboard ghosting interactive demonstrationKey Rollover Test
Computer keyboards