chatcommands: support keybinds in pms
This commit is contained in:
@@ -29,7 +29,9 @@ import javax.inject.Inject;
|
|||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.ScriptID;
|
import net.runelite.api.ScriptID;
|
||||||
|
import net.runelite.api.VarClientInt;
|
||||||
import net.runelite.api.VarClientStr;
|
import net.runelite.api.VarClientStr;
|
||||||
|
import net.runelite.api.vars.InputType;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.input.KeyListener;
|
import net.runelite.client.input.KeyListener;
|
||||||
|
|
||||||
@@ -56,7 +58,11 @@ public class ChatKeyboardListener implements KeyListener
|
|||||||
{
|
{
|
||||||
if (chatCommandsConfig.clearSingleWord().matches(e))
|
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)
|
if (input != null)
|
||||||
{
|
{
|
||||||
// remove trailing space
|
// remove trailing space
|
||||||
@@ -77,20 +83,27 @@ public class ChatKeyboardListener implements KeyListener
|
|||||||
replacement = "";
|
replacement = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
clientThread.invoke(() ->
|
clientThread.invoke(() -> applyText(inputTye, replacement));
|
||||||
{
|
|
||||||
client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, replacement);
|
|
||||||
client.runScript(ScriptID.CHAT_PROMPT_INIT);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (chatCommandsConfig.clearChatBox().matches(e))
|
else if (chatCommandsConfig.clearChatBox().matches(e))
|
||||||
{
|
{
|
||||||
clientThread.invoke(() ->
|
int inputTye = client.getVar(VarClientInt.INPUT_TYPE);
|
||||||
{
|
clientThread.invoke(() -> applyText(inputTye, ""));
|
||||||
client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, "");
|
}
|
||||||
client.runScript(ScriptID.CHAT_PROMPT_INIT);
|
}
|
||||||
});
|
|
||||||
|
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, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user