# Keyboard Bind Helper
**Summary:** See your whole keyboard and mouse, drag spells onto free keys, and get reach-based keybind suggestions.
## Description
Keyboard Bind Helper draws your keyboard and mouse in one window so you can see which keys are bound, which are free, and which are easy to reach. Then you bind spells by dragging them onto keys.
### Features
- **Visual keyboard + mouse:** Esc, F1-F12, the number row, the QWERTY rows, Space, and LMB/RMB/middle button/wheel/Mouse 4/Mouse 5.
- **Modifier layers:** tabs for None, Shift, Ctrl, Alt, Ctrl+Shift and Alt+Shift.
- **Key states at a glance:** bound keys show the ability icon, free keys are green, and game bindings (movement, UI) are grey with a short label. The border colour shows how easy the key is to reach (Prime / Good / Okay / Hard).
- **Drag-and-drop binding:** drag a spell from the built-in "Unbound abilities" list, your spellbook, your macros or your bags onto a key. Right-click a key, or drag its icon off, to unbind it.
- **Unbound abilities list:** your non-passive spells that aren't bound yet, with search and a role filter.
- **Tooltips:** each key shows its current binding, reach tier, suggested role, and suggested abilities.
- **Auto-suggest layout:** previews a suggested layout as ghost icons on free keys. Click Apply or Cancel.
- **Safety:** a confirmation appears before overwriting a key, with an extra warning on movement/camera keys. There's an undo stack, and "Reset to open" restores every binding to how it was when you opened the window.
- **Two bind modes:** bind the spell directly to the key (default), or place it on a free action bar slot and bind that slot.
### Spec support
Curated ability suggestions and auto-suggest currently cover **Demonology Warlock only**. Other specs still get the keyboard view, drag-and-drop binding, and generic role-by-key hints. More specs are planned.
### How to use
1. Type `/kbh` to open the window.
2. Pick a modifier tab and hover keys to see their bindings and suggestions.
3. Drag spells onto keys. Confirm if a key is already bound.
4. Use Undo or "Reset to open" if you change your mind.
### Slash commands
- `/kbh`, `/bindhelper` or `/kd`: open or close the window
- `/kbh undo`: undo the last binding change
- `/kbh mode`: switch between direct spell binding and action bar slot placement
### Combat
Blizzard does not allow binding changes in combat. The window closes when you enter combat, and binding changes are blocked until you leave it.
### Compatibility
- Blizzard default action bars.
- **ElvUI** and **Bartender4:** the addon reads their bindings to show what's on each key. In bar-slot mode it binds to their buttons (`ELVUIBAR#BUTTON#` / `CLICK BT4Button#:Keybind`). Support is best effort; bar paging, stance bars and override bars are not handled.
- Retail only (Interface 120105).
### Known limitations
- Pet abilities show up only when they appear in the player spellbook (for example, Felguard Axe Toss via its command spell).
- Curated suggestions are Demonology only for now.
## Suggested categories
- Action Bars (primary)
- Miscellaneous
## Suggested tags
keybinds, keybinding, bindings, keyboard, action bars, warlock, demonology, ui
## Changelog
### 1.0.0
- First public release. Renamed from KeyDrop. Settings now use the `KeyboardBindHelperDB` saved variable.
- Visual keyboard/mouse binder with modifier layers, drag-and-drop binding, unbound abilities list, undo and reset.
- Curated suggestions and auto-suggest layout for Demonology Warlock.
- Added slash commands `/kbh` and `/bindhelper`. `/kd` still works.
- Updated for Midnight 12.x APIs (specialization and class colour).

