How to use Key binds and Macros
Over the years that I have played World of Warcraft, one thing that I have found myself explaining to friends and fellow guildies more than anything else, even where to find Mankrik's wife, is how to use key binds and macros. Key binds and macros take some time getting used to, but they can greatly increase your reaction time in both PvP and PvE. I have high hopes that this guide will teach you what a key bind is, how to set up a key bind in the World of Warcraft interface, the basic understanding and recognition of the parts of a macro, how to use macros, and how to integrate all of this into your play style.
What's a key bind?
A key bind is a keyboard shortcut. In other words, when you press “2” on your keyboard your character is going to cast Lightning Bolt.
Why should I use a key bind?
When you click your abilities, not only do you probably have poor reaction time but it also means that your mouse isn't being used for something more useful. I highly suggest that you learn to become more reliant on your mouse for turning/movement instead of clicking spells, especially for PvP. Keyboard movement can be sluggish and your keyboard hand should be more preoccupied with pressing key binds
(A little bit more explanation for those of you that feel I'm being awfully vague and have no idea what I'm talking about. Keyboard turning is when you use “a” and “d” to turn. However, due to the sensitivity of these buttons and their reaction time in game, turning is excruciatingly slow. On the other hand, mouse turning by using the right mouse button is instantaneous and more valuable than those dinky little “a” and “d” buttons. This is where the conflict of clicking and mouse turning comes in. You're going to have a painful time trying to click those spells and abilities while trying to use your mouse to move.
Simply put, keyboard turning and clicking is cumbersome and slow. Mouse turning and key binding is faster.)
How do I set up my key binds?
Good question, imaginary inquisitor! World of Warcraft starts you off with your first action bar set up to 1-9, 0, - and =. Drag and drop your spells onto the action bar from your spell book. Press the key for its corresponding spell/ability. If you are completely new to key binds, I highly suggest that start yourself off using a couple key binds for your primary spells in your rotation.
Ex. Elemental Shaman using Lightning Bolt on “2”, Flame Shock on “3”, and Lava Burst on “4”. This is fairly easy for low level characters since their lack of too many abilities, but for level 85's this can be difficult to integrate. Take your time.
Great! I think I'm getting the hang of this. Now how do I key bind everything else?
Before I say anything else, I want you to remember that the most important thing to key binds and macros is that they are there for your use. They're meant to make things easier. If you have to press shift+9 to use Lightning Bolt and its incredibly difficult for you to do so, then its obviously not working out for you. (I think I'd shank somebody if I had to use shift+9 for an ability. Ever.)
Ex. This is my set up. I'm currently in the process of getting myself to use more key binds because “what works for me” is somewhat limiting of how many abilities I can have on a key bind at one time. As you can see, I use 1-4, R, V, A, D, F1-F4 and Mouse Button 4 and 5 for key binds that are actually put to good use. That's only 16 buttons and I sure as heckmonkies have more than 16 abilities that I need to have at my disposal in certain situations. My point being is that you need to use a set up that works for you, however, don't be afraid to force yourself into learning how to use a few more keys.
Now, back to answering that question. You have an entire spell book that you need to empty out onto your action bar and no space! How typical. How to set up more action bars!
1. While in game, press “escape”. Then click “interface”.
2. Go to the “ActionBars” tab.
3. Mark the boxes that say “Bottom Left Bar”, “Bottom Right Bar” and if you need even more space, mark the boxes that say “Right Bar” and “Right Bar 2”. Click “okay” and stare in awe at all that pretty new space.
Wow! That's quite a few action bars... now how do I set up key binds for them?
This step is slightly more complicated.
1. While in game, press “escape”. Then click “Key bindings”.
2. Scroll down until you see “Action Bar Functions”, this will allow you to change the key binds on your original action bar.
3. Scroll down until you see “MultiActionBar Bindings”, this section will allow you to alter the key binds on your bottom left, bottom right, right and right 2 action bars.
4. Changing the key binding on these buttons is fairly simple. You need to click which one you want to change, then press the key you want it to change to. This will unbind the old key and bind it to whatever button you just pressed. Press okay and the change will take place. Cancel if you totally screwed up everything.
Remember you can change these key binds to anything on your keyboard/mouse. F1-F12 is a great place to start for expansion. If you have a mouse that has extra buttons, these buttons are easily accessed and you should always have a key bind on them. Know that when you use key binds and macros, you will have to take your hand off “WASD” quite often to reach a certain button or press alt+4. This is why I prompt you to learn how to use moving with your mouse in conjunction with “QWES” so that you can switch between the two without much thought.
I'm... confused... and overwhelmed. HELP ME!
Chill! You got the hang of a few key binds, what's a few more going to hurt? Remember to take it slowly. Just think to yourself, what do I need to key bind next? For example, you got your primary rotation in. Now you need space for your heals, totems or racials. Take it one step at a time.
I tried that mouse turning thing like you said, and I realized that I don't use “a” and “d”. Should I key bind them?
Definitely! Many people key bind practically every button within reach of their left hand. Just know that if you key bind “r” then you can't use “r” for auto replying to whispers. If you're okay with changing some of those, then go ahead and key bind everything on your keyboard to your heart's content. Use whatever set up works for you.
This is really helpful and all... but I have a gazillion and one spells and a total of 104 buttons on my keyboard. What do I do?
My friend, it is time for you to learn how to use macros.
What's a macro?
A macro is... a series of commands that let you do super cool things with one button.
What can I do with a macro?
Many of the macros I use are to combat the fact that I have so many abilities and a limited amount of keys. I use a macro to set up multiple spells to one key using modifiers of alt, ctrl and shift. Other macros that are popular are cast sequence macros, which allow you to press the button multiple times and have it cast a “rotation” of spells; cast on focus, which casts the spell on your focus target; cast on mouse over, which casts the spell on your mouse over target; pet attack, which tell your pet to attack the mob you're attacking without having to click attack; and many more.
Cool beans. Teach me how to make a macro, plx.
Let's get one thing straight. I'm terrible with macros, but they are essential to my play style. With that being said, I'm going to do my best to teach you the basics of how to understand, write and use macros. If you have a hard time following me, which is completely understandable, check out the bottom of this section. I will add some links to some super nifty resources for writing macros that should further enhance your understanding.
Let's start at the beginning. Where are these macros of which you speak?
How to find macros.
1. While in game, press “escape” and click on “Macros”
2. Click on “New”
3. Give it a name, select an icon and press “okay”. (NOTE: If you select the Question Mark icon, it will automatically adapt to show the icon of whatever abilities/items are being used in the macro as long as you have "#showtooltip" written as the first line in your macro.)
4. The text box that says “Enter Macro Commands” is where you will be writing macros.
That was easy. Now how do I write a macro?
Woah, WOAH! You aren't writing any macros yet, kid. You need to learn to read and comprehend what a macro does first. To be honest I'm not very great with writing macros myself, so my goal is just to teach you the basic components of a macro, how to troubleshoot a macro, and how to use a macro. While I'm explaining this macro, its not a bad idea to have this, Explain-o-matic, open in another window. Plug in the macro every once in a while and try to comprehend what its telling you about the macro.
Above is the code for a Cleanse Spirit macro. This macro will cast Cleanse Spirit as long as the target is a friend. The first step to understanding a macro is understanding the three major components. The three components are the command, the condition and the parameter. Look at the macro. Do you see these three parts?
/cast [help]Cleanse Spirit
The first component is the command.
The command tells the macro what it's doing.
In this example, “/cast” is telling the macro that it is going to cast a spell.
The second part is the condition.
The condition tells the command to perform the action of the macro only if the condition is true.
In this example, “[help]” is telling the macro to only cast Cleanse Spirit if your target is a friend.
The third part is the parameter.
The parameter is the action that the macro will try to perform based on what the command told it to do and if the condition is true.
In this example, “Cleanse Spirit” will be “cast” as long as your current target is a “friend”.
That's pretty cool... that macro seems kind of pointless though. Cleanse Spirit will only cast if the target is a friendly target anyway...
You're right, that is a rather pointless macro. Lets make it a little more interesting by adding another line to it.
I have two command lines here. Since I don't have anything telling the macro to stop casting, the macro will try to cast both of these lines at the same time. This is why the Explain-o-matic will tell you that this will trip the global cool down of the first spell that is cast, therefore making the second spell unable to cast. That's why I added the conditions. The macro will check if the target is a friend, and cast Cleanse Spirit. The macro will also check if the target is an enemy and cast Purge. Fortunately for this macro, there is no player or mob in game who can possibly be a friend and an enemy at the same time. The macro will fail to cast Cleanse Spirit or it will fail to cast Purge. Only one spell will be cast. In simple terms, what this macro will do is cast Cleanse Spirit if my target is a friend, and if my target is an enemy it will cast Purge. Now, we can tell the macro to do something different but still come out with the same results. Take a look:
/cast [help]Cleanse Spirit
What I just used in this macro is semi colon, which identifies that there are multiple parameters. Think of “;” as saying, “otherwise” or “or else”. The semi colon tells your macro that if the condition is not true, then perform a different parameter. The macro will first check if the condition is true before casting the first parameter. If the condition is not true, then it will fail to cast the first parameter and will then attempt to cast the second parameter. What this specific macro does is that if your current target is a friend, it will cast Cleanse Spirit. If not, it will cast Purge. Now I personally think this macro is pretty snazzy, but I don't know... I think I'd like to have the option to cast Cleanse Spirit on myself instantly without having to target myself then retarget my target.
/cast [help]Cleanse Spirit;Purge
Take a moment, look it over in the explain-o-matic. If I'm not pressing a modifier the macro will check if my target is a friend. If not, the macro will fail to cast Cleanse Spirit and cast Purge instead. If I'm pressing alt the macro will cast Cleanse Spirit on myself. There are a few new things in this macro that I've yet to introduce to you.
/cast [nomod,help]Cleanse Spirit;Purge
/cast [mod:alt,@self]Cleanse Spirit
The first thing I changed was that I added two modifiers.
A modifier is a condition and it requires that a certain key be pressed in conjunction with the macro for the condition to be considered true and allow the command to perform the parameter.
In this example, [nomod] tells the macro to perform the first /cast command as long as I am not holding down any modifiers. [mod:alt] tells the macro to perform the second /cast command as long as I am holding down alt. This keeps the macro from trying to perform all commands at once which can lead to casting the wrong spell and unintended global cool downs.
The second thing I introduced with this macro is multiple conditions.
What I mean by multiple conditions is just that, I'm telling my macro that there are multiple conditions.
There are two types of multiple conditions, required multiple conditions and alternative multiple conditions. Required multiple conditions look like this.
Help AND combat must be true before the command can cast Healing Wave. On the other hand, alternative multiple conditions look like this.
/cast [help, combat]Healing Wave
Help OR combat must be true before the command can cast Healing Wave. Meaning, one or the other.
/cast [help][combat]Healing Wave
In the example, I used required multiple conditions, telling the macro that both of those conditions must be true for it to cast that line.
The third thing I introduced to this macro was [@self]. For whatever reason, not a lot of sites mention this in their condition list. Instead of acting like a normal condition, I.e. allowing the parameter to be performed by the command if the condition is true, it just tells the command a specific way to perform the parameter. In this example, I told the macro to cast Cleanse Spirit on myself as long as I'm holding down alt as well. (NOTE: When using @self you must actually type out your name instead of self. For my character, it would be @Snotmuffin.)
LAWL, JK. This macro doesn't work, even though it looks great in the Explain-o-matic. I didn't mean to do this on purpose, I took this macro in game and found out that it hates me. However, I did find out how to make it work. I thought this would be the perfect opportunity to teach you how to troubleshoot a macro. When troubleshooting a macro, here's a couple steps to take.
1. Make sure you typed everything in correctly. This means that spelling is correct, there's no extra spaces or lack thereof, everything that should be capitalized is capitalized etc.
2. Understand what the macro is trying to do. Sometimes the macro doesn't work because you don't understand how a macro works. For example, knowing that a macro will try to /cast every line if you don't have a /stopcasting line in there can make a world of difference.
3. Try to write it in different ways, sort of like we did earlier with this macro. Tell the macro to do it in a different way.
4. Try switching up the conditions or making them more specific.
5. Ask for help on the forums.
With this macro, I did everything. I checked to make sure everything was punctually sound. I tried to write it in different ways. I tried asking for help. Then I started thinking about what the macro was doing. The macro first checks to see if the condition is true, if not it will fail to cast Cleanse Spirit and instead it will cast Purge. Technically, when I'm pressing [mod:alt], then the condition for [nomod] is not true. The macro fails to cast Cleanse Spirit on the target and should cast it on myself. However, since I have multiple parameters the macro was trying to do two things when it failed to cast Cleanse Spirit. It was trying to cast an unconditioned Purge and it was trying to cast Cleanse Spirit on myself. Purge was first in line, therefore this wouldn't work. With that in mind, I needed to make sure that the macro would only try to cast Purge when [nomod] was being pressed and only when I had an enemy targeted, for good measure. Turns out, you can put conditions on multiple parameters and that's exactly what I did.
Now what the macro does is it first checks if the target is a friend and cast Cleanse Spirit, if not then it will fail to cast Cleanse Spirit and cast Purge instead, but only if the target is harmful. If I am holding alt, the macro will cast Cleanse Spirit on myself with no interference from the first line.
/cast [nomod,help]Cleanse Spirit;[nomod,harm]Purge
/cast [mod:alt,@self]Cleanse Spirit
Links and Resources!You might feel a little overwhelmed with all this macro shenanigans. Take a moment to soak it all up. There are a ton of different commands, conditions and parameters. Way too many for me to teach you every single one and every single combination. Here's every website that I could find that will help you understand and create macros better. Just don't leave yet... you still gots learning to do here!
Fitzcairn's Macro Explain-o-matic
This website, as you already know, explains the bits and pieces that make up a macro. I usually test my macros in here before I fiddle around with them in game, or if one of my macros starts acting up I plug it in here to see what I typed in wrong.
Insanely Easy WoW Macro Guide
This is a very good guide that actually taught me how to use macros. If you were having trouble following me, hopefully you'll have better luck following this guy. He also teaches you a couple of nifty tricks.
This website, not just the page that I linked to, is everything you need to know about macros. It will teach you the syntax and it has a very good list of many commands and conditions and the many ways to alter and use them. I highly suggest checking it out. If you need to know what is possible with a macro, look here.
Wowpedia has pages and pages dedicated to macros, including a beginner's guide and a neat list of conditions.
Macro Syntax Guide
If you're having difficulties coming up with how to write a macro, this guy does a good job at explaining what these basic macros do and you can copy and paste them for your own use.
I think I understand what makes up a macro now. Now can I start writing macros?
Go ahead! Just know that macros can't do everything for you, although you may be surprised by what you can do with them if you tinker around with them long enough. Follow these basic steps and you'll be a master of macros in no time.
1. Think about what you need the macro to do. Remember, casting your entire rotation of Lightning, Flame Shock, Lava Burst, Lightning Bolt, Earth Shock, Healing Surge when I need a heal, cast all my trinkets, switch out my weapons and renew my buffs right NOW just isn't going to work in one Macro.
2. Start with a basic form like so, or even copy and paste one you find off of Google and alter it.
3. Think about how you can perform the actions you need in that macro by using multiple conditions, multiple parameters, multiple lines etc. Go through the list of commands/conditions on those websites I linked you to. Wow300 taught me that you could do things with macros that I didn't even know were possible.
4. Test it. If it doesn't work, throw it in the Explain-o-matic and figure out what you did wrong. Troubleshoot the macro. Accept that some things just can't be done with a macro.
5. Integrate the macro into your play style one at a time.
You said something about a macro that you use to save key bind space. What was it?
It looks very similar to this.
See what I did there? I fit four spells on one button. Here's a quick run down. When I press the key for this macro, it will cast “Spellhere”. When I press the key for this macro plus alt, it will cast “Morespells”. When I press the key for this macro plus ctrl, it will cast “Anotherspell” and so on. Just delete the lines you aren't using and edit the modifiers as you please.
Ex. My primary spells as a Shaman are Lightning Bolt, Flame Shock, Earth Shock, and Lava Burst. On “2” I have a macro set up for Lightning Bolt and Chain Lightning, on “3” I have a Macro set up for Flame Shock, Earth Shock and Frost Shock. On “R” I have a macro set up for Lava Burst and Fire Nova.
Ex. Not all of your macros have to “make sense”. You don't have to put all your shock spells on one macro, or if you wanted you could throw a random totem on your shock macro. For example, I have a macro set up with Thunderstorm and Wind Shear, on my Mouse Button 4. Why? Because I put Thunderstorm there to be easily accessible. One day I realized I needed an easily accessible spot for Wind Shear but I wasn't willing to move Thunderstorm from its righteous spot on the side of my mouse. Thus, this macro was born.
Ex. Another one of my macros that doesn't quite “make sense” and uses the knowledge I gained from reading that nifty WOWGanksta macro guide from earlier. This goes on my Mouse Button 5, so that I have a spot where I can easily renew Lightning Shield and Flametongue Weapon in combat without disrupting the movement of my mouse. (Any lvl 85 Elemental Shamans reading this are probably confused as to why I have a conditional timer on it. This is because pre lvl 25 I didn't have the Lightning Shield Glyph and needed to constantly renew Lightning Shield in combat without having to constantly recast Flametongue Weapon. Feel free to use this for leveling your Shamans!) I threw Ghost Wolf on to this macro just for the ease of having it right on the side of my mouse.
Ex. This is what happens when I overload myself trying to learn new key binds and/or macros and head into PvP. SADFACE. (NOTE: To get this picture I jumped off the plateau in Orgrimmar, but the first time I jumped I landed on a building and got my Going Down achievement. I had to run all the way back up to the plateau and jump again at half health to make sure that didn't happen again. That's how much effort went into making this guide.)
If you're having this overload issue, do what I've said a million times in this guide already. Take your time. If you have to learn the key bind/macro for a spell one at a time, then so be it. Rush into PvP and make a point to use that new key bind/macro when necessary. If you freeze up because you forgot which key to press, forget that the ability is even there, or press the wrong button then that's okay. When you die and you're sitting in the graveyard take a moment to think to yourself: What did I do wrong? What could I have done to save myself back there? What button did I need to press? Etc.
Sometimes the issue isn't the key bind/macro usage itself, sometimes you just need to stop zerging a group of 9 Horde/Alliance all by yourself... or you just need to remember that you have Rocket Jump as an escape... and sometimes, you just can't live through getting ganked by two rogues Ambushing you.
Anymore questions? On second thought, don't answer that. I really hope this helped you understand key binds and macros just a bit better, because, bageebus, this took me a while to write. Good luck, take care and go kick Deathwing in his giant chin with your new, super handy key binds/macros!
Unfortunately I was unable to get a picture of Snotmuffin kicking Deathwing in his giant chin...