
[ENH] allow Button Execution to switch between single and double click modes.
TimothyLuke opened this issue · 2 comments
🟢 How does GSE currently work
With TWW’s macro restrictions we needed to change to access the GSE button directly. When you use a direct keybind this sends two clicks to the button. GSE was written to compensate for those two clicks. When You use a click macro or an Actionbar override these send single clicks meaning you have to click twice to emulate the Keybind’s clicks
🟢 Describe the solution you'd like
Have a setting that if you mainly use Actionbar Overrides set the button like single steps but if you mainly use Keybinds set it to double steps.
🟢 Describe alternatives you've considered
Alternatively GSE could infernally create two buttons one with the code for Keybinds and the other for Actionbar Overrides. Not sure what complications this would bring.
🟢 Fuller Comment
There is a difference between how a sequence advances using KeyBinds over Actionbar Overrides and /click SEQUENCE macros. Using a KeyBind, when you press the whatever key, WoW sends 2 Hardware events (KeyUp and KeyDOwn). When writing this for TWW, I got the GSE button to effectively repeat every second action and only move to the next step on the second click.
For Actionbar Overrides and by extension /click SEQUENCE macros both of these are governed by the Actionbar which only sends 1 hardware event (Either KeyUp or KeyDown) to the GSE Button. So with an Actionbar Override you are spamming at 250ms, but its effectively 500MS as second click doesnt advance the sequence.
Now before ask NO the GSE Button cannot change its behaviour based on how its clicked because in combat it doesnt know how it was clicked it just knows it was clicked.
I am adding a setting to Troubleshooting so you can switch between double steps and single steps. By default this will be on and work like Keybinds do now. Turning it off will be better for Actionbar Overrides. The split between the 2 is 50/50 but would rather someone choose to change from that they have now over it just happening to them.
This affects Cata Classic as well. In that environment you probably want to turn this setting off.
The tooltip for that setting is:
GSE Sequences are converted to a button that responds to 'Clicks' or Keyboard keypresses (WoW calls these Hardware Events).
When you use a KeyBind with a sequence, WoW sends two hardware events each time. With this setting on, GSE then interprets these two clicks as one and advances your sequence one step. With this off it would advance two steps.
In comparison Actionbar Overrides and '/click SEQUENCE' macros only sends one hardware Event. If you primarily use Keybinds over Actionbar Overrides over Keybinds you want this set to false.