diff --git a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java index 2f2a32a28d..298e463e98 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java @@ -240,14 +240,6 @@ public class Hooks keyManager.processKeyTyped(keyEvent); } - public static void focusGained(KeyFocusListener l, FocusEvent focusEvent) - { - FocusChanged focusChanged = new FocusChanged(); - focusChanged.setFocused(true); - - eventBus.post(focusChanged); - } - public static void focusLost(KeyFocusListener l, FocusEvent focusEvent) { FocusChanged focusChanged = new FocusChanged(); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSGameEngineMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSGameEngineMixin.java index 5d9d2259cb..dd0ce6d4ab 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSGameEngineMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSGameEngineMixin.java @@ -24,10 +24,14 @@ */ package net.runelite.mixins; +import java.awt.event.FocusEvent; +import net.runelite.api.events.FocusChanged; import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Inject; +import net.runelite.api.mixins.MethodHook; import net.runelite.api.mixins.Mixin; import net.runelite.api.mixins.Replace; +import static net.runelite.client.callback.Hooks.eventBus; import net.runelite.rs.api.RSGameEngine; @Mixin(RSGameEngine.class) @@ -59,4 +63,13 @@ public abstract class RSGameEngineMixin implements RSGameEngine thread = Thread.currentThread(); rs$run(); } + + @Inject + @MethodHook("focusGained") + public void onFocusGained(FocusEvent focusEvent) + { + final FocusChanged focusChanged = new FocusChanged(); + focusChanged.setFocused(true); + eventBus.post(focusChanged); + } }