From 2b039c04f50e821af5dee3616655b50fb39cfbbe Mon Sep 17 00:00:00 2001 From: ShirosakiMio <852468399@qq.com> Date: Sat, 14 Sep 2024 17:04:36 +0800 Subject: [PATCH] fix Gyroscope --- FCL/src/main/java/com/tungsten/fcl/control/Gyroscope.java | 6 +++--- .../main/java/com/tungsten/fclauncher/bridge/FCLBridge.java | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/FCL/src/main/java/com/tungsten/fcl/control/Gyroscope.java b/FCL/src/main/java/com/tungsten/fcl/control/Gyroscope.java index 6fbdfee6..00778545 100644 --- a/FCL/src/main/java/com/tungsten/fcl/control/Gyroscope.java +++ b/FCL/src/main/java/com/tungsten/fcl/control/Gyroscope.java @@ -63,7 +63,7 @@ public class Gyroscope implements SensorEventListener { public void enableSensor() { timestamp = 0; - sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_FASTEST); + sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_GAME); } public void disableSensor() { @@ -73,7 +73,7 @@ public class Gyroscope implements SensorEventListener { } } - private float timestamp; + private long timestamp; @Override public void onSensorChanged(SensorEvent event) { @@ -83,7 +83,7 @@ public class Gyroscope implements SensorEventListener { angle[0] += event.values[0] * dT * gameMenu.getMenuSetting().getGyroscopeSensitivity(); angle[1] += event.values[1] * dT * gameMenu.getMenuSetting().getGyroscopeSensitivity(); if (gameMenu.getBridge() != null) { - gameMenu.getBridge().pushEventPointer((int) (gameMenu.getPointerX() - angle[0]), (int) (gameMenu.getPointerY() + angle[1])); + gameMenu.getBridge().pushEventPointer((gameMenu.getPointerX() - angle[0]), (gameMenu.getPointerY() + angle[1])); } } timestamp = event.timestamp; diff --git a/FCLauncher/src/main/java/com/tungsten/fclauncher/bridge/FCLBridge.java b/FCLauncher/src/main/java/com/tungsten/fclauncher/bridge/FCLBridge.java index 124ca0f2..574efff5 100644 --- a/FCLauncher/src/main/java/com/tungsten/fclauncher/bridge/FCLBridge.java +++ b/FCLauncher/src/main/java/com/tungsten/fclauncher/bridge/FCLBridge.java @@ -180,6 +180,10 @@ public class FCLBridge implements Serializable { CallbackBridge.sendCursorPos(x, y); } + public void pushEventPointer(float x, float y) { + CallbackBridge.sendCursorPos(x, y); + } + public void pushEventKey(int keyCode, int keyChar, boolean press) { CallbackBridge.sendKeycode(keyCode, (char) keyChar, 0, 0, press); }