8khz polling
February 15, 2024
-
Erik

Wooting 80HE - The True Polling Rate

One of our goals for the 80HE was to reduce input latency to make sure the keyboard is not holding you back. In this update, we're finally going to touch on the performance side of the 80HE. It’s something we are very excited about: true 8K polling! It took us quite some effort to implement because we needed a whole new MCU (Micro Controlling Unit) to make it work. We also had to figure out a bunch of things to actually achieve True 8K polling. But let's start off with the basics.

What is polling?

You would think that when you press a key on your keyboard, it sends a signal to the computer and the computer goes like “Hey! Let me activate that key for you”.  But that’s not exactly how it works. How it actually works is that your computer is checking connected devices for new input data every now and then. This is called “USB polling”. The computer checks for new input at a certain rate, depending on the polling rate of the device.

8K polling

To give you an idea: when we’re talking about 1kHz polling, the computer checks for new inputs every 1 millisecond (ms). When we talk about 8kHz polling, it’s checking every 0.125 ms. Which is 8 times faster than 1kHz polling. That, however, doesn't mean that your keyboard itself can provide data at the same pace. The keyboard itself needs to do its own processes and might not have any inputs ready at the same rate as the computer checks for inputs. This is where we get into the ‘true’ part. 

True 8K polling

We talk about ‘True 8K polling’ when the keyboard has a report ready every 0.125 ms at the exact same time as the USB is polling the keyboard for new inputs. So the keyboard isn’t just reporting new inputs really fast, it does it in the same timeframe as the USB polling. Now, what exactly happens within the keyboard to make that happen? This brings us to something fascinating called “keyboard scanning”.

Keyboard scanning

Keyboard scanning basically means that, within the keyboard, there is also a kind of polling happening. The MCU on the 80HE checks every single key for new input, every 0.125 ms. In the same timeframe the MCU has to convert the signal it gets, which is a voltage, an analog signal, to a digital signal. On top of that the MCU needs to process things like Rapid Trigger, activation point and all that kind of logic within the 0.125 ms. And like we already mentioned, all these things need to happen every report cycle to achieve True 8K polling.

Is it truly True?

This also means that when other devices tell you they have 8kHz polling, question it! It might just mean that it supports 8kHz polling on the USB side, but not within the keyboard itself.

Erik
Erik
Co-founder