diff --git a/runelite-api/src/main/java/net/runelite/api/ScriptID.java b/runelite-api/src/main/java/net/runelite/api/ScriptID.java
index 6ac6aa42bb..68abc5e0f7 100644
--- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java
+++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java
@@ -116,15 +116,6 @@ public final class ScriptID
*/
public static final int DIARY_QUEST_UPDATE_LINECOUNT = 2523;
- /**
- * Initializes the chatbox input to use RuneLite callbacks
- *
- * - String Prompt text
- * - String Default value
- *
- */
- public static final int RUNELITE_CHATBOX_INPUT_INIT = 10001;
-
/**
* Does nothing
*
diff --git a/runelite-client/src/main/java/net/runelite/client/game/ChatboxInputManager.java b/runelite-client/src/main/java/net/runelite/client/game/ChatboxInputManager.java
deleted file mode 100644
index ec8905e380..0000000000
--- a/runelite-client/src/main/java/net/runelite/client/game/ChatboxInputManager.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 2018 Abex
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-package net.runelite.client.game;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import java.util.function.Consumer;
-import lombok.Getter;
-import net.runelite.api.Client;
-import net.runelite.api.ScriptID;
-import net.runelite.api.events.ScriptCallbackEvent;
-import net.runelite.client.callback.ClientThread;
-import net.runelite.client.eventbus.EventBus;
-import net.runelite.client.eventbus.Subscribe;
-
-@Singleton
-public class ChatboxInputManager
-{
- public static final int NO_LIMIT = Integer.MAX_VALUE;
- private final Client client;
- private final ClientThread clientThread;
-
- private Consumer done;
- private Consumer changed;
- private int characterLimit = NO_LIMIT;
-
- @Getter
- private boolean open = false;
-
- @Inject
- public ChatboxInputManager(Client client, ClientThread clientThread, EventBus eventBus)
- {
- this.client = client;
- this.clientThread = clientThread;
- eventBus.register(this);
- }
-
- /**
- * Opens a RuneScape-style chatbox input
- *
- * @param text Text to show at the top of the window
- * @param defaul Default text in the editable field
- * @param done Callback when the text box has been exited, called with "" on esc
- */
- public void openInputWindow(String text, String defaul, Consumer done)
- {
- openInputWindow(text, defaul, NO_LIMIT, done);
- }
-
- public void openInputWindow(String text, String defaul, int characterLimit, Consumer done)
- {
- openInputWindow(text, defaul, characterLimit, null, done);
- }
-
- public void openInputWindow(String text, String defaul, int characterLimit, Consumer changed, Consumer done)
- {
- this.done = done;
- this.changed = changed;
- this.characterLimit = characterLimit;
- this.open = true;
- clientThread.invoke(() -> client.runScript(
- ScriptID.RUNELITE_CHATBOX_INPUT_INIT,
- text,
- defaul
- ));
- }
-
- /**
- * Closes the RuneScape-style chatbox input
- */
- public void closeInputWindow()
- {
- if (!this.open)
- {
- return;
- }
- this.open = false;
- clientThread.invoke(() -> client.runScript(
- ScriptID.RESET_CHATBOX_INPUT,
- 1,
- 1
- ));
- }
-
- @Subscribe
- public void onScriptCallbackEvent(ScriptCallbackEvent ev)
- {
- // This replaces script 74 and most of 112
- if ("chatboxInputHandler".equals(ev.getEventName()))
- {
- int intStackSize = client.getIntStackSize();
- int stringStackSize = client.getStringStackSize();
- int typedKey = client.getIntStack()[--intStackSize];
- String str = client.getStringStack()[--stringStackSize];
- boolean isDone = false;
-
- switch (typedKey)
- {
- case 27: // Escape
- str = "";
- // fallthrough
- case '\n':
- this.open = false;
- isDone = true;
- break;
- case '\b':
- if (!str.isEmpty())
- {
- str = str.substring(0, str.length() - 1);
- }
- break;
- default:
- // If we wanted to do numbers only, we could add a limit here
- if (typedKey >= 32 && (str.length() < characterLimit))
- {
- str += Character.toString((char) typedKey);
- }
- }
-
- if (changed != null)
- {
- changed.accept(str);
- }
-
- if (isDone && done != null)
- {
- done.accept(str);
- }
-
- client.getStringStack()[stringStackSize++] = str;
- client.getIntStack()[intStackSize++] = isDone ? 1 : 0;
- client.setIntStackSize(intStackSize);
- client.setStringStackSize(stringStackSize);
- }
- }
-}
diff --git a/runelite-client/src/main/scripts/ChatboxInputHandler.rs2asm b/runelite-client/src/main/scripts/ChatboxInputHandler.rs2asm
deleted file mode 100644
index 106f53218e..0000000000
--- a/runelite-client/src/main/scripts/ChatboxInputHandler.rs2asm
+++ /dev/null
@@ -1,79 +0,0 @@
-; Copyright (c) 2018 Abex
-; All rights reserved.
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions are met:
-;
-; 1. Redistributions of source code must retain the above copyright notice, this
-; list of conditions and the following disclaimer.
-; 2. Redistributions in binary form must reproduce the above copyright notice,
-; this list of conditions and the following disclaimer in the documentation
-; and/or other materials provided with the distribution.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-; ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-;;
-; Keylistener for ChatboxInputInit
-;
-; Script 112 Normal keylistener
-;
-; @param int pressedKey
-; @param int typedKey
-;;
-
-.id 10002
-.int_stack_count 1
-.string_stack_count 1
-.int_var_count 2
-.string_var_count 1
-
-; If we are not the active listener, the widget ids have probably changed
- get_varc 5
- load_int -2
- if_icmpeq LABEL2
-
-; Log the error
- load_string "Got input while not active; Widget ids in ChatboxInputInit are probably wrong."
- load_string "debug"
- runelite_callback
- return
-
-LABEL2:
-; Discard zero presses
- iload 0
- load_int 0
- if_icmpeq LABEL1
-
-; Call runelite
- iload 0
- get_varc_string 22
- load_string "chatboxInputHandler"
- runelite_callback
- istore 0
- put_varc_string 22
-
-; Check return value
- iload 0
- load_int 1
- if_icmpne LABEL0
-
-; Close the dialog
- load_int 1
- load_int 1
- invoke 299
-
-; Update UI
-LABEL0:
- load_string ""
- invoke 222
-LABEL1:
- return
diff --git a/runelite-client/src/main/scripts/ChatboxInputInit.rs2asm b/runelite-client/src/main/scripts/ChatboxInputInit.rs2asm
deleted file mode 100644
index a29faa76c6..0000000000
--- a/runelite-client/src/main/scripts/ChatboxInputInit.rs2asm
+++ /dev/null
@@ -1,88 +0,0 @@
-; Copyright (c) 2018 Abex
-; All rights reserved.
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions are met:
-;
-; 1. Redistributions of source code must retain the above copyright notice, this
-; list of conditions and the following disclaimer.
-; 2. Redistributions in binary form must reproduce the above copyright notice,
-; this list of conditions and the following disclaimer in the documentation
-; and/or other materials provided with the distribution.
-;
-; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-; ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-;;
-; Creates a chatbox text input
-;
-; @param String Prompt text
-; @param String Default value
-;
-; Script 752 GE input panel
-; Script 103-111 various input panels
-; Script 74 validates input
-; script 112 key callback
-;;
-
-.id 10001
-.int_stack_count 0
-.string_stack_count 2
-.int_var_count 0
-.string_var_count 2
-
-; Hide the chat pane
- invoke 677
-
-; Set current value
- sload 1
- put_varc_string 22
-
-; Mark varcstring22 for our use
- load_int -2
- put_varc 5
-
-; Set text
- sload 0
- load_int 10616876
- widget_put_text_widget
-
-; Init the widgets
- load_string ""
- invoke 222
-
-; Register the key listener
- load_int 10002
- load_int -2147483639 ; typedKey
- load_string "i"
- load_int 10616877
- widget_put_key_listener_widget
-
-; Restore the chatbox on exit
- load_int 299
- load_int 1
- load_int 1
- load_string "ii"
- load_int 10616877
- widget_put_dialog_abort_listener_widget
-
-; 70% sure this opens the keyboard on mobile
- invoke 1972
- load_int 1
- if_icmpeq LABEL25
- jump LABEL26
-LABEL25:
- load_int 1
- load_int 10
- invoke 1983
-LABEL26:
-
- return