Request: Sticky hotkeys (a la QuicKeys)

It goes without saying that KM far exceeds QuicKeys in many ways—not the least of which is the vast number of triggering options! But one triggering option that I truly miss is sticky hotkeys, (two-step hotkeys), which dramatically increased the available number of available key combinations.

For example, one of my applications has a window which contains a mini-menu with 5, additional options. Sticky hotkeys allowed me to use option-D to open the window, but then, because the trigger was "sticky," QK would wait for the 2nd part of the hotkey, which allowed me to specify 1 of the 5, mini-menu options. So my hotkeys were:

…and so forth.

This is easier than trying to find (and remember) 5, modifier keys:

…and so forth.

@peternlewis, no doubt you're already familiar with sticky hotkeys, so this description was for the benefit of other readers. Any chance of supporting sticky hotkeys in the future? Perhaps in v9? :blush:

From the QK manual (for reference):

Make use of the Conflict Palettes.

Give each of your macro the Option-D hot key and Keyboard Maestro will then ask you which macro you want to execute.

There are other ways to accomplish this too, such as making a macro group and activating it with Option-D.

Thanks! I was familiar with conflict palettes, and they're brilliant.

The caveat is that (a) mousing to click a list item or (b) typing two or more characters to select a list item is slower than hitting a hotkey (even a two-step one). Either is fine for occasional use, but when using these commands hundreds of times in a work session, fewer keystrokes is preferable.

So, I've devised a workaround by inserting a numeral into each macro's title which I can type to select that item from the palette. (Screenshot below.)

Since KM offers such a comprehensive set of triggering options, I still hope you'll consider sticky triggers in the future. (Advantage: Not having to see the palette.) But that's a minor quibble. In the meantime, this mimics sticky keys—with the same number of keystrokes.

Thanks again. :blush:


1 Like

Coming from the linux/emacs world and using sticky keys i would also love to see support for this :smiley:



The problem with “sticky hot keys” is that the initial key must be swallowed regardless (otherwise bad things happen (see the FAQ for more details). So then a macro with a “sticky hot key” of ⌥D-1 must cause ⌥D to be swallowed, and then create a temporary “1” hot key, and then detect any other key press, disable the “1” hot key, and in the mean time, the ⌥D has been swallowed, and the other key has gone through to the application, and then I get support emails from confused users.

Hence any solution needs to make it clear that ⌥D is a hot key, and hence swallowed, and then has to deal with what happens with the the potentially other keys.

The Conflict Palette, and the Macro Group with “activate group/show palette for one action” options both accomplish similar behaviours with this clarity.

Thanks for the detailed reply. I was just hoping since it was possible in QuicKeys that it might also be possible in KM. But as you say, similar behavior is possible with the current features, so we'll adjust accordingly. :blush:

Thanks again.