Mouse & keyboard diagnostic

Keyboard Ghosting Test

See which simultaneous key presses are received by your browser.

Start to focus the test area, then hold combinations on a physical keyboard. Only events reaching this area are shown. Tab leaves the area; Escape stops capture. System shortcuts stay available.

A touchscreen or on-screen keyboard cannot test physical key rollover. On mobile, connect a physical keyboard; the visualization remains a reference only until key events arrive.

Test area not capturing. No keys held.

Highest simultaneous count observed this session: 0

Currently pressed keys say “Held”. Labels use reference positions (KeyboardEvent.code), not your detected language/layout.

Recently detected (not currently held)

No keys detected yet.

How to use this test

  1. Use a physical keyboard and choose Start keyboard test to focus the area.
  2. Hold a familiar combination, including modifiers if useful. Look at Held labels and the simultaneous live list; repeated keydowns do not add extra keys.
  3. Release the keys, or leave with Tab/Escape. Recent detections are separate from currently held keys; Reset clears the session.

What the result means

Focus the area and hold a familiar combination, such as Shift with several letters. Held labels and the live list show which key positions reach the browser simultaneously; recent detections remain explicitly separate. Keyboard ghosting refers to unintended key registrations, while blocking means a combination’s real key fails to register. Key rollover describes simultaneous registration; N-key rollover is the ability to report arbitrary combinations within a device’s capabilities.

Know the limitations

Keyboard matrix design and firmware can limit combinations. OS/browser shortcuts may intercept keys; browser events cannot reveal a key that never arrives or certify exact NKRO. Reference labels use physical-position codes rather than detecting your language or keyboard layout. Tab remains navigation and Escape ends capture. State clears when focus/visibility is lost; the highest observed count is a session observation, not a device rating. Use a physical keyboard, including an attached one on mobile.

If a key combination does not appear

Keep the test area focused and try the same positions individually, then together. Hardware matrix/firmware limits or OS/browser shortcuts can suppress events. A missing event cannot be inferred by the page. Reference labels may differ from your language layout, and the largest observed count does not certify N-key rollover.

Common questions

Does the highest observed key count certify N-key rollover?

No. It shows only the largest combination this browser session received. Hardware, firmware, OS shortcuts, and browser handling all affect which events arrive.

Why are some labels different from the characters I type?

The visualization uses KeyboardEvent.code reference positions, with familiar US-style legends. Different layouts can produce different characters at those positions. Any exposed code still appears in the held/recent lists.