diff --git a/app_pojavlauncher/build.gradle b/app_pojavlauncher/build.gradle index a20bc070c..373a25fd3 100644 --- a/app_pojavlauncher/build.gradle +++ b/app_pojavlauncher/build.gradle @@ -27,7 +27,7 @@ android { applicationId "net.kdt.pojavlaunch" minSdkVersion 21 targetSdkVersion 29 - versionCode 156237 + versionCode 156238 versionName "3.3.1b_6409b_" + getDate() multiDexEnabled true //important } diff --git a/app_pojavlauncher/release/app_pojavlauncher-release.aab b/app_pojavlauncher/release/app_pojavlauncher-release.aab index 53b86a422..54483b5d5 100644 Binary files a/app_pojavlauncher/release/app_pojavlauncher-release.aab and b/app_pojavlauncher/release/app_pojavlauncher-release.aab differ diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlButton.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlButton.java index 63e6cace9..869d46d41 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlButton.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlButton.java @@ -164,14 +164,19 @@ public class ControlButton extends Button implements OnLongClickListener, OnTouc private void setHolding(boolean isDown) { if (mProperties.holdAlt || mProperties.keycode == LWJGLGLFWKeycode.GLFW_KEY_LEFT_ALT || mProperties.keycode == LWJGLGLFWKeycode.GLFW_KEY_RIGHT_ALT) { CallbackBridge.holdingAlt = isDown; + System.out.println("holdingAlt="+CallbackBridge.holdingAlt); } if (mProperties.keycode == LWJGLGLFWKeycode.GLFW_KEY_CAPS_LOCK) { CallbackBridge.holdingCapslock = isDown; + System.out.println("holdingCapslock="+CallbackBridge.holdingCapslock); } if (mProperties.holdCtrl || mProperties.keycode == LWJGLGLFWKeycode.GLFW_KEY_LEFT_CONTROL || mProperties.keycode == LWJGLGLFWKeycode.GLFW_KEY_RIGHT_CONTROL) { CallbackBridge.holdingCtrl = isDown; + System.out.println("holdingCtrl="+CallbackBridge.holdingCtrl); } if (mProperties.keycode == LWJGLGLFWKeycode.GLFW_KEY_NUM_LOCK) { CallbackBridge.holdingNumlock = isDown; + System.out.println("holdingNumlock="+CallbackBridge.holdingNumlock); } if (mProperties.holdShift || mProperties.keycode == LWJGLGLFWKeycode.GLFW_KEY_LEFT_SHIFT || mProperties.keycode == LWJGLGLFWKeycode.GLFW_KEY_RIGHT_SHIFT) { CallbackBridge.holdingShift = isDown; + System.out.println("holdingShift="+CallbackBridge.holdingShift); } } @@ -187,18 +192,19 @@ public class ControlButton extends Button implements OnLongClickListener, OnTouc switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: // 0 case MotionEvent.ACTION_POINTER_DOWN: // 5 - isDown = true; + setHolding(true); + MainActivity.sendKeyPress(mProperties.keycode, CallbackBridge.getCurrentMods(), true); break; case MotionEvent.ACTION_UP: // 1 case MotionEvent.ACTION_CANCEL: // 3 case MotionEvent.ACTION_POINTER_UP: // 6 - isDown = false; + setHolding(false); + MainActivity.sendKeyPress(mProperties.keycode, CallbackBridge.getCurrentMods(), false); break; default: return false; } - setHolding(isDown); - MainActivity.sendKeyPress(mProperties.keycode, CallbackBridge.getCurrentMods(), isDown); + } else if (mGestureDetector.onTouchEvent(event)) { mChecked = !mChecked; invalidate(); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java index 25d32c3f0..36ecac251 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java @@ -71,6 +71,8 @@ public class ControlLayout extends FrameLayout view.setModifiable(mModifiable); if (!mModifiable) { view.setAlpha(1f - view.getProperties().transparency / 100); + view.setFocusable(false); + view.setFocusableInTouchMode(false); } addView(view); diff --git a/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java b/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java index 88e74dfa2..6c7418d13 100644 --- a/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java +++ b/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java @@ -135,20 +135,20 @@ public class CallbackBridge { private static native void nativeSendData(boolean isAndroid, int type, String data); */ - public static boolean holdingAlt, holdingCapslock, holdingCtrl, + public volatile static boolean holdingAlt, holdingCapslock, holdingCtrl, holdingNumlock, holdingShift; public static int getCurrentMods() { int currMods = 0; if (holdingAlt) { - currMods &= LWJGLGLFWKeycode.GLFW_MOD_ALT; + currMods |= LWJGLGLFWKeycode.GLFW_MOD_ALT; } if (holdingCapslock) { - currMods &= LWJGLGLFWKeycode.GLFW_MOD_CAPS_LOCK; + currMods |= LWJGLGLFWKeycode.GLFW_MOD_CAPS_LOCK; } if (holdingCtrl) { - currMods &= LWJGLGLFWKeycode.GLFW_MOD_CONTROL; + currMods |= LWJGLGLFWKeycode.GLFW_MOD_CONTROL; } if (holdingNumlock) { - currMods &= LWJGLGLFWKeycode.GLFW_MOD_NUM_LOCK; + currMods |= LWJGLGLFWKeycode.GLFW_MOD_NUM_LOCK; } if (holdingShift) { - currMods &= LWJGLGLFWKeycode.GLFW_MOD_SHIFT; + currMods |= LWJGLGLFWKeycode.GLFW_MOD_SHIFT; } return currMods; }