I have a macro setup to ask for input (a specific key press) in order to continue. I'm using an app on my phone to run this macro away from my keyboard and it recognizes "Hot Key" presses that can trigger macros, but it's not recognizing the conditional step of a macro that waits for a specific key to be [DOWN].
Is it possible to to use the Pause-Until-Condition step to trigger a key [PRESS] instead of key [DOWN]?
Edit: I've done more testing and attempted workarounds, and found that OS X definitely recognizes the key input from my remote app, but the Pause-Until condition is not recognizing it. For example, Text Edit is typing the key press as I type it from the remote app, but the condition in my macro isn't resulting in a true condition. It only results in a true condition if my physical keyboard types the key.
Edit 2: After more testing, I found that the conditional pause only malfunctions if, when using the remote app, I press an arrow key before pressing the key to make the condition true. It's bizarre. I found a workaround by combining Command and Left Arrow together, from my remote app.
No, because conditions detect states, not state changes.
In this case, if it is a simulated keystroke, the key is likely down for an infinitesimal time, and thus the Pause Until key is down is probably missing the keystroke.
Instead, create a macro that is triggered by the key as a Hot Key (or if you need the key to be ignored by Keyboard Maestro, then perhaps a USB Device Key, but that may not work with this simulated key. Have the macro set a variable "My Key Pressed" to 1. And your Pause Until is replaced with
Set Variable "My Key Pressed" to 0
Pause Until Variable "My Key Pressed" is not 0
As for your arrow key comment, I cannot speak to that since there is no way for me to test it.
Thanks for the reply, Peter. Triggering another macro is kind of what I ended up doing.
The Pause-Until-Condition step will only pass if it triggers another macro that gets disabled.
Then the triggered macro is set to the key bind I want to use to continue through that conditional step. It simply disables itself, pauses for a second, and re-enables itself. Kind of like an off/on switch.