From 22235925be7c061d6d3633d67c956f6e003d2147 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 27 Mar 2020 18:02:12 -0400 Subject: [PATCH] client: add config option for blocking extra mouse buttons --- .../net/runelite/client/config/RuneLiteConfig.java | 11 +++++++++++ .../java/net/runelite/client/input/MouseManager.java | 9 +++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java index 1d4e0c1b71..11a8b3deb7 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java @@ -288,4 +288,15 @@ public interface RuneLiteConfig extends Config { return 35; } + + @ConfigItem( + keyName = "blockExtraMouseButtons", + name = "Block Extra Mouse Buttons", + description = "Blocks extra mouse buttons (4 and above)", + position = 43 + ) + default boolean blockExtraMouseButtons() + { + return true; + } } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java b/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java index d444f93fe6..b88d43d3d6 100644 --- a/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java +++ b/runelite-client/src/main/java/net/runelite/client/input/MouseManager.java @@ -28,7 +28,9 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseWheelEvent; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; +import javax.inject.Inject; import javax.inject.Singleton; +import net.runelite.client.config.RuneLiteConfig; @Singleton public class MouseManager @@ -39,6 +41,9 @@ public class MouseManager private final List mouseListeners = new CopyOnWriteArrayList<>(); private final List mouseWheelListeners = new CopyOnWriteArrayList<>(); + @Inject + private RuneLiteConfig runeLiteConfig; + public void registerMouseListener(MouseListener mouseListener) { if (!mouseListeners.contains(mouseListener)) @@ -107,10 +112,10 @@ public class MouseManager private void checkExtraMouseButtons(MouseEvent mouseEvent) { - // Prevent extra mouse buttins from being passed into the client, + // Prevent extra mouse buttons from being passed into the client, // as it treats them all as left click int button = mouseEvent.getButton(); - if (button >= MOUSE_BUTTON_4) + if (button >= MOUSE_BUTTON_4 && runeLiteConfig.blockExtraMouseButtons()) { mouseEvent.consume(); }