Stairways Software
Excellence In Software For Over Ten Years – Only with a Mac
Plants vs Zombies is a great game with lots of depth and interest to it. But it can get a bit tedious racking up gold for your next purchase. Thus articles on gold farming suggest ways of getting gold, but setting up such a farm is rather tedious. Enter Keyboard Maestro!
This macro will setup a gold farm (as described in 460: Alternate Setups). The gold farm needs 9 slots, but should work with either 9 or 10 slots.
Start Plants vs Zombies, start the Last Stand game, and select Plant from the Keyboard Maestro Status Menu or press F15 to run this macro. Keep your hands off the mouse and it will select the 9 or 10 plants and then start the game and plant the gold farm. Start the zombies coming and watch the gold roll in (if only life was this easy!). Remember to replace the garlics after every level or two.
It is left as an exercise for the reader to automate the process so the level is restarted each time and the macro rerun so you can leave it gold farming all night.
Watch a video of the macro in action.
Updated Wednesday, August 18, 2010 at 3:28 AM. Permalink. Post a Comment. Digg This
When you switch to an application using the process switcher (either Apple’s or Keyboard Maestro’s) the default window will not re-open even if no windowsare open. So for example, if you’ve closed the all windows in Mail, and then switch to Mail, the Message Viewer will not be displayed. You need to click in the Mail Dock icon to or figure out which menu or command key to use (often command-0) to display the default window.
The Mac Observer folks asked me (discussed here) how to resolve this, and I suggested a simple AppleScript:
tell application "System Events" set f to file of first item of (processes whose frontmost is true) open f end tell
Basically, it just finds the from application and asks the system to “open” it.
Use Keyboard Maestro to wire that script up to a command key (command-option-0 perhaps?) and you’re all set.
You can download this macro from the Macro Library.
Updated Thursday, July 1, 2010 at 3:38 AM. Permalink. Post a Comment. Digg This
With great power comes great responsibility, or in this case, some complexity. And when that great power doesn’t work quite right, it pays to know what to do to get it working again.
If a macro does not execute when you try the trigger, there are a number of possibilities to check:
If you cannot spot a problem, and the macro still wont fire, then you need to narrow down where the problem might lie.
Add a Status Menu trigger to the macro and see if the macro appears in the status menu - if not, then the macro or macro group is disabled or inactive.
If it does appear, then try executing the macro using the Status Menu. If it works, then you're down to just the trigger. If not, it may be that the actions are not doing what you think they should.
And if you still cannot figure it out, email me and let me know what you have learned from trying the above so I can help you narrow down where the problem might be.
Posted Monday, May 10, 2010. Permalink. Post a Comment. Digg This
On Betalogue, Pierre Igot has written several recent articles about customising iWork using Keyboard Maestro.
In Customizing Pages ‘09: Writing centuries in French, Pierre explains that the proper way to write something like “20th Century” in French is xxe siècle where “xx” is the number in roman numerals in small caps and “e” is a small superscript. Pierre notes wryly “As you can imagine, if you have write this type of thing repeatedly in a text, it can quickly become pretty tedious.”
Enter Keyboard Maestro. Type “20s” and a properly styled century token appears.
A few days later he wrote Customizing Pages ‘09: Using Keyboard Maestro to bypass Apple’s idiotic table shortcuts where he describes Pages (and Numbers) annoying behaviour of inserting a column when you use open-leftarrow/rightarrow in a table, even while editing a cell text if you're at the edge of the cell text.
Pierre proved to be very clever - mapping option-leftarrow to option-shift-leftarrow followed by leftarrow, thereby retaining the normal behaviour of the key stroke (albeit with a brief flash of selection) while killing Pages/Numbers behaviour of inserting columns.
Pierre is clearly on a roll using Keyboard Maestro to customise his Mac. The next day he wrote Customizing Pages ‘09: Changing the behaviour of command-Up and command-Down with Keyboard Maestro in which he describes how to change the behaviour of command-up/down arrow and home/end to better suit his desired behaviour.
It is this kind of fantastically imaginative use of Keyboard Maestro that I really love to see. Thanks for sharing, Pierre!
Posted Monday, April 19, 2010. Permalink. Post a Comment. Digg This
It is always nice when someone tries out Keyboard Maestro and then wonders how they ever got by without it.
It is doubly so when someone like Andreas Zeitler of Mac OS X Screencasts asks to do a review of Keyboard Maestro and then comes back a short while later saying “Keyboard Maestro is one of those truly remarkable applications on the Mac. I love it!”
The screencast covers a variety of ideas for what you can do with Keyboard Maestro. I particularly like his creation of an iTunes juke box, allowing remote access for "Play Next Song" but which he can enable at the start of a party, and then disable if someone misbehaves.
It is that kind of innovative use of Keyboard Maestro that I love to see.
Posted Thursday, April 15, 2010. Permalink. Post a Comment. Digg This
People often ask me how to do Two Key hot keys. Some people like these as it allows you to remember an easy initial keystroke (like control-s for example), followed by a mnemonic (eg k to activate Keyboard Maestro, s to activate Safari, m to activate Mail).
Keyboard Maestro allows Two Key hot keys, but only with a common first key.
To set it up, create a new macro group and configure it to be activated for one action when the first hot key (eg control-s) is pressed.
Then create your macros within that new macro group, and give them a the second hot key trigger and whatever actions you desire. Since these macros are active only immediately after the first hot key is pressed, the second hot keys can be almost anything without fear of conflicting.
Alternatively, you can set the macro group to show a palette for one action when the first hot key is pressed, and Keyboard Maestro will display a palette of macros contained in that macro group - the macros don't need to have a trigger at all.
For more information about macro groups, click on of the ? help buttons to read the Quick Start help or help specifically about when macro groups are available or how they are activated.
Posted Wednesday, March 31, 2010. Permalink. Post a Comment. Digg This
Matt Gallagher wrote an article on scripted window management in Xcode where he describes the scripts he uses to position windows in Xcode, namely in column 1, column 2, both columns or positioning windows based on type.
I've used this for some time, and it really is a brilliant productivity boost. With a couple keystrokes, I can lay out two windows side by side, or have a window fill the screen so I can concentrate on just one thing. I never used the last option, which, as we will see, is fortunate for me.
Matt accomplishes this using Xcode's User Scripts support, but one thing that always irritated me with this is that it tended to be quite slow the first time you used it. After the first use, it was plenty fast enough, but that first one would take a second or two.
It finally occurred to me that Keyboard Maestro could easily handle this task, so I quickly whipped up the trivial macros and now its lighting fast to move the windows. Because it was so simple, I quickly added three more to position windows on the second monitor.
So, Matt's idea, and two different solutions. What are the pros and cons?
In favor of the AppleScript solution:
In favor of using Keyboard Maestro macros:
I think this is one of the things I really like about Keyboard Maestro - its not that you can't necessarily do things a different way, its that the solution will generally work across all applications, rather than relying on Xcode's scripting, or BBEdit's text factories, or some other application-specific facility. So once you have learned Keyboard Maestro, you can use it as the tool to accomplish your goal in a variety of different applications.
Posted Tuesday, March 16, 2010. Permalink. Post a Comment. Digg This
To get the most out of Keyboard Maestro, you have to notice things that aggravate you when you do them over and over, and to imagine things could be better.
Here are some of the things I use Keyboard Maestro for:
And some developer ones:
Interface Builder:
Xcode:
And an Xcode insertion palette that has snippets of code like @property, or init routines, etc (probably can be done by Xcode's own snippet system).
Hopefully, that will give you some ideas of the things Keyboard Maestro can do, and some of them will sound like the things you waste time doing repetitively every day. Let Keyboard Maestro help. And if you get stuck, just drop me an email and I'll be glad to help you out.
Posted Monday, January 18, 2010. Permalink. 3 Comments. Digg This
People ask me how to get access to the Open Recent menu in applications. You can't simply use the Select Menu Item because you're not actually selecting a menu item, you're getting half way through a UI action, and then wanting to take over and select the actual document.
The way to do it is to use the fact that you can click in the menu bar and then navigate around using arrow keys and typeahead.
So to open the Open Recent menu, click in the menu bar. You could click directly in the File menu, but I recommend clicking in the Apple menu and then right arrowing across to the File menu as this will be robust when the application name changes. So your actions would be:
You can use this same technique to pre-open any menus or submenus while letting you choose the final selection.
Posted Wednesday, December 23, 2009. Permalink. Post a Comment. Digg This
By now you have probably heard that we released Keyboard Maestro 4.0.
Keyboard Maestro has always been a very powerful tool, and the user interface was pretty reasonably, but it was starting to show its age - it has been around since 2001 after all!
So with version 4 we took the opportunity to completely rewrite the user interface to bring it up to Snow Leopard standards. I think we did a pretty good job with this and judging by the comments I have seen around the net, others do as well.
For example , Steven Goodheart said on MacUpdate “Wow, is this new interface for Keyboard Maestro terrific! So clean, and logical, and easy to use.”. All the reviews on MacUpdate have been 5 star.
Over on Version Tracker, also all 5 star reviews, sherman1 said “The new version is impressive. New look, new features.”.
It is a hard slog developing a quality program. There is a lot of work, and a lot of attention to detail - details most people never even realize are there. So its very pleasing to see the hard work rewarded with glowing comments and happy customers!
Posted Friday, December 11, 2009. Permalink. Post a Comment. Digg This
Keyboard Maestro 4 is well in to development, and anyone who purchases Keyboard Maestro 3 after May 1 will receive a free upgrade.
Normally I don’t say anything about future versions until they are released, but in an effort to generate a bit of buzz I figured I would show off some of the stuff as it is (more or less) completed.
My aim for version 4 is to be Cocoa buzzword compliant, which means lots of nice swishy user interface features. The engine is essentially complete (in fact it is only a couple API calls off being 64-bit ready, although whether I will ship a 64-bit version remains to be decided).
The engine now has HUD style clipboard history (pictured) and named clipboard switchers, including a search field with lovely animations as you filter clipboard or add or remove clipboard items, as well as image and styled text displays.
Currently I hope to have version 4 out in Q3, but that will depend somewhat on what does and doesn’t make the cut, although I will probably err on the sooner side and ship further features in version 4.1, 4.2 etc as I did for version 3.1 through 3.5.
But there is still plenty more to do, so its back to work for me.
Posted Sunday, May 3, 2009. Permalink. 1 Comments. Digg This
And now for something completely different, we have released a space war game, Aragom, for the iPhone.
Aragom is a fast paced space war game, reminiscent of the old TRS-80 Star Trek game. The galaxy is being overrun by Aragom and they have already destroy all other defences. Commanding the USS Constellation, you must destroy all the Aragom before they can destroy you, all the bases, or time runs out.
Get Aragom from the App Store or visit the Aragom web site for more details.
Updated Tuesday, February 10, 2009 at 4:41 PM. Permalink. 1 Comments. Digg This
Something that is relatively tricky to do in Keyboard Maestro is to select menu items from a popup menu. The typical hackish solution is to simulate a click in the menu, followed by simulated keystrokes to select the desired menu item (Insert Text by Typing works well for this), followed by simulating the return key to select the item (or right arrow to drill down into hierarchical menus).
A neat solution is inspired from a MarsEdit tip (in turn inspired by a Macworld tip) which describes how to use the Keyboard & Mouse System Preference to assign key equivalents to any menu in an application, including popup menus. Once you assign a key equivalent it is then a trivial macro action to simulate that keyboard equivalent.
Thanks to Brent Simmons for the post, and also to Rob Griffiths for the original inspiration.
Posted Thursday, February 5, 2009. Permalink. Post a Comment. Digg This
Congratulations to Michael Kamprath (original author of Keyboard Maestro) on the glowing Wired review of his iPhone game for young kids, I see Ewe.
Well done!
Posted Tuesday, February 3, 2009. Permalink. Post a Comment. Digg This
Recently, a Keyboard Maestro user asked if Keyboard Maestro could allow windows to be moved around like Windows allows when you press a key combination.
Keyboard Maestro has actions to move and resize windows, so it is an easy task to create a macro group activated by a hot key which then enables its macros, triggered by arrow keys to move the front window around.
Not wanting to leave this as an exercise to the reader, I created a macro group for the Macro Library, so that pressing control-W allows you to move and resize windows - arrow keys nudge by a single pixel, option-arrow keys by 10, shift arrow keys resize and option-shift arrow keys resize by 10.
You can download it from the Macro Library.
Updated Monday, December 29, 2008 at 4:12 PM. Permalink. Post a Comment. Digg This
As many of you know, Michael Kamprath was the original author of Keyboard Maestro. We acquired it from him in 2004 and since then lots has happened in Michael’s life, including especially getting married and having a baby girl.
Michael’s latest project is an iPhone game, I See Ewe so if you have young kids and would like to see what Michael is up to these days, check it out. It costs $1 and all the ratings are 4-5 stars.
Perhaps a nice Christmas present for the kids?
I think I might follow Michael’s example and write an iPhone game myself - maybe bring back some memories of my old TRS-80 days!
Merry Christmas everyone!
Updated Tuesday, December 23, 2008 at 5:53 PM. Permalink. 1 Comments. Digg This
Unless you were living under a rock (OK, or living pretty much anywhere else, we really have to work on our PR machine!) you would have heard we released Keyboard Maestro 3.5 last week.
We also released our first iPhone app, Keyboard Maestro Control, which lets you connect to Keyboard Maestro on your Mac and run macros on it from anywhere in the world.
If you combine this with our previous post about controlling to Keynote driven projectors, you could use an iPhone or iPod touch to control your projector as you walked around the room.
One trick I’ve found useful is setting up a macro to launch iTunes - that way you can launch iTunes and then use Apple’s Remote to control it.
Another would be to have your email downloaded to your Mac while you’re on your way to the office.
As usual with Keyboard Maestro, your imagination is often the limit on what it could do to help you!
Posted Sunday, December 14, 2008. Permalink. 1 Comments. Digg This
I frequently say that the key to getting the most out of Keyboard Maestro is a good imagination. Keyboard Maestro can help with many different tasks, but the help is unique for each situation. Sure, there are some common tasks that most users will share (like inserting preset pieces of text), but when I look at my own macros, many are completely unique to me, things like:
and so on. These are all specific to me and entirely useless to anyone else. But each person has their own set of specific problems and unique solutions.
However, recently I got a request from Bill Jastram at Tualatin Foursquare Church who had a particularly interesting one. He wanted to control Keynote from one Mac and have it simultaneously control another Mac at the other end of the auditorium, which in-turn would control a projector running his presentation.
Bill had already organized the local side with simple macros to control Keynote slides, the trick was to transfer the action to the second Mac controlling the projector. We accomplished this by enabling Keyboard Maestro's web server on the second Mac and creating similar control macros . Then on the first Mac, we added a shell script action to each macro to run curl to make a request to the second Mac to execute the corresponding macro. The end result, Bill changes a Keynote slide on his MacBook presentation, the slide simultaneously changes on the Mac Mini across the auditorium, and the projector projects the change all within one second.
According to Bill: “All we needed was your very useful Keyboard Maestro, a self-contained Airport network (Airport Extreme Base Station), and your curl script to send a command sequence to the Mac Mini. Needless to say, this is a real plus for us, for which we are very grateful.”
More proof that Keyboard Maestro and a little imagination can do amazing things.
Updated Thursday, December 4, 2008 at 3:27 PM. Permalink. Post a Comment. Digg This
This is an almost trivial, but very useful, macro which types the current clipboard in.
This means it both pastes without styles and also works almost anywhere, including places where paste is not supported like many games or password entry dialogs.
It uses just a single action:
Insert Text ‘%CurrentClipboard%’ by Typing
By default it uses a Status Menu trigger, so it is available easily without the need to remember yet another hot key, although you could trigger it by any means you like.
Updated Monday, November 10, 2008 at 3:01 AM. Permalink. Post a Comment. Digg This
Alain Damlamian has created a package of macros for TeXShop users. It includes a number of macros for inserting various tamplate text items, such as definition, lemma, proof, etc.
The macros preserve the clipboard in a Named Clipboard, and so these macros require Keyboard Maestro 3.4 to import properly. Version 3.4 added a feature where named clipboards were stored with both a unique ID and a name in export files so they can be imported and the appropriate named clipboards automatically created if they do not already exist.
I have added this macro package to the Macro Library section to our web site.
Thanks for yo Alain for offering this package.
Posted Sunday, September 7, 2008. Permalink. 1 Comments. Digg This