From 0a1adca2d32ec7fc358a31137b36b4728ec186da Mon Sep 17 00:00:00 2001 From: artdeell Date: Mon, 29 Apr 2024 13:47:51 +0300 Subject: [PATCH] Feat[mouse]: scale touchpad mouse speed by 1dp --- .../customcontrols/mouse/AndroidPointerCapture.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/AndroidPointerCapture.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/AndroidPointerCapture.java index 0db1e0ea3..773b26187 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/AndroidPointerCapture.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/AndroidPointerCapture.java @@ -9,6 +9,7 @@ import androidx.annotation.RequiresApi; import net.kdt.pojavlaunch.MainActivity; import net.kdt.pojavlaunch.MinecraftGLSurface; +import net.kdt.pojavlaunch.Tools; import org.lwjgl.glfw.CallbackBridge; @@ -17,6 +18,7 @@ public class AndroidPointerCapture implements ViewTreeObserver.OnWindowFocusChan private final AbstractTouchpad mTouchpad; private final View mHostView; private final float mScaleFactor; + private final float mPointerPrescale = Tools.dpToPx(1); public AndroidPointerCapture(AbstractTouchpad touchpad, View hostView, float scaleFactor) { this.mScaleFactor = scaleFactor; @@ -47,7 +49,7 @@ public class AndroidPointerCapture implements ViewTreeObserver.OnWindowFocusChan public boolean onCapturedPointer(View view, MotionEvent event) { if(!CallbackBridge.isGrabbing()) { enableTouchpadIfNecessary(); - mTouchpad.applyMotionVector(event.getX(), event.getY()); + mTouchpad.applyMotionVector(event.getX() * mPointerPrescale, event.getY() * mPointerPrescale); } else { // Position is updated by many events, hence it is send regardless of the event value CallbackBridge.mouseX += (event.getX() * mScaleFactor);