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);