Sorry about the ambiguity.
My issue is that I am using voice attack to save considerable time with trading in elite dangerous. In addition to the common commands like requesting dock, etc, I have several commands set up to automate my trading. The market screen has upwards of 100 entries, so my command goes something like this: (dumbed down because I'm responding on my phone from work...)
"All V"
Execute open market (series of keystrokes)
Execute sell V (loop runs to go down 50-80 rows to the trade, selects, holds key to sell units, confirms)
Execute buy v (similar to above, but buys new stock)
Execute exit menu
Execute set nav v (series of commands with pauses to set my next coarse)
Execute launch
In a nutshell, +/-. That has worked fine, and would continue to work. However, my commands were all hard coded before (press d, press space, etc). I switched to create a keybinding commands (i.e. Cmd = "ui_up", that when executed does, "press w key for .03 seconds". So I swapped all my hard coded keystrokes for this, such that my code went from something akin to this:
Press and release d key for .03 seconds
To something akin to this:
Execute command ui_up and wait to complete
Great. Now I can just update all the key binding commands and bam, my code will work.
Except that calling out to a new command every time added considerable time. Namely, my script that would execute in 5 seconds or so now took 10-15. I could literally just do it myself faster.
This is because, I think, my command has a loop (because there are so many rows to scroll down), that looks something like this:
Loop while counter is less than TargetRow
Ui_down
Set counter to counter plus 1
End loop
Thus, when executing the command, it calls out to another command some 50-80 times. I noted that when I use quick input to accomplish the same thing, like this:
Loop while counter is less than TargetRow
Quick Input '{TXT:ui_down}
Set counter to counter plus 1
End loop
(Where ui_down is a txt variable set to "d"), this same code completed in a fraction of the time.
So my comment that I would be stuck using seperate commands, was alluding to this. While more logical, it simply did not execute as quickly. Basically it takes about twice as long. My testing reveals (about as I'm at work)
Entering keystroke in executing command : baseline
Using quick input to call txt variable. : 1.1x baseline
Calling another command to that executes keystroke: 2-3 x baseline
While for a simple on-off command this might only be a second wait, for a loop that cycles a hundred times, that extra time starts to really add up.
So, if possible, I would like to program certain "time dependent" macros into a txt variable, but to do that I need a token of some sort to cause a pause, beyond the single command in the quick input dialogue (to account for, say, a dialogue that takes 1.5 seconds to load).
So, saying I want to use voice attack to execute commands, but I don't want to use commands is an over-simplication. But, it is safe to say I would like to be able to use quick input to execute multi key strokes for simple macros when needed.
Of course, I could just use the quick input for these situations where i need to use long loops, but I thought perhaps there was a more efficient way around my problem (the problem being time to execute, not ability to execute).
Regarding your remark on the "heads up" the only thing I saw, and I just reopened it, is a line that says,
"Set a text value
Set a text value to be used with various features, such as text-to-speech. This value can be accessed in various areas by using {txt:variable name} tokens."
That is the only thing on the dialogue. Compare that to the quick input dialogue that, while I don't have it in front of me, is very clear that tokens can be used in quick input.
A moot point, not worth dwelling on, but I just assumed based on the wording that the set variable dialogues reference to tokens are letting you know it can be "accessed" via token, as apposed to "set" via token. Again, not important at this point
The bottom line (perhaps some of my ignorant / faulty logic can be circumvented here...) is that I need to be able to activate a series of keystrokes, with pauses, as fast as possible, faster than calling out to a seperate command will apparently allow.
If I can't get it working as I hope, I'll just resort to not calling out and using a quick input for individual keystrokes with the built in pause function to accomplish this, but it will be much more messy, and much less modular.