Go to Page... |
Compatibility: | Battle for Azeroth (8.0.1) Shadows of Argus (7.3.0) Tomb of Sargeras (7.2.0) Return to Karazhan (7.1.5) Legion (7.0.3) |
Updated: | 08-25-18 01:08 AM |
Created: | unknown |
Downloads: | 154,620 |
Favorites: | 640 |
MD5: | |
Categories: | Graphic UI Mods, Action Bar Mods |
BindPad -- Created by Tageshi
-------------------------------------------------------------------------
1. WHAT IS "BindPad"?
-------------------------------------------------------------------------
BindPad is an addon to make KeyBindings for spells, items, and macros.
You no longer need actionbar slots just to make Key bindings for your macores etc.
BindPad addon provides many icon slots in its frame. You can drag and drop
anything into one of these slots, and click the slot to set KeyBindings.
-------------------------------------------------------------------------
2. HOW TO USE "BindPad"?
-------------------------------------------------------------------------
(1) Type /bindpad or /bp to display BindPad frame.
(Also you can find "Toggle BindPad" Keybinding command in standard
KeyBindings frame of Blizzard-UI.)
(2) Open spellbook frame (p), you bag (b), or Macro Panel (/macro).
(Also you can use three mini-icons on BindPad frame to open these windows.)
(3) Drag an spell icon, item icon, or macro icon using left button drag and
drop it onto the BindPad window.
(Maybe you need shift key + left button drag if action bars are locked.)
(4) Now you see the icon placed on BindPad frame. Click it,
and a dialog window "Press a key to bind" will appear.
(5) Type a key to bind. And click 'Close' button.
(6) When you want to remove icons from BindPad frame, simply drag away the icon
and press right click to delete it.
Note that KeyBinding itself will not be unbinded when you delete the icon.
To unbind it, click the icon and click Unbind button on the dialog window.
Also you can simply override Keybindings.
-------------------------------------------------------------------------
3. HOW TO USE TABS
-------------------------------------------------------------------------
3.1. SLOTS TABS
There are four tabs called Slots Tab on the top of BindPad frame
(like Blizzard's Macro frame).
[General Slots] is for common icons used for every characters and every specs.
[<Character> Specific Slots] is for icons specific to current character
and current spec.
[2] and [3] (aka. 2nd and 3rd <Character> specific slots) will act
in the same way as [<Character> Specific Slots].
Note that you can use [<Character> Specific Slots] tab only after you click
'Character Specific Key Bindings' check box at standard KeyBindings frame of Blizzard-UI.
From BindPad version 1.5, you can see this checkbox on BindPad window itself too.
(Also BindPad will inform you about 'Character Specific Key Bindings' and automatically
activate it for you when you click [<Character> Specific Slots] tab.)
3.2. PROFILE TABS
There are another three tabs called Profile Tab on the side of BindPad frame.
(like Blizzard's Talent frame)
Different Profile can hold different contents in [<Character> Specific Slots].
You can click a Profile tab to switch current Profile, and your choice of
Profile is saved for each Talent specs and automatically reverted to former
profile when you change talent spec. If you choose same Profile for both
talent specs this automatic change will not happen.
Note that [General Slots] tab is not effected by Profile change, as all
contents of [General Slots] tab is common for all characters AND all specs.
If you change Profile while [General Slots] tab is shown,
BindPad will automatically shows [<Character> Specific Slots] tab of
specified Profile.
3.3. CAN I SWITCH PROFILE IN COMBAT? ON STANCE CHANGE?
No, you cannot.
If you need different skills binded for different stances/forms,
simply use the stance condition to decide on what skill to use.
Example: /cast [stance:1/2] Berserker Stance; [stance:3] Intercept
Where [Stance:1/2] is conditioning the macro for you to be in battle stance
or defensive stance and [stance:3] is conditioning you to be in berserker stance.
This works for all classes with stances (Including rogues for stealth [stance:1]
and shadow dance [stance:2] or none of the previous [stance:0]).
Druid example: /cast [stance:1] Bash; [nostance:1] Healing Touch
[nostance] = Caster, [stance:1] = Bear, [stance:2] = Aquatic, [stance:3] = Cat,
[stance:4] = Travel, [stance:5] = Tree/Moonkin if available else Flight,
[stance:6] = Flight if Tree/Moonkin is not available.
-------------------------------------------------------------------------
4. "You want to convert this icon into a BINDPAD MACRO?"... What?
-------------------------------------------------------------------------
"BindPad Macro" is a new feature from BindPad version 1.8.0 ;
which allow you to make almost unlimited number of virtual macro icons.
Older versions of BindPad just let you save your limited action bar slots.
This new BindPad will let you save your limited macro slots on the standard
"Create Macro" panel.
Usage:
- Click the small red "+" icon to create an empty BindPad Macro.
- Right-click an existing spell/item/macro icon on BindPad to convert it into a BindPad Macro.
- Right-click the "BindPad Macro" to edit macro-text.
- ...and you can use left-click to set keybindings as usual.
Note that BindPad Macro will only exist within the BindPad frame;
You can drag-and-drop them within BindPad, but you cannot drop them outside.
-------------------------------------------------------------------------
5. DETAILS AND MORE INFORMATIONS
-------------------------------------------------------------------------
BindPad addon utilizes new functions added from WoW API 2.0 .
You can use these functions (and many others) in any addons or macros.
GetBindingKey("command")
SetBinding("KEY", "command")
SetBindingSpell("KEY", "Spell Name")
SetBindingItem("KEY", "itemname")
SetBindingMacro("KEY", "macroname"|macroid)
Just don't forget to save changes by
SaveBindings(GetCurrentBindingSet());
There are some other similar addons by other authors.
Try them and choose what you like.
SpellBinder
http://www.wowinterface.com/downloads/info5614-SpellBinder.html
qUserKey
http://wow.curse.com/downloads/wow-addons/details/q-user-key-bind-a-key-to-any-spe.aspx
mBindings
http://www.wowinterface.com/downloads/info11614-2.html
ncBindings
http://www.wowinterface.com/downloads/fileinfo.php?id=15270
ProKeybinds
http://www.wowinterface.com/downloads/fileinfo.php?id=18841
Visit these links for more informations about keybindings and macros.
WoWWiki
http://www.wowwiki.com/Making_a_macro
-------------------------------------------------------------------------
6. WHERE CAN I GET LATEST VERSION?
-------------------------------------------------------------------------
You can get latest version of BindPad from www.wowinterface.com:
http://www.wowinterface.com/downloads/fileinfo.php?id=6385
Or from Curse:
http://www.curse.com/addons/wow/bind-pad
File Name |
Version |
Size |
Author |
Date |
Type |
1.1 |
13kB |
09-01-12 01:05 AM |
Patch |
Comment Options |
baldursgate |
View Public Profile |
Send a private message to baldursgate |
Find More Posts by baldursgate |
Add baldursgate to Your Buddy List |
07-26-16, 09:40 AM | |
|
BindPad 2.8.1
Version 2.8.1
- Fixed Lua Error: attempt to call field 'GetMountInfo' (a nil value) |
|
Tageshi |
View Public Profile |
Send a private message to Tageshi |
Find More Posts by Tageshi |
Add Tageshi to Your Buddy List |
07-29-16, 10:27 AM | |
|
BindPad 2.8.2
Version 2.8.2
- Fixed Lua Error: attempted to call a protected function (SaveBindings()) during combat lockdown. |
|
Tageshi |
View Public Profile |
Send a private message to Tageshi |
Find More Posts by Tageshi |
Add Tageshi to Your Buddy List |
07-31-16, 07:59 PM | |
|
Really great addon. I want to ask what the easiest way is of sharing profile between different characters of the same class. Is there an easy way without rebinding everything?
|
|
Bizerk |
View Public Profile |
Send a private message to Bizerk |
Find More Posts by Bizerk |
Add Bizerk to Your Buddy List |
07-31-16, 08:05 PM | ||
|
Yes.
Code:
/bp copyfrom Code:
/bp help
|
|
|
Tageshi |
View Public Profile |
Send a private message to Tageshi |
Find More Posts by Tageshi |
Add Tageshi to Your Buddy List |
12-24-16, 12:43 PM | |
A Murloc Raider
Forum posts: 7
File comments: 14
Uploads: 0
|
What is the easiest way to backup my binds before resetting my UI? Every time I try out a new UI, such as off this website, I lose my binds and it takes a lot of work redoing the binds for every character and class.
After resetting my UI, even if I keep the bindpad saved variables file, I still have to drag my spells from the spellbook for bindpad to remember what the bind for the spell was, meaning the grids are blank. EDIT: OK I just tested it and I just have to remember to save the .lua file in saved variables and not delete the bindpad folder in addons folder.
Last edited by metarra : 12-24-16 at 01:30 PM.
|
|
metarra |
View Public Profile |
Send a private message to metarra |
Find More Posts by metarra |
Add metarra to Your Buddy List |
02-21-17, 12:59 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 24
Uploads: 0
|
I've made a personal change to BP that makes it very easy to share configurations between characters. This change saves individual character configurations as their own lua files that are easy to copy to other characters (Account/x/server/character/SavedVariables/BindPad.lua)
I've been using it a couple of days and it has made my life very easy in setting up new characters (my wife and I are serial-alt-o-holics). It works for me, but I don't plan on ongoing support so if that makes you squeamish, wait for Tageshi to adopt (or reject) the change. Remember to back up your Account/x/SavedVariables/BindPad.lua first! (Seriously, imagine the pain of losing all of your configuration - back up takes 3 seconds and will save you hours.) Code:
diff --git a/BindPad/BindPad.lua b/BindPad/BindPad.lua index d057add..fd611bf 100755 --- a/BindPad/BindPad.lua +++ b/BindPad/BindPad.lua @@ -57,7 +57,11 @@ BindPadVars = { version = BINDPAD_SAVEFILE_VERSION, GeneralKeyBindings = {}; }; - +BindPadVarsCharacter = { + tab = BINDPAD_GENERAL_TAB, + version = BINDPAD_SAVEFILE_VERSION, + GeneralKeyBindings = {}; +}; -- Initialize BindPad core object. BindPadCore = { drag = {}; @@ -1092,10 +1096,10 @@ function BindPadCore.GetProfileForSpec(specIndex) if nil == character then return nil; end - if nil == BindPadVars[character].profileForTalentGroup[specIndex] then - BindPadVars[character].profileForTalentGroup[specIndex] = specIndex; + if nil == BindPadVarsCharacter.profileForTalentGroup[specIndex] then + BindPadVarsCharacter.profileForTalentGroup[specIndex] = specIndex; end - return BindPadVars[character].profileForTalentGroup[specIndex]; + return BindPadVarsCharacter.profileForTalentGroup[specIndex]; end function BindPadCore.GetSpecsForProfile(profileNum) @@ -1105,11 +1109,11 @@ function BindPadCore.GetSpecsForProfile(profileNum) return nil; end local specIndex = GetSpecialization(); - if BindPadVars[character].profileForTalentGroup[specIndex] == profileNum then + if BindPadVarsCharacter.profileForTalentGroup[specIndex] == profileNum then spec1 = specIndex; end - for k,v in pairs(BindPadVars[character].profileForTalentGroup) do + for k,v in pairs(BindPadVarsCharacter.profileForTalentGroup) do if v == profileNum and k ~= specIndex then if spec1 == nil then spec1 = k; @@ -1131,7 +1135,7 @@ function BindPadCore.GetProfileData() return nil; end local profileNum = BindPadCore.GetCurrentProfileNum(); - local profile = BindPadVars[character][profileNum]; + local profile = BindPadVarsCharacter[profileNum]; return profile; end @@ -1142,24 +1146,24 @@ function BindPadCore.ConvertOldSlotInfo() local profileNum = BindPadCore.GetCurrentProfileNum(); - BindPadVars[character] = {}; - BindPadVars[character][profileNum] = {}; + BindPadVarsCharacter = {}; + BindPadVarsCharacter[profileNum] = {}; if nil ~= BindPadVars[oldCharacter] then for i = 1, BINDPAD_MAXSLOTS_DEFAULT do - BindPadVars[character][profileNum][i] = BindPadVars[oldCharacter][i]; + BindPadVarsCharacter[profileNum][i] = BindPadVars[oldCharacter][i]; end BindPadVars[oldCharacter] = nil; end if nil ~= BindPadVars[oldCharacter.."_3"] then for i = 1, BINDPAD_MAXSLOTS_DEFAULT do - BindPadVars[character][profileNum][i+BINDPAD_MAXSLOTS_DEFAULT] = BindPadVars[oldCharacter.."_3"][i]; + BindPadVarsCharacter[profileNum][i+BINDPAD_MAXSLOTS_DEFAULT] = BindPadVars[oldCharacter.."_3"][i]; end BindPadVars[oldCharacter.."_3"] = nil; end if nil ~= BindPadVars[oldCharacter.."_4"] then for i = 1, BINDPAD_MAXSLOTS_DEFAULT do - BindPadVars[character][profileNum][i+2*BINDPAD_MAXSLOTS_DEFAULT] = BindPadVars[oldCharacter.."_4"][i]; + BindPadVarsCharacter[profileNum][i+2*BINDPAD_MAXSLOTS_DEFAULT] = BindPadVars[oldCharacter.."_4"][i]; end BindPadVars[oldCharacter.."_4"] = nil; end @@ -1187,11 +1191,11 @@ function BindPadCore.SwitchProfile(newProfileNum, force) BindPadCore.profileNum = newProfileNum; local specIndex = GetSpecialization(); - BindPadVars[character].profileForTalentGroup[specIndex] = newProfileNum; + BindPadVarsCharacter.profileForTalentGroup[specIndex] = newProfileNum; -- Create new profile if not available - if nil == BindPadVars[character][newProfileNum] then - BindPadVars[character][newProfileNum] = {}; + if nil == BindPadVarsCharacter[newProfileNum] then + BindPadVarsCharacter[newProfileNum] = {}; BindPadCore.DoSaveAllKeys(); BindPadFrame_OutputText(BINDPAD_TEXT_CREATE_PROFILETAB); @@ -1275,7 +1279,7 @@ function BindPadCore.CarryOverKeybinding(key, action) local character = BindPadCore.character; local idx; for profileNum = 1, 5 do - local profile = BindPadVars[character][profileNum]; + local profile = BindPadVarsCharacter[profileNum]; if profile ~= nil then if (profile.version or 0) >= BINDPAD_PROFILE_VERSION252 then profile.AllKeyBindings[key] = action; @@ -1476,12 +1480,17 @@ function BindPadCore.InitProfile() BindPadFrame_OutputText("BindPadVars.version = "..(BindPadVars.version or "nil")); BindPadFrame_OutputText(BINDPAD_TEXT_OBSOLATED); end + + if nil ~= BindPadVars[character] then + BindPadVarsCharacter = BindPadVars[character]; + BindPadVars[character] = nil; + end - if nil == BindPadVars[character] then + if nil == BindPadVarsCharacter then BindPadCore.ConvertOldSlotInfo(); end - if nil == BindPadVars[character].profileForTalentGroup then - BindPadVars[character].profileForTalentGroup = {}; + if nil == BindPadVarsCharacter.profileForTalentGroup then + BindPadVarsCharacter.profileForTalentGroup = {}; end local newActiveTalentGroup = GetSpecialization(); @@ -2289,10 +2298,10 @@ function BindPadCore.GetTabInfo(tab) else local character = BindPadCore.character; local profileNum = BindPadCore.GetCurrentProfileNum(); - if nil == BindPadVars[character][profileNum] then - BindPadVars[character][profileNum] = {}; + if nil == BindPadVarsCharacter[profileNum] then + BindPadVarsCharacter[profileNum] = {}; end - local profile = BindPadVars[character][profileNum]; + local profile = BindPadVarsCharacter[profileNum]; local tabname = "CharacterSpecificTab"..(tab - BINDPAD_GENERAL_TAB); if nil == profile[tabname] then diff --git a/BindPad/BindPad.toc b/BindPad/BindPad.toc index 387a638..5089614 100755 --- a/BindPad/BindPad.toc +++ b/BindPad/BindPad.toc @@ -4,4 +4,5 @@ ## Author: Tageshi ## Notes: BindPad - Keybinding UI for Items, Spells and Macroes. Drag anything into BindPad's slot and click it to bind a key. ## SavedVariables: BindPadVars +## SavedVariablesPerCharacter: BindPadVarsCharacter BindPad.xml If you want to reverse the process you will either have to manually copy your data back into the common BindPad.lua or tweak the InitProfile to put it back... You are on your own there, so buyer beware ---- Follow-up; its been a month and I leveled 8 characters (recruit a friend); I haven't found any bugs with the change. I did find a really nice side-effect of the change - I copied one of my characters data file and made it a template with all of my common (but character specific bindings) set up. (I use the numberpad on the right side of the keyboard - #3 is follow focus & main castsequence, #+ is mount, stuff like that). Having a template file made it really easy to do all the tedious create button/assign keypress work - so I could focus on the contents of the buttons.)
Last edited by elaundar : 03-29-17 at 10:56 AM.
|
|
elaundar |
View Public Profile |
Send a private message to elaundar |
Find More Posts by elaundar |
Add elaundar to Your Buddy List |
08-29-17, 10:33 AM | |
|
did some quick fixes to address the sound changes in 7.3, in case the original author does not come back you can get it here: https://github.com/Stanzilla/BindPad
|
|
Stanzilla |
View Public Profile |
Send a private message to Stanzilla |
Find More Posts by Stanzilla |
Add Stanzilla to Your Buddy List |
02-21-18, 06:00 AM | |
A Murloc Raider
Forum posts: 4
File comments: 23
Uploads: 0
|
Bindpad shows all green icons when I use another addon that enhances the window size and adds search capabilities, such as Better Icon Selector/Advanced Icon Selector/LargerMacroIconSelection.
Has anyone got any of these addons to work together? |
|
Machinelf |
View Public Profile |
Send a private message to Machinelf |
Find More Posts by Machinelf |
Add Machinelf to Your Buddy List |
08-11-18, 04:59 AM | |
|
update on curse available
|
|
Aur0r4 |
View Public Profile |
Send a private message to Aur0r4 |
Find More Posts by Aur0r4 |
Add Aur0r4 to Your Buddy List |
11-09-20, 05:40 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 1
Uploads: 0
|
Spec option gone
Hello ive got bindpad since 1 year now and its really good addon but today I dont have my spec option anymore (I am resto druid but i also play other specs) my other spec option are gone can anyone help me plz?
|
|
Kajiun |
View Public Profile |
Send a private message to Kajiun |
Find More Posts by Kajiun |
Add Kajiun to Your Buddy List |