}
update_glyph();
}
+ function key_handler(e) {
+ var dx = 0, dy = 0;
+ switch (e.key) {
+ case "ArrowLeft": dx = -1; break;
+ case "ArrowRight": dx = +1; break;
+ case "ArrowUp": dy = -1; break;
+ case "ArrowDown": dy = +1; break;
+ default: return;
+ }
+ var x = this.closest("td").cellIndex;
+ var y = this.closest("tr").rowIndex;
+ x = (x + dx + 5) % 5;
+ y = (y + dy + 9) % 9;
+ var target = document.querySelector('#pixels').rows[y].cells[x]
+ .querySelector('input');
+ target.focus();
+ e.preventDefault();
+ }
function init() {
- for (var e of document.querySelectorAll('#pixels input'))
+ for (var e of document.querySelectorAll('#pixels input')) {
e.onchange = e => update_glyph(true);
+ e.onkeydown = key_handler;
+ }
document.querySelector('#c').oninput = function(e) {
from_c(this.value);
update_glyph(false);