diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9a8990a2..1bccfae9 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -75,6 +75,9 @@
mousepad_scroll_direction
gyro_mouse_enabled
mouse_buttons_enabled
+ Enable gyroscope mouse
+ Gyroscope sensitivity
+ gyro_mouse_sensitivity
- Left click
- Right click
diff --git a/src/org/kde/kdeconnect/Plugins/MousePadPlugin/MousePadActivity.java b/src/org/kde/kdeconnect/Plugins/MousePadPlugin/MousePadActivity.java
index 8212622a..7e0e55d8 100644
--- a/src/org/kde/kdeconnect/Plugins/MousePadPlugin/MousePadActivity.java
+++ b/src/org/kde/kdeconnect/Plugins/MousePadPlugin/MousePadActivity.java
@@ -55,6 +55,7 @@ public class MousePadActivity
private int scrollDirection = 1;
private boolean allowGyro = false;
private boolean gyroEnabled = false;
+ private int gyroscopeSensitivity = 100;
private boolean isScrolling = false;
private float accumulatedDistanceY = 0;
@@ -98,27 +99,25 @@ public class MousePadActivity
public void onSensorChanged(SensorEvent event) {
float[] values = event.values;
- float X = -values[2] * 70 * mCurrentSensitivity * displayDpiMultiplier;
- float Y = -values[0] * 70 * mCurrentSensitivity * displayDpiMultiplier;
+ float X = -values[2] * 70 * (gyroscopeSensitivity/100.0f);
+ float Y = -values[0] * 70 * (gyroscopeSensitivity/100.0f);
if (X < 0.25 && X > -0.25) {
X = 0;
} else {
- X = X * mCurrentSensitivity * displayDpiMultiplier;
+ X = X * (gyroscopeSensitivity/100.0f);
}
if (Y < 0.25 && Y > -0.25) {
Y = 0;
} else {
- Y = Y * mCurrentSensitivity * displayDpiMultiplier;
+ Y = Y * (gyroscopeSensitivity/100.0f);
}
final float nX = X;
final float nY = Y;
- BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, plugin -> {
- plugin.sendMouseDelta(nX, nY);
- });
+ BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, plugin -> plugin.sendMouseDelta(nX, nY));
}
@Override
@@ -479,6 +478,7 @@ public class MousePadActivity
}
allowGyro = isGyroSensorAvailable() && prefs.getBoolean(getString(R.string.gyro_mouse_enabled), false);
+ if (allowGyro) gyroscopeSensitivity = prefs.getInt(getString(R.string.gyro_mouse_sensitivity),100);
String singleTapSetting = prefs.getString(getString(R.string.mousepad_single_tap_key),
getString(R.string.mousepad_default_single));