fix: "debounce" keypresses
This commit is contained in:
parent
f03ba40760
commit
49b057658e
1 changed files with 17 additions and 10 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue