KeyCanceller: keep track of keys that have been cancelled in the keydown
handler (which takes care of dispatching ex commands) and also cancel them
in keypress/keyup event handlers. This fixes
https://github.com/tridactyl/tridactyl/issues/234.
If you make modifications to this class, keep in mind that keyup events
might not arrive in the same order as the keydown events (e.g. user presses
A, then B, releases B and then A).
KeyCanceller: keep track of keys that have been cancelled in the keydown handler (which takes care of dispatching ex commands) and also cancel them in keypress/keyup event handlers. This fixes https://github.com/tridactyl/tridactyl/issues/234.
If you make modifications to this class, keep in mind that keyup events might not arrive in the same order as the keydown events (e.g. user presses A, then B, releases B and then A).