DialogKey is an AddOn designed to make handling dialogs and quest frames less of a hassle by allowing you to use the keyboard to control them. View the settings by typing /dialogkey, /dkey, or /dk
It has three primary functions:
1. Button Clicking
DialogKey lets you bind a key which can be used to "click" on certain buttons without the hassle of moving your mouse over to it. By default it's Spacebar, but you can change it or add a second key as well. Note that this isn't a traditional keybind: the button will still perform its normal function if none of the buttons are visible. For example, your Spacebar will still make you jump, but if one of the buttons is visible, it'll click it instead of jumping.
By default, the following buttons are clicked when you press the key:
- The first available option when talking to an NPC. This could be a conversation topic or a quest.
- Accept quest button
- Continue quest button (When you click on a quest at an NPC and are about to hand it in)
- Complete quest button
The OK/Accept button in popups - this includes:
- "Are you sure you wish to exchange <currency> for <item>?"
- "Looting <item> will bind it to you."
- "Do you wish to set your hearthstone to <location>?"
- <Player> has invited you to a group"
- And more!
You can also include other buttons for DialogKey to click. Just hover over the button and type /dialogkey add to start tracking it. Type /dialogkey remove to stop tracking the button under the cursor. You may also track/untrack by name, by typing, for example, /dialogkey add GameMenuButtonContinue. Capitalization matters!
2. NPC Option Selection
DialogKey allows you to press a number key to select a dialog option at an NPC. Pressing 1 will select the first conversation topic or quest, 2 will select the second one, etc. It also adds numbers at the beginning of each line. Pressing the bound key (e.g. Spacebar) will also select the first option.
3. Better Quest Frame Scrolling
DialogKey allows you to scroll quest detail frames with the scroll wheel, even if your cursor isn't over the frame. This is included because being able to accept quests with a keypress is nice, but not when you have to move your mouse to scroll down to see the rewards anyway. With this option enabled, you no longer need to move your mouse at all to pick up quests.
This option is disabled by default, but can be turned on by typing /dialogkey and enabling the option.
Type /dialogkey to open the options panel. Here you will find four options:
Keybinds: Here, you can change which keys attempt to click the tracked buttons. Right-click a button to remove a keybind.
Don't try to click on greyed-out buttons: This controls how the bound key acts when it tries to click on an unclickable button (such as when you're trying to turn in a quest that you haven't completed yet) If enabled: the key will perform its normal action (e.g., you'll still jump if the bound key is Spacebar). If disabled: the key will do nothing.
Make buttons clicked by DialogKey glow: If enabled, every button clicked by DialogKey will glow for a second
1-9 keys select conversations/quests when talking to NPCs This enables or disables the feature described in #2 above.
1-6 keys select quest rewards Allows you to select quest rewards with the number keys. It even shows the item tooltip for true mouse-less interaction!
Mouse wheel always scrolls quest dialogs regardless of cursor position This enables or disables the feature described in #3 above.
Additional buttons to click: A case-sensitive list of additional buttons that DialogKey will track and click, one per line. Capitalization matters! The easiest way to modify this is with the /dialogkey add and /dialogkey remove commands, as explained above.
Confirmation dialog blacklist: A list of text strings (one per line); any dialog box that contains any of these lines will not be clicked at all. For example, enter invites you to a group on a line, and DialogKey will no longer make you join groups by hitting the bound key.
You can use /dk, /dkey, or /dialogkey to open the options window.
It is not possible to bind mouse buttons.
Some buttons may not be clickable by DialogKey. Examples are quest item buttons in the quest tracker and Need/Greed buttons in loot popups. Technical talk: the reason for this is that buttons without a global name currently aren't able to be tracked with the /dialogkey add command.