Let’s be honest: the consoles ruled for way too long and it was only recently that PC gaming reclaimed it’s throne especially since the PlayStation 4 and Xbox One chose to be under powered PCs, the main problem is that a lot of games still use console specific systems that can be annoying on a keyboard like angles in fighting games, button mashing in the strangest places and so on. This is a quick run around to fix the pains with an application called AutoHotKey
What is AutoHotKey?
It’s a cute little app that let’s you assign a job or task to a combination of keys, it’s free and open source for the developers out there. The only problem it has is that the job you want it do needs to be scripted and there is no user interface to do it. Thankfully other applications such as Notepad++ have AutoHotKey syntax checkers as addons
Why do I want to know this?
It’s quite simple really. When playing games on PC there are some things that either really aren’t built for the standard input devices of the PC like the above mentioned button mashing or we waste too much time doing something like buying our load outs in Counter Strike. This is a way to get past all that with a coffee in hand.
We are going to start this guide simple with starting your favorite games from keyboard shortcuts and going on to deal with angled directions (like top left or bottom right) on a keyboard, button mashing and combos. This guide while not comprehensive gives you an idea of how to use AutoHotKey to play games like a boss. What you do next is upto you.
For everything below you can create a .txt file and paste it into that and then change the extension to .ahk and double click it
Starting Apps:
Let’s get going with starting Steam considering Steam is installed in D:\Steam using a combination of control and space together:
^space:: ; where ^ is Ctrl and space is well “ “ space
Run, D:\Steam\Steam.exe
Now how do we start a game in Steam? We could just directly point to the game as we have done in the above example replacing steam.exe with the game’s exe since most games start Steam first but those games that don’t would just error if they need Steam. In this case we can use arguments to start an app based on it’s app ID. The example below can be used to start Borderlands 2 who has an app ID of 49520
^space::
Run, D:\Steam\Steam.exe -applaunch 49520
How do you find an app ID? See below:

Some Basics:
Before we go deeper let’s look at how to send some stuff to Windows programs directly, below we are going to send “Hello, my name is” when ever numpad 9 is pressed:
Numpad9:: Send Hello, my name is
For simpler games if you just need a quick tap you can easily do
Numpad9:: sd
However some games track hold down and release which we will cover in the next sections:
Note: AutoHotKey has different methods for input but what is covered here should be good for most
Additional Note: For all things here I’m using Borderlands 2 and Mortal Kombat Komplete edition as example so everything you read has been sucessful on these two games.
Horizontal Directions:
One of the major pain points of playing on a keyboard is that sometimes you need perfection for 8 directions, while we can do 4 perfectly the last 4 directions which are angles need 2 different buttons pressed at once and games might not detect that perfectly so here is what we do if you are using your numpad to play games with 8 as up, 5 as down, 4 as left and 6 as right:
Numpad9:: ; Assign Numpad9 to start this process
SEND, {Numpad8 Down}{Numpad6 Down} ; hold 8 down and 6 down from the numpad which are used for up and right respectively when Numpad9 is pressed
KeyWait, %A_ThisHotkey% ; wait for the current hotkey to be released which is currently Numpad9
SEND, {Numpad8 Up}{Numpad6 Up} ; When Numpad9 is released then it will release both 8 and 6
Return ; time to leave
Button Mashing:
I hate button mashing and that’s why Killer is Dead was annoying to me, it was a great hack and slash game that was seriously let down by button mashing from my mouse which I could not in the least keep up with. So let’s fix that:
The easiest thing to do is something like:
^f::
Send {LButton 2} ; Whenever ctrl and f are pressed left mouse button will be sent twice
The above while nice for the lazy among us won’t work with most games since all the command is sent instantaneously resulting in the game not detecting it due to it being sent too fast to be noticed. So what we do is throw a loop and delay in the mix:
^f::
Loop, 10 ; do this 10 times
{
Send ; Sends the left mouse button
Sleep, 50 ; wait for 50 Millie seconds before starting again
}
Combos:
Let’s end this with a FATALITY. Now that we have covered most things let’s assign Scorpion’s fatality to a button like Numpad1 with the consideration that your on the left and using the layout:
- Num8 as up
- Num5 as down
- Num4 as left
- Num6 as right
- A for front punch
- S as back punch
- Q as front kick
- W as back kick.
The fatality is front, down, front, back punch so I’m sure some of you are thinking it will be something simple like:
Numpad1::
Send
WRONG!
Mortal Kombat needs the keys released which we are not doing so it actually is:
Numpad1::
Send {Numpad6 Down}{Numpad6 Up}{Numpad5 Down}{Numpad5 Up}{Numpad6 Down}{Numpad6 Up}{s Down}{s Up}
So now there is at least one of you out there thinking “That’s all well and good but how many scripts should I run?” and while you can probably run a lot of scripts at once you can also merge all these into one using functions for each (for those who aren’t lonely geeks: a function is a set of commands or operations):
^space::Borderlands()
Numpad9::topright()
Numpad7::topleft()
Numpad1::bottomleft()
Numpad3::bottomright()
Numpad2::fatality()
Borderlands()
{
Run, D:\Steam\Steam.exe -applaunch 49520
Return
}
topright()
{
SEND, {Numpad8 Down}{Numpad6 Down}
KeyWait, %A_ThisHotkey%
SEND, {Numpad8 Up}{Numpad6 Up}
Return
}
topleft()
{
SEND, {Numpad8 Down}{Numpad4 Down}
KeyWait, %A_ThisHotkey%
SEND, {Numpad8 Up}{Numpad4 Up}
Return
}
bottomleft()
{
SEND, {Numpad5 Down}{Numpad4 Down}
KeyWait, %A_ThisHotkey%
SEND, {Numpad5 Up}{Numpad4 Up}
Return
}
bottomright()
{
SEND, {Numpad5 Down}{Numpad6 Down}
KeyWait, %A_ThisHotkey%
SEND, {Numpad5 Up}{Numpad6 Up}
Return
}
fatality()
{
Send {Numpad6 Down}{Numpad6 Up}{Numpad5 Down}{Numpad5 Up}{Numpad6 Down}{Numpad6 Up}{s Down}{s Up}
Return
}
That’s a basic introduction to using AutoHotkey while Gaming, there are many more uses even in Windows which I will try to put together next month so tell then go play something.
Do not that some game clients might consider this cheating so if you use this online do so at your own risk, I will not be held responsible for you getting banned or abused though I will join in when laughing at you.

Leave a comment