Keyboard Polling Rate Test

Alternate between two ordinary keys to estimate the upper bound of the browser's non-repeat key-event frequency, then inspect P10 gaps, stability, and sample distribution. The result cannot certify hardware polling rate.

Test settings and live sampling

Use an integer from 20 to 500; the default is 50. The first key establishes the time baseline and is not counted as a gap.

Alternate between two ordinary keysDo not hold a key. Tab, composition, and system modifier keys are excluded.
Valid gaps
0
Completion
0%
Latest key
Latest gap
Sample progress0 / 50

Current phaseWaiting to start

Set the target gap count, then select Start new test.
Result overviewWaiting for a test
Estimated browser event frequencyA comparable result appears after at least 20 valid gaps.
P10 gap
Median gap
MAD variation

This value describes the rhythm of alternating key events received by the browser. It cannot prove a USB or Bluetooth hardware polling mode.

Distribution of alternating-key event gaps

Valid-gap histogram

Valid-gap countP10 gapMedian gap

After the test, show the distribution of valid gaps, P10, and the median.

Learn more

Method, formula, and result definition

Adjacent valid gap Δᵢ = tᵢ − tᵢ₋₁. Keep alternating-key gaps greater than 0 and no more than 1000 ms; P10 uses linear interpolation, and the estimated browser frequency is 1000 ÷ P10. Calculations use unrounded values and describe event timing rather than hardware endpoint polling.

Time statistics retain unrounded milliseconds internally. The page usually shows one or two decimal places, while sample classification and stability use the original values.

Program checks use fixed 10 ms, 8 ms, and 4 ms sequences for 100 Hz, 125 Hz, and 250 Hz conversions. Boundaries cover 0, 1000 ms, values above 1000 ms, reversed order, non-finite values, P10 interpolation, and sample sufficiency. Real testing should repeat three rounds on the same device and compare P10, median, and MAD rather than one minimum.

How to use and limitations

Manual alternating taps are normally much slower than 1000 Hz. The page cannot read firmware scan rate, USB endpoint intervals, or Bluetooth connection events. event.repeat is excluded. CPU load, key travel, browser scheduling, and page focus can all change the result.

How do I test keyboard polling rate?

The page records non-repeat keydown timestamps from alternating ordinary keys, calculates adjacent valid gaps, and converts the P10 gap into an estimated browser event frequency. It is not a USB capture or hardware polling certification.

Can a webpage test a 1000Hz keyboard?

A webpage can compare the gaps between events it receives, but manual tapping and browser scheduling cannot reliably create or resolve independent 1 ms key events. The result therefore cannot prove that hardware is running at 1000 Hz or higher.

What does a P10 event gap mean?

P10 is the tenth-percentile gap: roughly 10% of valid gaps are no larger than this value. It represents the faster part of the sample and is less sensitive to one accidental minimum than using the single smallest gap.

Tool information and sources

All key codes, event timestamps, and statistics are processed locally in this browser. Nothing is uploaded, no remote API is called, and personal input is not stored.

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

Standards and method sources