Why Keyboard Maestro?

Hi MPUers, I bought Keyboard Maestro 9 in 2019, MPU recommendation of course :slight_smile: , but I kinda never ended up using it. I did create a few macros in it, but I always felt at home with Alfred and BetterTouchTool. They were much easier to use, and could do everything I needed, like execution AppleScripts, performing window functions, clipboard magic, text manipulation, etc…

KM 10 has just been released, and I thought I’d reach out to you all to see how do you use it? What do you do with it? Maybe seeing what you all do with it will help me automate some of my workflows.

Long PostScript: I know a bunch of you are going to say, if Alfred and BetterTouchTool work for me, why not keep using them. TBH, I started using those tools after listening to MPU and started automating workflows that I didn’t know I needed. I only realized it later when I heard you all talk about them here and on the podcast. This is why I’m trying to re-assess how others are using KM and maybe it might help me automate a few things that I didn’t know I need to automate and cannot be done with Alfred/BTT easily

As always, thanks!!

1 Like

There’s definitely a big Venn overlap between a lot of these tools, especially as they age. Each one tends to add some of the features of the others over time.

In fact, I bet you can do almost anything with Alfred that you can do with KM. Maybe one big feature KM has built-in is the ability to trigger macros as a server. E.g., I’ve used this to open apps on my Mac from my iPhone via Shortcuts.

Personally, I keep BTT around because it has traffic light triggers which I believe is unique. But I find BTT’s configuration UI unbelievably confusing and have definitely made some KM macros I’m not sure could be recreated in BTT even if I understood it better.

For example, I have a text replacement macro that automatically converts between pixels and rems. If I type 14pxr, it converts to 0.875rem. If I type 3.5remp, it converts to 56px. Does BTT have regex triggers? Or calculator actions?

Another thing which I’ve just done with the new KM10 is create a menu bar item where I can pin a task my scattered brain is trying to focus on. Not a very complex thing yet; just a simple menu bar item that displays a variable, and I have 3 macros: one to manually input text for the variable, and one to set the variable to selected text, one to clear the variable.


But I don’t believe Alfred or BTT have custom menu bar items?


BetterTouchTool does have menu bar items. It also has context menu items

Screen Shot 2021-11-04 at 11.05.42 PM

1 Like

Ah great to know. If I find some unique BTT action I need.

It comes up fairly often (like once a month) that I end up having to perform some brain-dead task repeatedly. Often across more than one app. This is my primary use of KM and There are many things that I do that I simply could not do without KM (or I would have to spend days writing some custom program)

  1. Highlight an image file
  2. Go to program A and put the text on the top line in the clipboard
  3. Move down one line
  4. Open the highlighted image in program B
  5. Make Grayscale
  6. Set the height to 200 pixels
  7. Save the images as a JPEG into a specified folder

highlight another image. Repeat the above.

Then I have to do this, or something like it, 300 times.

The content of the example I used is meaningless. It is just an example of doing something that requires multiple steps over and over. I can make a KM macro to do the task and the job goes from being miserable to possible.

I may or may not have to do this again in the future. If I have to do it all the time, then I might write a program with a beautiful interface to do it all, but most commonly it is not worth the work. And the program itself might have to call KM to do some of the steps that require peculiar interactions with programs.

In my life, KM is an essential utility with large areas of functionality that do not “Venn” with any other program I own. :slight_smile: I use TextExpander and Hazel and Moom to do the tasks they do well because they are simpler than me figuring out how to do them in KM. I spend money freely for simple.

I have written a program to sort of mimic an Elgato Streamdeck and I use this a lot but this is an advanced topic.

I’ve used KM for a long while, and I suppose it is friction that keeps me from learning to do the same things in Alfred and/or BTT. After all, if I already have a KM macro, why do I need Alfred or BTT to do the same thing? If I need a new macro, why put it into a different tool – especially since the KM toolset has never failed to meet my requirements.

When I’ve set out to do more with BTT – a new macro that seems it would benefit from trackpad triggering, for example – I run into that situation @Gem mentioned: the BTT UI is “unbelievably confusing”. But for others, no doubt KM can be confusing.

Apart from having my own large library of KM macros, the other major reason I will not stop using it is the superior documentation, especially the wiki, and the generous support community at the KM forum.

