Solved by Styken, thanks dude!
the winqreadtextspace() function wants CTRL/ALT events, but also should
accept special characters that are sometimes behind an ALT on certain
keyboards (like [ ] in sweden).
In the old code all ALT events caused ascii to set on zero. Now it
checks first for ispunct() chars.