Funktionel test af tastaturer og tekniske hændelseskoder
Tastaturtest er et gratis onlineværktøj, der gør det muligt at teste den fysiske funktionalitet af et tastatur og inspicere de underliggende tekniske hændelseskoder, som hvert enkelt tastetryk genererer. Ved at trykke på tasterne et vilkårligt sted på siden kan man øjeblikkeligt se, om tasterne registrerer korrekt, se et visuelt layoutkort over de testede taster, spore taster, der holdes nede, og inspicere en detaljeret hændelseslog, som kan ryddes efter behov. Værktøjet hjælper med at skelne mellem normal hardwareadfærd — såsom systemets automatiske gentagelse af tegn — og faktiske hardwarefejl, herunder taster, der ikke reagerer, eller kontakter, der registrerer dobbelttryk.
Alle tastetryk behandles lokalt og læses udelukkende af den aktive webside for at udfylde hændelsesdetaljerne og loggen på siden. Ingen data gemmes eller uploades til eksterne servere, og hvis man sletter loggen eller lukker siden, slettes al aktivitet permanent.
Grænsefladens inputmetoder
Værktøjet modtager input via fire forskellige metoder for at sikre en dækkende test af alle typer hardware og layout:
- Fysiske tastetryk: Registreres automatisk fra et hvilket som helst tilsluttet tastatur, når der trykkes på tasterne et vilkårligt sted på websiden.
- Fokuseret tastaturregistrering: Aktiveres ved at klikke direkte på det visuelle tastaturkort på skærmen. Dette gør det muligt at fange taster som Space, Tab og funktionstaster uden at udløse deres normale browserhandlinger. Denne tilstand afsluttes igen ved at trykke på Esc-tasten.
- Input på skærmtastatur: Tekst, der indtastes i det dedikerede mobile indtastningsfelt, hvilket bruges til at teste virtuelle tastaturer eller skærmtastaturer på mobile enheder.
- Rydning af log: En manuel knap til at slette den registrerede hændelseshistorik.
Output og visuelle data
Når en tast aktiveres, leverer værktøjet en række realtidsdata fordelt på flere sektioner i grænsefladen:
Seneste tasthændelse
Denne sektion viser de specifikke egenskaber for det seneste tastetryk:
- Tast (viser den dynamiske værdi af tasten).
- Kode (viser den fysiske placering).
- Forældet keyCode (viser den ældre numeriske værdi).
- Placering (viser enten "Standardlayout", "Venstre", "Højre" eller "Numerisk tastatur").
- Modifikatorer (viser "Ingen" eller de aktive modifikatorer: "Shift", "Ctrl", "Alt", "Meta", "Caps Lock").
- En visuel indikator for hændelsestype ("Ned" eller "Op") samt et badge med teksten "Gentag ×
{count}", som tæller automatiske gentagelseshændelser, når en tast holdes nede.
Tastaturkort og statistikker
Det visuelle kort følger et ANSI-tastatur i fuld størrelse og fremhæver tasterne baseret på deres aktuelle status:
- Nede: Taster, der holdes nede i det pågældende øjeblik.
- Testet: Taster, der har været trykket på under den aktuelle session.
Sektionen for statistikker sporer løbende tre værdier:
- Testede taster (antallet af unikke taster, der har været aktiveret).
- Antal tryk i alt (det samlede antal registrerede tryk).
- Holdes nede nu (antallet af taster, der aktuelt trykkes ned).
Hændelseslog
Under overskriften "Hændelseslog" (eller meddelelsen "Ingen tasthændelser endnu — tryk på en vilkårlig tast." hvis loggen er tom) findes en tabel over historikken med følgende kolonner:
- Tid
- Hændelse (viser "Ned" eller "Op")
- Tast
- Kode
- Modifikatorer
Automatiske gentagelseshændelser fra en tast, der holdes nede, tælles på den seneste hændelses badge, men tilføjes ikke som nye linjer i hændelsesloggen.
Tekniske forskelle på Key, Code og forældede værdier
I moderne webudvikling og browser-API'er er det afgørende at forstå forskellen på de værdier, som et tastetryk genererer. Tidligere var webapplikationer afhængige af den nu forældede egenskab keyCode, som returnerede en numerisk kode for den tast, der blev trykket på. Denne metode var upålidelig på tværs af forskellige browsere, operativsystemer og sproglayouts.
Moderne browsere anvender i stedet de standardiserede egenskaber KeyboardEvent.key og KeyboardEvent.code:
| Egenskab | Beskrivelse | Eksempel (Dansk layout) | Eksempel (US layout) |
|---|---|---|---|
Tast (key) |
Den dynamiske tegnværdi, som bestemmes af det aktive sproglayout og modifikatorer. | "å" eller "Å" | "[" eller "{" |
Kode (code) |
Den statiske fysiske placering af tasten på tastaturet, uafhængigt af sprogindstillinger. | "BracketLeft" | "BracketLeft" |
Dette betyder, at hvis en bruger skifter sproglayout i sit operativsystem, vil den fysiske tast til højre for "P" rapportere forskellige key-værdier, mens dens code forbliver den samme. Dette er årsagen til, at spil og komplekse webapplikationer primært benytter code til styring og genveje, da det sikrer en ensartet fysisk placering af funktionerne uanset brugerens sprogindstillinger.
Regler, begrænsninger og hardwarefejl
Når man tester et tastatur, er der flere tekniske forhold og begrænsninger i browsere, man skal være opmærksom på:
Browser- og systemgenveje
Visse tastekombinationer er reserveret af operativsystemet eller browseren selv. Genveje til at lukke faner, skifte mellem vinduer, aktivere fuld skærm eller åbne systemsøgning opsnappes af systemet, før de når frem til websiden. Disse kombinationer kan derfor ikke registreres direkte i værktøjet, og tasterne skal i stedet testes enkeltvis for at bekræfte deres mekaniske funktion.
Begrænsninger i det visuelle layoutkort
Det visuelle kort på skærmen er fastlåst til et ANSI-layout i fuld størrelse. Taster, som ikke findes på dette specifikke kort — herunder ISO-specifikke taster (som den danske returtast eller tasten til venstre for "Z"), Fn-lag på bærbare computere samt dedikerede medietaster — vil ikke lyse op på kortet. De vil dog stadig registreres korrekt og blive vist med fulde data i sektionen for den seneste hændelse samt i hændelsesloggen.
Diagnosticering af hardwarefejl
Værktøjet gør det nemt at identificere to af de mest almindelige mekaniske problemer med tastaturer:
- Key Chattering (Dobbelttryk): Hvis en enkelt fysisk aktivering af en tast resulterer i flere hurtige "Ned"- og "Op"-hændelser i loggen, er tastens kontakt slidt eller snavset, hvilket får den til at registrere utilsigtede dobbelttryk.
- Key Ghosting (Manglende registrering): Hvis bestemte taster fungerer fint enkeltvis, men holder op med at registrere, når tre eller flere taster trykkes ned samtidigt, er tastaturets interne kredsløb begrænset, hvilket forhindrer det i at sende flere samtidige signaler.
Ofte stillede spørgsmål
Hvad er forskellen på værdierne for key og code?
Værdien for key er det tegn eller den handling, som tastetrykket producerer lige nu — den ændrer sig med dit layout og dine modifikatorer, så den samme fysiske tast rapporterer "a" eller "A", eller et helt andet bogstav på et andet sproglayout. Værdien for code navngiver den fysiske position (KeyA, ShiftLeft, Space) og ændrer sig aldrig, hvilket er grunden til, at spil og apps knytter deres genveje til code.
Hvorfor viser min telefons tastatur "Unidentified"?
Skærmtastaturer — især på Android — sender ofte generiske hændelser uden reelle key-værdier, og siden kan kun vise, hvad browseren rapporterer. Åbn tjekket af skærmtastatur under layoutet for at se, hvad dit tastatur rent faktisk sender; et eksternt tastatur eller et tastatur på en bærbar computer rapporterer fulde detaljer.
En tast aktiveres igen og igen, når jeg holder den nede — er den defekt?
Nej. Når du holder en tast nede, sender systemet gentagne trykhændelser, som her vises med et Repeat-badge og en tæller — det er normal automatisk gentagelse. De reelle advarselstegn er det modsatte mønster: flere hændelser fra et enkelt hurtigt tryk, eller et tryk, der slet ingen hændelser producerer, hvilket tyder på en slidt eller fastklemt kontakt.
Hvorfor vises visse tastaturgenveje ikke?
Genveje, der er reserveret af browseren eller operativsystemet — såsom at lukke eller skifte faner og apps, fuld skærm, systemsøgning — opfanges, før siden kan se dem, så de dukker aldrig op her. Den stilhed er normal og skyldes ikke en død tast: test de samme taster én ad gangen, og så vil hver enkelt registreres for sig selv.