• World of Warcraft Addons
  • World of Warcraft
  • Average Rating:

  • Your Rating

  • Share
  • Report Abuse

qUserKey - bind a key to any spell, item or macro

  Download the Curse Client

Project Updated:
Files Updated: 02-15-2009
Supports Game Version: 3.0.9
Category: Unit Frames
Tags:

, , and [Edit Tags]

Project Manager: quel
Additional Authors: No additional authors
Current Version: qUserKey v30000c
License: All Rights Reserved
Avg Daily DL (last 30 days): 23
Downloads Total: 17,016
Favorites: 70
Comments: 43
  • About qUserKey - bind a key to any spell, item or macro
  •  


Abstract
Begining with The Burning Crusade, the user interface may bind keys directly to spells, abilities, macros and usable inventory items; however, the game does not provide a gui for making such key assignments. UserKey scans you spellbook, your macros, your inventory (including your bank) and provides a gui for assigning keys to those actions/items.


Also includes a mini-API to allow other Add-On authors to add entries to the UserKey table, allowing custom bindings to their own buttons built using the new secure templates.


Updated for WoW 3.0.2 patch; added options panel in Game Menu | Interface | AddOns. MAJOR FEATURE ADDITION: In 3.0.2, all pets and mounts are converted to spells stored on the Companions interface and are no longer inventory items. Unfortunately, the companions don't honor the normal function for binding keys. As a (hopefully temporary) workaround, qUserKey has the ability to scan your mounts/pets, create macros to call each of them, and let you bind keys to those macros. On the upside, this is nice and simple. On the downside, it can potentially consume a ton of macro slots. This macro generation is disabled by default. You may enable it via the aforementioned options panel.


Usage
UserKey adds a new entry to the main game menu called "User Key Bindings" directly below the original "Key Bindings" button. Click the button and scroll through the available items. Items from the spellbook are displayed first (with tabs/schools indicated), then macros, then usable items. Then click the item you want to bind, press the key you want (including CTRL, ALT, and/or SHFT) just like the official Key Binding interface.

AddOn Authors:
To add your own buttons to the UserKey table, simply call:
UserKey_AddButton(addon, section_name, button_table);
where:
addon = "your addon name";
section_name = "My Clever Title for My buttons";
button_table = { { " name button1", "mybutton1" }, {"name button2","mybutton2"} };

This will add entries to a section titled "My Clever Title for My buttons". When you bind a eky to "name button1," UserKey will perform a SetBindingClick(key,"mybutton1"). Subsequently pressing the key will "click" your button.

If your addon fails to load, the binding will no longer be displayed.

To remove a binding button from the list dynamically, call UserKey_RemoveButton(addon, section_name, button_table). Notes Regarding Inventory Changes The inventory scan checks your bags anytime your inventory is updated. It also checks your bank whenever you open the bank interface. It then labels which bag/bank slot contains the item to make it a little easier to find in your bags. If you consume an item, sell an item or destroy an item, UserKey can't readily tell why the item left your inventory. So, it assumes that any
items that suddenly go "missing" must have been stored in your bank slot. They will be displayed with the tag (bank?) indicating the UserKey isn't really sure where the item is. The next time you open your bank, UserKey will have access to your full inventory. Any (bank?) items that aren't truly in your bank will be removed.

Technically, UserKey could assume that any item that goes "missing" must have been sold/destroyed/lost if you don't have your bank frame open. it's a little safer, though, for UserKey to assume it missed some event firing and therefore assume your item is in the bank. As soon as you open your bank again, UserKey will be able to resynch.

The "reset data" button ONLY clears the text displayed by UserKey. It does NOT undo all of your keybinds. This is primarily a debugging tool that I've left in the mod to facilitate future additions.

The "scan" button rescans your spellbook, macros and inventory. UserKey triggers off many events and should automatically detect any changes to bindable actions. If, however, you find an item doesn't automatically appear in your list, try clicking the Scan button. You can reclick scan as often as you want, it will not create duplicate entries in the display.

  • Downloads (7)
  •  
