Keyboard Key Test

This workspace combines the visual keyboard with a detailed event sheet and a per-key counter. Press each key once and read exactly what the browser reports.

Mobile note: This tool needs a physical keyboard. Touch keyboards do not reliably provide the physical key codes this test needs; use an external keyboard for a meaningful check.
Key Detail
Ready

Recorded keys

Local
event.key Waiting
event.code Not recorded
modifiers None

Privacy: key events are processed only in this tab and are never transmitted. Counts clear on reset, reload, or when the window loses focus. If you allow analytics, only a coarse test-start/test-end signal is sent, never the keys you press.

About this test

Start with a simple baseline

Click a non-interactive area of this page, then press and release A, Shift+A, and Space separately. On a US English layout, the last key values are a, A, and Space. The code for the A position is displayed as KEYA; it does not change just because Shift changes the character.

Read the result, not just the diagram

The event sheet shows the last keydown received by this page. Codes are shown in uppercase. A position stays marked as tested after release; the active highlight only lasts while it is held. The diagram uses ANSI positions, so a key absent from the drawing can still appear in the per-key list.

Count presses consistently

In this Key Detail test, holding a key does not add its automatic repeat keydowns to the per-key count. Release and press again to add another count. This is a browser-event check, not a switch-latency or hardware certification test.

Understand a missing result

Fn, media controls, and shortcuts handled by your operating system or browser may not reach this page. An event with no code is also ignored by this tool. No result alone does not prove a broken key. Compare an ordinary letter with the suspect key, then retest in a text editor or another browser.

Keep a useful comparison

Record the browser, operating system, active keyboard layout, key tested, and observed result. Change one condition at a time. Use the rollover tool for simultaneous-key questions; one successfully detected key does not establish whole-keyboard rollover.

Reset between attempts

Reset clears the event sheet, counts, and highlights. Leaving the browser window also clears the test so a missed keyup cannot leave a stuck highlight. Note your result before switching windows, and start a fresh comparison when you return.

Run a useful comparison

Press and release an ordinary letter first, then repeat with the key you want to investigate. Compare the reported physical position and produced character separately. Change one condition at a time so a different result has an interpretable cause.

Browser event background: physical key codes and automatic repeat events. For a missing key, follow the step-by-step comparison procedure.

How these tools measure results and their limitations

What does event.key show for Space?

It displays "Space" as a readable label for the single space character reported by the browser.

Why is event.key blank for some keys?

A missing event, an empty physical code, or a system shortcut can leave the previous result unchanged. Test a normal letter first and consult the missing-keys guide before diagnosing hardware.

What is the difference between event.code and event.key?

event.code represents the physical key position, like KeyA, while event.key is the character produced, such as 'a' or 'A'. This distinction helps identify keys regardless of keyboard layout or modifier state.

Can this prove every simultaneous combination works?

No. It highlights the key events received in this attempt. Use the dedicated rollover test to compare specific combinations, and repeat them on the same setup.

Does this page show event.location?

No. This view shows key, code, modifiers, and per-key counts. Codes such as SHIFTLEFT and SHIFTRIGHT can help distinguish the two sides when the browser supplies them.