Keycode tester

Druk op een willekeurige toets en zie precies wat de browser in zijn toetsenbordgebeurtenis meldt: de key-waarde, de fysieke code, de oude keyCode, de locatie, ingedrukte modifiers, vergrendeltoetsen en de herhaalvlag. Handig voor webontwikkeling, het toewijzen van toetsen en het herkennen van een onbekende toets.

Druk op een toets. Start de volledige opname om ook Tab, spatie, F-toetsen en sneltoetsen te bekijken (twee keer Esc of Stoppen om te stoppen).

—
event.key
—
event.code
—
event.keyCode
—
event.location
—
Modificatietoetsen
—
Lock-toetsen aan
—
event.repeat
—

event.keyCode en event.which zijn verouderd maar worden nog door browsers gemeld; gebruik event.code voor fysieke toetsen en event.key voor het teken dat wordt gemaakt.

Gebeurtenissenlog (laatste 80)
typekeycodekeyCodelocationrepeatModificatietoetsen

Zo gebruik je de keycode tester

  1. Druk op een toets. Het grote vak toont de key-waarde en de velden ernaast tonen event.key, event.code, event.keyCode, event.location, ingedrukte modifiers, ingeschakelde vergrendeltoetsen en event.repeat.
  2. Druk op Volledige opname starten om ook toetsen te bekijken die de browser normaal zelf gebruikt, zoals Tab, spatie, de F-toetsen en veel sneltoetsen. Druk twee keer snel op Esc, of op Stop, om te stoppen.
  3. Open het gebeurtenissenlog om de laatste 80 keydown- en keyup-gebeurtenissen op volgorde te zien, bijvoorbeeld om een toetscombinatie te controleren.
  4. Druk op Laatste gebeurtenis kopiëren (JSON) om de waarden in een bugmelding of code te plakken. Log wissen maakt de lijst leeg.

Wat elke waarde betekent

  • key: het teken of de toetsnaam die ontstaat na indeling en modifiers. Shift+2 geeft "@" op een Amerikaanse indeling en '"' op een Britse.
  • code: de fysieke toets, genoemd naar zijn positie op een Amerikaans QWERTY-toetsenbord. Op een Belgisch of Frans AZERTY-toetsenbord meldt de toets met het label A KeyQ. Gebruik deze waarde voor gamebesturing en sneltoetsen die aan een positie gebonden zijn.
  • keyCode (en which in de JSON): oude getallen die verouderd zijn maar nog steeds worden gemeld. Ze verschillen per indeling en browser; gebruik in nieuwe code liever key of code.
  • location: 0 standaard, 1 links, 2 rechts, 3 numpad. Zo onderscheid je linker en rechter Shift, Ctrl, Alt en Meta, en numpadtoetsen van de cijferrij.
  • Modifiers en vergrendeltoetsen: Control, Shift, Alt en Meta die tijdens het event ingedrukt waren, en of Caps Lock, Num Lock of Scroll Lock aan staat, zoals gemeld door getModifierState().
  • repeat: ja voor automatisch herhaalde events terwijl een toets vastgehouden wordt.

Veelvoorkomende verrassingen

  • Dead: accenttoetsen op veel internationale indelingen geven pas een teken na de volgende toets, dus key is Dead.
  • Process of keyCode 229: een invoermethode (bijvoorbeeld voor Chinees of Japans, of sommige telefoontoetsenborden) stelt tekst samen en de echte toets is verborgen.
  • AltGr komt onder Windows meestal binnen als Control plus Alt, dus je ziet mogelijk twee events en beide modifiers.
  • Command-toets op de Mac: zolang Command ingedrukt is, meldt de browser het loslaten van andere toetsen niet.
  • Lege code of Unidentified: het toetsenbord, het stuurprogramma of de externe sessie gaf geen fysieke toets door. De Fn-toets verschijnt nooit, omdat hij in het toetsenbord zelf wordt afgehandeld.

Beperkingen

De pagina toont wat de browser beschikbaar maakt, nadat het besturingssysteem en de toetsenbordindeling de toets hebben verwerkt. Ze kan geen ruwe scancodes of USB-HID-gegevens tonen, ziet geen toetsen die het besturingssysteem eerst oppakt (zoals Ctrl+Alt+Del) en verandert of herprogrammeert geen toetsen. Ze meet ook geen toetsenbordvertraging of polling rate. Wil je controleren of elke toets van een toetsenbord werkt, gebruik dan de keyboard test; voor meerdere toetsen tegelijk de anti ghosting test.

Vragen

Wat is het verschil tussen key en code?

code benoemt de fysieke positie van de toets en blijft gelijk, welke indeling je ook gebruikt. key is wat die aanslag oplevert met de huidige indeling en modifiers, bijvoorbeeld a, A of @.

Kan ik keyCode nog veilig gebruiken?

Browsers melden het nog, maar het is verouderd en inconsistent tussen indelingen en browsers. Gebruik event.key voor tekens en event.code voor fysieke posities.

Wordt wat ik typ ergens naartoe gestuurd?

Nee. Events worden alleen op deze pagina getoond en verdwijnen wanneer je het tabblad sluit. Als je de JSON kopieert, komt die alleen op je eigen klembord.

Verwante tests

Handleidingen