File Name Release Type Game Version Downloads Date
Addon Curse.com Beta 2.3.3 0 9/29/2008
  File Name Release Type Game Version Downloads Date  
  qUserKey - bind a key to any spell, item or macro qUserKey v30000c Release 3.0.9 3,251 2/15/2009
  qUserKey - bind a key to any spell, item or macro qUserKey v30000b Release 3.0.2 2,345 10/19/2008
  qUserKey - bind a key to any spell, item or macro qUserKey v30000 Release 3.0.2 124 10/19/2008
  qUserKey - bind a key to any spell, item or macro v1.6-20200 Release 2.0.0 423 10/29/2007
  qUserKey - bind a key to any spell, item or macro 1.5-20000 Release 2.0.0 14 12/23/2006
Advertisement
  • Screenshots (2)
  •  
  • Comments

Add Comment

Add

You need to or register to post.

Benefits of Registration

  • Interact with hundreds of thousands of other gamers on an open social network.
  • Post your stories, news, images, videos, and other content to share.
  • Create a network with your fellow gamers or join an existing one.
  • Gain reputation for everything you do.
  • For some reason, the keys show as bound, but they don't activate. I set one of my logitech mouse buttons to and it says it binds it to my mount macro. But when pushing the button, no mount.

    What am I doing wrong?

    Reply Report Permalink
  • m5k said 

    Huge upgrade from SpellBinder. 5stars
    The only way to play a hunter with 1 actionbar is with this addon and 50 hidden bindings ;]

    Reply Report Permalink
  • Would there be any possible way to be able to save a profile with current binds? Because my brother gets on sometimes and changes stuff around and unbinds my crap and it would be soo nice if you can load a profile and it resets ur binds back to what u saved em too b4 sum1 messed with em.

    Reply Report Permalink
  • quel said 

    qUserKey v3000c works fine with 3.1 on my system.

    Reply Report Permalink
  • Need this for 3.1!!!

    Reply Report Permalink
  • Excellent Add cant play w/o it.

    Reply Report Permalink
  • Superb addon - rate up for you! :)

    Reply Report Permalink
  • Aesire said 

    I forgot to add though - it's always been an issue that I cannot bind mousewheelup or mousewheel down, including modifiers or just on their own. The binding always shows up as 1. Is there a fix for this? I use the mousewheel for a lot of my bindings.

    Reply Report Permalink
  • Aesire said 

    I'm very glad to see this addon back. It's the best addon I've seen of it's kind, I've been lost without it. Thanks a bunch.

    Reply Report Permalink
  • v30000b

    SetNormalFontOjbect spelled wrong in many lines (SetNormalFontObject).

    Lines 749-751 should look like this:
    SetBinding(k, "");
    else
    SetBinding(UserKeyBindings[i].k2, "");

    Otherwise it would always be a spell binding.

    table.getn(xxx) can be replaced with #xxx .

    Still doesn't work with other languages (line 1457 commented out)

    Thx for this great little addon.
    Rick

    Reply Report Permalink
  • Krellmax said 

    I know Blizzard made a change so you can now create separate bindings based on whether a person pressed the left shift or right shift button. I think that's why we see LSHIFT. If anyone finds a solution for this or knows of another mod that can replace this mod, please let us know.

    Ok, I found out how to fix it!

    Go to line 335 and change it to this:

    elseif ( arg1 == "UNKNOWN" or arg1 == "LSHIFT" or arg1 == "LCTRL" or arg1 == "LALT" or arg1 == "RSHIFT" or arg1 == "RCTRL" or arg1 == "RALT") then

    Oh and if you want to know how to make it look right when using ClearFont2, see my post here:

    http://forums.worldofwarcraft.com/thread.html?topicId=2043948174" target="_blank

    Reply Report Permalink
  • cmacord said 

    I love this addon, but a strange problem surfaced yesterday after the 2.2 patch went in. I like to bind my most commonly used commands to the shifted version of a key, for example, 'c" brings up the Paper Doll screen as usual, but I can bind <shift><C> to "Chain Lightning". I have been doing this ever since I have been using this addon, which is close to a year. However, yesterday, after the system came up after the 2.2 patch went in, I tried to do this, and as soon as I pressed the shift key, it gave me the message "key SHIFT-LSHIFT bound successfully". IOW, it won't let me bind the shifted version of a key now, because as soon as I press shift, it binds to the shift key itself!!! So something in 2.2 broke this addon, although it appears to work fine with the keys I have already bound. It also gave me an error msg today when I opened the bank:

    qUserKey\qUserKey.lua line 911: attempt to index field '?' (a nil value)

    I would really like to see this addon fixed. It makes a huge contribution to my enjoyment of the game!!!

    Reply Report Permalink
  • Bifidus said 

    2 months without update. Is this project still alive ? I plan to use it, because it save a lot of space in the bars, and it's really easy to configure. But i don't want to be addicted to something who will be unusable soon, if not maintained :-) So... quel, are you here ? ;-)

    Reply Report Permalink
  • quel said 

    Crissa - no. Many events aren't scannable when you open the UserKey window. For example, it must scan pets when you change them. It has no access to your inactive pets' spells. Same with the bank vault.

    RagingSage - I do intend to add a second binding column, but am short on time right now. Maybe in February.

    I'll look at the listing of the macros as you requested. It should be do-able.

    As for why did I create a new menu button, without going into a lecture on the changes in wow2.0, I'll sum it up by saying that was the entire point of this mod. With wow2.0 you *cannot* simply assign spells and items directly through the keybindings interface. Attempts to do so generate the "addon was blocked" message which inspired me to write this mod.

    Krellmax - someone else reported the ClearFont issue also. I haven't really given this a priority since any add-on could come along and re-work my layout after I've defined it.

    Q

    Reply Report Permalink
  • Crissa said 

    Can you tell UserKey to not scan at all except when opened?

    Reply Report Permalink
  • A great Mod so far; I've been looking for one just like this since the 2.0 patch. I'd like to make a few suggestions though. . .

    Most importantly, can a second/alternate binding be added to each macro/spell/item, just like the default key bindings have? There are many times I've found a second binding to be very useful the way I have all of my keys and controls arranged for different situations.

    Also, two very minor things. It would be great to list the account and character macros separately in the list. I saw that the account ones appear to be listed first, but depending upon how you name your macros, it seems like it'd be easier to find or tell at a quick glance which are which if they were separated. Finally, I'm just curious; why did you make a separate "User Key Binding" button for the macro/spell/item bindings, instead of just adding them to their own section at the bottom of the default bindings page, like other Mods do?

    But all-in-all, it is very useful as-is.

    Reply Report Permalink
  • Krellmax said 

    I use a font mod called ClearFont and this causes a problem with the User Key Bindings window where the text and the buttons get misaligned the farther down you scroll. They just start to get offset from one another, no longer directly across from each other. The default Blizzard key bindings window doesn't have this problem. Got any ideas on how to handle that?

    Reply Report Permalink
  • Krellmax said 

    You fixed the LoadIT button problem!!! You're awesome! I didn't even notice you fixed it.

    Reply Report Permalink
  • quel said 

    Yes, all actions on the pet bar are supported. Plus, you can create macros for any pet actions and bind keys to those as well.

    Reply Report Permalink
  • Chrish said 

    Great Addon!

    Reply Report Permalink
  • Similar Addons
  •  

Average downloads per day

  1. 8,240 HealBot Continued Buffs & Debuffs, Unit Frames...
  2. 4,883 X-Perl UnitFrames Unit Frames, and Raid Frames
  3. 2,435 PitBull Unit Frames 4.0 Unit Frames
  4. 1,869 Grid Unit Frames
  5. 1,571 Gladius PvP, Unit Frames, Combat,...