*** Welcome to piglix ***

Rollover (key)


Rollover is the ability of a computer keyboard to correctly handle several simultaneous keystrokes.

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 keys 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. Some computer games require keys (other than the usual modifier keys) to be held down while others are pressed and released.

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 jamming.

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.

For the user to get the benefit of the full n-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 boot protocol, which is enabled on boot, is limited to 8 modifier keys (left and right versions of Ctrl, Shift, Alt, and Win), followed by maximum 6 key codes. This will limit the amount of simultaneous key presses that can be reported. To get full n-key rollover, HID report protocol must be implemented on both keyboard and computer.


...
Wikipedia

...