The problem are shift-combinations like here:
|
case SAPP_KEYCODE_SPACE: c = shift ? 0x5B : 0x20; break; /* 0x5B: neg space, 0x20: space */ |
If the keydown happened with shift, and the keyup without shift (or vice versa), then the key will get stuck. Especially with the Spacebar this can happen accidentially when the next character requires the shift key.