diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingListener.java b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingListener.java index 9ffbd27e77..fbdc08a7aa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingListener.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingListener.java @@ -182,10 +182,16 @@ class KeyRemappingListener extends MouseAdapter implements KeyListener switch (e.getKeyCode()) { case KeyEvent.VK_ESCAPE: - // When existing typing mode, block the escape key + // When exiting typing mode, block the escape key // so that it doesn't trigger the in-game hotkeys e.consume(); - // FALLTHROUGH + plugin.setTyping(false); + clientThread.invoke(() -> + { + client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, ""); + plugin.lockChat(); + }); + break; case KeyEvent.VK_ENTER: plugin.setTyping(false); clientThread.invoke(plugin::lockChat); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java index a292843ca1..b1edacd3da 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingPlugin.java @@ -88,6 +88,8 @@ public class KeyRemappingPlugin extends Plugin if (client.getGameState() == GameState.LOGGED_IN) { lockChat(); + // Clear any typed text + client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, ""); } }); } @@ -178,8 +180,6 @@ public class KeyRemappingPlugin extends Plugin if (chatboxInput != null) { chatboxInput.setText(getPlayerNameWithIcon() + ": " + PRESS_ENTER_TO_CHAT); - // Typed text can be non-empty on plugin start, so clear it now - client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, ""); } }