KeyCue trigger detection?

I have came across KeyCue on this forum and bought it.
It is a useful little app so far, I am still configuring it.

My question is:
Is it possible to have Keyboard Maestro condition in If Then Else set to recognise when KeyCues "Cheetsheet" is active or on display?

I have this Macro that I call Master Command Palette that works on per app bases and is set as a ⌥⇧⌘K - which is then set as a part of a tap dance key in QMK.
What it does is:

  • If Arc is opened then press ⌘L - Invoke Command Palette
  • If Spark is opened then press ⌘K - Invoke Command Palette
  • Etc...

It basically serves as a global most used key in an app. Does not have to be Command Palette, can be quick open or whatever depending on the app.

What I would like to do with KeyCue is instead of pressing ⌥⌘F to search for shortcuts, add it to my macro and make that key do a keystroke instead.
The problem I have is that I cannot seem to get a condition inside If Then set to when KeyCues "Cheatsheet" then simulate a keystroke ⌥⌘F.

Any help appreciated.

Am I correct in thinking that you would be using a hotkey to call up KeyCue? If so, you could use that hotkey to trigger a KM macro (should that interfere with KeyCue, you could set another hotkey for it within the macro).

Would that work? If so, I shall leave other implementation ideas to you, since you use QMK and are therefore key-clued up. :wink: (If anyone wants to know more about “tap dance key in QMK”, see the documentation, but I don‘t think it‘s relevant to the question).

I was about to suggest similar things and haven't used KeyCue for about a decade. I don't see where to set up shortcuts for it in the current version only double taps of modifiers. If I understand right as well just make a macro in the palette to run the KeyCue shortcut or modifiers.

This is cool but I don't see Apple keyboards in the list of supported keyboards.
https://browse.qmk.fm/#/

Not a user -- but the Cheatsheet is a window, isn't it? So you could start with:

image

That'll give a false positive if you have KeyCue's Settings window open -- if that's a problem you could also check the name of the window (the Cheatsheet's window name is "", an empty string).

1 Like

I wondered if that had changed. That gimmicky triggering method did use to be the only way (and that‘s what put me right off KeyCue) but a quick look at the KeyCue Web site gave me the impression that things might have been made more flexible... Also I didn‘t want to take it for granted that OP wasn‘t using a non-hotkey method for activating KeyCue. Perhaps Applescript or Shortcuts.app are possibilities?

-- OT section --

That‘s because Apple’s keyboards are brainless (or perhaps it might be fairer to say that they can‘t change their mind or broaden their horizons :wink:). The first thing to understand about QMK, and other methods for programming keyboards, is that the keyboard must actually be programmable. It must have a processor that is accessible to, and compatible with (e.g.) QMK. The ingenious, but comparatively limited, application Karabiner runs on the Mac. With QMK, you are configuring settings that must be flashed to the keyboard’s own ROM. The keyboard then sends the keycodes to the Mac as you type, like any other keyboard, and the Mac responds, as usual, to the input it is given.

If you want to look into this further this then out of my replies that touch on the subject of programmable keyboards, this might be the least off-putting. :slight_smile: Is it possible to create a Keyboard Shortcut combination using F keys instead of a modifier key, for example F16 D? - #12 by kevinb
(I wonder how @ronald got on!).

Yeah I was pretty excited about it initially and took screenshots of menu shortcuts with it but that was about it. I didn't really care for the triggers back then and perhaps I am missing a way to trigger it with a hotkey at this point and to use a new term I picked up today from the threads it might be an IBM Error.

Also my post was suposed to read "Haven't" use KeyCue, but that was probably obveous from context.

Ah that makes sense sounds like Apple security in play.

I used Karabiner all the time and worked with the developer back in the day and he implemented some of the things templates in the downloaded version but when Apple locked things down and the slow process of Karabiner Elements development I never got the same functionality that I once had and just finally gave up after years of trying it. Like Peter has said it is nice that it is at a lower level then Keyboard Maestro so there is certainly a place for it over Keyboard Maestro at times. The keyboard level is a new one to me so that is pretty handy.

