This WA allows you to dynamically display keybinds as custom text in your other weakauras.
How it works:
When the WA first loads, it scans your action bars and populates a global table variable (_G.kbTable_master), which allows your other WAs to pull from the table and display keybinds as custom text without incurring massive CPU headroom.
Based on the original script from JoschiGrey, this is now a branch of it as the original author has transitioned to making it work with ElvUI only.
Supports Bartender (tested) and default UI (should work, not tested extensively)
What works:
Spells
Spell macros
Items
Item macros (both /use [itemname] /use [slot])
What doesn't work:
Complex macros that contain multiple /cast and/or /use lines
Things I don't have / haven't tested
How to use:
Copy the applicable sample function from the WA's custom text section (under "display") and put in to the custom text of your WA (use %c to show).
There are two types of custom text, one for spells and one for items
Make sure the spell/item you are looking for is providing the dynamic information for the WA
Options:
Customize how modifier keys are displayed in the Custom Options tab
Replace function lets you replace text within a keybind with other text, e.g. "HOME" with "HM" (note that this function is very basic and replace text and not keybinds, if you try to replace SPACE, with SPC then BACKSPACE will appear as BACKSPC also)
Changes to any options requires a /reload to take effect
Known Issues:
Skills appearing twice on your bars might cause the script to fail. To avoid, enable all hidden bars on BT4 (or other bar addons), remove duplicates and get this
Code wil struggle with parsing macros that contain multiple /cast and/or /use instances
Table may not update if you change keybinds, talents, specs or gear (it's kinda wonky), /reload to force a refresh. Somewhat intended to reduce update frequency and unecessary trigger tracking. See optional script to increase update frequency
Lua errors may show up if you /reload, may have to do with WA load ordering, cannot reproduce consistently atm
Consumables with mulitple ranks are wonky, use the item ID in trigger for more consistency