What it cannot determine
A browser cannot inspect switches, circuits, scan rates, firmware, USB descriptors, or every matrix path. The summary is not hardware certification and does not prove that a keyboard is healthy or defective.
Guided diagnostic session
Run a guided keyboard check to verify key detection, look for suspicious double inputs, test simultaneous key combinations, and review the results in one session.
Guided diagnostic
Step 1 of 5
Press the keys you want to verify. For a fuller check, work across the keyboard from left to right. You can continue without testing every key.
Swipe sideways to view the full keyboard.
One session, several observations
The guided workflow combines individual key detection, conservative duplicate-event screening, representative multi-key combinations, modifier positions, and the highest simultaneous count observed during the session.
A browser cannot inspect switches, circuits, scan rates, firmware, USB descriptors, or every matrix path. The summary is not hardware certification and does not prove that a keyboard is healthy or defective.
Use normal presses, complete the chatter sample without deliberately tapping at maximum speed, try every guided combination, and press left and right modifiers separately. Repeat unusual observations in another browser.
Keys you skip are reported as “not tested.” The tool never changes an untested input into a failure, and it does not require all 104 displayed positions before you can continue.
Operating-system shortcuts, browser controls, layout remapping, accessibility software, and focus changes can affect which events arrive. Meta/Windows keys are especially likely to be reserved.
Use the individual Chatter Test for a longer timing sample, Ghosting Test for more known combinations, NKRO Test for progressive simultaneous counts, or Stuck Key Test for live release behavior.
Key states, timing observations, combinations, and results stay in temporary React memory. They are not uploaded, logged, or written to local or session storage, and restart clears the entire session.