[Keyboard Maestro](http://www.keyboardmaestro.com/main/) is the best tool you can purchase for your Mac.
It is a bigger upgrade for most people than doubling up your RAM — yet Keyboard Maestro is also a daunting tool to learn at first glance. The reason I will be writing a series on Keyboard Maestro is that all too often I watch people waste time doing repetitive things that could quickly and easily be solved with Keyboard Maestro. And yet Keyboard Maestro is not installed on most Macs.
When you really get down to it, Keyboard Maestro is a simple tool to learn and use. All you have to know are two things:
1. Your goal (Or what you want to accomplish with any given Keyboard Maestro macro.)
2. The steps to go from start to the finish to make that goal happen.
For example, if I wanted to grab text that’s highlighted in one application and paste it into the last used application, all I would need to know is the order of actions to do that:
1. Copy text.
2. Switch to last used application.
3. Paste text.
There’s no code to learn to figure how to make that work, you just look through the massive list of Keyboard Maestro actions and select the ones that accomplish your goal. Put them in the right order and move on.
Of course this is just the very tip of the iceberg for Keyboard Maestro — it can do, oh, so much more.
In the next post I will walk you through the basics of Keyboard Maestro to give you the building blocks needed to work through automating your Mac with Keyboard Maestro.
Following that I will walk you through many of the macros that I have built, so that you can either replicate them, or build off of each macro to fit your computing needs. At each step I will try to explain why I am doing something a certain way, especially if there are other ways that may be more obvious to use.
As with any tool, you will need to use Keyboard Maestro in the manner that best suits you to get the maximum benefit.
### Note to Advanced Users
If I can make a macro work without having to write a script or take you into shell commands, I will do so for two reasons:
1. It’s easier to understand and thus replicate.
2. It’s easier to change and tweak the settings without having to teach scripting.
There are many advantages to diving into scripting and shell commands, but those are for another series of posts — not this series. In some cases I will use simple scripting commands if I feel the benefits of doing so outweighs the complexity of using scripts.