Thanks for the help and sorry for the delay! I've been busy with one of my newer projects and haven't had much time to debug.
I don't listen to keypress because this game is unique in that it needs to know ALL keys pressed at a time. Unfortunately, keypress only fires on the last key that was pressed; so if someone was holding A and then pressed B, only B would be registered.
I have a custom keyboard util that knows when shift is pressed, so I actually only need the keycode for the keys that turn into ? and : with shift pressed. The only issue is that these keys are different on different keyboards, so I'd have to whitelist all of them-- which may lead to weird combinations accidentally triggering a different key.
PS: If you're interested and technically inclined, you can find the source code here. Happy to accept pull requests.