js: Remove keypress handler

At least in modern browsers (and I suspect in all browsers), cancelling
a keydown event ensures that the subsequent keypress event doesn't fire.
See <https://w3c.github.io/uievents/#keys-cancelable-keys>.

So there's no point in having a handler on keypress events that just
tries to cancel them as well.  Removing the handler doesn't do much now,
but it opens the possibility of being a bit more selective about which
keydown events we cancel.
This commit is contained in:
Ben Harris
2022-10-25 10:24:15 +01:00
parent 43c89dd5e1
commit e6faebeb9a

View File

@ -304,9 +304,8 @@ function initPuzzle() {
}
};
// Set up keyboard handlers. We do all the actual keyboard
// handling in onkeydown; but we also call event.preventDefault()
// in both the keydown and keypress handlers. This means that
// Set up keyboard handlers. We call event.preventDefault()
// in the keydown handler. This means that
// while the canvas itself has focus, _all_ keypresses go only to
// the puzzle - so users of this puzzle collection in other media
// can indulge their instinct to press ^R for redo, for example,
@ -318,9 +317,6 @@ function initPuzzle() {
event.shiftKey ? 1 : 0, event.ctrlKey ? 1 : 0);
event.preventDefault();
};
onscreen_canvas.onkeypress = function(event) {
event.preventDefault();
};
// command() is a C function called to pass back events which
// don't fall into other categories like mouse and key events.