It is also how games allow you to hold two(or more) keys at the same time, but very fast(sub 10-15ms) inputsĬan fall between snapshots and the game never sees the keypress. This is how the game knows what was pressed, what was released and what is still being held down. DirectInput operates by taking a state snapshotĪll the keys that are pressed, then 15ms(or 1 frame) later it takes another 'snapshot' and compares the two. Rates it is typically a set time, usually 10ms or 15ms. Locked to the framerate to keep them synced for frame accurate actions. For example fighting games typically have the polling time Vary depending on how the game is programmed. It 'polls' the keyboard every 15ms, although this can Explanation: Usually caused by DirectX(DirectInput). Explanation: DirectX draws the screen in a manner different from Windows, this can cause things like colorsīeing reported wrong, mouse jumping to the 'wrong' coords, and it can just plain prevent the game fromģ) A lot of times Keypresses need to be held down longer than normal for the game to fully register it. Explanation: Some games run at admin level and AHK does not typically run with this privilege set.Ģ) Switch the game settings from 'Full Screen' mode to 'Windowed' or (I prefer) 'Borderless Windowed' mode. Very useful!įirst basic steps to get AHK working with the average game.ġ) Make sure the script is running with Admin privilege(Right-Click on script, Run As Administrator) This tool will help you determine which click and send modes work with your game. Window Spy: This is a basic standard, reveals system names, pixel colors, coordinates.
If you have questions I can be reached on reddit, u/ThrottleMunky
I use AHK with most of the games that I play, anything from keybinds to full MMO grind bots. I am looking forward to adding suggestions to this post so let me know what works and what doesn't! I will edit this post with notes on specific games as I see them here or from personal experience. Since this question gets asked a lot on the boards, with many many good suggestions and tips scattered everywhere, I decided to try to compile most of it in one place.