It’s interesting that Apple’s own products on Monterey – Shortcuts and Automator – have not entered into this discussion. For me, Shortcuts is, so far, meh. I don’t bother with it. Although, it is always worth looking at Automator, which has many surprising features and Automator workflows can be invoked in KM and Alfred, and I suppose in BTT too.

1 Like

This. It’s hard to believe how capable KM is, and it’s made more accessible because of the forum and wiki.

I use both KM and Alfred regularly. One thing that sticks out is I like the “keyword” method of Alfred, where you launch by typing keywords, but KM organizes hotkeys/triggers much better because you can search and sort on them.

Even though there is an overlap in features, there are lots more differences between the two and they are not mutually exclusive for me.


I have some complicated Keyboard Maestro macros, but I have a simple one I use frequently now that I’ve moved back to Things after a few month affair with Todoist. In a project, a keystroke simply marks the current task as done and creates a new task with the current date at the start of it followed by a hyphen, ready for me to type the new task.

In the past, since Things doesn’t display project names prominently in the task, the macro also added the project name into the task title, but I’ve simplified and gotten rid of that.

(Off topic for the poster’s questions, so I won’t get into it, but I’ve found, contrary to GTD’s next actions, that I operate better when my task mentions what my LAST action was along with the date).

The killer feature for me in KM is conflict palettes.
It took me a while to understand the appeal, but now it’s the biggest feature.

Basically, I am almost incapable of remembering a bunch of shortcut keys, and certainly unwilling. With KM, I can press Hyper-K and all my keyboard related macros come up in a menu. I can see the list, and quickly see that pressing G will move me to the Greek letter macros, and then O will type the Greek symbol omega.

Now, if I could remember it I could simply press the shortcut for omega that is built into macOS, but I don’t have to remember like this.

It would be possible I’m sure to code this behaviour into other tools, but with KM it comes free. Just make a new macro, put it in the Keyboard folder, and it automatically appears in that menu list.



Conflict palettes, and app-specific palettes – 90% of my macros are accessed by the dozens of palettes I have. I have 15 app-specific palettes, each of which operates only when a specific app has the focus, and all of which are invoked by


That shortcut brings up macros made just for the app in focus. So, I don’t have to remember dozens of obscure Alfred triggers or BTT gestures, just one.


I use KM for a couple macros, but the absolute killer purpose for me — and the reason I paid for the app — is a macro that automatically runs when my iMac goes to sleep. It runs an AppleScript that mounts my Time Machine drive. When I wake my iMac from sleep, it ejects the drive.

With this macro, I never hear the clicking noise of a hard drive while I’m working.


I’m temporarily stuck using a fullHD screen rather than my preferred 1440p or hopefully future 4K/new Apple display. Splitting apps in halves or thirds just leaves me with apps that are too narrow. So I’ve set up a macro to split the screen into 60% browser window (main work) on the left, 40% wide 60% high Preview (for PDFs) window on the top right corner, and 40%/40% Finder window bottom right hand corner. Everything is exactly how I need it like this. There is no doubt a custom app that does windows layouts but I was able to set this up in just a few minutes once I realised I’d like to do it. I quickly googled for a custom app but couldn’t see one as quickly as I could create a macro, and I can easily adjust this macro without learning a new app. - just one example of hundreds


You bought KM 9 and you’re thinking about KM 10. Go invest the money in MacSparky’s Field Guide. If you can’t find enough reasons to want KM10, then don’t upgrade. You’ll certainly get enough to really get into your KM 9.

KM is a deep rabbit hole I have been thinking of getting into for a long time. But opening up Mac security for such a powerful app with potential exploitation/loophole worries me.

This is a feature that made me buy KM. Almost turned it down after days of trial. Then I have inspiration to use conflict palettes (to trigger app focus and to resize window), which I find very time saving.


Honestly, I stopped using Keyboard Maestro. I kept forgetting about macros that I built.

Edit: Of course, as soon as I post this I think “huh, I should install Keyboard Maestro” again, so here we are…

1 Like

I use a website through Safari that has checkboxes in a column on the webpage. I need to check off 10 or 20 successive boxes at a time (sometimes as many as 50), and it’s cumbersome to move my mouse and scroll and click on each one. Can KM locate each successive checkbox and click it, then repeat that x number of times?

It depends…
Usually you can do this sort of thing using space to check the boxes and tabs to move element, so I’d try that first.

1 Like

I appreciate the suggestion. Unfortunately, Tab is not working on that webpage to move between elements. But I think I will try some other keys and key combinations to see if I can do it.