That’s an interesting conjecture, but I think the main reason (if such devices were even on Apple’s radar) would be that it would be a bad financial decision. Costs (for manufacturing, design, support…) would be greatly increased, just to provide something that most users would not want to deal with—if they had even heard of the advantages of programmable keyboards. Even amongst users of Keyboard Maestro, there are few converts as yet!

Since this is turning into QMK topic, I thought I might share how I have connected QMK and Keyboard Maestro to do exactly this.

All my "F" keys - on the first Colemak layer at least are tap dance keys.
Quadriple tap dance to be precise.

For those interested but not informed, quadriple tap dance key means I can do the following:

  • Hold = Keystroke
  • Single tap = Another keystroke
  • Double hold = Another keystroke
  • Etc...

This is what that looks like:
2025.04.26 - keymap.c — qmk_firmware

Now I know Keyboard Maestro has this but QMK implementation allows for so much flexibility - per key tap time etc...

What this allows me to do then is to have one key be able to do 8 different macros.

Then for each app I use frequently I have picked 8 functions that are most important and "global".

Here is where Keyboard Maestro comes in play:
Instead of having to go to VScode, open a keymap and change code and compile every time I want to change a keystroke, I have created pleaceholder macro group for each of those keys based on app.


- 1 = hold
- 1! = tap

So in the code, the key is always the same, I change the keystroke or action in the Keyboard Maestro.

I have done the same thing with my numpad:

I have created couple of layers and each key on the numpad is a different combination of modifiers - which are then again placed in Keyboard Maestro as macro groups available in "this app" only.
That makes my numpad an "app navigator" instead of a numpad.
The return key on a numpad invokes a macro palette for that group in case I need a reminder of which key does what:

For anyone interested, keyboard that I am using is Keychron Q3 Max and the numpad is Keychron Q0 Max:

And if you do decide to dive into QMK rabbithole, do be prepared to go deep.

Bit of a longer thread, but I thought it might be interesting and related.

1 Like

“Quadruple tap dances”—would that be a quadrille?

Well, anyway, I’ll get back en pointe… I have never quite been tempted enough by “tap dance” to try it out so your perspective as someone who uses it a lot is certainly of interest to me.

(For those running for the exit: such programming is advanced use of QMK, so don’t think it is all scary like this. The essentials for regular use are easy enough to understand).

Right, so F19 will have been chosen since it’s a keycode that is usually not otherwise needed when using a Mac. When tapped, the key that has been programmed to be the F19 key sends the usual code for F19, and, depending on how many time the key has been tapped, a combination of modifiers is also sent. For example (looking at the code), three taps of the key will output ⌃⌥ F19. The KM macro then handles that as it would any other hotkey trigger.

When you write that it’s a “placeholder” macro group, @Vex, I think you mean that it is used as a sort of template. It‘s a group of macros that can be copied and then edited as needed for each destination application. Is that right?

Initially, I was surprised to read that you use a numpad! It is so easy to assign a layer to your main keyboard for use as a numpad. But I realise that that came from my bias as a user of a split keyboard with an ortholinear layout. Numpads do not, of course, map well to a traditional keyboard layout!

Another surprise was your use of two StreamDecks… and also their placement relative to the main keyboard. Do you not find the main keyboard (and the numpad) enough? Does it not break your typing flow to reach for those StreamDecks? I ask not to imply that you are wrong but because I suspect that you have reasons that may be interesting. Or maybe it is simply that you are a video streamer, and are using them for their intended purpose. :laughing:

That is, to the same extent that one can go deep with Keyboard Maestro, perhaps? With both, some initial reading is required but otherwise it is not so difficult to get started, and then one can look into more advanced solutions as needed. I am now perhaps ready to investigate tap dancing! :man_dancing:

It was certainly interesting for me, thank you.

Putting that to one side, though, are you any closer to a solution for your KeyCue question?! :wink:

1 Like

That is correct.

