Allow out-of-focus typing on touch devices

This commit is contained in:
Pavel Djundik 2018-05-03 15:51:40 +03:00
parent 5aafb38624
commit 55c1293b4c

View File

@ -247,27 +247,25 @@ const ignoredKeys = {
224: true, // Meta 224: true, // Meta
}; };
if (!("ontouchstart" in window || navigator.maxTouchPoints > 0)) { $(document.body).on("keydown", (e) => {
$(document.body).on("keydown", (e) => { // Ignore if target isn't body (e.g. focused into input)
// Ignore if target isn't body (e.g. focused into input) // Ignore any key that uses alt modifier
// Ignore any key that uses alt modifier // Ignore keys defined above
// Ignore keys defined above if (e.target !== document.body || e.altKey || ignoredKeys[e.which]) {
if (e.target !== document.body || e.altKey || ignoredKeys[e.which]) { return;
return; }
}
// Ignore all ctrl keys except for ctrl+v to allow pasting // Ignore all ctrl keys except for ctrl+v to allow pasting
if ((e.ctrlKey || e.metaKey) && e.which !== 86) { if ((e.ctrlKey || e.metaKey) && e.which !== 86) {
return; return;
} }
// On enter, focus the input but do not propagate the event
// This way, a new line is not inserted
if (e.which === 13) {
input.trigger("focus");
return false;
}
// On enter, focus the input but do not propagate the event
// This way, a new line is not inserted
if (e.which === 13) {
input.trigger("focus"); input.trigger("focus");
}); return false;
} }
input.trigger("focus");
});