How to use this tool
- Run the tool or load the example, then choose Start capture. Keep focus in the marked test area.
- Press and release keys. Observe held keys, previously seen positions and the last event; scroll the reference diagram on a narrow screen.
- Choose Stop capture or press Esc. Download the event report if needed, or Reset to clear the working history.
Check the built-in example
The example prepares the interface without inventing key presses. In the documented sequence, Start capture receives a lowercase a at physical code KeyA. Releasing it produces a keyup after the keydown. Stop capture with the button, then save the report: it contains one observed position, KeyA, and those two events. The A position remains marked as seen while no key is held. Another keyboard layout may report a different character for a physical position.
Processing method
The focused area listens for browser keydown and keyup events. Physical code identifies a reference position, while key contains the character or named key supplied by the layout. The linked API explains that distinction. Held positions are tracked separately from all positions seen during the session. Repeat events do not create a second held position. The report retains the latest 200 events and lists the observed codes. The diagram groups common US-style letter, function, navigation and numeric-keypad codes; it does not detect the connected device or its actual printed layout.
Reference: MDN: KeyboardEvent.code and physical key positions
What the result leaves out
This shows browser events rather than certifying electrical keyboard behavior. Fn and firmware-only controls may generate no event. System shortcuts, browser commands, input methods and virtual keyboards can intercept or alter input. An unmarked key therefore does not establish a hardware failure. No pass/fail result, rollover rating, latency measurement or chatter diagnosis is produced. Tab is captured while the test area is active; Esc ends capture. Losing focus also stops capture and clears held highlights. Browser back and forward commands are not deliberately blocked. Clicking a drawn keycap does not count as a physical key press.
Checking local processing
Capture begins after your Start action and applies only to the focused test area. The page does not collect keys typed elsewhere. Event values stay in memory and are not uploaded. A saved JSON file contains the keys you chose to record, so retain it only as intended. Reset removes the current history and controls; a previously downloaded report remains on your device. No account, keyboard identifier or persistent key history is created.
Common questions
Why does a letter highlight a different diagram label?
The reference uses physical US code positions. Your active layout supplies the actual character shown in the event record.
Does an unmarked Fn key mean it is broken?
No. Some firmware and system controls never reach the browser as ordinary key events.
Can clicking the key diagram test my keyboard?
No. Only received keyboard events are recorded; the drawing is a reference.