Run action only when I'm not typing?

Hi . . . I am completely impressed with the power and ease of KM (especially after years of using Quickeys—I wish I’d made the switch long ago); but I may be asking too much here: I have a macro that saves (cmd-s) my frontmost application (the doc I’m currently on) every 5 minutes. I’m having a crashing problem with my Mac right now, so it’s saved my butt many times. But when I’m working on an Excel spreadsheet and it saves, I lose whatever line I’m typing and I end up with the keystrokes typed after the save, but lose the keystrokes just prior to the save. So if I’m typing “Bookkeeping” and it saves when I’m in the middle of typing, I end up with 'eeping" (or something like that). Is there anyway to tell KM to save only when I’m NOT typing? Thanks for any help anyone can offer!


Try something like that. It would trigger every five minutes and wait for you to have been idle for 5 seconds before it saves:

The problem with that is that it would never save if you didn't stop typing or moving the cursor. Another (maybe better) solution, would be for your macro to play a sound, pause for 5 seconds (so you have time to stop typing) and save.

This works—and the “warning” sound is perfect. Thank you!
Just curious (and pushing my luck): Is there a way to have KM wait for a pause in my keystrokes, as oppose to any activity (keystrokes/cursor movement)?

Make sure to set a timeout on the Pause Until action. Its not so critical in this case as the chance of you not being idle for 5 seconds over an entire five minutes are pretty small, and even if you weren’t, there are not consequence of doing two saves at the same time.

But for this style of macro, it is often important not have two instances of the macro running because one was started, and then still pausing five minutes later when the next one started.

No, there is no function to tell when the last timing happened.

Thank you!