From 9e6fbfd2d70d3b1f99be003f2f0f1b7a9708e448 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Tue, 17 Nov 2020 18:58:42 +0700 Subject: [PATCH] [Custom controls] Special buttons fix; Fix key index --- app/src/main/java/com/kdt/handleview/ActionPopupWindow.java | 4 ++-- .../net/kdt/pojavlaunch/customcontrols/ControlData.java | 6 +++++- .../kdt/pojavlaunch/customcontrols/DynamicControlData.java | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/kdt/handleview/ActionPopupWindow.java b/app/src/main/java/com/kdt/handleview/ActionPopupWindow.java index 3c3134752..7cc11dc86 100644 --- a/app/src/main/java/com/kdt/handleview/ActionPopupWindow.java +++ b/app/src/main/java/com/kdt/handleview/ActionPopupWindow.java @@ -147,7 +147,7 @@ public class ActionPopupWindow extends PinnedPopupWindow implements OnClickListe if (properties.keycode < 0) { spinnerKeycode.setSelection(properties.keycode + 5); } else { - spinnerKeycode.setSelection(AndroidLWJGLKeycode.getIndexByLWJGLKey(properties.keycode + 2)); + spinnerKeycode.setSelection(AndroidLWJGLKeycode.getIndexByLWJGLKey(properties.keycode + 5)); } spinnerKeycode.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){ @@ -173,7 +173,7 @@ public class ActionPopupWindow extends PinnedPopupWindow implements OnClickListe if (editName.getText().toString().isEmpty()) { editName.setError(view.getResources().getString(R.string.global_error_field_empty)); } else { - properties.keycode = AndroidLWJGLKeycode.getKeyIndex(spinnerKeycode.getSelectedItemPosition()) - 2; + properties.keycode = AndroidLWJGLKeycode.getKeyIndex(spinnerKeycode.getSelectedItemPosition()) - 5; properties.name = editName.getText().toString(); properties.hidden = checkHidden.isChecked(); diff --git a/app/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java b/app/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java index 455e63e49..b493c395c 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java +++ b/app/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java @@ -93,6 +93,10 @@ public class ControlData implements Cloneable } public ControlData clone() { - return new ControlData(name, keycode, x, y, width, height); + if (this instanceof DynamicControlData) { + return new DynamicControlData(name, keycode, ((DynamicControlData) this).dynamicX, ((DynamicControlData) this).dynamicY, width, height); + } else { + return new ControlData(name, keycode, x, y, width, height); + } } } diff --git a/app/src/main/java/net/kdt/pojavlaunch/customcontrols/DynamicControlData.java b/app/src/main/java/net/kdt/pojavlaunch/customcontrols/DynamicControlData.java index f552b0432..e55a8e015 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/customcontrols/DynamicControlData.java +++ b/app/src/main/java/net/kdt/pojavlaunch/customcontrols/DynamicControlData.java @@ -16,7 +16,7 @@ public class DynamicControlData extends ControlData { * bigger device or vice versa. */ - private String dynamicX, dynamicY; + public String dynamicX, dynamicY; public DynamicControlData() { this("", LWJGLGLFWKeycode.GLFW_KEY_UNKNOWN);