'Subscope' in KM

Hi Forum,

I created a macro and I wanted to ask if this is an implemented feature of KM (and I'm missing out on it) or if this is the only way to do it.

Here is what it does:

I press the F1 key and the macro goes to a 'first layer' or subscope. In this layer, I have three keys that trigger different actions: F1 -> Action 1, "R" -> Action 2, ESC -> cancel macro.

Technically you could go further and insert another 'layer', e.g.: after R is pressed "O" will trigger a different action than "keypad-1", etc.

Thank you,
Best,
apkyburz

F1: Staff Tool; Reorder Staves.kmmacros (8.4 KB)

Conflict palettes kind of do this. https://wiki.keyboardmaestro.com/manual/Palettes#Conflict_Palette

It is not clear what you mean by "first layer" and "subscope". Perhaps is you posted the image of your Macro it would be clearer.

IAC, you might review these posts from a Forum Search of @appleianer palette .

As @vincent_ardern indicated, the “Keyboard Maestro way” to do this is with a Conflict Palette. Just give each of your macros the F1 hot key, and then like Keyboard Maestro handle the keys for differentiating between them.

Otherwise you can do what you want using various combinations of either Macro Group configurations, or macros that enable and disable other macros. It's made tricky by using the F1 at both “layers” because pressing the F1 the first time will have to disable itself, but then it needs to be re-enabled later, or alternatively it will have to detect that it is in layer 2 state already and behave differently.

That sounds great! Thanks for your answers!
The 'Maestro way' with the conflict palette works great and I use it a lot.

The slight advantage you get with the macro I created is that it allows to incorporate the whole keyboard instead of just alphabetical and numerical keys; not necessary for some, which I understand, but it can help free up the keyboard a little bit.

@peternlewis: true, you can see in the screenshot the first and last actions en- and disable the macro, so the f1 key is not triggering the macro into a loop.

I think you need a few more macro groups. And maybe some additional macros.

2 Likes

@CJK I'm not quite getting it. Can you explain?

If you're referring to the initial macro and the question I had about it: it always worked perfectly, I just wasn't sure whether I'm working too hard for something that might be an automated feature in KM.

Pretty sure @CJK was just kidding, since you already have a gargantuan number of macro groups and macros (seriously: :open_mouth:)

Ah, I see. Sorry @CJK I did't get the joke :grinning:

True, it's a lot of macros but my professional workflow is centered around KM and it makes me incredibly efficient. Taking a guess, I'm pretty sure users like JMichaelTX or, of course, peternlewis have similar sizes, if not bigger.

It's not about size, it's about how you use it...

1 Like

Is this thread still open?

I created a what is referenced here as a subscope" using Karabiner-Elements. Now when my Hyper Key + o is pressed down followed by

he new layer is accessed by holding the Hyperkey + o + any of the keys below:

s = Safari
l = Slack
w = WhatsApp
d = drafts
t = iterm2
f = Fantastical
k = Skype
g = Gmail.app

I can do this with the macro discussed here?

Hello Abdallah (@bocciaman):wave:

Let me break this down to see if I am right on what you maybe did …

  • you created a Complex Modification Rule that fires up the Key Combination Shift + Control + Option + Command + Letter O by pressing the CapsLock Key followed by Letter O right?!

  • the Rule triggers a Macro with embedded shell command

If I am right your macro must have this setup to work:

  • HotKey Trigger: Shift + Control + Option + Command + Letter O

  • Pause Until Action: Key Condition any + your desired Keys as => Key is down

  • If Then Else Action for each desired Key: Key Condition desired Key is down & Open Application for desired Key.

This is the simplest method I can think of … and I hope this helps …

If this is not that what you want then please be more specific… otherwise it should work right out of the box.

Greetings from Germany

Tobias