Our keyboard latency tests measure the time it takes for key input data to reach your computer.
We use a solenoid to emulate a human finger and press a key on the keyboard. For each sample, we begin measuring from the moment the solenoid makes contact with the key. Once the switch actuates and the circuit is closed, our measurement continues for the duration of time it takes for the keyboard to process and send the input to the computer.
We intercept the data transaction on its way to the computer with a Beagle 480 USB Analyzer. You can see our method visualized in the flow chart below.
Our keyboard latency test results are expressed as averages. We collect a large number of samples (200) to ensure reliable average calculations with repeatable results. We plot each of our collected samples onto graphs. This highlights outliers and provides an impression of the overall consistency of a keyboard's latency performance.
Our tests also incorporate a video element. You can see an example video here. In earlier versions of our methodology, we used this video element to help us calculate latency. With our current methodology, it only serves as a visual aid, and its slow-motion footage can help you visually confirm latency differences between keyboards.
For keyboards that use standard mechanical switches, we can estimate PCB latency, which can be understood as keyboard latency performance independent of the switches it uses. We can do this with the data we collected from testing 101 mechanical switches, which we used to calculate the best linear regression for linear, tactile, and clicky switches. This, in turn, allows us to use keystroke data from the keyboard being tested to interpolate its switch latency. We subtract the interpolated switch latency from the full keyboard latency to obtain the estimated PCB latency.
We configure the keyboard with the settings that provide the lowest possible latency results for our testing. This includes—but isn't necessarily limited to—lowering any debounce to its lowest value, setting the keyboard's polling rate to its maximum value, specifying any customizable actuation point or rapid trigger settings to their most sensitive settings, etc.
Do you have any questions or suggestions concerning our methodology? Are you interested in knowing specific details about our setup, process, or the philosophy behind our tests? We'd love to hear from you in the Discussions below. Or you can send us an email at firstname.lastname@example.org.
If you're interested in a deeper dive into our keyboard latency testing methodology and its development, we encourage you to check out our Test Bench 1.3 Changelog here.