Download
(3Kb)
Download
Updated: 07-18-18 01:29 AM
Pictures
File Info
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:07-18-18 01:29 AM
Created:02-02-10 10:42 AM
Downloads:32,037
Favorites:114
MD5:
Categories:Action Bar Mods, Miscellaneous

ncHoverBind  Popular! (More than 5000 hits)

Version: 1.4.2b
by: nightcracker, Coote

Now maintained by TMcMahon51. See thread here.


ncHoverBind is a simple addon that does one thing: binding buttons on mouseover. You can mouse over actionbuttons, spells in the spellbook and macro's in the macro pane and bind them while hovering. You can bind keys, mousebuttons 4 and 5 and the scrollwheel with this addon. If you made a mistake in binding, you can just press "Discard" and your old bindings are loaded. Real simple!


Usage:
Download and install. To start use either /hb or /hoverbind. Hover over buttons, spells or macro's and press a key, scroll with the mouse or press mousebutton 4 or 5. After you've bound your spell/items/macro's press "Save bindings" and your done!
If you use HealBot, use /hvb instead.

Upcoming features:
- Items
Suggest features!

Credits:
FatalEntity

1.4.2b
--
Bug fix for additional macros

1.4.2
--
TOC bump for Legion

1.4.1
--
6.1 TOC Bump

1.4.0
--
Updated for WoW 6.0 and Warlords of Draenor

1.3.1
--
5.4 .TOC bump

1.3.0
--
MoP compatibility.
.TOC bump

1.2.2
--
Added check to avoid interference with HealBot.

1.2.1
--
.TOC bump
Should be mostly error free now.

1.2.01
--
Reuploaded as .zip. Sorry to any MMO-Minion users, was unaware it couldn't handle .rar files.

1.2
--
Fixed Spellbook binding.
Added in Networm's fixes.

1.1
--
Fixed the keybinding mechanic so it correctly binds to the "hidden" keybinds. Also works on pet and shapeshift buttons now.
Optional Files (0)


Post A Reply Comment Options
Unread 08-21-13, 05:22 PM  
Xully
A Cyclonian

Forum posts: 44
File comments: 180
Uploads: 0
One question about this lovely addon, does this act like the Blizzard key binding window in a way that if I keybind things then go to a different computer, my keybinding will still be there? or do I need to bring the files/WTF with me like vanilla WoW?
Report comment to moderator  
Reply With Quote
Unread 03-18-13, 07:36 AM  
m97
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Great add-on, exactly what i was looking for, but i found that i can't key bind pet action bar buttons and stances properly, i'm quite new to lua but i managed to fix it (i think?):
replace this:
Code:
else
self.button.bindstring = (spellmacro=="STANCE" and "StanceButton" or "BONUSACTIONBUTTON")..self.button.id
with this:
Code:
elseif spellmacro=="PET" then
	self.button.bindstring = (spellmacro=="PET" and "BONUSACTIONBUTTON")..self.button.id
else
	self.button.bindstring = (spellmacro=="STANCE" and "SHAPESHIFTBUTTON")..self.button.id
this seems to be working so you can use this until someone comes up with a better solution
Last edited by m97 : 03-18-13 at 07:38 AM.
Report comment to moderator  
Reply With Quote
Unread 01-26-13, 07:42 PM  
natassja72
A Wyrmkin Dreamwalker

Forum posts: 59
File comments: 73
Uploads: 0
I can't thank you enough for this addon! After quitting action bar mods and moving back to default action bars, I had hard time redefining keybinds and messing with keybinds menu and this just saved my sanity
Report comment to moderator  
Reply With Quote
Unread 11-15-12, 06:06 AM  
Coote
A Scalebane Royal Guard
 
Coote's Avatar
AddOn Author - Click to view AddOns

Forum posts: 440
File comments: 69
Uploads: 7
Originally Posted by Razko
Figured it out. It's because of this:
Code:
bind:SetScript("OnKeyUp", function(self, key) self:Listener(key) end)
It's not uncommon that by the time you release 1, you're not holding shift down anymore, even though you do press shift+1 and the game registers it like that. Changing it to OnKeyDown makes it work flawlessly.
Will be done in the next version. Thanks for the input.

Originally Posted by Razko
I got another question though: why don't you support middle mouse button binds? And will this addon work with more mouse buttons than 4 and 5, e.g. Naga for example?
I added in some test support for the Naga, and the Steelseries WoW mouse at one point, though wasn't able to actually test it myself, and never got any responses back from the person supposed to test it. I believe all that is needed is to add up to Button14 or 15 or however are on it, assuming WoW sees those buttons as mouse keys, rather than keyboard binds. If it sees them as binds from the keyboard, rather than the mouse, it should already work by default.


