Macro group - Activated vs Palette

Want to make sure I understand this correct.

  • When you setup a macro group to activate for one action, only keyboard shortcuts within that group will trigger?

  • When you setup a macro group to show a palette for one action, all keyboard shortcuts within the application will trigger?

I would like for palettes to not allow keyboard shortcuts from anything that is not in that specific palette so I can reuse common shortcut keys. Do I have this right?

No.

When you activate a macro group for one action, all the macros in the macro group are enabled and active. Any single action (which would be triggering a macro, typing a key (whether that triggers a macro or not), switching applications, etc), will then deactivate the macro group.

For example, macros with the status menu trigger would be in the status menu, public web triggered macros would appear on the web server, etc.

The only difference with the palette case is that in the latter the macro group would also show up as a palette.

I would like for palettes to not allow keyboard shortcuts from anything that is not in that specific palette so I can reuse common shortcut keys. Do I have this right?

I don't really understand what you mean. Activating a macro group, with or without a palette, does not affect any other macros outside that macro group - they remain as active as they were previously. But I'm not sure if that answers this question.

@peternlewis, I was trying to understand what "action" means in this context, and reviewed the KM wiki page on Macro Groups, but it didn't help.

Can you please clarify the use of the term "action" here, vs Actions in a macro?

I'd like to use this as an opportunity to update the KM Wiki to provide clarification.

Thanks.

I seem to have been experiencing a glitch this afternoon. I think a Macro Group had been enabled and never got turned off. So it messed a bunch of stuff up as far as hot keys. After resetting the KM engine, everything is working as it should. I’m seeing the same behavior from palettes as from just activating a group.

I’ve been converting around 200 QuicKeys into KM and every now and then things get weird. Sometimes hard to tell if it’s user error, or if there was a system glitch.

I was referring to the options for macro groups. In this case, when set to “activated for one action when” you can assign a hotkey to enable the group for only one use. This lets you nest hotkeys under the first one. So, hit F10. That enables the F10 macro group. I put macros in that folder and assign them hotkeys. Those hotkeys can only be triggered if you hit F10 first. It opens up a lot of possibilities for hotkey triggering.

that are completely different terms. Presumably you know what a macro action is, that is documented and used all over Keyboard Maestro.

The other use in this case is for "for one action", which means that the macro group is activated (with the palette optionally shown) for one user action, be it triggering a macro, typing a key, switching applications, clicking the mouse, whatever. It is not entirely defined in that there is no specific list of what constitutes an action, but basically it is pretty much anything - the idea being you activate the macro group and then you have one chance to trigger the macros within it.

As @Jeremy_Levy notes, a primary use of this is to get two level hot keys without the problems of having a Hot Key trigger of two characters (which has serious practical problems related to what happens when the first hot key is pressed and then something else is pressed). It is also useful for displaying a palette for one selection.

Hey Jeremy,

(If I understand correctly.)

The problem with this is that Activate for One Action will NOT allow all other hotkeys outside of the activated macro group to be blocked.

So hotkeys within the activated macro group will collide with any identical ones in other active macro groups.

This limitation severely curtails the utility of so-called nested-shortcuts.

There may be ways to work around this, but Peter will have to expound on them.

-Chris

It should block any hotkey outside of the activated macro group. The only issue I found, is that it doesn’t block the hotkey for another macro group.

For instance, let’s say I have a macro group assigned to F10, and also to F11. If I put a macro inside the F10 group and assign it the hotkey F11, it will cause a conflict with the F11 macro group.

That is not the way it works. Activating a macro group does not deactivate anything else.

You could make a macro that disables the other macro group and activates the desired macro group. But there is no equivalent for "Deactivate for one action".