Skip to content

Integrate RemoteInput#60

Merged
StaticSweep merged 4 commits into
mainfrom
dev
Apr 9, 2026
Merged

Integrate RemoteInput#60
StaticSweep merged 4 commits into
mainfrom
dev

Conversation

@StaticSweep

Copy link
Copy Markdown
Owner

Changelog:

  • Kinput has been discontinued in this project, we have moved to RemoteInput (RI)
    • Within the third-party directory in DEV_README.md you'll find contextual actions and instructions to build RI from scratch.
    • If you don't want to build RI yourself, as with Kinput, a pre-compiled binary is provided, to help make the project work out of the box.
  • You can now fully minimise RuneLite before starting a script, you can also cover it completely as before.
    • I haven't personally tested this, however you may see success using Remote Desktop software / RDP.
  • VirtualMouseUtils/controller().mouse() additions:
    • holdMouseButton(MouseButton button)
    • isMouseButtonHeld(MouseButton button)
    • releaseMouseButton(MouseButton button)

Breaking Changes:

  • VirtualKeyboardUtils / controller().keyboard() has been updated to make the API much more consistent and easy to use.
    • The following methods have been removed:
      • sendKeyChar()
      • sendModifierKey()
      • sendFunctionKey()
      • sendArrowKey()
    • The replacements are:
      • sendKeyDown(int javaKeyCode)
      • sendKeyRelease(int javaKeyCode)
      • isKeyHeld(int javaKeyCode)
      • sendString(String string)
        • Types out a sentence to the client as a human would, with default waits for key down time, modifier key down time and time between keypresses.
        • Special characters like "!" will be compensated for with modifier keys.
      • sendString(String string, int keyWait, int keyModWait, int keyPressWait)
        • Overload for the user to customise typing speed.
    • Please use KeyEvent. Typing KeyEvent.VK_ should show contextual actions in your IDE of choice, showing you available keys which are mapped to integer keycodes. You may opt to look for Java VK keycodes online, however this is the best approach.
    • Example usage: controller().keyboard().sendKeyRelease(KeyEvent.VK_SHIFT);
  • VirtualMouseUtils/controller().mouse().microJitter() has been removed.
    • This addition doesn't meet ChromaScape's standards, alternative anti-ban techniques should be applied in its stead.
      • Proposition 1: Simulate the mouse moving to a rest position/away from a target between movements, to idle.
      • Proposition 2: Movements of larger than 4 pixels should be applied (10-20), simulating a human moving their hand, taking their focus away from a target.
  • All co-ordinate values in this project are client local, previously when screenshotting custom zones you'd have to call ScreenManager.getWindowBounds() to retrieve the origin and apply your custom zone to that origin. You can now assume the top left/window origin is always 0, 0.

Debajit Gayen and others added 4 commits April 9, 2026 17:16
Updated the README to reflect changes in RemoteInput and added information about pre-built binaries.
@StaticSweep StaticSweep merged commit 69ff913 into main Apr 9, 2026
1 check passed
@StaticSweep StaticSweep deleted the dev branch April 16, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant