READ

FastBinds

Authors :

Onze, hl pve rogue from Enhanced (Chants éternels) Although I'm an IT pro. I'm new to LUA and don't "love it so much" :p so feel free to give me any technical tips if you find my coding sucks^^

Purpose :

FastBinds allows users to create simple macros to bind keys or mousebuttons to actions, casts, macros

uses Blizzard binding file syntax : SHIFT-NUMPAD0 , CTRL-ENTER, SPACE ...

Syntax for actions is not provided here, it can be found in the WTF files.

Use :

  • /fb for help
  • /fb display : opens or refresh the current bindings table (does not include cats or macros yet)
  • /fb KEY=ACTION for basic actions or UI buttons binds (including any addon bindable buttons)
  • /fbc KEY=CAST for cast binds, where CAST = name of the cast/spell
  • /fbm KEY=MACRO for macro binds where MACRO = name of your macro

KEY, ACTION, CAST, MACRO may use any visible chars but not the "=" char, which means the "=" key is not currently managed.

It's a first very basic release, but I didn't find anything like this to quickly change my bindings when I'm in a Vehicule, turret or when I need to change my space-bar actions upon PVE bosses...

This allows to change 4 or 5 bindings at a time by clicking a single button (will be more or less upon keys and actions names).

You may also easily bind the macros you created with keys and modifiers and put this in a root macro, so even if your UI buttons are out because you're in a demolisher you may still change your binds with a single key...

The addon also outputs to default chat frame the new binds, and tells if a binding failed.

DO NOT INSERT ANY SPACE BEFORE OR AFTER THE "=" CHARACTER ! (this syntax is designed to minimize macro length, although this might - and will - still be improved)

KEYS syntax rules :

String identifying one or more keyboard keys or mouse buttons, used with key binding and modified click API functions and the OnKeyDown/OnKeyUp script handlers. Most letter, number, and symbol keys are identified by their (uppercase) letter, number, or symbol.

Other keys are identified by a series of global variables with names prefaced by "KEY_": e.g. the localized name for the binding NUMPAD0 can be found in _G["KEY_NUMPAD0"]. Some keys have platform-specific names: e.g. the localized name for the binding PRINTSCREEN can be found in _G["KEY_PRINTSCREEN_MAC"] (revealing that it refers to the F13 key found on Mac extended keyboards).

Modifier keys are identified as follows:

  • LSHIFT, RSHIFT, SHIFT - Left, right, or generic Shift key
  • LCTRL, RCTRL, CTRL - Left, right, or generic Control key
  • LALT, RALT, ALT - Left, right, or generic Alt (or Option) key
  • STRG - German equivalent to CTRL key

Mouse buttons are identified by the token "BUTTON" followed by the button number; e.g. BUTTON1 for the primary (left) button, BUTTON2 for the right button, BUTTON3 for middle, etc.

For use in key bindings, several key/button identifiers can be strung together with hyphens to indicate a key combination; e.g. CTRL-SHIFT-SPACE, RALT-F12, SHIFT-BUTTON1.

Examples :

A macro to use mouse wheel when in a demolisher (leviathan) :
/fb MOUSEWHEELUP=VEHICLEAIMINCREMENT

/fb MOUSEWHEELDOWN=VEHICLEAIMDECREMENT
These for rogues, so you can choose to kick with space bar when needed :
/fbc SPACE=Coup de pied

(it's in french hu hu)

or

/fb SPACE=JUMP

to come back to normal use

future improvements

Display frame will have sorting buttons and "copy" button to paste system constants directly in macro editor. Other usefull buttons might be added there to set current bindings as base bindings or to reload base binding. Will also add 2 other tables for macros and cast binds



download:
INPUT:admin

 
PRV:wipe
NEXT:DeconstructorWarner
ABOUT NEWS