From 5ad94eae2e1fcdad9e2d3f63795ef882251aec66 Mon Sep 17 00:00:00 2001 From: dekvall Date: Thu, 26 Dec 2019 07:08:22 +0100 Subject: [PATCH] chatcommands: support keybinds in pms --- .../chatcommands/ChatKeyboardListener.java | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatKeyboardListener.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatKeyboardListener.java index 8472030fcb..991d4a644f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatKeyboardListener.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatKeyboardListener.java @@ -29,7 +29,9 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.ScriptID; +import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; +import net.runelite.api.vars.InputType; import net.runelite.client.callback.ClientThread; import net.runelite.client.input.KeyListener; @@ -56,7 +58,11 @@ public class ChatKeyboardListener implements KeyListener { if (chatCommandsConfig.clearSingleWord().matches(e)) { - String input = client.getVar(VarClientStr.CHATBOX_TYPED_TEXT); + int inputTye = client.getVar(VarClientInt.INPUT_TYPE); + String input = inputTye == InputType.NONE.getType() + ? client.getVar(VarClientStr.CHATBOX_TYPED_TEXT) + : client.getVar(VarClientStr.INPUT_TEXT); + if (input != null) { // remove trailing space @@ -77,20 +83,27 @@ public class ChatKeyboardListener implements KeyListener replacement = ""; } - clientThread.invoke(() -> - { - client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, replacement); - client.runScript(ScriptID.CHAT_PROMPT_INIT); - }); + clientThread.invoke(() -> applyText(inputTye, replacement)); } } else if (chatCommandsConfig.clearChatBox().matches(e)) { - clientThread.invoke(() -> - { - client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, ""); - client.runScript(ScriptID.CHAT_PROMPT_INIT); - }); + int inputTye = client.getVar(VarClientInt.INPUT_TYPE); + clientThread.invoke(() -> applyText(inputTye, "")); + } + } + + private void applyText(int inputType, String replacement) + { + if (inputType == InputType.NONE.getType()) + { + client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, replacement); + client.runScript(ScriptID.CHAT_PROMPT_INIT); + } + else if (inputType == InputType.PRIVATE_MESSAGE.getType()) + { + client.setVar(VarClientStr.INPUT_TEXT, replacement); + client.runScript(ScriptID.CHAT_TEXT_INPUT_REBUILD, ""); } }