I want to re-use hot key triggers for two different contexts. One context is “no macro group is activated” and another is “a macro group is activated”. It may already be possible to do this, but I don’t know how. (sorry if it’s obvious!)
Let’s say F1, F2, and F3 trigger different macro group palettes to open, and after one of those is open I want F1-F3 to select a macro from within that group. For example, I press F1 to open a macro group palette, then I press F1 again to select one of the macros in the group. Currently, if I do that it pops up a second palette that lets me select either the macro I want, or the macro group palette that is already open. If I click to open the macro group palette (again), KM does not open a second palette, nor would I want it to. It just closes the second palette. So in that scenario it doesn’t really do anything useful to me anyway.
In an alternate scenario, where I press F1 to open a macro group palette, F2 might then either select one of the macros in that group, or it might open a second macro palette that is triggered globally. In that case someone else might want F2 to open a palette that lets them select between those two possibilities. In my case I do not want that.
Is there some way to deactivate global macro group triggers when a macro group is already activated?
(incidentally, “Available except in these applications: Keyboard Maestro” does not work, in case you were wondering)
Thanks, I really appreciate the detailed suggestion. That pretty well solves it for me. I did add one action that I think might have been implied in your response? For the “Macro Group Top Level”, I ended with the action “Show Macro Group: Macro Group 1”. Otherwise, I think I have to press F1 twice to open Macro group 1: once to enable it, and then once more to open it.
The only minor hitch is that when it pops up the Macro Group 1 palette, it goes away about 1 second later, and it leaves things in the wrong state: the macro group is still enabled, even though the palette is not showing. I had the Macro groups set to “Shows a palette for one action when”, with nothing else checked. I tried variations on that. I also tried analogous variants for the “Show Macro Group” action (like “Show palette” and “Show/Hide palette”). In the end, I was able to make it work with the macro group set to “Shows a palette until: [obscure hot key trigger I will never use]”, and the “Show Macro Group” action set to “Show palette for one action”. The palette still seems to go away briefly, but now it comes back quickly and stays until I choose something from the palette (at which point it goes away because I disable it as you recommend).
This mostly works fine, but I run into trouble when I try to open other macro (sub)groups from within Macro Group 1. Let’s call one of those “Macro Group 1.1”, which I will not use F1-F15 to trigger, I’ll just be selecting actions in that group with the mouse. But running the “Reset Function Keys” macro after Macro Group 1.1 is selected causes Macro Group 1 to close (as it is supposed to) and it also closes Macro Group 1.1 immediately after it opens, even though “Reset Function Keys” does not disable Macro Group 1.1. I got around that by adding “Pause until Macro Group 1.1 is inactive” before “Reset Function Keys” is called.
So this is pretty workable, but I’m wondering if I’m doing something wrong, or different from what you had in mind. Thanks again!
Configure the Macro Group to be Disabled, but always active, and Show a Palette Until with no other configurations, so it will show the palette immediately it is enabled. So basically you want a macro group that is always showing a palette, but then you disable it.
You other issues probably also stem from the confusion about the activation of the group.
If the second macro group is configured for “one action”, and you run a macro like Reset Function Keys, that enables/disables macros, then Keyboard Maestro will take that as an action and remove the palette/deactivate the group.
Instead, execute Reset Function Keys, and then enable Macro Group 1.1, and follow the same process.