Originally Posted by Razko
I got another question though: why don't you support middle mouse button binds? And will this addon work with more mouse buttons than 4 and 5, e.g. Naga for example?
I'm not entirely certain why it was never supported, and since I never thought of rebinding the middle mouse button myself, it never occurred to me to change it. Can have that changed in the next version, as well.
__________________

"This is the fifteen-thousandth four hundredth and ninety-eighth occurence".
Last edited by Coote : 11-15-12 at 06:28 AM.
Report comment to moderator  
Reply With Quote
Unread 11-05-12, 08:55 AM  
Razko
A Defias Bandit
 
Razko's Avatar

Forum posts: 2
File comments: 24
Uploads: 0
This is weird but it seems to "lag" with modifiers sometimes.

What I mean exactly is, if you're trying to hotkey something like say shift+1, and you do it very quickly, it registers only 1 as the bind, not shift+1. Sometimes I can replicate this, sometimes I can't.

I discovered this while just normally binding stuff by the way, so it's not like I was trying extra hard to be too fast. This happened just during normal use.

EDIT:
Figured it out. It's because of this:
Code:
bind:SetScript("OnKeyUp", function(self, key) self:Listener(key) end)
It's not uncommon that by the time you release 1, you're not holding shift down anymore, even though you do press shift+1 and the game registers it like that. Changing it to OnKeyDown makes it work flawlessly.

I got another question though: why don't you support middle mouse button binds? And will this addon work with more mouse buttons than 4 and 5, e.g. Naga for example?

EDIT2:

Support for middle mouse button:
1. Comment out this line
Code:
or key == "MiddleButton"
2. Add
Code:
if key == "MiddleButton" then key = "BUTTON3" end
directly above these
Code:
if key == "Button4" then key = "BUTTON4" end
if key == "Button5" then key = "BUTTON5" end
3. Profit
Last edited by Razko : 11-05-12 at 06:46 PM.
Report comment to moderator  
Reply With Quote
Unread 09-16-12, 03:41 PM  
Burnum
A Defias Bandit
 
Burnum's Avatar

Forum posts: 2
File comments: 81
Uploads: 0
BT4 has nearly the same function? Hmmm I have not found that, I'll have to investigate further.

-- Update

Wow, i'm blind! big button in the main UI. I guess I was expecting to see something in the LDB menu flyout.

Originally Posted by TMcMahon51
Originally Posted by Burnum
I can't figure out how this works, or even if it works. I get the save or discard thing on /hb but that is all it ever does. perhaps the current and the other version you linked do not work yet.
Or this never worked with Bartender4?
TBH, I have never tested it with BT4, nor have I ever used it with BT4 in the past, since BT has nearly the same function built in. It'll be about 2 weeks before I start playing again to be able to really test it, though.
Last edited by Burnum : 09-16-12 at 03:54 PM.
Report comment to moderator  
Reply With Quote
Unread 09-16-12, 12:42 PM  
Coote
A Scalebane Royal Guard
 
Coote's Avatar
AddOn Author - Click to view AddOns

Forum posts: 440
File comments: 69
Uploads: 7
Originally Posted by Burnum
I can't figure out how this works, or even if it works. I get the save or discard thing on /hb but that is all it ever does. perhaps the current and the other version you linked do not work yet.
Or this never worked with Bartender4?
TBH, I have never tested it with BT4, nor have I ever used it with BT4 in the past, since BT has nearly the same function built in. It'll be about 2 weeks before I start playing again to be able to really test it, though.
__________________

"This is the fifteen-thousandth four hundredth and ninety-eighth occurence".
Report comment to moderator  
Reply With Quote
Unread 09-16-12, 11:28 AM  
Burnum
A Defias Bandit
 
Burnum's Avatar

Forum posts: 2
File comments: 81
Uploads: 0
I can't figure out how this works, or even if it works. I get the save or discard thing on /hb but that is all it ever does. perhaps the current and the other version you linked do not work yet.
Or this never worked with Bartender4?

I love the idea! the way Bliz still makes us go to some scroll forever maybe you will find what you need key-bind list, if we want to do anything, is just stupid.

Thanks for your effort!
Report comment to moderator  
Reply With Quote
Unread 09-09-12, 02:31 AM  
Coote
A Scalebane Royal Guard
 
Coote's Avatar
AddOn Author - Click to view AddOns

Forum posts: 440
File comments: 69
Uploads: 7
Re: Busted?

I hadn't updated the MoP beta for live yet, since it wasn't 100% tested. I'm currently unable to do much testing until MoP goes live.

This should work, though I'm not sure if anything else had been changed between the time I uploaded it, and 5.0 dropping on live servers.
__________________

