Keyboard Maestro is my favorite applications ever. It's the one-stop-shop for an astounding array of powerful features. It can be used to replace ton of other third-party utilities. Some examples of what it can do:
1. You can easily implement your own window manager in it, e.g., replaces Moom or Magnet.
2. You can bind any AppleScript, shell script, etc... to a keyboard shortcut.
3. You can record and replay GUI macros, e.g., like Vim and Emacs macros but for any application.
4. At has a ton of built-in actions to script practically anything about your system, e.g., sleep, simulating media keys, image manipulation, etc... I suspect a lot of uses of Karabiner can be replaced by Keyboard Maestro.
5. It has a built-in clipboard history, with powerful features, like, processing an item from the clipboard with a Keyboard Maestro macro. One I use sometimes is running OCR on a screenshot I have on the clipboard.
6. You can bind any menu item in any application to a keystroke. E.g., you can rebind menu items to other keys, or adding key bindings to menu items that don't have keyboard shortcuts.
7. You can create custom command palettes (i.e., like ⇧⌘P in VS Code) for applications. For example, the command palette in Photoshop is awful, so I just made one for my common actions in Keyboard Maestro instead.
All of the above can sync seamlessly between computers with any file sync service (e.g., Dropbox). It's probably the best sync I've ever used, in 5+ years of use I've never had even the slightest hiccup. I don't bother using macOS built-in settings for things Keyboard Maestro supports for this reason. Put it in Keyboard Maestro and it will automatically sync to any Mac I use (I always install Keyboard Maestro).
> 6. You can bind any menu item in any application to a keystroke. E.g., you can rebind menu items to other keys, or adding key bindings to menu items that don't have keyboard shortcuts.
This is a macOS feature (either globally or per app) and doesn’t need a separate app. For example, I have ⇧⌘M mapped to Window > Zoom (the inverse of Minimize).
This is now hidden deep in System Settings > Keyboard > Keyboard Shortcuts button > App Shortcuts.
Keyboard Maestro is excellent. Makes automation on macOS way more fun, IMO.
One nifty feature I haven't seen mentioned yet is that it can click on the screen based on OCR. So, if there's some UI element you want to interact with and you're not sure how to do it programmatically you can take a small screenshot of it and KM will use that to find the element on screen. Comes with useful visual debugging too.
Also, I find it pairs well with a launcher application like Alfred or Raycast:
Keyboard Maestro is fantastic, and it's even better when combined with an Elgato StreamDeck. There's great integration for "run this KM macro" directly from a button (without eating up a keyboard shortcut), so I have 32 handy buttons on my StreamDeck XL for things like
* open Obsidian and switch to my daily journal page"
* type my password" (which reads securely from Keychain)
* find the hamburger menu on the wiki, move the mouse to it, then select 'Translate to English" from the menu that pops up
That last one is an example of one of Keyboard Maestro's superpowers: search for an image anywhere on screen, then take an action on it (move the mouse there, click it, etc.). Very very handy for automating things that can't easily be otherwise automated.
StreamDeck and Keyboard Maestro are a great pair. w
With KM’s ability to update the keys on StreamDeck I use it as dashboard for items in addition to actions.
A key displays next upcoming meeting and changes color as it gets close.
Another key shows the current VPN IP in case I need to target internal services back to my development instance.
For Teams, I have button that toggles the resolution of second Studio Display to share desktop with lower resolution.
I haven't felt the need to change from bettertouchtool to KBM but this... I don't think I can do via BTT
type my password" (which reads securely from Keychain)
Mind sharing your Obsidian workflow? As someone who installed Keyboard Maestro for the first time 3 hours ago it's not immediately apparent how to do this :D
By far my favorite keyboard macro tool on MacOS. Great gui interface for making and recording macros. I think it is without a peer on any platform
I am well versed in AutoHotKey for Windows and have written 1000s of lines of macros in it, but Keyboard Maestro makes it so easy to create complex macros for even one time tasks.
Linux is certainly lacking in tools to automate the GUI.
KM is indeed an awesome tool and a must-have part of the productivity combo KM+BTT+KE, though complex macros are unfortunately an area where it falls flat since drag&dropping your way through the GUI to create and refactor complex logic is rather painful
Maybe that's just my limited experience but a lot of Linux software that comes with a GUI like Gimp, Libreoffice or even Isabelle tend to be accompanied by a CLI or API for automating tasks. That may be less accessible than a simple GUI automation but tends to be more powerful.
Though for GUI automation of, e.g., the increasing number of electron-backed apps more accessible software would be nice.
Been using it for a long time but found myself more and more using Shortcuts and HammerSpoon instead.
Maybe a few very basic things that I still have in KM are stuff like “paste as keyboard strokes”, muting my audio when stuff changes and the occasionally keyboard shortcut remap (because it syncs across my machines in contrast to the macOS native thing)
Curious what the people here use KM for. What are some of your use cases?
I mainly use it for text expansion, which I find easier to remember and type than multi-key shortcuts. That part of my brain is already full of Emacs key bindings. I switched from TextExpander to Keyboard Maestro years ago.
I have web-specific macros that basically act as cross-browser bookmarks. I have terminal-specific macros for the shell and other REPLs. I even have a macro for a VPN client that refuses to remember my username (over twenty characters, including a domain name).
Just a terrific application and one I look forward to paying for an upgrade to every two years or so. I looked back at my serial numbers in 1Password and they go back to version 5, so I’ve been a user for at least a decade and the app just gets better and better.
Keyboard Maestro is one of the excellent software tools that I use daily. The power to configure and customize keystrokes is a godsend. I'm not affiliated, merely a very satisfied customer for years.
Seconded. This is great software sold the old-fashioned way: pay once and upgrade when you want to.
The lovely lack of mental friction around this model is something I miss dearly, as opposed to endless subscriptions. But this is probably because I am an old guy and haven't adapted to our new reality.
As far as KM goes, it's so well done. Very complete. Great for any one off key combos you want to add, but can do a ridiculous amount more. AND it's very well documented.
I've been using BetterTouchTool ever since I got a Mac with a TouchBar that I wanted to make useful, and it has slowly taken over keyboard macros + gesture menus + multi-machine clipboard etc. Anybody here who has experience with both and might like to comment to compare them?
I switched from KM to BTT, I think it was because of the touchbar programming functionalities that BTT had
I think generally BTT is more powerful (although I’m sure KM has some USP), but tbh it’s quite buggy. It hangs multiple times a day for a minute or more, and the config UI has various bugs.
I’ve been thinking of switching to Hammerspoon, but I cannot really be bothered these days
They are both great, so I keep using both. There is a lot of overlap in terms of what they can do but they each have unique capabilities that the other can't do.
I don't personally know all the differences. But for instance I use BTT to program my stream deck, while I use KM for my clipboard history because the built in GUI is polished.
Keyboard Maestro is an integral part of how I use a computer. I've been using it since 2005 (v2) and it's easily among the primary reasons I can't imagine using a different OS platform. Thank you, Peter Lewis.
Also a very satisfied customer (since 2015). I’ve used this to do everything from making clunky software easier to use to automating aspects of games that I didn’t want to do manually.
Clunky software example: connect to cisco vpn each day, handling all the prompts it makes you go through.
Another is to type out what’s in my copy buffer, for websites that don’t let you paste your password in.
Gaming example was re-casting spells when they came off cooldown in Diablo 2/3.
I’ve written hundreds of macros over the years and this app has saved me a ton of time and frustration. And probably some RSI too.
I was actually going to make a post about software that you actually enjoy paying for and I was going to use Keyboard Maestro as one of those examples.
I barely read the v11 upgrade email when it hit my inbox and just renewed w/o a second thought. KM + Karabiner are the first thing I install on any new instance of macos.
Aside from any business/ philosophical reasons they might have, one concrete reason for this is that the App Store prohibits apps from asking for accessibility permissions, needed for recording keystrokes, which I imagine would basically make this app impossible!
This feature is just a sliver of all the power of Keyboard Maestro. I'm sure there are many potentially life-changing gems among the features I haven't yet explored.
The answer is most likely yes. I have done this many times.
Some web forms make it very difficult. In which case you may have some places where you will need Keyboard Maestro to wait while you do some manual interactions. Still you can get most of the process automated
Everyone in the comments swems to be in love with KM. I wonder, what do you all use it for? It sounds like I’m missing out on a lot, but when I’m thinking about it, nothing in need of automation comes to mind. That is, except for opening a few common apps and window management. What am I missing?
So many things! Opening a specific location or app or whatever with one keystroke is great, but I often also use it to run automations/macros done in AppleScript or something else with just a few keystrokes.
Extremely niche and nerdy example:
Years ago, when I used to do a ton of iOS screenshot galleries for app reviews (this was when I was a tech journalist), I used a modified KM script from Federico Viticci and Gabe Weatherhead that would let me select a group of screenshots, resize them as two or three side-by-side with proper spacing between and then resize for the requirements of the CMS/website I worked for with a hot-key combo. I could even have it name the file a certain way and save it to a specific folder I had setup to auto-upload images to the CMS and then copy the image link so I could use it in my Markdown workflow that I’d cobbled together to do previewing of stuff before I put the raw HTML code in said CMS. That example was the result of like several different macros/scripts that I combined into a couple of key commands, depending on if I wanted to just do the image merging/resizing or the whole upload/copy link thing.
I’m sure there could be other ways to do that, but none as seamless and intuitively as KM.
It’s just a great tool. Even if you just use it for basic text expansion, it’s great - though I tend to use other tools for that — but the automation stuff is just top notch.
This has to be one of the longest actively developed niche software products i'm aware of. I've been using it since school and now i'm a grown-up bearded man.
[+] [-] robenkleene|2 years ago|reply
1. You can easily implement your own window manager in it, e.g., replaces Moom or Magnet.
2. You can bind any AppleScript, shell script, etc... to a keyboard shortcut.
3. You can record and replay GUI macros, e.g., like Vim and Emacs macros but for any application.
4. At has a ton of built-in actions to script practically anything about your system, e.g., sleep, simulating media keys, image manipulation, etc... I suspect a lot of uses of Karabiner can be replaced by Keyboard Maestro.
5. It has a built-in clipboard history, with powerful features, like, processing an item from the clipboard with a Keyboard Maestro macro. One I use sometimes is running OCR on a screenshot I have on the clipboard.
6. You can bind any menu item in any application to a keystroke. E.g., you can rebind menu items to other keys, or adding key bindings to menu items that don't have keyboard shortcuts.
7. You can create custom command palettes (i.e., like ⇧⌘P in VS Code) for applications. For example, the command palette in Photoshop is awful, so I just made one for my common actions in Keyboard Maestro instead.
All of the above can sync seamlessly between computers with any file sync service (e.g., Dropbox). It's probably the best sync I've ever used, in 5+ years of use I've never had even the slightest hiccup. I don't bother using macOS built-in settings for things Keyboard Maestro supports for this reason. Put it in Keyboard Maestro and it will automatically sync to any Mac I use (I always install Keyboard Maestro).
[+] [-] jonhohle|2 years ago|reply
This is a macOS feature (either globally or per app) and doesn’t need a separate app. For example, I have ⇧⌘M mapped to Window > Zoom (the inverse of Minimize).
This is now hidden deep in System Settings > Keyboard > Keyboard Shortcuts button > App Shortcuts.
[+] [-] wellthisisgreat|2 years ago|reply
[+] [-] iansinnott|2 years ago|reply
One nifty feature I haven't seen mentioned yet is that it can click on the screen based on OCR. So, if there's some UI element you want to interact with and you're not sure how to do it programmatically you can take a small screenshot of it and KM will use that to find the element on screen. Comes with useful visual debugging too.
Also, I find it pairs well with a launcher application like Alfred or Raycast:
- For Alfred: https://github.com/iansinnott/alfred-maestro - For Raycast: https://www.raycast.com/eluce2/list-keyboard-maestro-macros
[+] [-] packetslave|2 years ago|reply
[+] [-] mleo|2 years ago|reply
[+] [-] shmoogy|2 years ago|reply
[+] [-] theshrike79|2 years ago|reply
[+] [-] leejoramo|2 years ago|reply
I am well versed in AutoHotKey for Windows and have written 1000s of lines of macros in it, but Keyboard Maestro makes it so easy to create complex macros for even one time tasks.
Linux is certainly lacking in tools to automate the GUI.
[+] [-] eviks|2 years ago|reply
[+] [-] c0balt|2 years ago|reply
Though for GUI automation of, e.g., the increasing number of electron-backed apps more accessible software would be nice.
[+] [-] artdigital|2 years ago|reply
Maybe a few very basic things that I still have in KM are stuff like “paste as keyboard strokes”, muting my audio when stuff changes and the occasionally keyboard shortcut remap (because it syncs across my machines in contrast to the macOS native thing)
Curious what the people here use KM for. What are some of your use cases?
[+] [-] SloopJon|2 years ago|reply
I have web-specific macros that basically act as cross-browser bookmarks. I have terminal-specific macros for the shell and other REPLs. I even have a macro for a VPN client that refuses to remember my username (over twenty characters, including a domain name).
[+] [-] theshrike79|2 years ago|reply
It takes like 10 seconds for it to do it...
[+] [-] filmgirlcw|2 years ago|reply
[+] [-] jph|2 years ago|reply
[+] [-] eludwig|2 years ago|reply
The lovely lack of mental friction around this model is something I miss dearly, as opposed to endless subscriptions. But this is probably because I am an old guy and haven't adapted to our new reality.
As far as KM goes, it's so well done. Very complete. Great for any one off key combos you want to add, but can do a ridiculous amount more. AND it's very well documented.
[+] [-] wellthisisgreat|2 years ago|reply
[+] [-] IggleSniggle|2 years ago|reply
[+] [-] williamdclt|2 years ago|reply
I think generally BTT is more powerful (although I’m sure KM has some USP), but tbh it’s quite buggy. It hangs multiple times a day for a minute or more, and the config UI has various bugs.
I’ve been thinking of switching to Hammerspoon, but I cannot really be bothered these days
[+] [-] veidr|2 years ago|reply
I don't personally know all the differences. But for instance I use BTT to program my stream deck, while I use KM for my clipboard history because the built in GUI is polished.
[+] [-] NaOH|2 years ago|reply
[+] [-] aaronscott|2 years ago|reply
Clunky software example: connect to cisco vpn each day, handling all the prompts it makes you go through.
Another is to type out what’s in my copy buffer, for websites that don’t let you paste your password in.
Gaming example was re-casting spells when they came off cooldown in Diablo 2/3.
I’ve written hundreds of macros over the years and this app has saved me a ton of time and frustration. And probably some RSI too.
[+] [-] mbrd|2 years ago|reply
I mainly only use it for text expansion, but it has served me well for years.
[+] [-] dottjt|2 years ago|reply
Truly remarkable piece of software.
[+] [-] bernie_mann|2 years ago|reply
[+] [-] isykt|2 years ago|reply
I appreciate the honesty here.
[+] [-] dceddia|2 years ago|reply
[+] [-] faizmokh|2 years ago|reply
https://developer.apple.com/documentation/security/app_sandb...
[+] [-] hermitcrab|2 years ago|reply
-High commission.
-Strong downward pressure on price (how much stuff in the Mac app store is $30+ ?).
-Can't sell upgrades.
-I don't want Apple getting between the customer and me.
-I just can't face jumping through all their arbitary hoops.
[+] [-] theshrike79|2 years ago|reply
[+] [-] cocoadog|2 years ago|reply
This feature is just a sliver of all the power of Keyboard Maestro. I'm sure there are many potentially life-changing gems among the features I haven't yet explored.
[+] [-] Tempest1981|2 years ago|reply
[+] [-] leejoramo|2 years ago|reply
Some web forms make it very difficult. In which case you may have some places where you will need Keyboard Maestro to wait while you do some manual interactions. Still you can get most of the process automated
[+] [-] kstrauser|2 years ago|reply
[+] [-] mvandermeulen|2 years ago|reply
[+] [-] Eugeleo|2 years ago|reply
[+] [-] filmgirlcw|2 years ago|reply
Extremely niche and nerdy example: Years ago, when I used to do a ton of iOS screenshot galleries for app reviews (this was when I was a tech journalist), I used a modified KM script from Federico Viticci and Gabe Weatherhead that would let me select a group of screenshots, resize them as two or three side-by-side with proper spacing between and then resize for the requirements of the CMS/website I worked for with a hot-key combo. I could even have it name the file a certain way and save it to a specific folder I had setup to auto-upload images to the CMS and then copy the image link so I could use it in my Markdown workflow that I’d cobbled together to do previewing of stuff before I put the raw HTML code in said CMS. That example was the result of like several different macros/scripts that I combined into a couple of key commands, depending on if I wanted to just do the image merging/resizing or the whole upload/copy link thing.
I’m sure there could be other ways to do that, but none as seamless and intuitively as KM.
It’s just a great tool. Even if you just use it for basic text expansion, it’s great - though I tend to use other tools for that — but the automation stuff is just top notch.
[+] [-] wellthisisgreat|2 years ago|reply
Something like
;elevatorpitch
Will insert an elevator pitch into the email
[+] [-] cocacola1|2 years ago|reply
[+] [-] siva7|2 years ago|reply
[+] [-] jwr|2 years ago|reply
[+] [-] temende|2 years ago|reply