Keyboard Maestro is a productivity and automation app that strings actions together to form macros. Like with other productivity apps such as Alfred or Launchbar, it’s difficult to give a concise definition of what the app does—it is endlessly customisable.
The main selling point is that you can combine multiple different actions—such as opening a specific app, or number of apps, visiting a certain URL, triggering scripts and countless other things—into a single workflow that can be triggered by a keyboard shortcut or any number of other triggers.
The onus is on you to work out what you want Keyboard Maestro to do.
Keyboard Maestro has a reputation for being difficult to set up and not holding your hand along the way. This is only partially true. Configuring macros is simple once you know how, the hard part is developing them in the first place. Keyboard Maestro comes with almost no preconfigured macros. The onus is on you to work out, and develop, what you want it to do.
Over the next few tutorials I’m going to dive deep into Keyboard Maestro and take any of the uncertainty out of using it. You will gain a full understanding of what the app is capable of and the confidence to configure your own macros. Before we start though, we need a base to work from.
In this tutorial I’m going to start very simple and take you through the process of setting up a basic macro and trigger in Keyboard Maestro while explaining the features along the way. In the following series of tutorials we’ll build on this and develop much more complex workflows.
For this tutorial you need a copy of Keyboard Maestro installed. You can download one from the developer’s website. Keyboard Maestro comes with a 30-day fully featured free trial and once it’s over a license costs $36.
When you install Keyboard Maestro you need to enable it in the Accessibility menu in the Privacy tab of the Security & Privacy preferences pane.
Keyboard Maestro runs as a menubar app in the background. Once it’s running you’ll rarely interact with the app directly. To set it up, however, you need to use the Keyboard Maestro Editor. The Keyboard Maestro Editor is where you create the macros and configure the triggers so they run when you want them to.
The editor is split into three panes. The Groups pane, the Macros pane and the Editor pane.
Macro Groups keep your macros sorted. They also allow you to control which applications macros will be available in. For example, you can create a group of Photoshop macros and a group of Google Chrome macros that use the same keyboard shortcuts so long as you configure the Macro Groups so that they don’t overlap.
Create a new Macro Group called Tuts+ Example Macros by clicking the small plus icon beneath the Groups pane. Set it to Available in all applications and Always activated.
With the Tuts+ Example Macros group selected click the small plus icon beneath the Macros column to create a new macro. I’ll call it Go to Tuts+. In this tutorial I’ll make it so a specific keyboard shortcut opens the Tuts+ homepage in Google Chrome.
Selecting a Trigger
Keyboard Maestro has sixteen triggers available. Some of them are far more useful than others and they will be used time and time again over the next few tutorials. Others will only be of use to a small minority of users.
For the sake of completion, the sixteen triggers are:
- Hot Key Trigger: Trigger a macro by pressing a specific key or combination of keys. This replaces existing system shortcuts
- Typed String Trigger: Similar to the Hot Key trigger but the macro triggers in response to a series of typed characters rather than a combination pressed at once
- Application Trigger: The macro triggers based on specific app events like launching, quitting or running for a set period of time
- Login Trigger: The macro triggers when a user logs in
- Engine Launch Trigger: The macro triggers when Keyboard Maestro launches
- System Wake Trigger: The macro triggers when the Mac wakes from sleep
- Time Trigger: The macro executes at a specific time
- While Logged In Trigger: The macro triggers repeatedly every X seconds, minutes or hours while the user is logged in to the Mac
- Macro Palette Trigger: The macro appears in, and can be selected from, Keyboard Maestro’s floating Macro Palette which is itself accessed by a hot key
- Status Menu Trigger: The macro appears in, and can be selected from, Keyboard Maestro’s menubar app
- Public Web Trigger: Keyboard Maestro has a built-in web-server that, when accessed from anywhere, can be used to trigger macros on the Mac
- Mounted Volume Trigger: The macro triggers when a specific volume is mounted or unmounted
- USB Device Trigger: The macro triggers when a specific USB device is attached or detached
- Wireless Network Trigger: The macro triggers when the Mac connects or disconnects from a specific wireless network
- Device Key Trigger: A more advanced version of the Hot Key trigger. Any key can be used, including modifier keys and keys on other control devices like a Wacom Tablet, to trigger the macro. There are also additional control options
- MIDI Trigger: MIDI (Musical Instrument Digital Interface) devices can trigger macros. When a specific note is played the macro runs
Keyboard Maestro can also be triggered using AppleScript or shell scripts. For this tutorial I’m going to use the most common and simplest trigger: the Hot Key.
Click on the New Trigger button and select Hot Key Trigger. Generally, combinations of the Control, Option and Shift keys along with a single letter are pretty safe to use as triggers. Set the macro so it triggers when Control-Option-Shift-T is pressed.
Creating the Actions
While sixteen triggers are a manageable amount to cover in this tutorial, the vast number of actions available through Keyboard Maestro are not. There are, however, a few broad categories that you will be using time and time again:
- Application Control Actions: These control what application is visible or active. They can be used to switch, quit or hide apps.
- Clipboard Actions: These manipulate the contents of the Mac’s clipboard.
- Control Flow Actions: These allow for pauses, loops, if/else statements and other methods for controlling how a macro is executed.
- Execute Actions: These execute scripts, Automator Workflows or other Keyboard Maestro macros.
- File Actions: These interface with the Mac’s file system. They can perform various actions on files and folders.
- Safari and Google Chrome Actions: These control Safari and Google Chrome.
- Interface Control: These control various aspects of the Mac’s interface. They can simulate keystrokes, mouse clicks or select menu items.
- Open Actions: These open specific files, folders or applications.
- Text Actions: These input, format and control text inputs.
Click on the New Action button to bring up the Actions panel. From the Google Chrome Control category select New Google Chrome Tab. Enter https://tutsplus.com for the URL option.
To test whether the action works click on the Try button. Depending on what apps you have open on screen, nothing may appear to happen. If you open Google Chrome, however, a new tab will have open on the Tuts+ homepage.
Let’s make it so that Chrome activates automatically. From the Application Control category select Activate a Specific Application. From the dropdown menu, choose Google Chrome. Once again, click Try. Chrome should now activate.
To test the full macro, press Command-Option-Shift-T. Chrome will open a new tab, go to the Tuts+ homepage and then become the active application.
In this tutorial I’ve taken you through the very basics of Keyboard Maestro and helped you create your first macro. Now you should have a much deeper understanding of the app and be in a position to use the more advanced tutorials that will be released over the coming months.
If you’ve any questions or things you’d like tackled in the series please post them in the comments.
Subscribe below and we’ll send you a weekly email summary of all new Computer Skills tutorials. Never miss out on learning about the next big thing.Update me weekly
Envato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!Translate this post