Well, my thing works which I'm happy about, though I'm not familiar enough with assembly to make KeyDown take a non-BYTE argument so I just hijacked 0x70 - 0x77 in the directx scan code range, could easily be adapted otherwise though. I've chucked the diff and an example script in, I'd honestly...