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 @@ --> + +