From 72b969357c7225946b192b903ce1571a6a53c24c Mon Sep 17 00:00:00 2001 From: kirillsaint Date: Fri, 10 May 2024 00:25:15 +0600 Subject: [PATCH] (fix) raw mouse input bug --- .../silentclient/client/utils/RawInputHandler.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/silentclient/client/utils/RawInputHandler.java b/src/main/java/net/silentclient/client/utils/RawInputHandler.java index e58b450..7be91a1 100644 --- a/src/main/java/net/silentclient/client/utils/RawInputHandler.java +++ b/src/main/java/net/silentclient/client/utils/RawInputHandler.java @@ -13,6 +13,7 @@ public class RawInputHandler { public static Mouse mouse; public static int dx = 0; public static int dy = 0; + public static Thread inputThread; public static void init() { controllers = ControllerEnvironment.getDefaultEnvironment().getControllers(); @@ -44,9 +45,11 @@ public class RawInputHandler { Minecraft.getMinecraft().mouseHelper = new MouseHelper(); Minecraft.getMinecraft().mouseHelper.grabMouseCursor(); Minecraft.getMinecraft().mouseHelper.ungrabMouseCursor(); + inputThread.interrupt(); } else { Client.logger.info("[SC]: Enabling Raw Mouse Input"); Minecraft.getMinecraft().mouseHelper = new RawMouseHelper(); + startThread(); Minecraft.getMinecraft().mouseHelper.grabMouseCursor(); Minecraft.getMinecraft().mouseHelper.ungrabMouseCursor(); } @@ -59,8 +62,12 @@ public class RawInputHandler { } public static void startThread() { - Thread inputThread = new Thread(() -> { + inputThread = new Thread(() -> { while(true){ + if (Thread.currentThread().isInterrupted()) { + break; + } + rescan(); if (mouse != null && Minecraft.getMinecraft().currentScreen == null) { mouse.poll(); dx += (int)mouse.getX().getPollData(); @@ -74,7 +81,7 @@ public class RawInputHandler { try { Thread.sleep(1); } catch(InterruptedException e) { - e.printStackTrace(); + Client.logger.catching(e); } } });