Macros without holding down a Key?

So I typically play the Steam version of Siralim on my windows machine. Combat involves a lot of holding down a particular key to stay in Turbo mode. (I love using macros to automate combat, but it still involves holding down a key to stay in Turbo mode)

What I would really like is to just hit a key once to enter Auto/Turbo mode at the beginning of combat and then have combat just run forward using my macros without me having to hold anything down … (and then hit a key at the end of combat to leave Auto/Turbo mode)

Does anyone know of any way on a Windows machine that I can simulate holding down a key by just toggle-ing on and off with a single key press? (Does that make any sense?) It seems like there must be a utility for this.

You could look into AutoIt or AutoHotKey for something like that. They’re both scripting tools that would allow you to easily set a hotkey to toggle this type of thing on or off. For example, you could create a script that activates when you press F1, and it would hold down the E key until you toggle it off with F1 again.

Thanks a lot. That sounds like exactly what I am looking for. It seemed obvious that such tools should exist, I really appreciate the recommendation.

Also, maybe Siralim Ultimate could have this fictionally built-in. :grinning:

Okay, got it working with AutoHotKey.

This is glorious! It is so nice to just be able to set up some macros for my creatures, and then be able to hit a single key and have an entire battle resolve itself without requiring any more input from me. (Having to hold down a key, like “e”, isn’t a big deal, but NOT having to hold down the key is even better!)

In any case, if anyone else wants to try this, here is the AutoHotKey script for using F1 to toggle off and on “holding down e”. (Note: actually we just send the “e” key 10 times per second – once every 100 milliseconds – but Siralim 3 treats that as holding down the key.)

=============================

F1::
RepeatKey := !RepeatKey
If RepeatKey
SetTimer, SendTheKey, 100
Else
SetTimer, SendTheKey, Off
Return

SendTheKey:
SendInput e
Return