NKRO- N-key Rollover


N-key rollover, often referred to as NKRO for short, is a term that is known and appreciated by many gaming enthusiasts but may not be as widely known as another term, anti-ghosting.

  • N-Key Rollover - The press of each key on a keyboard can be detected individually, which means that each key you press will be seen by your operating system no matter how many keys you are holding down simultaneously (hence the variable 'n' in n-key to refer to as many keys as are possible to press on a keyboard).
  • Anti-Ghosting - This can refer to the ability of a keyboard to recognize 3 or more key presses at once. The main thing to point out is that anti-ghosting usually implies that there is a limit on which combinations of keys and how many of them can be pressed simultaneously, while n-key rollover keyboards have no such limit (except when using USB, see 'PS/2 vs USB Technical Limitations' below).The number of simultaneously recognized key presses varies between each model of keyboard that does not have full n-key rollover. In some ways, you can think of anti-ghosting as an attempt by manufacturers to improve functionality of cheaply made rubber dome keyboards, without having to implement proper n-key rollover functionality.

Note: Although this is how the term anti-ghosting is usually used, ghostingon a keyboard actually refers to something else. "Ghosting is when you press two keys on the keyboard, and a 3rd key - which you didn't press - gets sent to the PC as well. This is very rarely seen on even the cheapest modern boards, because manufacturers have the habit of limiting the rollover so that ghost keys are always blocked." -Overclock.net Forums

How NKRO affects a user?
Keyboards that do not have proper "anti-ghosting" capabilities will have limitiations. One common complaint is the inability to use 3-key combinations.

  • Ctrl + W + R (Crouch + Forward + Reload)

In this case, when pressing the above combinations of keys, the third key(R), will not register. These type of combinations may not be an issue to most users but some gamers and users of software that utilize numerous 3 key stroke combinations may have this issue.

Engineers optimize the circuitry so that the most common combinations will work, but the inherent drawback with the designs is that there will be combinations that just won't work.

PS/2 vs USB Technical Limitations
The Technical specifications of USB and PS/2 may also limit NKRO.

  • USB protocol limitation - A max of 10 simultaneous key presses are recognized, 6 non-modifier keys ('w', 'a', 's', 'd', etc) + 4 modifier keys (Shift, Caps, Ctrl, etc). Although you are limited to 6 regular keys you are still guaranteed that any combination of keys will be recognized properly if you have an n-key rollover keyboard
  • PS/2 - There are no limitations when using a PS/2 connection with your keyboard. You will truly get full n-key rollover support.


Testing Keyboard's Rollover

Test: Manual Typing

Often you'll see people mention the double shift-key typing test. It is a basic test for demonstrating the problems that arise when keyboards don't support n-key rollover. The test involves holding down both the left and right shift keys and typing the following sentence while still holding down both shift keys:

the quick brown fox jumps over the lazy dog


With most keyboards, you will see something like the following


TE UIC RWN JUS VER TE LAY DG


You can see that a lot of characters were dropped during the test. This is what you should see:


THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG


Most consumer keyboards will not pass this test.

Test: Web-Based

There are numerous websites that have interactive keyboard testing applications. A quick google search will yield some on-line programs for this.

Tests: Desktop Software
Below are a few Keyboard Software solutions that can be used to test keyboard functionality. None of these softwares are endoresed or sponsored by Cooler Master Inc, directly. They are provided for reference only.

Aqua Key Test (Windows-based)

Aqua Key Test is a GUI application that shows an on-screen keyboard indicating the key presses that are being recognized. This is a small standalone executable that comes from Korea.


Passmark KeyboardTest (Windows-based)

This is another GUI application that shows an on-screen keyboard indicating current key presses.