Double Hotkeys with Keyboard Maestro

When it comes to hotkeys, there are too few key combinations I'm comfortable with, and my memory is too weak, for me to assign a unique hotkey to each of the things I want to do quickly. Spotlight is great, but it almost always takes more than two keystrokes, often several, for me to get to what I want.

What I want is to jump to things with exactly two keystrokes. Specifically, I want one hotkey to display a menu and the second hotkey to select from that menu — basically, something as easy as old-fashioned text-based menus.

Here's how to set up exactly that in Keyboard Maestro, which is an amazingly terrific utility.

First, create a group with the "Shows a palette for one action when:" option, and specify a hotkey as the "when". Here's one group I created, named "Jump to Application", with the hotkey Control-J:

Jump to Application

Second, add some macros for things you want to do quickly. For these second-level hotkeys, I almost always use plain letters with no modifier keys, because they're easy to type, they're easy to remember, and they won't conflict with any top-level hotkeys. Note that they also won't conflict with any other macros you define in Keyboard Maestro, even if they use the same letter. Here are the ones I defined; I went a little crazy with the names of the macros, for reasons you'll see in a moment:

Jump to Application  Macros

And that's all there is to it — you're done!

Here's what I see when I hit Control-J:

Jump to Application  palette

I put the shortcut keys in the names of the macros and used tab characters to make them line up. [UPDATE 2015-08-04: Keyboard Maestro 7 displays the macro shortcuts in the palette, so I've removed them from my own labels.] This way, I can look at the menu (or as Keyboard Maestro calls it, the palette) to remind myself when I forget. But mostly I don't look. I just hit Control-J,J to jump to BBEdit, and so forth.

A huge advantage of this approach is that only the first hotkey (in this case, Control-J) has to avoid conflicts with other shortcuts, or for that matter with plain text entry. Instead of trying to find twelve available and memorable key combinations, I only need to find one and pop up a menu with twelve items.

I've been calling this approach "double hotkeys". If there's another name that people use, I'd love to know. I'm also curious what other apps use double hotkeys, and what other ways there are to achieve the same thing. I loved how Accessorizer uses double hotkeys, and have since noticed it as an option in Divvy, which is a very clever app, though I haven't made a habit of using it yet.

[UPDATE 2015-08-04: In case you'd like to try this, I've exported the macro group that I use for the above. You can download it here if you'd like to use it as a starting point. After downloading and unzipping the file, you can either double-click it, drag it to the Keyboard Maestro Dock icon, or use the File > Import Macros… menu option.]

5 thoughts on “Double Hotkeys with Keyboard Maestro

  1. I'm a low-level-functionality KM user but this seem elegant and very useful. Many thanks for sharing! – Especially for including a downloadable version as a starting point!

  2. I've used this in Keymando (which has key binding sequences of any length but is no longer supported) and never figured out how to do it in Keyboard Maestro until today. I'm in the process of leaving Keymando behind now. 🙂

  3. The idea of emacs style hotkeys rocks. You can expand this idea with variables to enable or disable entire banks of hotkeys until you switch them back, rather than a one-time action.

  4. I never thought of it as "emacs style hotkeys". Makes perfect sense, though now I'm also thinking of them as "WordStar style hotkeys". 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.