Ghosting, N-Key Rollover, Chatter and Double Presses
The USB HID boot protocol carries 6 regular keys plus the modifier byte in a single report, which means a keyboard can be working exactly as designed and still refuse a seventh key. Four different problems get called ghosting in casual use, and they have four different causes, four different symptoms and four different answers.
| Problem | Cause | Symptom | Answer |
|---|---|---|---|
| Ghosting | matrix without isolating diodes | a character appears that nobody pressed | nothing on this board; the wiring is the cause |
| Blocking | matrix refusing an ambiguous combination | a held key silently does nothing | fewer keys at once, or a board with n-key rollover |
| Report ceiling | six key limit of the boot protocol | the seventh held key never appears | a board that uses the alternative report format |
| Chatter | worn or contaminated switch contacts | one deliberate tap prints two characters | clean it first; replace the switch if that fails |
The last row is the only one that changes with age. The first three are fixed properties of the hardware and the protocol, so a board that blocks a combination today blocked it on the first day too.
What does ghosting originally mean?
A keyboard is a grid of rows and columns, and the controller works out which keys are down by scanning it. Without an isolating diode at each intersection, certain three key combinations complete a circuit through a fourth intersection that nobody pressed, and the controller reports a key that was never touched. That phantom character is what ghosting originally meant.
It is now rare, because the cure is cheap. Manufacturers who did not want to fit diodes chose the other option instead, described next.
Why do keys get silently dropped?
The cheaper cure is to refuse ambiguous combinations rather than guess them. When the controller detects a pattern that could produce a phantom, it drops the third key instead of inventing a fourth. Nothing wrong appears on screen, and one of the keys you are holding simply does nothing.
In games this is the familiar complaint: hold two movement keys, add a third action, and the third one is ignored. In typing it almost never appears, because ordinary text rarely holds more than a letter and a modifier at the same time. That difference in exposure is why gamers discover the limit of a board and touch typists usually do not.
What is n-key rollover, and where does the six key limit come from?
N-key rollover means every key has its own path to the controller, so any number of them can be held together and all of them register. It is a property of the matrix and its diodes.
Reporting is a separate question. The boot protocol allows six, so a keyboard using it tops out at six regular keys plus Shift, Ctrl, Alt and the operating system key, which continue to work because they travel in their own byte. Boards that advertise full rollover over USB use a different report format to get around that ceiling, and some offer a switch between the two for compatibility with firmware that only understands the simple one.
The limit is a property of the connection rather than of keyboards in general. The older PS/2 interface sent each change of state as it happened instead of packing a fixed number of keys into a report, so full rollover came free, which is why adapters and legacy boards sometimes behave better in this one respect than modern hardware does.
What causes chatter and double presses?
Chatter is a single press that registers more than once. Mechanical contacts bounce as they close, firmware waits a few milliseconds to ignore that bounce, and a switch whose contacts have worn or picked up contamination bounces for longer than the wait allows. The result is hhello from one deliberate press.
Auto repeat looks similar and is not a fault. Hold any key and the operating system repeats it on purpose, and a browser marks those events with the repeat flag set. Our keyboard test discards every event carrying that flag before counting anything, so a held key can never be mistaken for a worn one.
What it counts instead is narrower and harder to fake: a key going down again less than 15 milliseconds after its own release. The threshold matters, and it is deliberately low. A fast human repeat of the same key lands around 40 to 50 milliseconds, while contact bounce in a worn switch is measured in single milliseconds, so the gap between the two is wide enough to sit a line through. Set the threshold at 45 milliseconds instead and healthy boards start failing.
Contamination is the common cause, so the first thing to try is not a replacement switch. Cleaning the board settles a fair number of chattering keys, and it costs nothing.
How do you check each of the four in a browser?
The keyboard test covers all four, and each needs a different action.
1. For blocking, hold three or four keys together and watch which ones light up. Repeat with different combinations, since the pattern depends on the matrix. 2. For the reporting ceiling, hold keys one at a time until a new one stops appearing, then count. 3. For chatter, tap a suspect key slowly twenty or thirty times and watch for a press you did not make. 4. For a dead intersection, press every key once and look for the one that never lights.
One caution about interpreting results. A key that produces nothing on its first press may be behaving correctly, because dead keys are designed to wait for a second press before printing anything. Faults live in the difference between what you pressed and what the board reported, not in what the screen shows.
Once the board is behaving, use it on text that exposes repeats. Alfred Tennyson’s The Brook, published in 1855, runs 482 characters in which short verbs repeat in pairs, so a doubled or missing letter shows itself. William Blake’s Laughing Song, from the Songs of Innocence he issued in 1789, repeats the same line pattern across 350 characters. Walt Whitman’s There was a child went forth every day, printed in the first Leaves of Grass in 1855, is 225 characters, short enough to copy twice. All three are in the typing test with author, year and source.
Which of the four you have, and what to do about it
Replace or repair only for chatter. It is the single fault in the list that worsens, and it is the only one where a component has changed since the board left the factory. Try cleaning before buying a switch, because contamination causes a fair share of it.
Live with it for ghosting, blocking and the report ceiling. All three are the design of the board and the protocol working as built. A board that drops your third movement key was sold that way, and no setting recovers a diode that was never fitted.
Where to start: press every key once in the keyboard test and work through the list of positions that never lit. That separates a dead intersection from everything else in under a minute, and a dead intersection is the one result that needs no interpretation.
When a browser test cannot settle the question
- When the board runs through a KVM switch, a dock or an adapter. These combine reports on the way through and can change both rollover and timing without the keyboard being at fault.
- When the missing key is one the operating system keeps. The Windows key, Alt with Tab and Ctrl with Alt and Delete never reach the page. No response there does not mean broken.
- When you are counting doubles without a reference. Two chatter events in a hundred presses only means something once the same run on a healthy board gives zero.
- When the key produces nothing on purpose. Dead keys wait for a second press before printing, and a page that watches characters rather than key events reports every one of them as faulty.
FAQ
How many keys can a keyboard register at once?
Six regular keys plus modifiers under the USB HID boot protocol, which every board speaks without drivers. Shift, Ctrl, Alt and the operating system key travel in their own byte and do not count against the six. Boards advertising full rollover use a different report format to pass that ceiling.
Is ghosting the same as keys being ignored?
No, and the difference is the whole point. Ghosting prints a character nobody pressed; blocking silently drops one you did press. Genuine ghosting is now rare because isolating diodes are cheap, so almost everything people call ghosting today is blocking.
Why does my keyboard type double letters?
Most likely chatter: contacts that bounce for longer than the firmware waits, usually through wear or contamination. Cleaning settles a fair number of cases and costs nothing. Auto repeat from a held key looks similar and is not a fault; the browser flags those events, and our test throws them away before counting.
Does n-key rollover matter for typing?
Almost never. Ordinary text rarely holds more than a letter and a modifier at once, so six keys plus modifiers is far beyond what typing needs. Anyone counting keys because a game feels unresponsive is looking at the right limit; anyone counting them because of a missed character in a document is not.
Why did older PS/2 keyboards handle this better?
Because PS/2 sent each change of state as it happened rather than packing a fixed number of keys into a report, so full rollover came free. The six key ceiling is a property of the USB connection, not of keyboards in general, which is why legacy boards and adapters sometimes win on this one point.