"This is the fifteen-thousandth four hundredth and ninety-eighth occurence".
Report comment to moderator  
Reply With Quote
Unread 09-09-12, 01:20 AM  
Burnum
A Defias Bandit
 
Burnum's Avatar

Forum posts: 2
File comments: 81
Uploads: 0
Busted?

Message: Interface\AddOns\ncHoverBind\ncHoverBind.lua:242: attempt to index global 'ShapeshiftButton1' (a nil value)
Time: Sun Sep 9 00:13:47 2012
Count: 1
Stack: Interface\AddOns\ncHoverBind\ncHoverBind.lua:242: in function `?'
Interface\FrameXML\ChatFrame.lua:4358: in function `ChatEdit_ParseText'
Interface\FrameXML\ChatFrame.lua:4052: in function `ChatEdit_SendText'
Interface\FrameXML\ChatFrame.lua:4091: in function `ChatEdit_OnEnterPressed'
[string "*:OnEnterPressed"]:1: in function <[string "*:OnEnterPressed"]:1>

Locals: find = <function> defined =[C]:-1
_G = <table> {
ContainerFrame5Item7 = ContainerFrame5Item7 {
}
MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown {
}
MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock {
}
GetTrainerServiceTypeFilter = <function> defined =[C]:-1
UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names."
UNIT_NAMEPLATES_TYPE_TOOLTIP_3 = "This method avoids overlapping nameplates by spreading them out horizontally and vertically."
SetTrainerServiceTypeFilter = <function> defined =[C]:-1
EventTraceFrameButton7HideButton = EventTraceFrameButton7HideButton {
}
SPELL_FAILED_CUSTOM_ERROR_71 = "This partygoer wants to dance with you."
CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture = CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture {
}
TutorialFrameLeft19 = TutorialFrameLeft19 {
}
MultiCastActionButton2Cooldown = MultiCastActionButton2Cooldown {
}
ERR_TRADE_EQUIPPED_BAG = "You can't trade equipped bags."
PVP_RANK_6_1 = "Corporal"
BOOKTYPE_PROFESSION = "professions"
AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture = AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture {
}
InterfaceOptionsDisplayPanelShowAggroPercentageText = InterfaceOptionsDisplayPanelShowAggroPercentageText {
}
VideoOptionsFrameCategoryFrameButton17ToggleHighlightTexture = VideoOptionsFrameCategoryFrameButton17ToggleHighlightTexture {
}
MerchantItem3AltCurrencyFrameItem1Text = MerchantItem3AltCurrencyFrameItem1Text {
}
OPTION_TOOLTIP_ACTION_BUTTON_USE_KEY_DOWN = "Action button keybinds will respond on key down, rather than on key up."
BINDING_NAME_NAMEPLATES = "Show Enemy Name Plates"
INSTANCE_UNAVAILABLE_OTHER_TEMPORARILY_DISABLED = "%s cannot enter. This instance is temporarily disabled."
IsReferAFriendLinked = <function> defined =[C]:-1
MAIL_LETTER_TOOLTIP = "Click to make a permanent
copy of this letter."
QuestDetailBotLeftCorner = QuestDetailBotLeftCorner {
}
ItemTextFrameInsetInsetTopRightCorner = ItemTextFrameInsetInsetTopRightCorner {
}
ERR_NOAMMO_S = "%s"
CHAT_CONFIG_OTHER_COMBAT = <table> {
}
CONSOLIDATED_BUFFS_PER_ROW = 4
TutorialFrameRight19 = TutorialFrameRight19 {
}
MoneyFrame_OnEvent = <function> defined @Interface\FrameXML\MoneyFrame.lua:233
BN_UNABLE_TO_RESOLVE_NAME = "Unable to whisper '%s'. Battle.net may be unavailable."
WatchFrameItem_OnEvent = <function> defined @Interface\FrameXML\WatchFrame.lua:1367
InterfaceOptionsCombatTextPanelFCTDropDown_OnClick = <function> defined @Interface\FrameXML\InterfaceOptionsPanels.lua:1419
LFGTeleport = <function> defined =[C]:-1
SpellButton6Cooldown = SpellButton6Cooldown {
}
ToggleEncounterJournal = <function> defined @Interface\FrameXML\UIParent.lua:617
Graphics_QualityText = Graphics_QualityText {
}
TalentMicroButtonAlertShadowTopLeft = TalentMicroButtonAlertShadowTopLeft {
}
ROGUE_COMBAT_CORE_ABILITY_4 = "Use for damage when you have 5 combo points. Primary finishing move."
Advanced_GraphicsAPIDropDownButtonHighlightTexture = Advanced_GraphicsAPIDropDownButtonHighlightTexture {
}
CompactUnitFrameProfilesSaveButton = CompactUnitFrameProfilesSaveButton {
}
BankFrameItem17SearchOverlay = BankFrameItem17SearchOverlay {
}
ACTION_SPELL_MISSED_POSSESSIVE = "1"
ChannelMemberButton10SpeakerFrameOn = ChannelMemberButton10SpeakerFrameOn {
}
EventTraceFrameTitleButton = EventTraceFrameTitleButton {
}
Is6
Report comment to moderator  
Reply With Quote
Unread 11-23-10, 08:09 PM  
networm
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 7
Uploads: 2
1 OneKeyMode
I think we bind only one key to any button almost. So I think just allow to bind one key is a good idea.
Here is a picture about it:

Here is the code to achieve this:
First add this line to head of ncHoveBind.lua:
Code:
local onekeymode = true
Add these code between SCREENTSHOT and ESC judge:
Code:
				RunBinding("SCREENSHOT");
				return
			end

			-- change behavior to bind only one key for one button
			if #self.button.bindings > 0 and onekeymode then
				for i = 1, #self.button.bindings do
					SetBinding(self.button.bindings[i])
				end
				self:Update(self.button, self.spellmacro)
				if self.spellmacro~="MACRO" then GameTooltip:Hide() end
			end

			if key == "ESCAPE" or key == "RightButton" then
				for i = 1, #self.button.bindings do
2 #showtooltip bug
fix can't bind anykey when a macro isn't available with #showtooltip
such as "#showtooltip /use Conjured Mana Strudel", we couldn't bind any key to it when we haven't Conjured Mana Strudel
Here is the error:
Code:
[08:07:14] Interface\AddOns\ncHoverBind\ncHoverBind.lua:185: attempt to get length of field 'bindings' (a nil value)
[C]: ?
Interface\AddOns\ncHoverBind\ncHoverBind.lua:185: in function `Listener'
Interface\AddOns\ncHoverBind\ncHoverBind.lua:37: in function <Interface\AddOns\ncHoverBind\ncHoverBind.lua:37>
Here is a picbute about it:

Here is the code to fix it:
Code:
					elseif self.button.action < 49 and self.button.action > 36 then
						self.button.bindstring = "MULTIACTIONBAR4BUTTON"..modact
					elseif self.button.action < 37 and self.button.action > 24 then
						self.button.bindstring = "MULTIACTIONBAR3BUTTON"..modact
					end
				end

				GameTooltip:AddLine("Trigger")
				GameTooltip:Show()
				-- fix can't bind anykey when a macro isn't available with #showtooltip
				-- such as "#showtooltip /use Conjured Mana Strudel", we couldn't bind any key to it when we haven't Conjured Mana Strudel
				bind.button.bindings = {GetBindingKey(bind.button.bindstring)}

				GameTooltip:SetScript("OnHide", function(self)
					self:SetOwner(bind, "ANCHOR_NONE")
					self:SetPoint("BOTTOM", bind, "TOP", 0, 1)
					self:AddLine(bind.button.name, 1, 1, 1)
				--	move the following line to front, comment it or delete it.
				--	bind.button.bindings = {GetBindingKey(bind.button.bindstring)}
Last edited by networm : 11-23-10 at 08:21 PM.
Report comment to moderator  
Reply With Quote
Unread 11-17-10, 02:54 PM  
markhr
A Fallenroot Satyr

Forum posts: 23
File comments: 43
Uploads: 0
Thanks for changing to zip.
Report comment to moderator  
Reply With Quote
Unread 11-17-10, 12:46 PM  
Coote
A Scalebane Royal Guard
 
Coote's Avatar
AddOn Author - Click to view AddOns

Forum posts: 440
File comments: 69
Uploads: 7
Originally posted by Farronski
Could you please reupload the addon as a *.zip file? MMOUI-Minion can't handle *rar files.
Sorry, I was unaware of that.
__________________

"This is the fifteen-thousandth four hundredth and ninety-eighth occurence".
Report comment to moderator  
Reply With Quote
Unread 11-17-10, 11:15 AM  
Farronski
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 11
Uploads: 2
Could you please reupload the addon as a *.zip file? MMOUI-Minion can't handle *rar files.

Would be nice...
Report comment to moderator  
Reply With Quote
Unread 11-15-10, 12:41 AM  
Slaxi81
Guest

Join Date: Not Yet
Forum posts: 0
File comments: 0
Uploads: 0
Thanks for update!


Have a nice day

Slaxi
Report comment to moderator  
Edit/Delete Message Reply With Quote
Post A Reply



Category Jump: