*** Version 1.6.1 is temporarily unavailable while I work on a new version. In the interim, you can still download version 1.4. ***
This addon accelerates key bindings so that they are activated by key press rather than key release. This allows you to activate your abilities faster than you could otherwise. This can really make a difference for situations where you need to react quickly, like when casting heals, when dispelling, when interrupting spells, or in PvP. In these situations, the addon can have an effect similar to reducing your network latency by 100ms. Of course, the exact impact depends entirely upon how much time you personally spend between key press and release.
"Dude, this addon is going to increase my DPS by so much!" No, it's not. DPS rotations (or even priority systems) are not to any great extent affected by latency. Because they're predictable, good players can anticipate what's coming next and compensate for latency. In fact, if you're a good player who is already compensating for the press-to-release latency, you may actually find that your DPS goes down when you first use this addon until you learn to readjust to the reduced latency. Find a target dummy and practice your rotation until you're comfortable with the changed timing.
Configuration
There is an in-game configuration GUI accessible through the usual Options->Interface->Addons menu. From this panel, you can add or remove keys and mouse buttons to be accelerated. You can also globally enable or disable all key acceleration.
The GUI provides exceptionally fast entry--you can enter your whole keyboard in seconds and all your mouse buttons in a few more seconds. The easiest way to understand this GUI is to start by hitting the "Clear All" button and then adding and removing some keys. In order to add just one key or mouse button, hover over the "+" button and type the key or press the mouse button (including whatever modifiers you desire). In order to remove that key, hover over the "-" button and type that same key with its modifiers. In order to enter all 8 of a key's modified and unmodified combinations with just one key press, hover over the "+ (Modifiers: All)" button and type the key.
If you want to do mass entry of modified and unmodified keys and mouse buttons, hit the "Clear All" button. Then hover over the "+ (Modifiers: All)" button and face-roll your way across keyboard and mouse buttons. You're done.
The default configuration accelerates all the modified and unmodified keys on a standard 104-key US keyboard (except PRINTSCREEN) plus mouse buttons 3-5. If you'd like to get back to this configuration at any time, simply hit the "Reset To Defaults" button.
Mouse Buttons
SnowfallKeyPress accelerates key bindings of mouse buttons, but it doesn't accelerate mouse button clicks that interact directly with frames without any associated key binding. This means that although SnowfallKeyPress is compatible with click-casting addons like Clique and Vuhdo, it won't accelerate their mouse clicks. Vuhdo already provides its own mouse click acceleration, though, and perhaps Clique will at some point, as well. Until then, you can add support yourself by navigating to Interface\Addons\Clique, editing Clique.lua and CliqueOptions.lua, searching for instances of "AnyUp", and replacing them with "AnyDown".
Mouse scroll-wheel bindings do not need any acceleration, so don't be concerned that SnowfallKeyPress offers no way to accelerate them. Each "tick" of the mouse scroll wheel is, in effect, already a simultaneous press and release.
Reduced the size of the default button animation by 25%, which should help keep it from obscuring other indicators on buttons.
Added the ability for other addons to customize the SnowfallKeyPress button animations. An example is included.
Removed the deprecated Lua configuration capability (the SnowfallKeyPressSettings folder). This functionality was superseded by the in-game GUI in version 1.2, so it's not needed any longer.
Added button press animations (enable or disable through the configuration panel).
Made some infrastructure changes that should be invisible to the user, but which should improve compatibility with addons written in the future that may have more complex behaviors than we generally see in addons today.
Also, wouldn't it be simpler if you just linked SnowfallKeyPressSettings.lua in SnowfallKeyPress.toc? This way, if missing, the default settings would be used, and if present, these new settings are used. Kind of the same way EventHorizon works with myconfig.lua. Definitely a lot easier for people who don't know a bit, though you might argue that they have no use in such addon anyway
Thank you for your feedback and for your upcoming testing of this addon.
I'll try to give my rationale for having settings be in a separate folder rather than embedded in the SnowfallKeyPress folder. The most foolproof method for folks to update addons is to delete the old addon folder and replace it with the new one. People who try to overwrite the old folder run into problems from time to time if files are renamed or deleted, as I'm sure you've experienced with a variety of addons. Under the delete-then-update model, people would have to remember to back up their myconfig.lua before updating, or they'd lose everything. With folks owning their own folder outside the SnowfallKeyPress folder, this won't be a problem. This method requires no more lua knowledge than the other--it simply requires knowledge of how to copy and paste a folder.
One other nice thing about having separate configuration is that other addons can specify behavior for SnowfallKeyPress. For example, Dominos could dedicate a couple of lines of Lua for configuring SnowfallKeyPress to work with its special-case main action bar. Or, someone can release a tiny settings-addon to configure SnowfallKeyPress in some useful way and share that with others.
I'm curious to see what the landscape of addons out there looks like and whether there are other special cases besides Dominos.
For Dominos, after you've copied out the settings folder, just go into the settings file and uncomment the last line (delete the two hyphens at the beginning of the line).
Originally posted by Dayn Under the delete-then-update model, people would have to remember to back up their myconfig.lua before updating, or they'd lose everything.
Well, then, for that fact alone it is better to do it your way
Originally posted by Dayn As far as I can tell, this works fine with Bartender4 key bindings. If not, please detail what you're doing and steps to reproduce.
Oh, I just assumed that since snowfallfastaction had the disclaimer about it not working that this wouldn't as well. I'll install it and check it out! If so donation inc!
Great addon, but miss Clique support. As healer i mostly heal through clicking on raid frames so i can't get benefit from your addon at this time. Can you add support for Clique?
__________________
Sorry for my english. It's not my native language.
For OPie, copy out SnowfallKeyPressSettings as an addon and edit SnowfallKeyPressSettings.lua. Uncomment this line by deleting the two hypens at the beginning of the line, and then change XYZ to ORL_:
-- c{command = "^CLICK XYZ"}
The result should look like this:
c{command = "^CLICK ORL_"}
You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.
*Clicking the donate button above will take you to PayPal.com
*Clicking the donate button above will take you to Pledgie.com