Keyboard Test
English

Keyboard Ghosting Test

Hold several keys at once and see exactly which ones the browser receives. Find the combinations that drop out, and learn whether your keyboard offers 6-key or N-key rollover.

Held now0
Max at once0
Verdict–
Press and hold several keys at once. Every key the browser receives appears here; compare the count with the number of fingers you have down.

To test for keyboard ghosting, hold several keys at once and compare the number that register with the number of fingers you have down. Every key the browser receives shows up as a tag in the box below, so a missing key means the keyboard dropped it. The verdict line reads N-key rollover at 10 or more keys at once, 6-key rollover or better at 6 to 9, and Limited rollover below that.

How to use the keyboard ghosting test

  1. Click anywhere on the page so it receives key events.
  2. Press and hold a group of keys. Start with the ones you actually rely on: W, A, S, D with Shift and Space for games, or Ctrl, Shift and a letter for shortcuts.
  3. Watch the box. Each held key appears as a tag with its code, such as KeyW or ShiftLeft, and Held now shows the count. Compare that count with your fingers.
  4. Add keys one at a time until the count stops rising. Max at once keeps the highest number seen, and the Largest chord line lists exactly which keys made it.
  5. Release everything. The chord you just made is added to the recent list under the box, newest first, up to eight entries, so you can review which combinations worked.

Press Reset to clear the counters and the list. Keys pressed with Ctrl or Cmd held are passed through to the browser as shortcuts, so avoid combinations like Ctrl+W during the test. On macOS, releasing Cmd clears the whole chord, because the system does not send release events for other keys while Cmd is down.

The test only shows keys that arrived. A keyboard that silently drops the fourth key in a chord will show three tags and a count of 3 while you have four fingers down. That gap is the result.

What is keyboard ghosting?

Ghosting is a side effect of how almost every keyboard is wired. Instead of running one wire per key, the controller arranges the switches in a grid of rows and columns and scans it: it powers one column at a time and reads which rows respond. A key press connects its row to its column. For a 104-key board that means around 20 wires instead of 104.

The problem appears when three keys that form three corners of a rectangle in that grid are pressed together. Current flows from the powered column, through the first key to its row, along the row through the second key to a different column, and then through the third key back to a row the controller is reading. From the controller's point of view the fourth corner of the rectangle looks pressed too. That phantom key is the ghost.

The rectangle is defined by the matrix layout, not by where the keys sit on the keycap grid, so you cannot predict ghosting combinations by looking at the keyboard. Two keys that are side by side may be in different rows internally, and two keys far apart may share one. That is why the practical test is to hold the specific combinations you care about.

Ghosting, blocking and anti-ghosting

Most keyboards do not actually type a ghost character. Their firmware detects the rectangle condition and refuses to report any new key until one of the three is released. That is called blocking, and it is the usual reason a key "does not work" while two others are held. From the user's side, ghosting and blocking feel the same: one key is missing.

TermWhat happens when you press a risky combinationWhy
GhostingAn extra key you did not press is reportedThree keys on a rectangle in the matrix complete a path to a fourth
BlockingThe third or fourth key is ignoredFirmware detects the rectangle and drops the key rather than risk a ghost
Anti-ghostingSpecific combinations always registerThe matrix is laid out, or diodes added, so the common gaming clusters never form a rectangle
N-key rolloverEvery key registers regardless of combinationA diode on every switch stops current flowing backwards through other keys

Anti-ghosting is a marketing term with no fixed definition. It usually means the manufacturer has protected a cluster, typically the letters around WASD, the arrows, Shift, Ctrl and Space. Keys outside that cluster can still block. A keyboard sold as "26-key anti-ghosting" is saying that a particular set of 26 keys is safe together, not that any 26 keys are.

Why diodes fix it

The ghost path depends on current flowing backwards through a pressed key, from its row into its column. A diode in series with each switch only lets current flow one way, so the sneak path is cut. With a diode on every switch, each key can be read independently no matter how many others are down, and the keyboard can offer true N-key rollover.

Click three keys that form three corners of a rectangle, for example Q, W and A.

You pressed
0
Keyboard reports
0
Each key sits where a row wire crosses a column wire. The controller finds pressed keys by powering one row at a time and reading the columns.

Diodes cost a few cents each but have to be placed and soldered for every key, which is why cheap membrane keyboards skip them and why NKRO used to be a feature of expensive mechanical boards. Many mid-range mechanical keyboards now include them. Laptop keyboards typically do not, which is why laptop keyboards tend to block at three or four keys outside the protected cluster.

Key rollover: 2KRO, 6KRO and NKRO

Rollover is the number of keys a keyboard can register at once. The common figures:

  • 2KRO. Any two keys work together; a third may be blocked depending on the combination. Common on basic membrane keyboards. Typing is unaffected, but a game that needs forward, strafe and jump together will drop one.
  • 6KRO. Up to six ordinary keys plus modifiers register at once. This is the ceiling of the basic USB keyboard protocol, and the format every operating system supports without a driver. It is enough for almost everyone, including fast typists whose fingers overlap during a roll.
  • NKRO. No limit. Every key registers no matter what else is held. Needs per-key diodes and a USB report format that lists every key as a bit instead of a six-slot list.

