Select a gaming mode
Choose FPS Movement, Gaming Combo or Key Event Timing. Start focuses the physical-key capture area. Switching modes or Reset clears the session, held keys and statistics.
Explore FPS controls, confirmed gaming combinations, and carefully named browser timing measurements.
Physical keyboard required. This is browser scheduling timing, not keyboard hardware latency. No game performance score or polling-rate estimate is generated.
Start → physically hold all expected keys together → Finish → confirm. Either Shift or Ctrl side is accepted.
Tap the selected key repeatedly. Non-repeat keydowns create inter-key samples. The optional next RAF timestamp minus handler start measures scheduling only; it is not actual display presentation. Fewer than five frame samples show N/A.
Click Start, then use WASD. Shift simulates sprint, Ctrl shows crouch, and Space shows jump. Opposite directions cancel only in this local simulation.
Diagonals are normalized. This simulation does not determine your keyboard’s SOCD behavior. Use the SOCD Test for opposing-direction evidence.
Movement animation is disabled by your reduced-motion preference. Input observations still work.
No formal result yet.
Currently browser-held: None
Duration starts with the first valid down. Each sample uses this page’s monotonic clock. Intervals describe finger actions and browser arrivals; they do not measure a keyboard’s true response speed.
No opposing-direction transition yet.
Samples retain at most 200 values per statistic. These are browser-observed intervals, not a hardware consistency score.
N/A · enable this option in Key Event Timing mode.
The RAF callback is not proof that pixels were displayed. Negative, hidden, interrupted and cancelled pending values are excluded. Displayed decimal places do not imply timer resolution.
0 repeat events · repeats do not count as valid presses or inter-key samples.
D = down, U = up, R = auto-repeat. The axis is received event order, not time spacing or physical press order. Relative times appear in the list. Filters affect the timeline and list; the physical key filter applies to destination keys in interval statistics.
No matching events yet.
| Sequence | Physical Code | Type | Relative Time | Browser Held After Event |
|---|
The list shows up to 300 retained events; session totals can exceed this bounded window.
Latest 16 complete down/up pairs. Incomplete holds are marked Interrupted with no invented release time or duration.
| Key | Hold Duration | Release Time | Status |
|---|
At least two actual samples are needed to show a distribution.
Tap Space repeatedly for selected-key consistency samples.
Physical keyboard required. Do not type passwords or sensitive information. Events stay in page memory. Fn, media keys, and OS-reserved shortcuts may not reach your browser.
Choose FPS Movement, Gaming Combo or Key Event Timing. Start focuses the physical-key capture area. Switching modes or Reset clears the session, held keys and statistics.
Use WASD with Shift, Ctrl and Space for the local simulation. For combinations, hold the expected keys together and confirm after Finish. For timing, tap the selected physical key with distinct releases.
Review complete holds, inter-key and transition intervals, repeat behavior and optional event-to-frame callback delays. Filter the bounded event timeline and distributions. Export local reports; do not interpret these timings as hardware latency or polling rate.
FPS Movement uses requestAnimationFrame and elapsed delta time, clamps the player to the arena and normalizes diagonal vectors. Opposite directions cancel only in this local simulation. Shift changes simulated speed; Ctrl and Space show crouch and jump state. This is not any game’s movement physics or a SOCD diagnosis.
Gaming Combo uses the largest actually observed matching simultaneous set, never a union of separate presses. Missing Observed Inputs is withheld until you confirm physically holding all expected keys together. Interrupted or unconfirmed trials produce no official missing-input result; confirmed missing input is not proof of a broken keyboard.
Observed Key Hold Duration requires a valid down followed by up. Focus loss or finishing with a key still down creates an Interrupted hold with no fabricated release time. KeyDown-to-KeyDown and opposite-direction transition intervals describe arrival gaps affected by human finger movement. Same-Key KeyUp-to-Next-KeyDown intervals use that key’s last valid release.
Browser Event-to-Frame Callback Delay is the next RAF callback timestamp minus the keydown handler’s performance.now() reading. This measures browser scheduling, not physical keyboard latency, display latency or actual pixel presentation. Negative, hidden, interrupted and pending-cancelled values are excluded; at least five valid frame samples are needed for statistics.
Median, nearest-rank P95, minimum and maximum summarize only retained valid samples. Events retain the latest 300 entries, and holds/intervals retain up to 200 samples each. Total session counts can exceed the retained window. Timer quantization and OS-reserved shortcuts limit observations. Compare only similar device, browser and test conditions; there is no hardware stability or gaming performance score.
Select FPS Movement, Start, then press physical W/A/S/D. Shift changes local speed, Ctrl shows crouch and Space shows jump. Diagonals have the same base speed as one direction; opposites cancel in the simulation only.
Yes. Choose a guided gaming combination, Start, hold all expected keys together, release them and Finish. Confirm your physical action to receive a simultaneous-detection and missing-observation result. Either Shift or Ctrl side is accepted.
This tool measures browser event arrivals, complete key holds and optional RAF scheduling delay. It cannot measure physical actuation-to-pixel latency, raw USB transfer, display presentation or end-to-end hardware response.
No. General browser key events and RAF callbacks cannot verify hardware polling rates such as 125, 500, 1000, 4000 or 8000 Hz. Human tap intervals are not a polling-rate estimate.
Firmware, rollover limits, OS shortcuts, browser interception or incomplete physical actions may affect observations. A missing event alone does not establish a broken key. Use a confirmed combination attempt and compare other browsers or physical devices.