It looks like all "meta" keyboard keys will affect the result.

Run this script, and play with control, shift, caps lock and the "alt gr" keys (hit "q" to exit).

Code:
$=SetOption("WrapAtEOL","ON")
$=SetOption("CaseSensitivity","ON")

while Not($k="q" OR $k="Q")
while KBHIT()
Get $k
$k
loop
$=SendKeys("++x")
Loop
while KBHIT() Get $k Loop



As you cannot toggle things like the shift key a SendKeys() which can send the data unmodified is a better option.

A KeyState() while not solving the problem would be a useful addition too.