The verdict line on this test maps to those figures: 10 or more keys at once is reported as N-key rollover, because no 6KRO keyboard can get there; 6 to 9 is 6-key rollover or better; and fewer than 6 is limited rollover. Reaching 6 does not prove the keyboard is capped at 6. Keep adding keys until the count stops rising, and if it stops at exactly 6 ordinary keys while you are pressing more, you have found the USB limit.

Why USB keyboards stop at 6 keys

The USB specification defines a basic keyboard report called the boot protocol so that a keyboard works in the BIOS and during startup before any driver loads. That report is 8 bytes: one byte with a bit for each of the eight modifiers (left and right Shift, Ctrl, Alt and the Windows or Cmd key), one reserved byte, and six bytes each holding the code of one pressed key. There is simply no room for a seventh non-modifier key.

NKRO keyboards work around this by sending a different report in which each key has its own bit, or by sending multiple reports. That works on every modern operating system, but some keyboards default to the boot format for compatibility and only switch to NKRO when you toggle it, often with a key combination listed in the manual or a setting in the vendor's software. Bluetooth keyboards generally use the six-slot format too, so a wireless keyboard that advertises NKRO may only deliver it over the cable.

The modifier byte explains an important detail: Shift, Ctrl, Alt and the Windows or Cmd key do not use up any of the six slots. You can hold all eight modifiers and six letters on a plain 6KRO keyboard. This test counts modifiers in the Held now figure because the browser reports them like any other key, so expect a count of up to 14 from a 6KRO keyboard when modifiers are included.

What the results mean for you

  • Typing. Even fast typists rarely have more than three keys physically down at once. 2KRO blocking during typing is uncommon but can appear in rolls like "str" or "the" on a poor matrix. If you see dropped letters while typing, test those exact letters here.
  • Games. Movement plus sprint plus jump plus an ability key is five or six keys. Test your actual binds. A keyboard that blocks one of them is the cause of "my character stopped moving when I pressed R".
  • Shortcuts. Ctrl, Shift, Alt and a letter are always safe on USB keyboards because modifiers travel separately. The test will show them, but they are not the combinations that fail.
  • Rhythm games and emulators. These are the cases where genuine NKRO pays off, because they can require ten keys down at once.

If a combination you need drops a key, there is no fix at the software level. The matrix is physical. The options are to rebind the dropped action to a key outside the rectangle, or to use a keyboard with per-key diodes.

Related keyboard tests

The keyboard test on the home page checks that each key registers on its own and shows a Max at once counter, but this page is the place to work out which combinations fail. If a key seems slow rather than missing, the keyboard latency test measures response time so you can compare keyboards. And if you are not sure which physical key a tag such as IntlBackslash or MetaRight refers to, press it on what key am I pressing to see the key name, code and location together. Mac users should note the Cmd behaviour described above and can run the Mac keyboard test for the full Mac layout.

Frequently asked questions

How do I test my keyboard for ghosting?

Click on this page, then press and hold several keys at the same time. Every key the browser receives appears as a tag in the box, and Held now shows the count. If the count is lower than the number of fingers you have down, a key is being dropped. Try the combinations you actually use, such as W, A, Shift and Space, because ghosting depends on which keys share a row or column.

What is keyboard ghosting?

Ghosting is when the keyboard reports a key you did not press, or fails to report one you did, because several pressed keys share rows and columns in its internal matrix. Three keys pressed at the corners of a rectangle in the matrix make the fourth corner look pressed too. Most keyboards avoid the phantom key by blocking the combination instead, so what you notice in practice is a missing key rather than an extra one.

What does anti-ghosting mean?

Anti-ghosting means the keyboard is designed so that specific combinations, usually the ones gamers hold together, always register correctly. It does not promise that every combination works. A keyboard advertised as anti-ghosting can still drop keys outside the protected cluster, which is why testing your own combinations matters more than reading the box.

What is N-key rollover?

N-key rollover, or NKRO, means every key registers no matter how many are held at once. It requires a diode on every switch so the controller can read each key independently. 6-key rollover means up to six ordinary keys plus modifiers register at the same time, which is the limit of the basic USB keyboard protocol and more than enough for typing.

Why does the test stop at 6 keys even on a keyboard that claims NKRO?

Many keyboards run in a compatibility mode that reports at most six keys, and some only switch to full NKRO after you toggle it with a key combination or a setting in the vendor's software. Bluetooth keyboards are commonly limited to six as well. If your keyboard advertises NKRO and tops out at six here, look for that toggle in the manual.

Do Shift, Ctrl and Alt count toward the rollover limit?

On a standard USB keyboard, no. Modifiers are sent in a separate part of the report, so the six-key limit applies to ordinary keys on top of any modifiers held. This test counts modifiers in Held now because the browser reports them like any other key, so a chord of Shift, Ctrl and six letters shows as eight.

Can a browser see keys the keyboard dropped?

No. A key the keyboard never sent is invisible to the operating system and to the page. The test shows what did arrive; you supply the comparison by counting the fingers you have down. The Largest chord line and the recent chord list make that comparison easy because they name every key that registered.

More keyboard tests

Each test below checks one part of your keyboard in more detail.