diff --git a/src/snek/templates/web.html b/src/snek/templates/web.html index ba2b8fd..d081522 100644 --- a/src/snek/templates/web.html +++ b/src/snek/templates/web.html @@ -238,6 +238,39 @@ app.rpc.markAsRead(channelUid); }); + let escPressed = false; + let gPressCount = 0; + let keyTimeout; + document.addEventListener('keydown', function(event) { + + if (event.key === 'Escape') { + escPressed = true; + gPressCount = 0; + clearTimeout(timeout); + keyTimeout = setTimeout(() => { + escPressed = false; + }, 300); + } + + if (event.key === 'G' && escPressed) { + gPressCount++; + + clearTimeout(keyTimeout); + keyTimeout = setTimeout(() => { + gPressCount = 0; + }, 300); + if (gPressCount === 2) { + gPressCount = 0; + escPressed = false; + + messagesContainer.querySelector(".message:last-child").scrollIntoView({ block: "end", inline: "nearest" }); + } + } + if (event.shiftKey && event.key === 'G') { + updateLayout(true); + } + }); + initInputField(getInputField()); updateLayout(true);