While the `keydown` handler is the only way of reliably catching special keys,
for textual input `keypress` is preferable, as it can handle thing like parens
without having to hardcode a keyboard.
I moved that code and in the process converted some magic numbers to constants
- mostly so I can read stuff better.