From e6889b0b3b0f9ccd55ab1a3280cbc8345b7f00b8 Mon Sep 17 00:00:00 2001 From: artdeell Date: Wed, 17 Feb 2021 21:49:06 +0300 Subject: [PATCH 1/7] Remove a nonexistant activity, set the right mouse override to off by default --- app_pojavlauncher/src/main/AndroidManifest.xml | 5 ----- app_pojavlauncher/src/main/res/xml/pref_main.xml | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/app_pojavlauncher/src/main/AndroidManifest.xml b/app_pojavlauncher/src/main/AndroidManifest.xml index 8bd3f91cd..2830875e8 100644 --- a/app_pojavlauncher/src/main/AndroidManifest.xml +++ b/app_pojavlauncher/src/main/AndroidManifest.xml @@ -68,11 +68,6 @@ android:screenOrientation="sensorLandscape" android:name=".MainActivity" android:configChanges="keyboardHidden|orientation|screenSize|keyboard|navigation"/> - - diff --git a/app_pojavlauncher/src/main/res/xml/pref_main.xml b/app_pojavlauncher/src/main/res/xml/pref_main.xml index 4ed8abf6e..14bc3dcd0 100644 --- a/app_pojavlauncher/src/main/res/xml/pref_main.xml +++ b/app_pojavlauncher/src/main/res/xml/pref_main.xml @@ -57,7 +57,7 @@ android:summary="@string/auto_ram_subtitle" android:title="@string/auto_ram_title" /> From 957415bc680f062db52d2bf273f6f89f592c9a97 Mon Sep 17 00:00:00 2001 From: artdeell Date: Wed, 17 Feb 2021 22:20:14 +0300 Subject: [PATCH 2/7] Icons! --- .../src/main/res/drawable-hdpi/ic_auto_ram.png | Bin 0 -> 2040 bytes .../res/drawable-hdpi/ic_disable_gestures.png | Bin 0 -> 13649 bytes .../src/main/res/drawable-hdpi/ic_flatstyle.png | Bin 0 -> 1052 bytes .../src/main/res/drawable-hdpi/ic_lib_check.png | Bin 0 -> 12673 bytes .../src/main/res/drawable-hdpi/ic_map_rmb.png | Bin 0 -> 9797 bytes .../src/main/res/xml/pref_main.xml | 6 +++++- 6 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 app_pojavlauncher/src/main/res/drawable-hdpi/ic_auto_ram.png create mode 100644 app_pojavlauncher/src/main/res/drawable-hdpi/ic_disable_gestures.png create mode 100644 app_pojavlauncher/src/main/res/drawable-hdpi/ic_flatstyle.png create mode 100644 app_pojavlauncher/src/main/res/drawable-hdpi/ic_lib_check.png create mode 100644 app_pojavlauncher/src/main/res/drawable-hdpi/ic_map_rmb.png diff --git a/app_pojavlauncher/src/main/res/drawable-hdpi/ic_auto_ram.png b/app_pojavlauncher/src/main/res/drawable-hdpi/ic_auto_ram.png new file mode 100644 index 0000000000000000000000000000000000000000..30eabde3b497cca43fc96f6555644ba9123889b5 GIT binary patch literal 2040 zcmb_di$4?U8%ItY#r#sF+&VcrNz-w^-;cJV5ayD_acS8s4$CgZko-ErWQDXsMZ;oc zn7OS(G1p1QEoQQ@s1fC|3(oux=ll7*@Av&Y@8|hG&*y!g=ksLwdY@HQIieybC#MPq zdHBhgwY!w}%J!Pz+7cNlqTIj%$}%J?NB<=!r$hyNxCUS!2{{At8Y129l{|`x-`87w zB-uc*sH5sM;MgkwXAdHxVoRy=>8)ybLz}?WVX85xem`&KdAMaE$H)7GE5ucA^zy(o?;}=Y}a|@)0W0dF9I<31w|5 zrVIDW^)rytY<2r>+AnJLOz!Vu|DoK@gDl2kChZCvk(31KI(+1GV`1OiwfX*HVbofl zs}gR;-=sUC|29Csu@J?0v{y+fqf362pJ*%OGE-w2RH{#=+p(cw07^9yp_#LCT}Pea z5!pSYW-;3NC{q5CX`{l#`1lZ?U+!0R|3H>US)n)C($TRdH&=BP6M{ccSzHDmmEAV< zJXu(P@0uKew)y)Y22}yQAhT1aPMwc$f#Yx!AhW7~JJL&q;q3Jl?Q3_t(fRGT|BZY> z=g!~dazwdtL2bsYZ3ajw+1DTqprZKood!m!qc_?tPC!aKG&=1HyK<#~Ex7vD5($Tc z^Yonw$;=oZQF0iKMoYlB6Z^Inx3}@AwMB?Ou;^&J>X>okYFnb6qw~F<2S}^QI%(iW zYD*#mSqo)EiY1b^dH;IQ&sA)9V_7QK4QDy zTx_m0vera1`yq)$QwLy4BogWrAp+7BT{(OA%V37or=Xg%`sv;A?3I@b{GNMuNs9qf z9OZ$_IRlkunl&#S(_i`wf0%bOD-KwrtHq*`3#V;J1IGEFFHIwp3uG6*bs^7&;Dnb3 zw;@VRT2aWw&8&`!ii)O|G$2g!%&0WbRL223l<465`E~l9$)J?Q^`f2=4;0kcAt3nwOjV+xi6!s?Mr#-h!lmdB>}QDEqn^Ymy#AS6BP+;WJ~@ zaQgb2PX68HQr?=jRj8wJbth*V#dF^7;prXEGGzcdIdPT*a{9cQ7$9Fi_zNGLGa; z?%`e*JuaKKx=4He{JGQ!{SaYpZl1nsUffR*nic0X$cl{#5sh@e6=Lh%cRnZdWI-zx zLc+tX{r&wzQ~5R^FY%E`NGN(EdwxRVDH3kAbdfh3WRS4V)GKOr*~~n7 z?dN&dH0Anwmz-alZ*0_hdV2D02s+&tjPAYb=ulX;i3uhXo;8mdL`6lF2#R<--ucp? zNQ{aZ0jhV@ma7mF9DIhD!?S_m@zbsNtq-l&*LtU#llp83QHI4gHkKO18X`?6bj`@)YjI9 z_qYlJm#5pz-QC?wc1UUf0BK{H+s!#oxk)%)#M6*vFwugc=0{Jrr?l|6)2%pJ*l07j z;Fl$Z3O{)4%gu&!M*bUph{uMXY!Yp)(*M+=xI19Ky7-hhR7slV<}N!XZ=SiS_oQTq z92{pp5oTMjD~tuh!5PGMc*eE`=OJ#3q_2|FjJCEOo_rOx3SGXc&QM#obAP6^NR z4p}y0*&t@H4N#84$)Y}3M8x0Gv=CYEBx1V;UvLV zJ!ce79#q+>3@dr?pbVtm0tJ$@va%i~Wx9QY>!gU>^e~z+`SrrtB_De_vq^{g|62?Y z_xM6pIrkRJ<exsU-fzKFbN-7;suP^PIxnoR*ls4&{_-|*NOzq9m4t6Rak)r50v#SmM&D*2a I?T?%P0*8^!q5uE@ literal 0 HcmV?d00001 diff --git a/app_pojavlauncher/src/main/res/drawable-hdpi/ic_disable_gestures.png b/app_pojavlauncher/src/main/res/drawable-hdpi/ic_disable_gestures.png new file mode 100644 index 0000000000000000000000000000000000000000..e19dea899513d61fdd7664e5b8d11a8e5214d4f5 GIT binary patch literal 13649 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 B-m?Gz literal 0 HcmV?d00001 diff --git a/app_pojavlauncher/src/main/res/drawable-hdpi/ic_flatstyle.png b/app_pojavlauncher/src/main/res/drawable-hdpi/ic_flatstyle.png new file mode 100644 index 0000000000000000000000000000000000000000..777730532cf04e20569e94f0514893b81db87cb1 GIT binary patch literal 1052 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 F{|n#aibntd literal 0 HcmV?d00001 diff --git a/app_pojavlauncher/src/main/res/xml/pref_main.xml b/app_pojavlauncher/src/main/res/xml/pref_main.xml index 14bc3dcd0..be8139b20 100644 --- a/app_pojavlauncher/src/main/res/xml/pref_main.xml +++ b/app_pojavlauncher/src/main/res/xml/pref_main.xml @@ -24,10 +24,11 @@ android:key="flatButtonStyle" android:summary="@string/mcl_setting_subtitle_flat_button_style" android:title="@string/mcl_setting_title_flat_button_style" - app2:icon="@drawable/hide_sidebar" /> + app2:icon="@drawable/ic_flatstyle" /> @@ -53,11 +54,13 @@ app2:icon="@drawable/ignore_notch" /> @@ -71,6 +74,7 @@ android:title="@string/mcl_setting_title_javaargs" /> From 9c5b5b9a1e6849bf5fe46664bbb64c4cba8d0f05 Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh <40482367+khanhduytran0@users.noreply.github.com> Date: Thu, 18 Feb 2021 14:48:48 +0700 Subject: [PATCH 3/7] [LWJGL2] Volatile the Drawable object --- jre_lwjgl3glfw/src/main/java/org/lwjgl/opengl/Display.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jre_lwjgl3glfw/src/main/java/org/lwjgl/opengl/Display.java b/jre_lwjgl3glfw/src/main/java/org/lwjgl/opengl/Display.java index 448b9a8ac..26e26ccfa 100644 --- a/jre_lwjgl3glfw/src/main/java/org/lwjgl/opengl/Display.java +++ b/jre_lwjgl3glfw/src/main/java/org/lwjgl/opengl/Display.java @@ -61,7 +61,7 @@ public class Display { private static boolean window_created; /** The Drawable instance that tracks the current Display context */ - private static DrawableLWJGL drawable; + private static volatile DrawableLWJGL drawable; private static Canvas parent; From 2a75fb1362663f59160de20a83094007c4a0834e Mon Sep 17 00:00:00 2001 From: artdeell Date: Thu, 18 Feb 2021 15:17:20 +0300 Subject: [PATCH 4/7] Fix mouse jumps for touchscreen in 1.12.2 and for 1.16.5 physical mouse --- .../net/kdt/pojavlaunch/BaseMainActivity.java | 69 +++++++++++-------- .../java/org/lwjgl/glfw/CallbackBridge.java | 4 +- 2 files changed, 41 insertions(+), 32 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java index c92485480..f634a4ffa 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java @@ -106,6 +106,8 @@ public class BaseMainActivity extends LoggableActivity { private boolean lastGrab = false; private boolean isExited = false; private boolean isLogAllow = false; + private int mouse_x, mouse_y; + private boolean ignorePad = false; // private int navBarHeight = 40; // private static Collection rsaPkcs1List; @@ -340,7 +342,6 @@ public class BaseMainActivity extends LoggableActivity { private boolean isTouchInHotbar = false; private int hotbarX, hotbarY; private int scrollInitialX, scrollInitialY; - private int x,y; @Override public boolean onTouch(View p1, MotionEvent e) { @@ -353,6 +354,9 @@ public class BaseMainActivity extends LoggableActivity { } } if (mptrIndex != -1) { + if(CallbackBridge.isGrabbing()) { + return false; + } //handle mouse events by just sending the coords of the new point in touch event int x = (int) (e.getX(mptrIndex) * scaleFactor); int y = (int) (e.getY(mptrIndex) * scaleFactor); @@ -367,12 +371,12 @@ public class BaseMainActivity extends LoggableActivity { /* int x = ((int) e.getX()) * scaleFactor; int y = ((int) e.getY()) * scaleFactor;*/ if(e.getHistorySize() > 0 && CallbackBridge.isGrabbing()) { - x += (int)(e.getX() - e.getHistoricalX(0)); - y += (int)(e.getY() - e.getHistoricalY(0)); + mouse_x += (int)(e.getX() - e.getHistoricalX(0)); + mouse_y += (int)(e.getY() - e.getHistoricalY(0)); } if(!CallbackBridge.isGrabbing()) { - x = (int) (e.getX() * scaleFactor); - y = (int) (e.getY() * scaleFactor); + mouse_x = (int) (e.getX() * scaleFactor); + mouse_y = (int) (e.getY() * scaleFactor); } int hudKeyHandled = handleGuiBar((int)e.getX(), (int)e.getY()); @@ -380,7 +384,7 @@ public class BaseMainActivity extends LoggableActivity { if (hudKeyHandled != -1) { sendKeyPress(hudKeyHandled); } else { - CallbackBridge.putMouseEventWithCoords(rightOverride ? (byte) 1 : (byte) 0,x,y); + CallbackBridge.putMouseEventWithCoords(rightOverride ? (byte) 1 : (byte) 0, mouse_x, mouse_y); if (!rightOverride) { CallbackBridge.mouseLeft = true; } @@ -399,9 +403,9 @@ public class BaseMainActivity extends LoggableActivity { theHandler.sendEmptyMessageDelayed(BaseMainActivity.MSG_DROP_ITEM_BUTTON_CHECK, LauncherPreferences.PREF_LONGPRESS_TRIGGER); } else { - CallbackBridge.mouseX = x; - CallbackBridge.mouseY = y; - CallbackBridge.sendCursorPos(x, y); + CallbackBridge.mouseX = mouse_x; + CallbackBridge.mouseY = mouse_y; + CallbackBridge.sendCursorPos(mouse_x, mouse_y); if (!rightOverride) { CallbackBridge.mouseLeft = true; } @@ -409,13 +413,13 @@ public class BaseMainActivity extends LoggableActivity { if (CallbackBridge.isGrabbing()) { // It cause hold left mouse while moving camera // CallbackBridge.putMouseEventWithCoords(rightOverride ? (byte) 1 : (byte) 0, (byte) 1, x, y); - initialX = x; - initialY = y; + initialX = mouse_x; + initialY = mouse_y; theHandler.sendEmptyMessageDelayed(BaseMainActivity.MSG_LEFT_MOUSE_BUTTON_CHECK, LauncherPreferences.PREF_LONGPRESS_TRIGGER); } - scrollInitialX = x; - scrollInitialY = y; + scrollInitialX = mouse_x; + scrollInitialY = mouse_y; } break; @@ -423,12 +427,12 @@ public class BaseMainActivity extends LoggableActivity { case MotionEvent.ACTION_POINTER_UP: // 6 case MotionEvent.ACTION_CANCEL: // 3 if (!isTouchInHotbar) { - CallbackBridge.mouseX = x; - CallbackBridge.mouseY = y; + CallbackBridge.mouseX = mouse_x; + CallbackBridge.mouseY = mouse_y; // -TODO uncomment after fix wrong trigger // CallbackBridge.putMouseEventWithCoords(rightOverride ? (byte) 1 : (byte) 0, (byte) 0, x, y); - CallbackBridge.sendCursorPos(x, y); + CallbackBridge.sendCursorPos(mouse_x, mouse_y); if (!rightOverride) { CallbackBridge.mouseLeft = false; } @@ -437,9 +441,9 @@ public class BaseMainActivity extends LoggableActivity { if (CallbackBridge.isGrabbing()) { // System.out.println((String) ("[Math.abs(" + initialX + " - " + x + ") = " + Math.abs(initialX - x) + "] < " + fingerStillThreshold)); // System.out.println((String) ("[Math.abs(" + initialY + " - " + y + ") = " + Math.abs(initialY - y) + "] < " + fingerStillThreshold)); - if (isTouchInHotbar && Math.abs(hotbarX - x) < fingerStillThreshold && Math.abs(hotbarY - y) < fingerStillThreshold) { + if (isTouchInHotbar && Math.abs(hotbarX - mouse_x) < fingerStillThreshold && Math.abs(hotbarY - mouse_y) < fingerStillThreshold) { sendKeyPress(hudKeyHandled, 0, false); - } else if (!triggeredLeftMouseButton && Math.abs(initialX - x) < fingerStillThreshold && Math.abs(initialY - y) < fingerStillThreshold) { + } else if (!triggeredLeftMouseButton && Math.abs(initialX - mouse_x) < fingerStillThreshold && Math.abs(initialY - mouse_y) < fingerStillThreshold) { if(!LauncherPreferences.PREF_DISABLE_GESTURES) { sendMouseButton(LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_RIGHT, true); sendMouseButton(LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_RIGHT, false); @@ -472,19 +476,19 @@ public class BaseMainActivity extends LoggableActivity { */ case MotionEvent.ACTION_MOVE: if (!isTouchInHotbar) { - CallbackBridge.mouseX = x; - CallbackBridge.mouseY = y; + CallbackBridge.mouseX = mouse_x; + CallbackBridge.mouseY = mouse_y; - CallbackBridge.sendCursorPos(x, y); + CallbackBridge.sendCursorPos(mouse_x, mouse_y); if (!CallbackBridge.isGrabbing()) { /* CallbackBridge.sendMouseKeycode(LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_LEFT, 0, isLeftMouseDown); CallbackBridge.sendMouseKeycode(LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_RIGHT, 0, isRightMouseDown); */ - CallbackBridge.sendScroll(x - scrollInitialX, y - scrollInitialY); - scrollInitialX = x; - scrollInitialY = y; + CallbackBridge.sendScroll(mouse_x - scrollInitialX, mouse_y - scrollInitialY); + scrollInitialX = mouse_x; + scrollInitialY = mouse_y; } } break; @@ -590,7 +594,7 @@ public class BaseMainActivity extends LoggableActivity { if (isAndroid8OrHigher()) { minecraftGLView.setDefaultFocusHighlightEnabled(false); minecraftGLView.setOnCapturedPointerListener(new View.OnCapturedPointerListener() { - private int x, y; + //private int x, y; private boolean debugErrored = false; private String getMoving(float pos, boolean xOrY) { @@ -605,10 +609,15 @@ public class BaseMainActivity extends LoggableActivity { @Override public boolean onCapturedPointer (View view, MotionEvent e) { - x += ((int) e.getX()) * scaleFactor; - y += ((int) e.getY()) * scaleFactor; + if(e.getHistorySize() > 0) { + mouse_x += (int)(e.getX()); + mouse_y += (int)(e.getY()); + } + CallbackBridge.mouseX = mouse_x; + CallbackBridge.mouseY = mouse_y; if(!CallbackBridge.isGrabbing()){ view.releasePointerCapture(); + } if (debugText.getVisibility() == View.VISIBLE && !debugErrored) { @@ -623,8 +632,8 @@ public class BaseMainActivity extends LoggableActivity { builder.append("RawX=" + e.getRawX() + "\n"); builder.append("RawY=" + e.getRawY() + "\n\n"); - builder.append("XPos=" + x + "\n"); - builder.append("YPos=" + y + "\n\n"); + builder.append("XPos=" + mouse_x + "\n"); + builder.append("YPos=" + mouse_y + "\n\n"); builder.append("MovingX=" + getMoving(e.getX(), true) + "\n"); builder.append("MovingY=" + getMoving(e.getY(), false) + "\n"); } catch (Throwable th) { @@ -639,7 +648,7 @@ public class BaseMainActivity extends LoggableActivity { CallbackBridge.DEBUG_STRING.setLength(0); switch (e.getActionMasked()) { case MotionEvent.ACTION_MOVE: - CallbackBridge.sendCursorPos(x, y); + CallbackBridge.sendCursorPos(mouse_x, mouse_y); return true; case MotionEvent.ACTION_BUTTON_PRESS: return sendMouseButtonUnconverted(e.getActionButton(), true); 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 6379272fd..3d42cbcca 100644 --- a/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java +++ b/app_pojavlauncher/src/main/java/org/lwjgl/glfw/CallbackBridge.java @@ -56,8 +56,8 @@ public class CallbackBridge { } public static void sendPrepareGrabInitialPos() { - DEBUG_STRING.append("Prepare set grab initial posititon"); - sendMouseKeycode(-1, CallbackBridge.getCurrentMods(), false); + DEBUG_STRING.append("Prepare set grab initial posititon: ignored"); + //sendMouseKeycode(-1, CallbackBridge.getCurrentMods(), false); } public static void sendKeycode(int keycode, char keychar, int scancode, int modifiers, boolean isDown) { From 7904d917029a15be7c113506995a135f005694da Mon Sep 17 00:00:00 2001 From: artdeell Date: Thu, 18 Feb 2021 21:48:18 +0300 Subject: [PATCH 5/7] Fix ALL mouse jumps for hardware mouse; Yes, it now works as on PC :) --- .../net/kdt/pojavlaunch/BaseMainActivity.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java index f634a4ffa..ea1c51ab3 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java @@ -106,7 +106,7 @@ public class BaseMainActivity extends LoggableActivity { private boolean lastGrab = false; private boolean isExited = false; private boolean isLogAllow = false; - private int mouse_x, mouse_y; + private volatile int mouse_x, mouse_y; private boolean ignorePad = false; // private int navBarHeight = 40; @@ -617,7 +617,6 @@ public class BaseMainActivity extends LoggableActivity { CallbackBridge.mouseY = mouse_y; if(!CallbackBridge.isGrabbing()){ view.releasePointerCapture(); - } if (debugText.getVisibility() == View.VISIBLE && !debugErrored) { @@ -767,15 +766,18 @@ public class BaseMainActivity extends LoggableActivity { } switch(ev.getActionMasked()) { case MotionEvent.ACTION_HOVER_MOVE: - CallbackBridge.mouseX = (int) (ev.getX(mouseCursorIndex)*scaleFactor); - CallbackBridge.mouseY = (int) (ev.getY(mouseCursorIndex)*scaleFactor); - CallbackBridge.sendCursorPos((int) (ev.getX(mouseCursorIndex)*scaleFactor), (int) (ev.getY(mouseCursorIndex)*scaleFactor)); + mouse_x = (int) (ev.getX(mouseCursorIndex) * scaleFactor); + mouse_y = (int) (ev.getY(mouseCursorIndex) * scaleFactor); + CallbackBridge.mouseX = mouse_x; + CallbackBridge.mouseY = mouse_y; + CallbackBridge.sendCursorPos(mouse_x,mouse_y); + debugText.setText(CallbackBridge.DEBUG_STRING.toString()); + CallbackBridge.DEBUG_STRING.setLength(0); return true; case MotionEvent.ACTION_SCROLL: CallbackBridge.sendScroll((double) ev.getAxisValue(MotionEvent.AXIS_VSCROLL), (double) ev.getAxisValue(MotionEvent.AXIS_HSCROLL)); return true; case MotionEvent.ACTION_BUTTON_PRESS: - return sendMouseButtonUnconverted(ev.getActionButton(),true); case MotionEvent.ACTION_BUTTON_RELEASE: return sendMouseButtonUnconverted(ev.getActionButton(),false); @@ -783,6 +785,7 @@ public class BaseMainActivity extends LoggableActivity { return false; } } + } boolean isKeyboard(KeyEvent evt) { if((evt.getFlags() & KeyEvent.FLAG_SOFT_KEYBOARD) == KeyEvent.FLAG_SOFT_KEYBOARD) return true; From 51942115a9b9c63b3581985ba1d241bc924027cb Mon Sep 17 00:00:00 2001 From: artdeell Date: Fri, 19 Feb 2021 14:34:20 +0300 Subject: [PATCH 6/7] Fix the software mouse jumps --- .../net/kdt/pojavlaunch/BaseMainActivity.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java index ea1c51ab3..df3d1d6b5 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java @@ -279,7 +279,11 @@ public class BaseMainActivity extends LoggableActivity { // and other input controls. In this case, you are only // interested in events where the touch position changed. // int index = event.getActionIndex(); - + if(CallbackBridge.isGrabbing()) { + minecraftGLView.dispatchTouchEvent(MotionEvent.obtain(event)); + System.out.println("Transitioned event" + event.hashCode() + " to MinecraftGLView"); + return false; + } int action = event.getActionMasked(); float x = event.getX(); @@ -295,7 +299,8 @@ public class BaseMainActivity extends LoggableActivity { float mouseY = mousePointer.getTranslationY(); if (gestureDetector.onTouchEvent(event)) { - + mouse_x = (int) (mouseX * scaleFactor); + mouse_y = (int) (mouseY * scaleFactor); CallbackBridge.sendCursorPos((int) (mouseX * scaleFactor), (int) (mouseY *scaleFactor)); CallbackBridge.sendMouseKeycode(rightOverride ? LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_RIGHT : LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_LEFT); if (!rightOverride) { @@ -314,8 +319,9 @@ public class BaseMainActivity extends LoggableActivity { case MotionEvent.ACTION_MOVE: // 2 mouseX = Math.max(0, Math.min(displayMetrics.widthPixels, mouseX + x - prevX)); mouseY = Math.max(0, Math.min(displayMetrics.heightPixels, mouseY + y - prevY)); + mouse_x = (int) (mouseX * scaleFactor); + mouse_y = (int) (mouseY * scaleFactor); placeMouseAt(mouseX, mouseY); - CallbackBridge.sendCursorPos((int) (mouseX * scaleFactor), (int) (mouseY *scaleFactor)); /* if (!CallbackBridge.isGrabbing()) { @@ -610,8 +616,8 @@ public class BaseMainActivity extends LoggableActivity { @Override public boolean onCapturedPointer (View view, MotionEvent e) { if(e.getHistorySize() > 0) { - mouse_x += (int)(e.getX()); - mouse_y += (int)(e.getY()); + mouse_x += (int)(e.getX()*scaleFactor); + mouse_y += (int)(e.getY()*scaleFactor); } CallbackBridge.mouseX = mouse_x; CallbackBridge.mouseY = mouse_y; @@ -788,9 +794,10 @@ public class BaseMainActivity extends LoggableActivity { } boolean isKeyboard(KeyEvent evt) { - if((evt.getFlags() & KeyEvent.FLAG_SOFT_KEYBOARD) == KeyEvent.FLAG_SOFT_KEYBOARD) return true; - if(evt.getSource() == InputDevice.SOURCE_KEYBOARD) return true; - if(evt.getUnicodeChar() != 0) return true; + System.out.println("Event:" +evt); + //if((evt.getFlags() & KeyEvent.FLAG_SOFT_KEYBOARD) == KeyEvent.FLAG_SOFT_KEYBOARD) return true; + //if(evt.getSource() == InputDevice.SOURCE_KEYBOARD) return true; + //if(evt.getUnicodeChar() != 0) return true; if(AndroidLWJGLKeycode.androidToLwjglMap.containsKey(evt.getKeyCode())) return true; return false; } From 9a295c922a826560a015731df5c4dd50a845b24f Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh <40482367+khanhduytran0@users.noreply.github.com> Date: Sat, 20 Feb 2021 04:27:44 +0700 Subject: [PATCH 7/7] Change button padding, possibility fixes #912 --- .../java/net/kdt/pojavlaunch/customcontrols/ControlButton.java | 1 + 1 file changed, 1 insertion(+) 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 1e109ad2e..a85a811ae 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 @@ -28,6 +28,7 @@ public class ControlButton extends androidx.appcompat.widget.AppCompatButton imp public ControlButton(ControlLayout layout, ControlData properties) { super(layout.getContext()); + setPadding(4, 4, 4, 4); setWillNotDraw(false); mScaleAt = layout.mLayout.scaledAt;