In the Pro Configuration style, a set of abstract Universal Hotkeys is defined for each of various gameplay mechanics, such as DPS, Area DPS, Stun, Taunt, and so on. For example, pressing "1" might do DPS and pressing "3" might do Stun.
Example Universal Hotkeys
I'm not going to include standard things like eat, drink, sit/stand, reset camera, mount/dismount, and so on. Those things are not usually class-specific, and can usually be done with standard Mapped Keys from the Mapped Key Wizard, or Repeater Regions, along with in-game features like Action Bars. See Common modifications: The game's Action Bars for more on that. The Mapped Keys for these standard things belong most naturally in the Non-combat (non-WoW) or General (WoW) Key Map.
- Here's an example list of Hotkeys I came up with for my own configuration
- DPS Rotation: My standard combat spam hotkey. I hit this when I want each of my guys to do their standard combat rotations. My healer might heal, the tank will do tank stuff, and the DPS will do DPS.
- AOE DPS Rotation: Similar to DPS Rotation, but this time optimizing for attacks that hit multiple enemies.
- PVP DPS Rotation: Similar to DPS Rotation, but optimizing for PVP attacks.
- PVP AOE DPS Rotation: Similar to AOE DPS Rotation, but optimizing for PVP attacks.
- Activate Proc: In World of Warcraft, it is typical to have some ability to build up to or that randomly becomes available... this will activate this ability
- Interrupt: When I need to interrupt an enemy's spellcasting, using Round-robin
- Stun: When I need to stun an enemy, also using Round-robin
- Ground AOE: When I would like to click to target an area effect spell for the characters that have such an ability
- Cooldowns: When I want to blow my DPS cooldowns and throw in extra firepower
- Panic: When I need to quickly recover health, prevent additional damage, etc
Other potential Hotkeys include:
- Taunt: When I need to taunt a mob off another PC. This may include other actions (detaunts, shields, heals) for non-tanks.
- Pull: For pulling. May include multiple Steps to allow for pre-pull buffing/shielding/applications of Heals over Time. (HoTs)
Adding the Universal Hotkeys
Our Universal Hotkeys will work via 3 very necessary pieces:
- A Key Map with Hotkeys, which we will call "Combat Hotkeys" (the other Key Maps here do not get Hotkeys!)
- A placeholder Key Map, which we call "Virtual Combat"
- Class-specific Key Maps (they can be per class, per class and level, per class and level and spec, etc), such as "Warrior" and "Priest"
Simply put, our Combat Hotkeys will be designed to perform similarly-named Mapped Keys in the placeholder Key Map, and then each Character will fill in his placeholder with its own rules. So we will set up a Hotkey called "DPS" in Combat Hotkeys, which will be set up to do "DPS" in "Virtual Combat". Then, our Priest will replace that with "DPS" in "Priest", or our Warrior will instead use his Key Map. This is the real magic behind the Pro Configuration!
All of these Key Maps are essentially copies of the same, original Key Map. Each of these Key Maps will have a Mapped Key called "DPS", one called "Stun", and so on, for each of your Universal Hotkeys. Therefore, we will start with the simplest Key Map, and create the rest by copying it.
Create the placeholder Key Map
We first create our placeholder Key Map that defines each of the Universal Hotkeys as separate Mapped Keys, with no Hotkeys. Each of the Mapped Keys will also purposefully do nothing at all, because the intention is for another Mapped Key to be used in its place, via virtualization. But, we can always provide "default" functionality directly in the Virtual Key Map, in case we forget to virtualize something properly... for example, popup text can remind us that we need to fix something.
So let's get started.
Create the Key Map
First, make a Key Map called Virtual Combat, and then select it for editing so you see its blank list of Mapped Keys in the bottom left pane.
Here's how to do that...
- In the top left pane, right click Key Maps and select "New Key Map"
- Rename the Key Map so that it appears as "Virtual Combat" instead of showing as "New Key Map" (right click and select Rename)
- Select your Virtual Combat Key Map in the top left pane, so in the bottom left pane you see Virtual Combat, Mapped Keys
Create the Mapped Keys
Now you will need to make a bunch of empty Mapped Keys, in much the same way as you made the Key Map. For each of the Universal Hotkeys you want from the first section, create a Mapped Key. That is, right click "Mapped Keys" in the bottom left pane, select "New Mapped Key", and then rename it. You will not need to do anything else for these Mapped Keys, just create them and name them.
Your completed Key Map and Mapped Keys should look something like mine, pictured.
Now that the Virtual Combat Key Map has been created, you can copy it via Make Copy to generate templates for any other related Key Map you will need.
Create the Hotkeys Key Map
Now that we have Virtual Combat completed, we're going to copy it for "Combat Hotkeys". Right click Virtual Combat in the top left pane and select Make Copy. Rename the copy "Combat Hotkeys"!
You will then need to assign Hotkeys as desired to each of the Mapped Keys under Combat Hotkeys.
The Hotkeys will also have no behaviors, so next you will need to configure placeholder use!
Create class-specific Key Maps
Start by copying the Virtual Combat Key Map, and then see the main Universal Hotkey implementation article.