Until %TriggerValue% "is up"

Is there any way to detect when a macro's hotkey trigger is released, regardless of what the key itself is? This isn't massively important, but I have a couple of macros that would benefit, in terms of ease of setup when I share them, if people don't have to trawl through them and replace the hotkeys with their own in conditions.

Hi @noisneil. Off hand I can't think of a simple method, but you could start with the following and combine it with the necessary If actions. It would likely be ugly, but you could do it once in a subroutine and then call the subroutine when necessary.

Keyboard Maestro Export

Hopefully, someone in the forum has be better idea. :grinning:

1 Like

Thanks so much for the reply. Here's what I'm trying to replace (in this macro):


If the pressed hotkey is released during the repeat period, PressLength is set to short. How would I incorporate your idea into this and do you think it might induce lag?

Since, in the action, the key F10 cannot be substituted with a variable, I'm not sure there is a simple way. If there was a small set of possible keys, then maybe multiple If conditions with if any of the following are true would work.

Let's hope someone in the forum has a better idea.

1 Like

If it’s the key that is triggering the macro to start, then you just need to edit the drop down in the triggers section right at the top. You can select “Is released”


That would trigger the macro when the key is released. What I'm trying to do is detect whether the key is released within a certain time frame after being pressed. My macro already works perfectly, but what I'm wondering about is whether it's possible to detect a key "is up" by referencing its TriggerValue. That would mean you don't have to edit the body of the main macro and can just enter your preferred hotkey once, at the top. As I said, this is kind of a luxury thing and isn't that important, so if it's not possible, no problem.