fix(gesture): Right click not working

Turns out if you were perfectly still, it would fail. For a quick tap, it was fairly easy to create.
This commit is contained in:
Mathias-Boulay 2025-01-07 20:21:59 +01:00
parent 2e596cd07f
commit a72451c9e7

View File

@ -17,14 +17,15 @@ public class RightClickGesture extends ValidatorGesture {
public final void inputEvent() { public final void inputEvent() {
if(!mGestureEnabled) return; if(!mGestureEnabled) return;
if(submit()) { if(submit()) {
mGestureStartX = CallbackBridge.mouseX; mGestureStartX = mGestureEndX = CallbackBridge.mouseX;
mGestureStartY = CallbackBridge.mouseY; mGestureStartY = mGestureEndY = CallbackBridge.mouseY;
mGestureEnabled = false; mGestureEnabled = false;
mGestureValid = true; mGestureValid = true;
} }
} }
public void setMotion(float deltaX, float deltaY) { public void setMotion(float deltaX, float deltaY) {
System.out.println("set motion called");
mGestureEndX += deltaX; mGestureEndX += deltaX;
mGestureEndY += deltaY; mGestureEndY += deltaY;
} }
@ -49,6 +50,7 @@ public class RightClickGesture extends ValidatorGesture {
mGestureEnabled = true; mGestureEnabled = true;
if(!mGestureValid || isSwitching) return; if(!mGestureValid || isSwitching) return;
boolean fingerStill = LeftClickGesture.isFingerStill(mGestureStartX, mGestureStartY, mGestureEndX, mGestureEndY, LeftClickGesture.FINGER_STILL_THRESHOLD); boolean fingerStill = LeftClickGesture.isFingerStill(mGestureStartX, mGestureStartY, mGestureEndX, mGestureEndY, LeftClickGesture.FINGER_STILL_THRESHOLD);
System.out.println("Right click: " + fingerStill);
if(!fingerStill) return; if(!fingerStill) return;
CallbackBridge.sendMouseButton(LwjglGlfwKeycode.GLFW_MOUSE_BUTTON_RIGHT, true); CallbackBridge.sendMouseButton(LwjglGlfwKeycode.GLFW_MOUSE_BUTTON_RIGHT, true);
CallbackBridge.sendMouseButton(LwjglGlfwKeycode.GLFW_MOUSE_BUTTON_RIGHT, false); CallbackBridge.sendMouseButton(LwjglGlfwKeycode.GLFW_MOUSE_BUTTON_RIGHT, false);