diff options
Diffstat (limited to 'src/main/java/dev/isxander')
5 files changed, 24 insertions, 9 deletions
diff --git a/src/main/java/dev/isxander/yacl/gui/controllers/ActionController.java b/src/main/java/dev/isxander/yacl/gui/controllers/ActionController.java index d198c96..e0d0230 100644 --- a/src/main/java/dev/isxander/yacl/gui/controllers/ActionController.java +++ b/src/main/java/dev/isxander/yacl/gui/controllers/ActionController.java @@ -88,13 +88,16 @@ public class ActionController implements Controller<Consumer<YACLScreen>> { @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { - if (keyCode != GLFW.GLFW_KEY_ENTER && keyCode != GLFW.GLFW_KEY_SPACE && keyCode != GLFW.GLFW_KEY_KP_ENTER) { + if (!focused && !hovered) { return false; } - executeAction(); + if (keyCode == GLFW.GLFW_KEY_ENTER || keyCode == GLFW.GLFW_KEY_SPACE || keyCode == GLFW.GLFW_KEY_KP_ENTER) { + executeAction(); + return true; + } - return true; + return false; } @Override diff --git a/src/main/java/dev/isxander/yacl/gui/controllers/BooleanController.java b/src/main/java/dev/isxander/yacl/gui/controllers/BooleanController.java index ac8754f..04b2ba2 100644 --- a/src/main/java/dev/isxander/yacl/gui/controllers/BooleanController.java +++ b/src/main/java/dev/isxander/yacl/gui/controllers/BooleanController.java @@ -143,13 +143,16 @@ public class BooleanController implements Controller<Boolean> { @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { - if (keyCode != GLFW.GLFW_KEY_ENTER && keyCode != GLFW.GLFW_KEY_SPACE && keyCode != GLFW.GLFW_KEY_KP_ENTER) { + if (!focused && !hovered) { return false; } - toggleSetting(); + if (keyCode == GLFW.GLFW_KEY_ENTER || keyCode == GLFW.GLFW_KEY_SPACE || keyCode == GLFW.GLFW_KEY_KP_ENTER) { + toggleSetting(); + return true; + } - return true; + return false; } } } diff --git a/src/main/java/dev/isxander/yacl/gui/controllers/EnumController.java b/src/main/java/dev/isxander/yacl/gui/controllers/EnumController.java index af52255..5bb3caf 100644 --- a/src/main/java/dev/isxander/yacl/gui/controllers/EnumController.java +++ b/src/main/java/dev/isxander/yacl/gui/controllers/EnumController.java @@ -109,6 +109,9 @@ public class EnumController<T extends Enum<T>> implements Controller<T> { @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { + if (!focused && !hovered) + return false; + switch (keyCode) { case GLFW.GLFW_KEY_LEFT, GLFW.GLFW_KEY_DOWN -> cycleValue(-1); diff --git a/src/main/java/dev/isxander/yacl/gui/controllers/TickBoxController.java b/src/main/java/dev/isxander/yacl/gui/controllers/TickBoxController.java index a1c0095..106f76a 100644 --- a/src/main/java/dev/isxander/yacl/gui/controllers/TickBoxController.java +++ b/src/main/java/dev/isxander/yacl/gui/controllers/TickBoxController.java @@ -97,13 +97,16 @@ public class TickBoxController implements Controller<Boolean> { @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { - if (keyCode != GLFW.GLFW_KEY_ENTER && keyCode != GLFW.GLFW_KEY_SPACE && keyCode != GLFW.GLFW_KEY_KP_ENTER) { + if (!focused && !hovered) { return false; } - toggleSetting(); + if (keyCode == GLFW.GLFW_KEY_ENTER || keyCode == GLFW.GLFW_KEY_SPACE || keyCode == GLFW.GLFW_KEY_KP_ENTER) { + toggleSetting(); + return true; + } - return true; + return false; } } } diff --git a/src/main/java/dev/isxander/yacl/gui/controllers/slider/SliderControllerElement.java b/src/main/java/dev/isxander/yacl/gui/controllers/slider/SliderControllerElement.java index a6f046a..b587258 100644 --- a/src/main/java/dev/isxander/yacl/gui/controllers/slider/SliderControllerElement.java +++ b/src/main/java/dev/isxander/yacl/gui/controllers/slider/SliderControllerElement.java @@ -101,6 +101,9 @@ public class SliderControllerElement extends ControllerWidget<ISliderController< @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { + if (!focused && !hovered) + return false; + switch (keyCode) { case GLFW.GLFW_KEY_LEFT, GLFW.GLFW_KEY_DOWN -> incrementValue(-1); case GLFW.GLFW_KEY_RIGHT, GLFW.GLFW_KEY_UP -> incrementValue(1); |