Keyboard Chatter Detector
Press Start, then press each key once slowly. Keys that register twice within the threshold show as chatter.
Idle
| Key | Total presses | Chatter events | Min gap (ms) |
|---|---|---|---|
| No chatter detected yet. Keep pressing keys. | |||
How to use
- Select a chatter threshold — 30 ms (strict), 50 ms (standard), 80 ms (loose), or 150 ms (very loose).
- Click Start listening.
- Press keys slowly, one deliberate press at a time as instructed in the UI (repeat events from holding are ignored).
- Review the table: for each key code see total presses, chatter events, and minimum gap (ms) between consecutive keydowns.
- Click Stop when finished, or Reset to clear all rows and start a new session.
FAQ
Why does holding a key not count?
The tool ignores OS key-repeat (event.repeat) so only intentional separate presses are analyzed.
Does chatter at 50 ms always mean a bad switch?
Not always — try strict threshold and many slow single presses. Compare before/after cleaning or replacing a switch.
Is data uploaded?
No. Counts are held in memory in your tab only.
Introduction
Keyboard Chatter Detector finds double firings: two keydown events closer than your threshold when you meant to press once. It reports per-key totals, chatter hits, and the smallest observed gap.
Purpose
- Troubleshoot “phantom” repeats in games or chat.
- Compare keyboards or keycaps after maintenance.
Key Features
- Threshold presets (30–150 ms) for how tight “double fire” must be to count.
- Per-key totals, chatter count, and minimum gap between presses.
- Ignores key repeat (
event.repeat) so only deliberate taps are scored.
Common Use Cases
- Investigating accidental double letters in chat or code editors.
- Before/after desoldering switches or blowing dust out of a board.
Best Practices
- Tap intentionally once per key per trial — spamming breaks the mental model.
- Start at 50 ms standard; tighten to 30 ms only once you trust the baseline.
Comparison metrics
| Metric | Meaning |
|---|---|
| Chatter events | Count of gaps under the chosen threshold — compare at the same threshold across runs. |
| Min gap (ms) | Smallest observed interval — very low values strongly suggest bounce. |
| Total presses | Self-check: many presses per key increase confidence in the chatter rate. |