diff --git a/app/src/main/java/com/gaurav/avnc/ui/vnc/TouchHandler.kt b/app/src/main/java/com/gaurav/avnc/ui/vnc/TouchHandler.kt
index d3eea65..6a252be 100644
--- a/app/src/main/java/com/gaurav/avnc/ui/vnc/TouchHandler.kt
+++ b/app/src/main/java/com/gaurav/avnc/ui/vnc/TouchHandler.kt
@@ -185,6 +185,7 @@ class TouchHandler(private val viewModel: VncViewModel, private val dispatcher:
private val multiFingerTapDetector = MultiFingerTapDetector()
private val dragDetector = DragDetector()
private val dragEnabled = viewModel.pref.input.gesture.dragEnabled
+ private val swipeSensitivity = viewModel.pref.input.gesture.swipeSensitivity
private fun handleGestureEvent(event: MotionEvent): Boolean {
@@ -230,10 +231,12 @@ class TouchHandler(private val viewModel: VncViewModel, private val dispatcher:
override fun onScroll(e1: MotionEvent, e2: MotionEvent, dX: Float, dY: Float): Boolean {
val startPoint = e1.point()
val currentPoint = e2.point()
+ val normalizedDx = -dX * swipeSensitivity
+ val normalizedDy = -dY * swipeSensitivity
when (e2.pointerCount) {
- 1 -> dispatcher.onSwipe1(startPoint, currentPoint, -dX, -dY)
- 2 -> dispatcher.onSwipe2(startPoint, currentPoint, -dX, -dY)
+ 1 -> dispatcher.onSwipe1(startPoint, currentPoint, normalizedDx, normalizedDy)
+ 2 -> dispatcher.onSwipe2(startPoint, currentPoint, normalizedDx, normalizedDy)
}
multiFingerTapDetector.reset()
diff --git a/app/src/main/java/com/gaurav/avnc/util/AppPreferences.kt b/app/src/main/java/com/gaurav/avnc/util/AppPreferences.kt
index 7da0e98..d2d887d 100644
--- a/app/src/main/java/com/gaurav/avnc/util/AppPreferences.kt
+++ b/app/src/main/java/com/gaurav/avnc/util/AppPreferences.kt
@@ -44,6 +44,7 @@ class AppPreferences(context: Context) {
val swipe2; get() = prefs.getString("gesture_swipe2", "pan")!!
val drag; get() = prefs.getString("gesture_drag", "none")!!
val dragEnabled; get() = (drag != "none")
+ val swipeSensitivity; get() = prefs.getInt("gesture_swipe_sensitivity", 10) / 10f
}
inner class Input {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6657ade..5e5d266 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -135,6 +135,7 @@
One-finger swipe
Two-finger swipe
Drag (long press and swipe)
+ Swipe sensitivity
Mouse
Mouse passthrough
Use mouse events for local gestures
diff --git a/app/src/main/res/xml/pref_input.xml b/app/src/main/res/xml/pref_input.xml
index b186387..b869b93 100644
--- a/app/src/main/res/xml/pref_input.xml
+++ b/app/src/main/res/xml/pref_input.xml
@@ -7,6 +7,7 @@
-->
+
+