Published 15 August 2026 · Last updated 15 August 2026
The "n" is a stand-in for "any number". A keyboard with n-key rollover can have twenty keys held down and still register the twenty-first correctly. A 6KRO keyboard tops out at six ordinary keys plus modifiers, and a 2KRO keyboard runs out considerably sooner.
To see what your own setup does right now, the n-key rollover test counts how many simultaneous keys the browser registers and shows you exactly which ones made it through. Bear in mind that what a web page can see is the end of a long chain — more on that below.
NKRO is really two independent problems solved together: the keyboard must be able to sense arbitrary key combinations, and it must be able to describe them to the computer. A board can solve the first and still be limited by the second.
Part one: sensing — per-key diodes
Keys sit at the intersections of a wire grid, so that a hundred-odd switches need only a few dozen controller pins. The weakness of that design is that certain combinations of held keys let current sneak around through the pressed switches and arrive where a key that is not pressed would be. The controller cannot tell the two states apart.
Placing a diode in series with each switch, all oriented the same way, makes current one-directional and eliminates the sneak path. With a diode at every key, no combination can fake a keypress and no combination needs to be suppressed. That is the hardware prerequisite for NKRO, and it is why full-rollover boards cost slightly more to manufacture. The ghosting guide works through the matrix example in detail.
Diodes alone are not enough, though. Plenty of keyboards have per-key diodes and still report only six keys, because of the second problem.
Part two: describing — the report format
A USB keyboard does not send raw electrical state. It sends structured reports whose layout it declares to the host when it is plugged in. The layout determines what can be expressed at all.
The USB HID specification defines a deliberately simple boot protocol keyboard report so that a keyboard works in environments with only a minimal driver. That report is a small fixed-size structure, commonly described as one byte of modifier bits, one reserved byte, and six bytes each holding the code of one key that is currently down. Six slots, six keys — and if a seventh is pressed, there is nowhere to put it. Many keyboards signal the overflow condition; others simply drop it.
Full-rollover keyboards get around this by declaring a different report layout. The two approaches you will encounter are:
- A bitmap report. Instead of six slots holding key codes, the report contains one bit per key, and the bit is set whenever that key is down. A block of bits wide enough to cover every key on the keyboard describes any combination at once. This is the usual way full NKRO is implemented over USB.
- Multiple keyboard interfaces. The keyboard presents itself as several keyboard devices, each carrying its own six-key report, and spreads pressed keys across them. This raises the ceiling without changing the report format, and is sometimes used for compatibility reasons.
Older PS/2 keyboards had no such ceiling in the first place: PS/2 sends a stream of make and break codes rather than a fixed-size snapshot, so the number of keys held at once is limited by the matrix rather than by the protocol. That is the origin of the long-standing advice that PS/2 is "always NKRO" — accurate about the interface, though still dependent on the keyboard having the diodes to sense the combination.
Why boot environments fall back to six
A BIOS or UEFI setup screen, a bootloader, or an operating system installer runs before any full HID driver stack exists. These environments typically implement only the boot protocol, because it is small, predictable and guaranteed to be understood. In that mode a full-rollover keyboard behaves as a six-key keyboard.
This is why the classic symptom is "NKRO works in Windows but not in the BIOS", and why it is not a fault. The same effect can appear with:
| Situation | Why it happens |
|---|---|
| BIOS / UEFI / bootloader | Minimal driver that implements only the boot protocol report |
| KVM switches and some adapters | The switch re-presents the keyboard to the host with its own simplified descriptor |
| USB-to-PS/2 or PS/2-to-USB adapters | Passive adapters translate into whichever protocol the far side expects, often the simple one |
| Some Bluetooth and wireless dongles | The wireless layer may only carry a standard six-key report |
| The keyboard's own default mode | Many boards ship in six-key mode for maximum compatibility |
Why your keyboard may need a mode switch
Because the simple report is the one everything understands, manufacturers frequently default to it and put full rollover behind a toggle. Depending on the board, that toggle might be a key combination held for a few seconds (often involving Fn and N), a setting in the manufacturer's configuration software, a firmware option in open firmware such as QMK or VIA, or a hardware switch on the underside.
There is no universal shortcut, so check the manual for your specific model. If the board has onboard profiles, note that the rollover mode may be stored per profile. And if you use the keyboard through a KVM or a docking station, test in that exact configuration — full rollover confirmed on a direct port tells you nothing about the path through the dock.
Who actually needs NKRO?
Honestly, most people do not. Six ordinary keys plus every modifier is a lot of simultaneous input, and typing never comes close: even very fast typing rarely has more than two or three keys physically down at any instant.
NKRO earns its keep in a narrower set of cases:
- Rhythm and music games that expect many lanes held at once.
- Music and MIDI software that maps the keyboard to notes, where chords of six-plus notes are normal.
- Stenography layouts, which are built on pressing many keys as a single chord.
- Accessibility setups where a user holds several keys deliberately rather than using sequential shortcuts.
- Any one combination you personally rely on that a partial matrix blocks — in which case what you need is the diodes, not the report format.
For competitive gaming the honest answer is that six-key rollover is almost always sufficient, and that a board advertised with full anti-ghosting over the gaming cluster covers the same practical ground. Rollover has no effect on how quickly a key arrives; that is a separate question addressed by the keyboard latency test and explained in ghosting vs key rollover.
Testing NKRO in a browser, and reading the result honestly
A web page receives key events after the keyboard controller, the connection, the operating system's input stack and the browser have all processed them. When the rollover test reports that your browser registered nine simultaneous keys, that is a true statement about this browser on this machine — it is not a direct reading of the keyboard's hardware capability.
Two practical notes when testing. First, count modifiers separately: the modifier keys have their own bits in the standard report, so holding four modifiers and six letters is a 6KRO result, not a ten-key result. Second, some combinations are intercepted by the operating system or the browser before any page can see them, which looks identical to a rollover limit on screen.
What this cannot tell you
A browser test cannot inspect your keyboard's report descriptor, count its diodes, or distinguish a limit imposed by the keyboard from one imposed by a hub, a KVM, the wireless link, the operating system or the browser. It reports how many keys arrived as distinct events. See the measurement methodology for the full list of limits.
Frequently asked questions
Why does my NKRO keyboard only register six keys?
Most likely the keyboard is currently reporting through the standard six-key report rather than its full-rollover report. Many boards ship in that mode for maximum compatibility and need a key combination or a firmware setting to switch. Adapters, KVM switches, some USB hubs and some Bluetooth connections can also force the simpler mode.
Does NKRO reduce input latency?
No. Rollover describes how many keys can be reported at once, not how quickly any of them arrives. Switching a keyboard between six-key and full-rollover modes changes the shape of the report, not the scanning speed or the transmission timing in any way you would perceive.
Why does NKRO stop working in the BIOS?
Boot environments such as a BIOS or UEFI setup screen often use a minimal keyboard driver that understands only the simple boot protocol report, which carries a modifier bitfield and six regular key slots. In that mode the keyboard falls back to six-key behaviour until the operating system loads its own driver.
Do I actually need n-key rollover?
Most people do not. Typing and ordinary shortcuts never approach six simultaneous non-modifier keys. NKRO earns its place for rhythm games, music and MIDI software, stenography layouts, accessibility setups where several keys are held together, and any specific combination that a partial matrix blocks.