aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/co/fantabos/bscv/module/QuickModule.java27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/main/java/co/fantabos/bscv/module/QuickModule.java b/src/main/java/co/fantabos/bscv/module/QuickModule.java
index b6a0be0..470aa5e 100644
--- a/src/main/java/co/fantabos/bscv/module/QuickModule.java
+++ b/src/main/java/co/fantabos/bscv/module/QuickModule.java
@@ -17,25 +17,32 @@ public class QuickModule extends Module {
private class ToggleHook {
private final KeyBinding key;
private final Module mod;
+ private boolean debounce;
+ // TODO all examples show isPressed() to get a debounced value
+ // but it seems to be missing? making my own debounce for now
protected ToggleHook(KeyBinding key, Module mod) {
this.key = key;
this.mod = mod;
+ this.debounce = false;
}
- @SubscribeEvent
- public void onKeyPress(InputEvent.KeyInputEvent event) {
- if (this.key.isDown()) {
- this.mod.toggle(); // TODO debounce this
+ private void onInput() {
+ if (this.debounce) {
+ if (!this.key.isDown()) {
+ this.debounce = false;
+ }
+ } else {
+ if (this.key.isDown()) {
+ this.mod.toggle();
+ this.debounce = true;
+ }
}
}
@SubscribeEvent
- public void onKeyPress(InputEvent.MouseInputEvent event) {
- if (this.key.isDown()) {
- this.mod.toggle(); // TODO debounce this
-
- }
- }
+ public void onKeyPress(InputEvent.KeyInputEvent event) { this.onInput(); }
+ @SubscribeEvent
+ public void onKeyPress(InputEvent.MouseInputEvent event) { this.onInput(); }
}
public final KeyBinding keybind;