aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorxander <xander@isxander.dev>2022-09-03 10:59:58 +0100
committerxander <xander@isxander.dev>2022-09-03 10:59:58 +0100
commit8a29f957e99c957efd11d6c279e5f97639f05d9e (patch)
treef94a9d48d8d409b526d494ad6cd593f73ba81dea /src/main/java
parent0ec15d2b53ccec94b17d9571bc7d4c437df84eae (diff)
downloadYetAnotherConfigLib-8a29f957e99c957efd11d6c279e5f97639f05d9e.tar.gz
YetAnotherConfigLib-8a29f957e99c957efd11d6c279e5f97639f05d9e.tar.bz2
YetAnotherConfigLib-8a29f957e99c957efd11d6c279e5f97639f05d9e.zip
prevent keyboard controls if not hovered or focused
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/dev/isxander/yacl/gui/controllers/ActionController.java9
-rw-r--r--src/main/java/dev/isxander/yacl/gui/controllers/BooleanController.java9
-rw-r--r--src/main/java/dev/isxander/yacl/gui/controllers/EnumController.java3
-rw-r--r--src/main/java/dev/isxander/yacl/gui/controllers/TickBoxController.java9
-rw-r--r--src/main/java/dev/isxander/yacl/gui/controllers/slider/SliderControllerElement.java3
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);