From 4751c89d6c003264d1165b28eae6cd07cf06f90a Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Wed, 25 Nov 2020 06:00:19 +0100
Subject: [PATCH] Only enforce keyboard input when strictly needed in web
 client.

---
 rogue_chat.html | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/rogue_chat.html b/rogue_chat.html
index 02fb9a6..665bc3d 100644
--- a/rogue_chat.html
+++ b/rogue_chat.html
@@ -613,13 +613,15 @@ let tui = {
     if (this.mode.name == 'control_tile_draw') {
         tui.log_msg('@ finished tile protection drawing.')
     }
-    this.inputEl.focus();
     this.map_mode = 'terrain + things';
     this.tile_draw = false;
     if (mode_name == 'admin_enter' && this.is_admin) {
         mode_name = 'admin';
     };
     this.mode = this['mode_' + mode_name];
+    if (this.mode.has_input_prompt || this.mode.is_single_char_entry) {
+        this.inputEl.focus();
+    }
     if (game.player_id in game.things && (this.mode.shows_info || this.mode.name == 'control_tile_draw')) {
         explorer.position = game.things[game.player_id].position;
         if (this.mode.shows_info) {
-- 
2.30.2