It is in fact, but having to many layers on keyboard already. And the fact that the numpad then has three different layers to accommodate all the shortcuts. (In this case it is a one shot layer with a modifier, meaning the layer is active until the key is pressed).
And just the physical separation makes my brain handle it better.

All of the above is correct. I have bought both Streamdeck and Loupedeck couple years ago and TBH they are mostly collecting dust.
As for the reason, apart for my drawing (tattoo artist) and editing software usage, I guess you could say I'm guilty of software tinkering. I will set something up, find the next interesting thing and forget about it... :man_shrugging:

I am not sure if I would agree on this one. The depth part more or less, the implementation part not so sure. I for sure am not nearly an expert on Keyboard Maestro but as non coder, I found it's GUI interface way more intuitive then command line style QMK programming. That said, with 0 previous coding experience, QMK docs and community was super helpful and I managed to write a pretty big and complex keymap. (not without pulling some of my hair out and not to mention couple months of focused work on it). I might just be slow... :sweat_smile:

No, I haven't. The thing is, KeyCue cheatsheet window does not register as a front window. Which means if I have another app opened (let's say Arc) that is a part of macro that uses that key and the condition is set up if "Arc" is at front execute keystroke, then even if KeyCue is up, when the key is pressed it will trigger the action in Arc.
In other words, I do not know how to and if it is possible for Keyboard Maestro to register KeyCue window when it is up.

It is activated by keeping a modifier held for about a second.
Not sure how I could use that.

I might just give up on hairpicking idea of pressing another key instead and use ⌥⌘F. After all it is a pretty simple shortcut to remember.

Now their placement makes perfect sense!

Assignment of all the physical keys to the desired keycodes is just a few lines, and requires knowledge of only a few QMK codes, and, for those who don’t like that approach, there is a GUI fork of QMK in Vial.

That is still the only way of activating KeyCue? Ewww!

Right, I have just downloaded the demo and tried it, and indeed, yes, holding down one or more modifier keys seems to be the only way to call up the list of available shortcuts. I could give a number of reasons why this is foul, in theory and in practice, but since we have been discussing QMK, I shall just mention that the approach is hostile to, say, using home row mods, where tapping a key types the letter but holding is like holding a modifier.

The application does not have an Applescript dictionary, and I do not think it supports Shortcuts.app. You can put KeyCue in the menu bar, so I hoped that might allow a hack, but my usual Applescript method for accessing menu bar items did not work (by the way, the KeyCue icon depicts a command key, like KM’s default icon). You could perhaps try setting up a macro that focuses on the menu bar by typing the standard Mac ⌃ F2 shortcut, and then uses arrow keys to highlight KeyCue. Unfortunately, I found that ⌃ F2 doesn’t currently do that on my Mac, and rather than start shaving yaks, I rushed to uninstall KeyCue.

If you like KeyCue, maybe use it to show the shortcuts for a given app, take a screenshot, and then use your KM macro to show the screenshot... :sob: Or maybe the developers are open to suggestions... and I don’t mean to insult their work on this renowned application—I just really hate it when software has some fantastic new way to turn interface guidelines on their head, and just for that one application. Leave that sort of thing to Apple on a bad day, right?

Files “KeyCue” alongside “Firefox” and “Chrome” in the “Don’t even go there” KM folder. :laughing: But thanks for the discussion, and I hope that someone might somehow still be able to help!

1 Like

As I am trying to configure it, I am having pretty hard time figuring out how to "omit" some of the Keyboard Maestro macros from the list of macros displayed.
The omit method in user manual that works for other menu actions seem to not work with Keyboard Maestro.
If that is the case, it is pretty useless. I have no use of my whole screen filled with macros I do not need to see.
I am pretty sure I have seen somewhere (on this forum) that Keyboard Maestro macros can be hidden from that list, but cannot find that again.
Gonna keep on trying for a bit, if do not succeed, I am going to file it in the same folder as you did.

Edit:
Adding a - at the end of the macro or macro group name hides the macro from showing in a cheatsheet :white_check_mark:

1 Like