From d581f3e55e6cffe3fc95a2bfbca515c2a6e9ce17 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Tue, 31 Jul 2018 02:13:35 -0600 Subject: [PATCH] runelite-client: Make hotkeys run on KeyPressed Finding when keyUp actually happens is difficult because you have to store state to tell if a key is up on modifier or it's optional non-modifier. The current implementation is good enough for masking events, but not accurate enough for generating them Fixes #4513 --- .../client/plugins/screenshot/ScreenshotPlugin.java | 2 +- .../main/java/net/runelite/client/util/HotkeyListener.java | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index e6a02d14f5..01e4ab47c4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -175,7 +175,7 @@ public class ScreenshotPlugin extends Plugin private final HotkeyListener hotkeyListener = new HotkeyListener(() -> config.hotkey()) { @Override - public void hotkeyReleased() + public void hotkeyPressed() { takeScreenshot(format(new Date())); } diff --git a/runelite-client/src/main/java/net/runelite/client/util/HotkeyListener.java b/runelite-client/src/main/java/net/runelite/client/util/HotkeyListener.java index 08e26cb871..075e772ada 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/HotkeyListener.java +++ b/runelite-client/src/main/java/net/runelite/client/util/HotkeyListener.java @@ -26,7 +26,6 @@ package net.runelite.client.util; import java.awt.event.KeyEvent; import java.util.function.Supplier; -import lombok.Getter; import lombok.RequiredArgsConstructor; import net.runelite.client.config.Keybind; import net.runelite.client.input.KeyListener; @@ -36,7 +35,6 @@ public abstract class HotkeyListener implements KeyListener { private final Supplier keybind; - @Getter private boolean isPressed = false; private boolean isConsumingTyped = false; @@ -77,7 +75,6 @@ public abstract class HotkeyListener implements KeyListener { isPressed = false; isConsumingTyped = false; - hotkeyReleased(); if (Keybind.getModifierForKeyCode(e.getKeyCode()) == null) { // Only consume non modifier keys @@ -89,8 +86,4 @@ public abstract class HotkeyListener implements KeyListener public void hotkeyPressed() { } - - public void hotkeyReleased() - { - } }