WOW's keystate snapshot delay

UI and Macro
I'd like to know the delay time in milliseconds that the game uses in between checks for keystates to determine if a key is being pressed.

Does anyone have this information?
Factors external to wow, like your operating system keyboard settings and junk that runs invisibly in the background (and we all have that) would have more to do with any delay between keypress and an action in game.
10/01/2018 11:24 AMPosted by Tinkerizmo
Factors external to wow, like your operating system keyboard settings and junk that runs invisibly in the background (and we all have that) would have more to do with any delay between keypress and an action in game.


I'm not concerned with the latency delay or delay between the keyboard press and action happening in game.

I should clarify. I use autohotkey to remap my keyboard and mouse buttons, but the normal send command from autohotkey sends the keydown and keyup inputs so quickly, that the game doesn't actually recognize them.

What I want to do is set the keydown command through autohotkey to last just a bit longer than the game's delay between input snapshots to make sure the game recognizes the input.
Using AHK to do anything except simple rebinding will get you banned.
(eg: simple rebinding is to make MouseButton4 to press Ctrl)

In the example, simple rebinding is achieved by;
XButton1::Ctrl

The rule is;
One event per hardware event per client. ButtonDn>ButtonUp is a single hardware event. If you're trying to, say, cast Frostbolt when pressing 1 and Fireblast when releasing 1, this is a bannable action.
10/01/2018 04:52 PMPosted by Steelfistv
Using AHK to do anything except simple rebinding will get you banned.
(eg: simple rebinding is to make MouseButton4 to press Ctrl)

In the example, simple rebinding is achieved by;
XButton1::Ctrl

The rule is;
One event per hardware event per client. ButtonDn>ButtonUp is a single hardware event. If you're trying to, say, cast Frostbolt when pressing 1 and Fireblast when releasing 1, this is a bannable action.


I'm not trying to send multiple inputs. I'm just trying to make sure the single input being sent is registered by the game by making sure the input is being sent the correct amount of time.

Your response did make me think it could be the default sendinput command that's making the inputs send too fast for the game to recognize. I'll play around with the send options as well to see if that helps.
WoW only detects a hardware event on KeyUp, or if ActionButtonUseKeyDown is true, KeyDown.

AHK's rebinding should just work. If you're sending multiple inputs with one hardware event, stop. This'll get you banned.

Perhaps tell us exactly what you're trying to achieve with AHK.
10/02/2018 08:23 AMPosted by Steelfistv
WoW only detects a hardware event on KeyUp, or if ActionButtonUseKeyDown is true, KeyDown.

AHK's rebinding should just work. If you're sending multiple inputs with one hardware event, stop. This'll get you banned.

Perhaps tell us exactly what you're trying to achieve with AHK.


I'm just trying to rebind keys the same way I do for other games.

For instance:

a::

Send 1
Return

Using that doesn't work for me. I want to use something like this.

a::

Send [1 down]
Sleep 50
Send [1 up]
Return

Using the above does work, but I want to be certain the down input is active long enough for the game to register it. I also don't want the down input to be so long that if I'm spamming a key (physically, as I know the one input equals one game input rule) it's sending way fewer inputs.

Over at the AHK forums I found out that many games have a delay in milliseconds between reading which inputs are being sent, which is why I was hoping to get that information here.
Just do
a::1

This will rebind a to press 1.
It feels like you are over complicating things and the simple solution is to change the keybindings for your character, but I suppose you have your reasons

By default WoW uses the Key Down to trigger the cast of an ability. This can be changed to using the Key Up with the addon AdvancedInterfaceOptions CVar list.

But given what you are trying to accomplish, it seems like this alone should be good
a::

Send [1 down]
10/03/2018 06:22 AMPosted by Tinkerizmo
It feels like you are over complicating things and the simple solution is to change the keybindings for your character, but I suppose you have your reasons

By default WoW uses the Key Down to trigger the cast of an ability. This can be changed to using the Key Up with the addon AdvancedInterfaceOptions CVar list.

But given what you are trying to accomplish, it seems like this alone should be good
a::

Send [1 down]


I never actually thought of trying this, but this might work. I don't know what happens if you send a keydown command followed by another keydown command without a keyup command in between.

Also, the reason for remapping is for the modifier keys: ctrl, shift, and alt. I just used a and 1 to simplify the language.

Is there a way to rebind modifiers to different keys through the game itself? I had looked for a way to do that but couldn't figure it out.
Just do something like:

Mouse5::Ctrl

Anything beyond that has much more potential room for failure, like failing to send the KeyUp event and the game thinking you are holding down Ctrl constantly.

Join the Conversation

Return to Forum