diff --git a/app/src/main/assets/about_en.txt b/app/src/main/assets/about_en.txt
index 8478b0963..2192437cc 100644
--- a/app/src/main/assets/about_en.txt
+++ b/app/src/main/assets/about_en.txt
@@ -4,6 +4,7 @@
• ClassWrapperMC: A simple wrapper to help launching Minecraft LaunchWrapper on JRE9 and later.
• gl4es: OpenGL for OpenGL ES devices by lunixbochs and ptitSeb.
• Apache Commons Compress.
+ • exp4j.
• LWJGL2 and LWJGL3.
* License:
diff --git a/app/src/main/java/com/kdt/handleview/ActionPopupWindow.java b/app/src/main/java/com/kdt/handleview/ActionPopupWindow.java
index 7cc11dc86..be6f7ee32 100644
--- a/app/src/main/java/com/kdt/handleview/ActionPopupWindow.java
+++ b/app/src/main/java/com/kdt/handleview/ActionPopupWindow.java
@@ -135,7 +135,7 @@ public class ActionPopupWindow extends PinnedPopupWindow implements OnClickListe
ArrayAdapter adapter = new ArrayAdapter(view.getContext(), android.R.layout.simple_spinner_item);
String[] oldSpecialArr = ControlData.buildSpecialButtonArray();
- String[] specialArr = new String[oldSpecialArr.length];
+ final String[] specialArr = new String[oldSpecialArr.length];
for (int i = 0; i < specialArr.length; i++) {
specialArr[i] = "SPECIAL_" + oldSpecialArr[i];
}
@@ -145,15 +145,15 @@ public class ActionPopupWindow extends PinnedPopupWindow implements OnClickListe
adapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice);
spinnerKeycode.setAdapter(adapter);
if (properties.keycode < 0) {
- spinnerKeycode.setSelection(properties.keycode + 5);
+ spinnerKeycode.setSelection(properties.keycode + specialArr.length);
} else {
- spinnerKeycode.setSelection(AndroidLWJGLKeycode.getIndexByLWJGLKey(properties.keycode + 5));
+ spinnerKeycode.setSelection(AndroidLWJGLKeycode.getIndexByLWJGLKey(properties.keycode));
}
spinnerKeycode.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView> adapter, View view, int position, long id) {
- normalBtnLayout.setVisibility(id < 2 ? View.GONE : View.VISIBLE);
+ normalBtnLayout.setVisibility(id < specialArr.length ? View.GONE : View.VISIBLE);
}
@Override
@@ -173,7 +173,11 @@ 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()) - 5;
+ if (spinnerKeycode.getSelectedItemPosition() < specialArr.length) {
+ properties.keycode = spinnerKeycode.getSelectedItemPosition() - specialArr.length;
+ } else {
+ properties.keycode = AndroidLWJGLKeycode.getKeyByIndex(spinnerKeycode.getSelectedItemPosition() - specialArr.length);
+ }
properties.name = editName.getText().toString();
properties.hidden = checkHidden.isChecked();
diff --git a/app/src/main/java/net/kdt/pojavlaunch/AndroidLWJGLKeycode.java b/app/src/main/java/net/kdt/pojavlaunch/AndroidLWJGLKeycode.java
index 5c0f9de4b..6e306ff25 100644
--- a/app/src/main/java/net/kdt/pojavlaunch/AndroidLWJGLKeycode.java
+++ b/app/src/main/java/net/kdt/pojavlaunch/AndroidLWJGLKeycode.java
@@ -208,10 +208,10 @@ public class AndroidLWJGLKeycode {
}
public static void execKeyIndex(BaseMainActivity mainActivity, int index) {
- mainActivity.sendKeyPress(getKeyIndex(index));
+ mainActivity.sendKeyPress(getKeyByIndex(index));
}
- public static int getKeyIndex(int index) {
+ public static int getKeyByIndex(int index) {
return androidToLwjglMap.valueAt(index);
}