Hi --
I'm trying to make AutoHotKey speak each letter (or number) after it is typed. Here's what I have for the code so far:
Code:
; Speak letters
keysSpeak = -qwertyuiop[]\asdfghjkl'zxcvbnm=
Loop Parse, keysSpeak
{
HotKey %A_LoopField%, Speak
}
Speak:
TEMPFILE = %TEMP%\TALK.vbs
IfExist, %TEMPFILE%
FileDelete, %TEMPFILE%
FileAppend, Dim Talk`nSet Talk =
WScript.CreateObject("SAPI.SpVoice")`nTalk.Speak "%A_ThisHotKey%",
%TEMPFILE%
RunWait, %TEMPFILE%
FileDelete, %TEMPFILE%
Return
There are several problems with this code:
* I cannot run the other AutoHotKey scripts I have programmed after the letter is spoken.
* The characters I'm typing are intercepted by AutoHotKey and what I really want is for the characters to just "pass through" AutoHotKey.
* It seems inefficient to create a vbs file for every character typed. Obviously, I don't want the speech to slow down how fast I'm allowed to type, if at all possible.
I'm a newbie with AutoHotKey scripts, so I'm sure there's a better way to do this... Any suggestions/code changes would be greatly appreciated!