Instant Text Automator

Created on Wednesday, July 17, 2013.
Filed under Software, Productivity.
 

The Instant Text Automator lets you quickly write and use macros based on Autohotkey’s Send function.

 

All of the macro recorders I tried were too complicated for my needs. I needed to quickly bind keystrokes to a hotkey but didn’t want to stumble around a crowded GUI to do it, or record actions. How much easier would it be to just type the keystrokes into a tool?

Features

  • Create and use macros based on Autohotkey’s Send command in less time than it would take to write a new script for the same purpose.
    • Since each line in a textbox is appended to a ‘Send’ call, you can also use Send’s fancier features, including {Raw}, {Blind} and {Click}.
    • You can also add comments to your macros by starting a line with <// so you can keep track of what’s going on.
  • Assign your macros to almost any hotkey combination you want.
  • Automate clicks to buttons or move the mouse around the screen by Alt+Shift+F12 to insert the cursor’s screen location into your macro.
  • Choose between two input methods provided by Autohotkey to deal with the quirks of different destination programs.
  • Adjust the wait time between each line of the macro to tailor it to any particular program.
    • Directly tweak the wait time between individual lines by adding a {Wait _n_} tag.
  • Unbind the macros with a click so that you can use the hotkeys for their original function.
  • Run multiple copies of Instant Text Automator in parallel if you need more macro boxes.

Let me download it!

Download Instant Text Automator (Windows, with source code).

A warning about cross-macro triggering

Before I hear any bad stories, it might be good to mention that keys typed by macros can trigger other macros. This is usually a good thing — you can compartmentalise often-used snippets and call them from other macros, for example — but the potential does exist for unintended macro triggering. It’’s super important that you carefully consider what keys you’’re binding your macros to, and whether those are appropriate for the program you’’re using. Using unmodified number, letter and punctuation keys as triggers in Microsoft Word is a bad idea, for example. Carry on!

Changelog

v12 (4 February 2014)

  • Added {AltTab} tag. Add {AltTab} to a line, and Instant Text Automator will perform an Alt-Tab window switch for you at the end of that line, and before a custom wait. In Send instantly mode, {AltTab} uses the line delay to pace its keypresses. In Simulate mode, it uses the key delay.
  • Fixed bug with line delay.

v11 (16 July 2013)

  • Added alternative Send mode for more compatibility. It uses Autohotkey’s SendEvent command.
  • Saving an open file now retains its existing filename instead of naming it with the current date and time. Totally new files are still named with date and time, however.
  • The Line Delay value is now saved in profiles as LineDelay instead of SleepTime to preempt any confusion.
  • Removed single instance checking. You can now run as many copies of Instant Text Automator as you want in parallel. I don'’t remember when I took that functionality away, but it’s back now.
  • Heavily refactored code. No real difference to user experience, but much easier to maintain now.

v10 (2 July 2013)

  • The title bar of the window now shows the filename (sans extension) of the profile that is currently loaded.

v9

  • Added commenting tag. Start any line with <// and the rest of that line will be ignored.
  • Added custom pause tag. Add {Wait _n_} at any point (where n is a number in milliseconds), and Instant Text Automator will wait that long before continuing to the next line.
  • Fixed error in tooltip that described the Line Delay as being in microseconds instead of milliseconds.
  • Added another macro box.
  • Macro boxes are now slightly wider and two lines taller.
  • ? button now links to AHK Send reference page.
  • Saving a profile now checks that you are saving it in the correct format.
  • At some point, some change I made must have led to multi-line macros not saving correctly in profiles. It’s fixed now.
  • Your current macro panel is no longer wiped when you cancel opening a profile.
  • Cleaned up macro execution code.

v8

  • Added an option (Replace Mouse) to return the mouse cursor to its original screen position when a macro is finished running.
  • Added tooltips to some GUI controls.
  • Profiles now save the Line Delay value.
  • Single quotes by themselves are now saved in profiles.
  • Added an About dialog to tell users what version they’’re using.

v7

  • Cursor-position function’s hotkey is now Alt+Ctrl+F12.
  • Cursor-position function now inserts a {Click X,Y} command directly into the command box that has focus.
  • Window now starts at centre of screen.

v6

  • Added profile save/load capability. All of the current binds and commands can be saved to a .ini file, then loaded in subsequent sessions. You can save your profiles wherever you like.
  • Added mouse cursor coordinates finder. Hit Shift+F12 to get the screenspace coordinates of the mouse cursor, which you can then stick into {Click x, y} to click on buttons or move the mouse for you.
  • Removed the system tray icon altogether, along with the hide-to-system-tray behaviour. This makes it act more like a normal Windows application.
  • Removed the preloading feature, as the profile save/load system is way better.

v5

  • Doubled the number of shortcut boxes available because I kept running out of them!

v4

  • Added preload capability. Stick any .txt file numbered 1–4 (1.txt, 2.txt and so on) into a preload/ folder in the same directory as Instant Text Automator, and the text they contain will be preloaded into the program upon startup. I’’m not going to say that this is the final version.

v3

  • Made GUI hide to system tray upon minimising. Maybe this will be the final release? Thanks to Lexikos for the elegant GUI Hide code! http://www.autohotkey.com/forum/viewtopic.php?p=152627#152627

v2

  • Added custom hotkeys feature. Now it’s the final release!

v1

  • Initial (and final) release.
That's all there is; there isn't any more.
© Desi Quintans, 2002 – 2016.