ref: e79270368b709a7cceb593767b1d0ac9aa9a311f
parent: 2d439dd00ed41c697a917c7445e143ae10ff5e74
author: Ben Harris <bjh21@bjh21.me.uk>
date: Tue Nov 15 17:17:33 EST 2022
js: Move global keyboard handler to capturing phase In the bubbling phase it managed to catch the "Enter" keypress that opened a dialogue box from the menu and use it to close the dialogue box again. I think it's probably reasonable to have it run earlier and just permanently steal any keypresses it wants.
--- a/emccpre.js
+++ b/emccpre.js
@@ -519,11 +519,16 @@
for (var i in dlg_return_funcs)
dlg_return_funcs[i]();
command(3);
+ event.preventDefault();
+ event.stopPropagation();
}
- if (dlg_dimmer !== null && event.keyCode == 27)
+ if (dlg_dimmer !== null && event.keyCode == 27) {
command(4);
- });
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }, true);
// Event handler to fake :focus-within on browsers too old for
// it (like KaiOS 2.5). Browsers without :focus-within are also