[gnome-shell/wip/exalm/swipes: 97/97] swipeTracker: Use unaccelerated deltas
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/exalm/swipes: 97/97] swipeTracker: Use unaccelerated deltas
- Date: Sat, 13 Mar 2021 14:21:27 +0000 (UTC)
commit bbc08c91c949966dfeba4cc81b12e710b1ee6748
Author: Alexander Mikhaylenko <exalm7659 gmail com>
Date: Sun Feb 28 18:59:31 2021 +0500
swipeTracker: Use unaccelerated deltas
Unaccelerated deltas make sure the gesture works the same regardless of how
fast the fingers move; this is what we were already doing for scrolling.
Adjust the swipe multiplier to match TP_MAGIC_SLOWDOWN in libinput:
https://gitlab.freedesktop.org/libinput/libinput/-/blob/39b64107e9270ef7335e2febb4f8ec9ce7133402/src/filter-touchpad.c#L41
This can be removed after libinput provides fixed API for fetching
unaccelerated deltas.
See https://gitlab.freedesktop.org/libinput/libinput/-/issues/582
js/ui/swipeTracker.js | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/swipeTracker.js b/js/ui/swipeTracker.js
index 8f80bfb3e3..fea4d5d06b 100644
--- a/js/ui/swipeTracker.js
+++ b/js/ui/swipeTracker.js
@@ -16,7 +16,8 @@ const TOUCHPAD_BASE_WIDTH = 400;
const EVENT_HISTORY_THRESHOLD_MS = 150;
const SCROLL_MULTIPLIER = 10;
-const SWIPE_MULTIPLIER = 0.5;
+// Mirrors
https://gitlab.freedesktop.org/libinput/libinput/-/blob/39b64107e9270ef7335e2febb4f8ec9ce7133402/src/filter-touchpad.c#L41
+const SWIPE_MULTIPLIER = 0.2968;
const MIN_ANIMATION_DURATION = 100;
const MAX_ANIMATION_DURATION = 400;
@@ -139,7 +140,7 @@ const TouchpadSwipeGesture = GObject.registerClass({
let time = event.get_time();
const [x, y] = event.get_coords();
- let [dx, dy] = event.get_gesture_motion_delta();
+ const [dx, dy] = event.get_gesture_motion_delta_unaccelerated();
if (this._state === TouchpadState.NONE) {
if (dx === 0 && dy === 0)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]