>What happens if you stuff keystrokes into the keyboard buffer on the timer event?
They don't get stuffed into the buffer until the timer.timer() fires, and don't get consumed until the next wait state or =inkey() call.
If you meant sending keystrokes to a TS window, you may just as well make sure cmd.exe is run there and send it a "DIR *.zzz"+chr(13) once in a while - that would count as activity and wouldn't consume much in resources. The kicker is "how do I make sure that task runs and is on top when I send the keystrokes?".