let selectedId = -1; document.onkeypress = function(evt) { evt = evt || window.event; var charCode = evt.keyCode || evt.which; var charStr = String.fromCharCode(charCode); switch(charStr) { case 'j': handlePrevious() selectedId = selectedId + 1; highlightSelected(); break; case 'k': if (selectedId > 0) { handlePrevious() selectedId = selectedId - 1; } highlightSelected(); break; case 'h': document.querySelectorAll(".itemlist tbody tr td.subtext .clicky")[selectedId].click(); highlightSelected(); break case 'r': location.reload() case 'o': targetBlankClickAndReset(document.querySelectorAll(".itemlist tbody tr.athing td.title a")[selectedId]) break; case 'c': targetBlankClickAndReset(document.querySelectorAll(".itemlist tbody tr td.subtext a:not(.clicky):not(.hnuser)")[selectedId]); break; } }; function highlightSelected() { if (selectedId != -1) { document.querySelectorAll(".itemlist tbody tr.athing")[selectedId].style.boxShadow = "0px 0px 10px 4px rgba(0,0,0,0.73)"; } } function handlePrevious() { if (selectedId != -1) { document.querySelectorAll(".itemlist tbody tr.athing")[selectedId].style.boxShadow = "initial"; } } function targetBlankClickAndReset(el) { el.target = "_blank"; setTimeout(() => { el.click(); el.target = ""; }) }