We love Isadora for its diverse set of input and output control actors, among other amazing features. While there is a robust implementation of actors to control Isadora Actors with mouse and keyboard input, there is currently not an easy way to send keystrokes and mouse movements into other applications on the computer. This can be a challenge for interacting with software that does not have a remote control API, such as Google Earth, as was noted in a recent forum post.
On macOS, a workaround for this problem has been to combine QLab / Osculator with Isadora to trigger Apple Scripts, which can simulate input to other programs running on the mac. Unfortunately, Windows users did not have an obvious workaround…until now!
Introducing an AutoHotKey Actor for Windows!
AutoHotKey (AHK) is a popular development framework for creating automation with keyboard and mouse inputs. From simple keyboard shortcuts to complex mouse-scanning and dynamic logic, AutoHotKey opens up the world of input automation in countless ways. There are many robust and freely available AHK scripts for automating all sorts of programs and processes, and now the AHK Actor brings these powerful scripts to Isadora!
The AutoHotKey Launcher Actor is an Isadora SDK Actor I created (with @mark ‘s support and guidance!) that allows you to trigger an AHK script from within Isadora. It takes an absolute path to your .ahk file, as well as any CLI parameters your script will process, and of course a trigger to run the .ahk script with those parameters applied. To use the actor, you must be on Windows 10 and have AutoHotKey installed.
To test the actor, place it in your patch. By default, AutoHotKey will install WindowSpy.ahk, a helper program for observing screen behavior, in the location:
So, enter this path into the AHK Script Absolute Path input, and then click the trigger for Run. You can leave the AHK Parameters input blank. When you trigger the actor, WindowSpy should launch, and if it does, you are good to go! Otherwise, confirm that WindowSpy.ahk is located at that path, and verify that you have properly installed AutoHotKey.
AHK Parameters is an input that takes CLI arguments to use when running a .ahk file. Check the documentation of your .ahk scripts for usage. All CLI arguments should be entered as a single text input. An example AHK file with CLI parameters is my Google Earth Pro Controller, for which my Actor inputs could be:
1) C:\\Users\\Andy Carluccio\\Documents\\AHK\\GoogleEarthControl.ahk
2) -location “University of Virginia”
which, when run, would cause my Google Earth to spin over to the college. On the GitHub for the script, other CLI arguments are provided, which can be combined into a long text you place in the actor input.
I hope that this actor opens up new worlds of automation for you and your projects! Please provide feedback, but know that this is something I am working on in my free time without company resources, and my availability to update it with new features is extremely limited. Thanks again @mark for giving us a wonderful sandbox to play in!