Allow shift with `^', `<' and `>' because they require that on common
keyboard layouts (though not always), and because pressing shift gives a
different result if it's not needed; forbid modifiers with cursor keys,
space, and backspace.
/* Handle keyboard interaction. */
addEventListener("keydown", function (ev) {
var dir;
/* Handle keyboard interaction. */
addEventListener("keydown", function (ev) {
var dir;
- if (ev.key === " " || ev.key === "ArrowRight") dir = "next";
- else if (ev.key === "Backspace" || ev.key === "ArrowLeft") dir = "prev";
- else if (ev.key === "^") dir = "up";
+ if (ev.altKey || ev.ctrlKey || ev.metaKey) return;
else if (ev.key === "<") dir = "first";
else if (ev.key === ">") dir = "last";
else if (ev.key === "<") dir = "first";
else if (ev.key === ">") dir = "last";
+ else if (ev.key === "^") dir = "up";
+ else if (ev.shiftKey) return;
+ else if (ev.key === " " || ev.key === "ArrowRight") dir = "next";
+ else if (ev.key === "Backspace" || ev.key === "ArrowLeft") dir = "prev";
else return;
var elt = document.querySelector("link[rel=" + dir + "]");
if (!elt) return;
else return;
var elt = document.querySelector("link[rel=" + dir + "]");
if (!elt) return;