You could use the "Wait For Spoken Response" action for that, E.G.
disengage on my mark
Wait for spoken response: 'now;mark'
Press D key and hold for 0,03 seconds and release
If you set the timeout to 0, and don't check the "Continue on any Speech" option, the command will wait indefinitely (meaning it will keep running in the background until you either say "now" or "mark", or stop the command).
If you do want the command to time out, it could be set up something like this:
Wait for spoken response: 'now;mark'
Begin Text Compare : [~response] Has Not Been Set
Say, 'Disengage timed out'
End Condition - Exit when condition met
Press D key and hold for 0,03 seconds and release