Keyboard Chatter Test

Choose a key and complete repeated press-and-release cycles to flag intervals below a threshold and review the suspected chatter rate and stability.

Test settings and live samples

For example KeyA, Space, or ShiftLeft. Tab is not supported.

Use 5–100 ms; the default is 10 ms.

Press and release the target key here Only the target key is counted; automatic repeats are excluded. Tab remains available to leave the capture area.
Complete presses
0
Comparable gaps
0
Suspected gaps
0
Recent gap
Suggested sample progress0 / 20 complete presses

Current phaseNot started

Set the target key and threshold, then select Start new round.
Result overviewWaiting for a test
Suspected chatter rateSet the target key and threshold, then select Start new round.
Complete presses
Suspected gaps
Shortest gap

The result describes event gaps received by the browser and is not a hardware-fault diagnosis.

Press gaps and consistency

Adjacent complete-press gaps

At or above thresholdSuspected gap below threshold
Threshold —

After at least two complete presses, show each release-to-next-press gap against the current threshold.

Learn more

Method, formula, and result definition

Adjacent gap Δt = next keydown time − previous keyup time. When Δt < threshold T, the gap is suspected; suspected rate = suspected gaps ÷ comparable gaps × 100%. The first complete press has no preceding gap and is excluded.

Unrounded millisecond values are used internally. The page displays one or two decimals, and threshold comparison uses the strict less-than rule.

Independent checks cover 5, 10, and 20 ms gaps, strict threshold boundaries, repeat=true, composition, orphan keyup, duplicate keydown, and unfinished presses.

How to use and limitations

The browser sees only the final event stream and cannot measure switch waveforms or firmware debounce. An intentional fast second press can be flagged. Bluetooth, system load, scheduling, focus loss, and Tab navigation affect the test; Tab cannot be a target.

How do I tell whether a keyboard has chatter?

After a complete down-up on the target key, a non-repeat keydown is a suspected chatter gap when the time since the previous keyup is below the threshold.

Can holding a key be mistaken for chatter?

Not directly. event.repeat=true auto-repeat events are excluded, and only a press with a matched keydown and keyup enters the statistics.

What chatter threshold should I use in milliseconds?

Start with 10 ms for screening and adjust between 5 and 100 ms. A larger threshold is more likely to flag an intentional fast second press.

Tool information and sources

All key events and statistics are processed locally in this browser. Nothing is uploaded, no remote API is called, and no URL or local storage is used.

No third-party runtime code or assets are reused. The algorithm and interface are independently implemented; external links explain browser standards only.

Standards and method sources