In the last few years, the most interesting development in the keyboard world has been analog switches. Whether they use optics, the Hall effect, or, more recently, tunnel magnetoresistance (TMR) or induction, these switches allow the keyboard to detect not only if a key is pressed, but also how far. This allows the user to adjust the actuation point of the switch and sometimes use more advanced features like analog output or Rapid Trigger. Until now, consumers had to trust manufacturers on the precision of their implementation of adjustable switches.
Based on our measurements, no setpoint is truly honest. In practice, this means that a 0.1 mm setpoint, as set in the keyboard software, won't make the switch activate at exactly 0.1 mm. For all of the keyboards we tested, the true displacement at which the key activated was significantly different from the software setpoint. Thus, the actuation settings available in a keyboard's software aren't a good proxy for the granularity of the adjustable input. In practice, a 0.3 mm difference will be nearly undetectable for most people, but it still highlights the need for a way to measure adjustable keyboard performance that is independent from software settings.
To highlight that this doesn't happen only in some keyboards, the table below displays the true displacement at which different keyboards activate at their most sensitive setpoint:
Keyboard model | Software setpoint (mm) | Average measured setpoint (mm) |
Aesco A67 | 0.05 | 0.17 |
Drunkdeer A75 | 0.2 | 0.51 (unstable) |
GLORIOUS GMMK 3 PRO HE | 0.1 | 0.39 |
Keychron K2 HE | 0.2 | 0.51 |
Lemokey P1 HE | 0.2 | 0.52 |
Logitech G PRO X TKL RAPID | 0.1 | 0.22 |
Nuphy Air60 HE | 0.1 | 0.23 |
Nuphy Field75 HE | 0.1 | 0.23 |
Razer Huntsman V2 Analog | 1.5 | 1.64 |
Razer Huntsman V3 Pro | 0.1 | 0.17 |
REALFORCE GX1 | 0.1 | 0.71 |
SteelSeries Apex Pro | 0.1 | 0.63 |
Wooting 60HE | 0.1 | 0.26 |
Wooting 80HE | 0.1 | 0.40 |
To properly test the performance of different keyboards, we had to develop a way to measure the true setpoint of the keyboard independently of the expected setpoint as set in the software. We accomplished this by using two machines together. We set a universal testing machine, the Mecmesin MultiTest 2.5i, to slowly press and release a key. While monitoring the distance from the top of the key travel, we also monitored the USB output of the keyboard with a Total Phase Beagle USB 480 Protocol Analyzer. When the key activates, we match the distance from the top of the travel to the event. When the key deactivates, we also note the position from the top of the travel. This is how we test the press and release distances for one press cycle on one setpoint.
By comparing the physical position and the USB response, we can measure several important values. The first two are the Top Deadzone and Bottom Deadzone, the minimum distances the key must travel from the top or bottom, respectively, before the keyboard registers a change. In practice, the Bottom Deadzone is the difference between the bottom-out depth and the earliest release depth. With those two comparisons and the full travel of the key (bottom-out depth), we calculate the third comparison, the Detection Ratio, which is the ratio of the full key travel within which input is actually detectable.
Even though adjustable keyboards are often called "analog," only a small number of the models we've tested output analog signals to the computer. Those few models are the Wooting boards, the newer models in the Razer Huntsman series, and finally, the Keychron and Lemokey Hall effect boards. Other boards all have adjustable setpoints, a version of Rapid Trigger, and other features like Dynamic Keystroke, keyboard-side SOCD handling, or key remapping depending on the length of the keypress (ModTap). That is why we decided to use the term "adjustable" to group together all the keyboards that can have their actuation point adjusted. Whether analog output is an important feature is up to personal preference.
For keyboards that can output analog signals to the computer (host device), we also test the analog mode. When deadzones are smaller in analog mode, they are used to calculate the Detection Ratio comparison.
The last comparison, Minimum Step Depth, is discussed further in the Implied Precision Compared to Actual Precision section.
Even though software setpoints are never exact, we chose not to score the linearity of the adjustable output. We don't think this would've been useful data for consumers, because nobody buys an adjustable keyboard knowing exactly what a 0.3 mm actuation point feels like. Indeed, those settings are adjusted to your preference (by feel), so if you can set the actuation point precisely enough (with a small enough Minimum Step Depth) and wherever you want (with a good enough Detection Ratio), how closely related the software setpoint is to the true displacement shouldn't matter much.
The Minimum Step Depth test highlights the smallest change you can make between two actuation points, but that doesn't necessarily mean the keyboard can reliably detect a change that small.
We measure the Minimum Step Depth by finding at which distances adjacent setpoints activate the key. Then, we average the differences between those distances. When an analog mode is available, the Minimum Step Depth is the smallest distance the key can move before the keyboard changes its analog state. This effectively gives an advantage to keyboards that can output analog signals for this comparison. In practice, some keyboards exploit that scoring method.
If a keyboard allows you to set the actuation point to a hundredth of a millimeter (0.01 mm), you might think that it will reliably activate within that range. According to our testing, that isn't the case. Most keyboards show some overlap between settings. For example, the Nuphy Field75 HE actuates between 0.22 mm and 0.23 mm at its 0.1 mm setting, but also between 0.215 mm and 0.22 mm at its 0.18 mm setting. Those two settings were tested on two different keys, so different setpoints on the same key may not display this behavior. Put simply, the variance between different press cycles (on a set key at a certain setting) is more than the indicated granularity accessible in the software. In our scoring system, those two settings on the NuPhy Field75 HE still count as two data points because the average true actuation point is different (0.2175 mm for the 0.18 mm setting and 0.225 mm for the 0.1 mm setting).
Most keyboards, then, have more precision accessible in the software than what the keyboard can provide. However, there is one outlier, which we investigate below.
For all keyboards, we discard the first cycle because it's typically used as a calibration run and usually gives worse results, larger deadzones, and more imprecise output. However, in the case of the Razer Huntsman V3 Pro, the smallest actuation distance was recorded during its first press cycle.
The Razer Huntsman V3 Pro also had the smallest number of deadzones we measured, so we investigated more to understand the cause of this advantage. We think the main factor is the more advanced optical switches that Razer has employed since 2021, and thus had ample opportunity to update according to their needs. To confirm this, we tested the Razer Huntsman V3 Pro (which comes with Gen-2 switches) with Razer Analog Optical Gen-1 switches that are present in the previous generation Razer Huntsman V2 Analog. The keyboard then got similar results (in terms of deadzones) to other modern high-end keyboards.
For the kick of it, we also tested the older Razer Huntsman Mini Analog (internally identical to the Razer Huntsman V2 Analog) with the newer Gen-2 Razer optical switches. The deadzones in analog mode were reduced by 0.5 mm at the top and bottom. You can see in the video below how the switch works when assembled:
For us, those two tests confirm that even though the software implementation and sensors used in the Razer Huntsman V3 Pro are great, its competitive edge comes from its updated switches. In the pictures below, you can see how the light filter near the top of the travel (bottom of the part) and near the bottom of the travel have been updated between Gen-1 and Gen-2.
To test adjustable input granularity, we use the five shortest-travel actuation settings (without Rapid Trigger enabled) and the five deepest actuation settings (with Rapid Trigger enabled). For the latter, if applicable, the Rapid Trigger sensitivity is set at its five quickest (smallest value) settings. Each of these 10 settings is assigned to a different key, and we press each key five times. The first press and release cycle is discarded, as we found it's often used by the keyboard as a calibration run. In other words, the results from this first press cycle are often inaccurate, but the keyboard uses it to determine which sensor values align with the bottom-out position and the fully released position of the key.
In this context, multiple types of variance can be measured. The first type we'll call cycle variance: on one key and on one setting (the "J" key set at 0.5 mm actuation), how much does the measured actuation point vary between presses? The second type would be key variance: at one setting, how much does the measured actuation vary between keys (the "J" key set at 0.5 mm actuation compared to other keys at the same setting). It would be impossible to test key variance without simultaneously testing cycle variance since two different keys can't output the same data point. Those two types of variance can be tested for different software setpoints.
To keep testing times realistic, what we decided to do was to test 10 different settings, each on a different key. Each key-setting pair would be tested five times, keeping only the last four press cycles to delete the calibration run. This produces 80 valid data points (40 press points and 40 release points). What this doesn't test is how the same setting would vary between different keys or what results one key would produce on different settings. By doing so, we also prevent testing a switch that would be particularly good or bad.
For example, the Razer Huntsman V2 Analog displays good cycle variance (all points from the same setting on the same horizontal line are tightly grouped), meaning that on one key and on one setting, you can rely on a precise actuation point. However, some keys simply activate faster than others, so the same setting on one key will not reliably be the same on all keys. This is shown by the general trend not being followed by some keys (here, the two groups on the right of the graph).
Do note that we don't claim to measure variance in a statistically significant manner, so we chose to display our raw results in the graph but not to display or score variance.
This keyboard methodology update aims to measure one thing: the granularity of the adjustable input on keyboards. This was measured in two parts: the first being the portion of the key travel in which an input can be detected, and the second being the minimum movement the keyboard can detect within that portion. What this update didn't aim to test was latency or Rapid Trigger performance. Even though deadzones are a part of an adjustable keyboard's latency, they don't paint the full picture. Further testing, specifically on mid-travel direction change latency, could prove useful. What we didn't initially aim to solve but ended up touching on are the variance in actuation depth and the compatibility between different categories of magnetic switches.
All those tests, hopefully, highlighted their own importance. The fact that actuation setpoints in software don't translate directly to measurable actuation depths means that there is a need for independent testing of adjustable keyboards. There are many ways to achieve great granularity in adjustable input, whether that is sophisticated optics or precise magnetic sensors, but in all cases, having more control over the interface between yourself and your computer can be a great improvement to your computing experience! For a record of changes and other details, including a list of keyboards we'll be updating to our new methodology, see our changelog for Test Bench 1.4.