I can only think of two ways. Firstly, assigning every hotkey manually.
loop, 255 {
char := chr(a_index - 1)
try {
hotkey, ^%char%, send_key, char
} catch e {
; many keys in the ansi chart cant be assigned to a hotkey, just ignore the error
}
}
return
send_key:
; A_ThisHotkey contains the pressed combination in a format like ^C. Remove the ^
key := subStr(a_thisHotkey, 2)
sendraw %key%
return
The loop iterates over all ANSI characters. See https://msdn.microsoft.com/en-us/library/aa245259(v=vs.60).aspx for a list. It is only a short form for
^a::send a
^b::send b
etc., 255 times. This approach doesn't affect space, numpad numbers (which you want), # and many more, and it also cannot differentiate between lowercase and uppercase letters. But maybe it'll do for you.
Secondly, using input. Read the doc page about it and if you still struggle, edit your question I guess. I don't know if or how this will work for key combinations
Ctrl + Shift + Numpad0? OrCtrl + a + s? - MCL