Have you ever been in the zone while playing a game, frantically smashing keys, only to suddenly find that your keyboard is firing keys you didn't push or isn't registering all the keys you're pressing? This is usually because of keyboard ghosting and anti-ghosting.
When pressing multiple keys simultaneously, a normal keyboard will ignore most of the keys pressed. More advanced gaming keyboards often include ‘anti-ghosting', a feature that prevents additional keys from being registered once the rollover limit is reached. A basic keyboard normally lets you press down a maximum of three keys at the same time (sometimes less). It can be very annoying, for example, to hear a beep from your computer in a first-person-shooter game when you're holding down the forward button to run, and pressing another key to lob grenades at the same time.
Players are frequently pressing keys pretty rapidly so there may be overlapping keypresses leading to the anti-ghosting mechanism to fail to report some keypresses. Not reporting simultaneous keystrokes in a gaming situation can often be a big problem, especially in games that use multiple keypress combinations. This is where the n-key roller becomes super important so those extra key presses aren't lost.
What causes keypresses to be lost?
Lost Input is typically caused by 3 things:
1) Hardware Incompatibility
2) Software that does not support multiple keystrokes
3) Communication protocol that limits the number of keystrokes that can be transmitted simultaneously (USB versus PS/2).
Number 3 is really a logical problem in keyboards with a line/column matrix switching system for activating the keyboard switches, revealing itself during gameplay when some buttons seem not to work, only to work very slowly, or work without being struck (as if by a ghost).
If the keyboard controller examines the keyboard matrix to see which key is being pressed, input signal recognition on the basis of column and row clearly identifies the key in question. There is only one possible combination for each key, leaving no room for misinterpretation.
Pressing one individual key can be seen as the result of a particular combination of a column and row, in which the conductor of column X is circuited with the lead of row Y. This means that if the keyboard controller checks the keyboard to see which key is being pressed, the column and row on the matrix clearly identifies the key that was pressed.
This is why key jamming and key ghosting often occur on matrix keyboards for certain combinations of three keys and above. Keyboard ghosting is when a single keystroke or several keystrokes are "lost" because the keyboard can't detect which simultaneous key presses should be allocated to a specific key.
Video - What is Keyboard Ghosting and why you should care
What is Anti ghosting?
The event that happens when your other keys fail after pressing more than 3 or more keys on a keyboard is called ‘Keyboard Ghosting’
Anti-Ghosting occurs when an unintended signal/character is sent due to the maximum number of simultaneous key presses being reached. Some keyboards limit it to 3, some to 6 and some higher.
The Anti-Ghosting keyboard is the function that addresses this phenomenon. Even if you press all the keys on the keyboard, you can also enter all your key characters or commands with this feature.
In single-player or dual-player games, players often need to press several keys at the same time or even share the keyboard with each other.
This is why anti-ghosting is also called blocking or jamming. Modern keyboards include ‘anti-ghosting', a feature which basically blocks more keys from being registered after the rollover limit is reached.
N Key Rollover
Rollover is the ability of a computer keyboard to correctly control several simultaneous keystrokes. 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.
To save money, most keyboard manufacturers design their keyboards with a limit on what combinations of 3 keys you can press at once.
N-key rollover is usually referred to as an advantage of mechanical keyboards over rubber dome keyboards. N-key rollover can register any and all keys at the same time, although this isn't always the case in practise.
Some games need multiple keys (other than the usual modifier keys like shift, control or alt) to be held down while others are pressed and released.
Hardcore gamers might tell you that N-key rollover is critical, but for most casual gamers it's unlikely you'll need more than 6-key rollover for your gaming keyboard. More than that has become a little bit of a marketing gimmick over the years.
How are keyboards classified in terms of rollover?
Not all keyboards are created equal when it comes to rollover. Where one keyboard might be able to handle half a dozen or more inputs, others might struggle to correctly recognise three keys pressed simultaneously.
According to Wikipedia: "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. However, to reduce cost and design complexity, most computer keyboards do not isolate all keys in this way."
These computer keyboards are advertised using the phrase “[number]-key rollover.” n is the minimum number of keys that can be correctly registered when pressed simultaneously. For example, a keyboard that lets you hold down 4 keys at once is called a 4-key rollover keyboard. This is a fitting name because an n-key rollover keyboard basically means it doesn't have an upper key limit.
This is often also written in its short form KRO. Many inexpensive keyboards have only 2KRO, while higher-end keyboards (and many mechanical keyboards) have 6KRO or higher. If a keyboard can register all of its keys being pressed simultaneously, then this is called NKRO. This limit also doesn't usually include modifier keys like Ctrl, Alt, Shift etc.
It's also worth noting that not all 2KRO keyboards are the same because their rollover abilities might still be different. For example, a 2KRO keyboard won't cover the entire keyboard, but 2KRO keyboards aimed at gamers might take extra care to ensure that the commonly used WASD movement keys don't cause rollover issues. This allows it to perform better when playing games that use these keys than keyboards built for general purpose use like typing. Some vendors guarantee the integrity of the WASD block, along with surrounding keys, plus the direction keys.
What happens if you exceed a keyboard's rollover limit?
There's a couple of unintended things that could happen when you press multiple keys simultaneously on a keyboard.
One is ghosting, which is when a key you didn't even pressed is registered by the keyboard as being pressed. A good example, is on a 2 key rollover (2KRO) keyboard where pressing down 3 keys at once can sometimes cause four key presses to be registered by the keyboard.
More recent keyboards have anti-ghosting, which is a feature that blocks more keys being registered when the keyboard reaches it's rollover limit. On a 2KRO keyboard for example, when three keys are pressed together at exactly the same time, only two of the keypresses would be registered by the keyboard and the third keypress would be blocked. That's also why anti-hosting is sometimes called keyboard blocking or jamming.
How do I get NKRO on my keyboard?
For a long time, keyboards could only achieve NKRO over the older PS/2 connector. This is why some mechanical keyboards come with a USB to PS/2 adapter in the box, even as PS/2 ports started to disappear from computers. If your keyboard comes with a PS/2 adapter and is marketed as having NKRO, you'll almost certainly need to use that adapter to achieve full NKRO on your machine.
Recently, more mechanical keyboards are able to offer NKRO over USB, often using the full-speed USB standard. These keyboards often come with a DIP switch or key that switches between 6KRO and NKRO, as the NKRO mode sometimes doesn't work in non-Windows operating systems or in a computer's BIOS.
Most mechanical keyboards come with 6KRO or higher, while most rubber dome keyboards have less, but there are rare exceptions in both types. If the rollover isn't stated on the product, try search for NKRO or 6KRO plus the name of your keyboard, e.g. “Razer Huntsman Mini 6 NKRO”.
If your keyboard comes with NKRO over USB, ensure that the NKRO mode is turned on and test it using the programs mentioned below to ensure it actually works.
How do I test ghosting and rollover?
Try holding down both shift keys and typing; 'The quick brown fox jumps over the lazy dog' If you don't have anti ghosting, then the sentence will come out something like HE QUIK BROWN FO JUPS OER HE LA DOG. A gamer keyboard with anti ghosting will be able to type that sentence without issues.
Rollover can also be tested using apps that you download or run online. Run the program, and press and hold an increasing number of keys. Ensure that each key is correctly shown on-screen when pressed and released. You can also try out the rollover demonstration here from Microsoft.
It's important to test as many key combinations as you can. Keys next to each other are often prone to not being recognised, so these make good targets. It also makes sense to test for the combinations that you're likely to use. For example, An FPS gamer placing their hands on the keyboard might hold W, D, Q, Shift and Space at the same time while gaming.
Remember that rollover refers to the minimum supported, and not the maximum. If your keyboard can correctly pick up six key combinations, but it can't properly register a three key combo, then it is actually still 2KRO (or 2key-rollover) keyboard, not a 6KRO keyboard.