Keyboard Debugger
Press any keys and see what the browser actually reports: the key value (layout-dependent) alongside the physical code (not), for as many keys as you hold at once. The distinction is what decides whether a shortcut survives on someone else's keyboard layout. Modifier and navigation keys render as proper glyphs. Runs fully client-side. Imported Claude artifact. Source: https://github.com/simonw/tools (keyboard-debug.html, Apache-2.0).
Name your fork
This clones the app's prompt and source into your account as a new unlisted app. You can edit and publish it from your dashboard.
Details
View source prompt + release files — fork-enabled apps share their full source
System prompt (SKILL.md)
---
name: keyboard-debugger
description: Press any keys and see exactly what the browser reports - key value and physical code - including several held at once.
metadata:
tags:
- artifact-import
- dev-tools
source_url: https://tools.simonwillison.net/keyboard-debug
github_repo_url: https://github.com/simonw/tools
---
# Keyboard Debugger
An imported Claude artifact. Press keys and each one appears with what the
browser actually reports for it: the `key` value (what the keystroke produces,
which changes with layout and modifiers) and the `code` (which physical key was
pressed, which does not). Hold several at once and they all show.
That distinction is the reason the tool exists. Wiring a shortcut to `key` and
testing only on your own keyboard is how a binding ends up unreachable on
another layout, and seeing both values side by side for a real keypress settles
which one you should be matching on. Modifier and navigation keys render as
their proper glyphs rather than word soup.
A blur listener clears the display when the window loses focus, so keys held
during an alt-tab do not stay stuck on screen.
Everything runs in the page. Nothing is uploaded, no model is called, and
nothing is metered.
Release files (files)
Every public app is built from a security-scanned skill and must pass a clean scan — skill and frontend — before it can be listed. Have a skill of your own? Turn it into an app — or read the step-by-step walkthrough.