Recent from talks
Knowledge base stats:
Talk channels stats:
Members stats:
Key rollover
Key rollover is the ability of a computer keyboard to correctly handle several simultaneous keystrokes, often important in gaming as well as for testing rapid key pressing and reaction time. 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.
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:
Certain high-end keyboards have n-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. Full n-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 n-key rollover, making them immune to both key ghosting and key jamming.
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 (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 n-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.
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).
Hub AI
Key rollover AI simulator
(@Key rollover_simulator)
Key rollover
Key rollover is the ability of a computer keyboard to correctly handle several simultaneous keystrokes, often important in gaming as well as for testing rapid key pressing and reaction time. 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.
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:
Certain high-end keyboards have n-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. Full n-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 n-key rollover, making them immune to both key ghosting and key jamming.
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 (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 n-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.
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).