Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm working on a talk that will involve typing code and running it in front of an audience. So I don't screw it up, I'd like to pre-record typing the more complicated bits of the source code and play it back. Most programs I've found that do similar things (like AutoHotKey) dump the text instantaneously as a giant block. Is there any program that will do this and allow me to adjust the play-back speed?

share|improve this question
That's what bored 10 year olds are for. – Adam Davis Mar 24 '10 at 20:51
up vote 4 down vote accepted

Take a look at AutoHotKey's SetKeyDelay function, which should do what you want.

share|improve this answer

The key to perfection is imperfection. You'll want to incorporate typing errors + on the spot corrections. Varying key delays. Outright pauses. I think you'll probably need to write a fairly chunky script to achieve this.

Personally, I would type it manually, but have a working copy of the source somewhere else. That way you have the best of both worlds; you're the one doing the typing, and you have something to copy and paste in should things not go according to plan. Plus you don't need to write the script.

share|improve this answer

While SetKeyDelay is useful, in your case I believe the Sleep keyword in AutoHotkey would also be useful for simulating long pauses, etc.. This does exactly what it sounds like which is make AHK sleep.

I've used this to automate an old DOS program that chocked if input went to fast. Since different parts of the program required a differing amount of adjustment, the Sleep keyword allowed me to manually tweak rate of input.

I imagine the best way for you to accomplish what you are trying is to decide on a "natural" typing speed you will be simulating and use SetKeyDelay to that value. Then as part of your "script" decide when the programmer is pausing to think, delete, etc. and use Sleep with varying and appropriate values.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.