Some keyboards have special features like Razer's Snap Tap and Wooting's SOCD, that can give an unfair advantage in online games, and so Valve have put their foot down and entirely banned such tricks in Counter-Strike 2.
The article doesn’t explain it, but it sounds like the keyboards are detecting a transition from A to D and making it happen faster, instead of having a momentary dead zone while both are pressed. That’s definitely getting an advantage from something out-of-game, which is cheating.
So, keys on a board normally have a specific travel distance (depending on switch type) that they must be pressed to flip between ‘pressed’ and ‘not pressed’.
This tech uses fancy keyboards with fancy switches and fancy software (on the keyboard) to change the required travel distance of one key to register, dependant on the travel distance of another key, and then also alter the output state of the other key.
So, if normally you needed 80% travel to register a key… lets say it takes a player 100 ms to push D to 100% then another 100 ms to fully release D and fully push A to 100%, simultaneously.
Timeline:
0 to 80ms of nothing.
At 80ms, D is registered, strafing right
80 to 120ms, or 40ms of strafing right.
At 120ms, D is unregistered.
120ms to 180ms of no movement.
At 180ms, A is registered, strafing left.
180ms onward of left strafing.
An initial delay of 80ms, 60ms of nothing, then leftward movement after 180ms.
Thrown on fancy bullshit, and the software say, changes A to need only a 20% travel to register while D is past 80%, and this also cancels D once A gets past 20%.
Also, this software says that if no strafing inputs are being received, and then one is, that input only needs 20% to register.
New timeline:
0 to 20 ms of nothing.
At 20ms, D is registered, right strafing.
20 to 120 ms of right strafing.
At 120 ms, D is unregistered and A is registered, left strafing.
120ms onward of left strafing.
Now you have an initial 20ms delay, absolutely no non strafing time, and you get to left strafing after only 120ms.
So, you’ve now initially started moving 4x faster, totally eliminated your non strafing time, and gotten to your end desired strafe direction in 33% (60ms) faster than before.
This is a huge crutch in a fast paced twitchy competitive game.
I have seen videos of these keyboard being used with floating/flying characters in OW2 and it basically allows you to jitter your character 2 meters to the right and left almost instantly, such that it looks like you are fighting against someone with movement hacks. Nearly impossible to hit someone doing this… without an aimbot, lol.
While being able to do this from outside the game is definitely cheating, I’d personally say that being able to decide what happens with conflicting inputs should be an option in any game where that matters.
Whenever I start pressing A while I’m still holding D it should be obvious that I now intend to go left, so the game should interpret it that way.
Yes, but the game doesn’t necessarily even see those inputs. What a keyboard transmits, and how the OS handles it, is a complicated process with a bunch of legacy handling code. Often, if you’re pressing more than one key, the keyboard might send only one of them.
I remember in one game I used to play, I would hold W to go forward, and shift to boost, but if I wanted to turn left or right, only adding D would be recognized. Pressing A would do nothing at all, no turning left.
Isn’t the issue you’re describing less about the OS and more about cheap keyboards with awful or nonexistent NKRO? On my keyboard with full NKRO I can press as many keys as I want and the OS will recognize all of them being pressed without fail.
Also, if I’m in a text editorand hold down one key, then start holding down another one, the new one is immediately picked up, which is pretty much identical to this situation.
Afaik it should see both inputs simultaneously if you have n-key rollover, which is a pretty common feature now. I think the last time I was looking for a keyboard, they all advertised n-key rollover. As such, it’d be on the game, not the OS.
You can actually test this in the Unity editor if you have some programming experience (or I assume any other engine for that matter). It’s very easy to write a character controller in which A+D results in the game using the last input instead of adding the inputs together. I actually had to learn how to make a game not do that. It wouldn’t function exactly like the keyboards currently under fire, but it would function very similarly.
I’m pretty sure you can also do this very easily with a macro (assuming you have a keyboard with n-key rollover), no special keyboard required as well.
Edit: your specific example is an example of a cheap keyboard losing inputs, which n-key rollover fixes. Ironically, find the right cheap keyboard and you might be able to partially reproduce the effect they’re talking about (having one key override another other).
The article doesn’t explain it, but it sounds like the keyboards are detecting a transition from A to D and making it happen faster, instead of having a momentary dead zone while both are pressed. That’s definitely getting an advantage from something out-of-game, which is cheating.
So, keys on a board normally have a specific travel distance (depending on switch type) that they must be pressed to flip between ‘pressed’ and ‘not pressed’.
This tech uses fancy keyboards with fancy switches and fancy software (on the keyboard) to change the required travel distance of one key to register, dependant on the travel distance of another key, and then also alter the output state of the other key.
So, if normally you needed 80% travel to register a key… lets say it takes a player 100 ms to push D to 100% then another 100 ms to fully release D and fully push A to 100%, simultaneously.
Timeline:
An initial delay of 80ms, 60ms of nothing, then leftward movement after 180ms.
Thrown on fancy bullshit, and the software say, changes A to need only a 20% travel to register while D is past 80%, and this also cancels D once A gets past 20%.
Also, this software says that if no strafing inputs are being received, and then one is, that input only needs 20% to register.
New timeline:
Now you have an initial 20ms delay, absolutely no non strafing time, and you get to left strafing after only 120ms.
So, you’ve now initially started moving 4x faster, totally eliminated your non strafing time, and gotten to your end desired strafe direction in 33% (60ms) faster than before.
This is a huge crutch in a fast paced twitchy competitive game.
I have seen videos of these keyboard being used with floating/flying characters in OW2 and it basically allows you to jitter your character 2 meters to the right and left almost instantly, such that it looks like you are fighting against someone with movement hacks. Nearly impossible to hit someone doing this… without an aimbot, lol.
While being able to do this from outside the game is definitely cheating, I’d personally say that being able to decide what happens with conflicting inputs should be an option in any game where that matters.
Whenever I start pressing A while I’m still holding D it should be obvious that I now intend to go left, so the game should interpret it that way.
Yes, but the game doesn’t necessarily even see those inputs. What a keyboard transmits, and how the OS handles it, is a complicated process with a bunch of legacy handling code. Often, if you’re pressing more than one key, the keyboard might send only one of them.
I remember in one game I used to play, I would hold W to go forward, and shift to boost, but if I wanted to turn left or right, only adding D would be recognized. Pressing A would do nothing at all, no turning left.
Isn’t the issue you’re describing less about the OS and more about cheap keyboards with awful or nonexistent NKRO? On my keyboard with full NKRO I can press as many keys as I want and the OS will recognize all of them being pressed without fail.
Also, if I’m in a text editorand hold down one key, then start holding down another one, the new one is immediately picked up, which is pretty much identical to this situation.
Yes, that was just an example. Good keyboards and proper handling don’t have that issue any more.
Afaik it should see both inputs simultaneously if you have n-key rollover, which is a pretty common feature now. I think the last time I was looking for a keyboard, they all advertised n-key rollover. As such, it’d be on the game, not the OS.
You can actually test this in the Unity editor if you have some programming experience (or I assume any other engine for that matter). It’s very easy to write a character controller in which A+D results in the game using the last input instead of adding the inputs together. I actually had to learn how to make a game not do that. It wouldn’t function exactly like the keyboards currently under fire, but it would function very similarly.
I’m pretty sure you can also do this very easily with a macro (assuming you have a keyboard with n-key rollover), no special keyboard required as well.
Edit: your specific example is an example of a cheap keyboard losing inputs, which n-key rollover fixes. Ironically, find the right cheap keyboard and you might be able to partially reproduce the effect they’re talking about (having one key override another other).