From a9334cb9c6e3b70b5b722abdb769343aa580e68f Mon Sep 17 00:00:00 2001 From: Xaver Hugl Date: Wed, 25 Jan 2023 17:06:32 +0100 Subject: [PATCH] unify touchpad gesture APIs There don't need to be separate functions for real time and not real time --- autotests/test_virtual_desktops.cpp | 6 +- src/effects.cpp | 18 ++---- src/effects.h | 6 +- src/effects/desktopgrid/desktopgrideffect.cpp | 2 +- src/effects/overview/overvieweffect.cpp | 2 +- src/effects/windowview/windowvieweffect.cpp | 2 +- src/globalshortcuts.cpp | 58 ++++++------------- src/globalshortcuts.h | 37 ++---------- src/input.cpp | 22 ++----- src/input.h | 10 ++-- src/libkwineffects/kwineffects.h | 8 +-- src/virtualdesktops.cpp | 12 ++-- 12 files changed, 53 insertions(+), 130 deletions(-) diff --git a/autotests/test_virtual_desktops.cpp b/autotests/test_virtual_desktops.cpp index a1d26e208f..f79b2f5c48 100644 --- a/autotests/test_virtual_desktops.cpp +++ b/autotests/test_virtual_desktops.cpp @@ -23,15 +23,15 @@ void InputRedirection::registerAxisShortcut(Qt::KeyboardModifiers modifiers, Poi { } -void InputRedirection::registerTouchpadSwipeShortcut(SwipeDirection, uint fingerCount, QAction *) +void InputRedirection::registerTouchpadSwipeShortcut(SwipeDirection direction, uint32_t fingerCount, QAction *onUp, std::function progressCallback) { } -void InputRedirection::registerRealtimeTouchpadSwipeShortcut(SwipeDirection, uint fingerCount, QAction *, std::function progressCallback) +void InputRedirection::registerTouchpadPinchShortcut(PinchDirection direction, uint32_t fingerCount, QAction *onUp, std::function progressCallback) { } -void InputRedirection::registerTouchscreenSwipeShortcut(SwipeDirection, uint, QAction *, std::function) +void InputRedirection::registerTouchscreenSwipeShortcut(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback) { } diff --git a/src/effects.cpp b/src/effects.cpp index c4e97916f3..85ee23027e 100644 --- a/src/effects.cpp +++ b/src/effects.cpp @@ -806,24 +806,14 @@ void EffectsHandlerImpl::registerAxisShortcut(Qt::KeyboardModifiers modifiers, P input()->registerAxisShortcut(modifiers, axis, action); } -void EffectsHandlerImpl::registerRealtimeTouchpadSwipeShortcut(SwipeDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) +void EffectsHandlerImpl::registerTouchpadSwipeShortcut(SwipeDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) { - input()->registerRealtimeTouchpadSwipeShortcut(dir, fingerCount, onUp, progressCallback); + input()->registerTouchpadSwipeShortcut(dir, fingerCount, onUp, progressCallback); } -void EffectsHandlerImpl::registerTouchpadSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action) +void EffectsHandlerImpl::registerTouchpadPinchShortcut(PinchDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) { - input()->registerTouchpadSwipeShortcut(direction, fingerCount, action); -} - -void EffectsHandlerImpl::registerRealtimeTouchpadPinchShortcut(PinchDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) -{ - input()->registerRealtimeTouchpadPinchShortcut(dir, fingerCount, onUp, progressCallback); -} - -void EffectsHandlerImpl::registerTouchpadPinchShortcut(PinchDirection direction, uint fingerCount, QAction *action) -{ - input()->registerTouchpadPinchShortcut(direction, fingerCount, action); + input()->registerTouchpadPinchShortcut(dir, fingerCount, onUp, progressCallback); } void EffectsHandlerImpl::registerTouchscreenSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action, std::function progressCallback) diff --git a/src/effects.h b/src/effects.h index bb387ca245..da45cce141 100644 --- a/src/effects.h +++ b/src/effects.h @@ -102,10 +102,8 @@ public: bool isMouseInterception() const; void registerPointerShortcut(Qt::KeyboardModifiers modifiers, Qt::MouseButton pointerButtons, QAction *action) override; void registerAxisShortcut(Qt::KeyboardModifiers modifiers, PointerAxisDirection axis, QAction *action) override; - void registerRealtimeTouchpadSwipeShortcut(SwipeDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) override; - void registerTouchpadSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action) override; - void registerRealtimeTouchpadPinchShortcut(PinchDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) override; - void registerTouchpadPinchShortcut(PinchDirection direction, uint fingerCount, QAction *action) override; + void registerTouchpadSwipeShortcut(SwipeDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) override; + void registerTouchpadPinchShortcut(PinchDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) override; void registerTouchscreenSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action, std::function progressCallback) override; void *getProxy(QString name) override; void startMousePolling() override; diff --git a/src/effects/desktopgrid/desktopgrideffect.cpp b/src/effects/desktopgrid/desktopgrideffect.cpp index 1d13a691df..afe82c0b6d 100644 --- a/src/effects/desktopgrid/desktopgrideffect.cpp +++ b/src/effects/desktopgrid/desktopgrideffect.cpp @@ -60,7 +60,7 @@ DesktopGridEffect::DesktopGridEffect() } }); - effects->registerRealtimeTouchpadSwipeShortcut(SwipeDirection::Up, 4, m_realtimeToggleAction, [this](qreal progress) { + effects->registerTouchpadSwipeShortcut(SwipeDirection::Up, 4, m_realtimeToggleAction, [this](qreal progress) { if (!effects->hasActiveFullScreenEffect() || effects->activeFullScreenEffect() == this) { switch (m_status) { case Status::Inactive: diff --git a/src/effects/overview/overvieweffect.cpp b/src/effects/overview/overvieweffect.cpp index be1682f678..313e394ebc 100644 --- a/src/effects/overview/overvieweffect.cpp +++ b/src/effects/overview/overvieweffect.cpp @@ -65,7 +65,7 @@ OverviewEffect::OverviewEffect() } }; - effects->registerRealtimeTouchpadPinchShortcut(PinchDirection::Contracting, 4, m_realtimeToggleAction, progressCallback); + effects->registerTouchpadPinchShortcut(PinchDirection::Contracting, 4, m_realtimeToggleAction, progressCallback); effects->registerTouchscreenSwipeShortcut(SwipeDirection::Up, 3, m_realtimeToggleAction, progressCallback); connect(effects, &EffectsHandler::screenAboutToLock, this, &OverviewEffect::realDeactivate); diff --git a/src/effects/windowview/windowvieweffect.cpp b/src/effects/windowview/windowvieweffect.cpp index f093711f6b..afee211835 100644 --- a/src/effects/windowview/windowvieweffect.cpp +++ b/src/effects/windowview/windowvieweffect.cpp @@ -125,7 +125,7 @@ WindowViewEffect::WindowViewEffect() } } }; - effects->registerRealtimeTouchpadSwipeShortcut(SwipeDirection::Down, 4, m_realtimeToggleAction, gestureCallback); + effects->registerTouchpadSwipeShortcut(SwipeDirection::Down, 4, m_realtimeToggleAction, gestureCallback); effects->registerTouchscreenSwipeShortcut(SwipeDirection::Down, 3, m_realtimeToggleAction, gestureCallback); reconfigure(ReconfigureAll); diff --git a/src/globalshortcuts.cpp b/src/globalshortcuts.cpp index a33504c8b7..1013f9bfef 100644 --- a/src/globalshortcuts.cpp +++ b/src/globalshortcuts.cpp @@ -39,39 +39,27 @@ GlobalShortcut::GlobalShortcut(Shortcut &&sc, QAction *action) static const QMap pinchDirs = { {PinchDirection::Expanding, PinchGesture::Direction::Expanding}, {PinchDirection::Contracting, PinchGesture::Direction::Contracting}}; - if (auto swipeGesture = std::get_if(&sc)) { - m_swipeGesture.reset(new SwipeGesture()); + if (auto swipeGesture = std::get_if(&sc)) { + m_swipeGesture = std::make_unique(); m_swipeGesture->setDirection(swipeDirs[swipeGesture->direction]); + m_swipeGesture->setMinimumDelta(QPointF(200, 200)); m_swipeGesture->setMaximumFingerCount(swipeGesture->fingerCount); m_swipeGesture->setMinimumFingerCount(swipeGesture->fingerCount); QObject::connect(m_swipeGesture.get(), &SwipeGesture::triggered, m_action, &QAction::trigger, Qt::QueuedConnection); - } else if (auto rtSwipeGesture = std::get_if(&sc)) { - m_swipeGesture.reset(new SwipeGesture()); - m_swipeGesture->setDirection(swipeDirs[rtSwipeGesture->direction]); - m_swipeGesture->setMinimumDelta(QPointF(200, 200)); - m_swipeGesture->setMaximumFingerCount(rtSwipeGesture->fingerCount); - m_swipeGesture->setMinimumFingerCount(rtSwipeGesture->fingerCount); - QObject::connect(m_swipeGesture.get(), &SwipeGesture::triggered, m_action, &QAction::trigger, Qt::QueuedConnection); QObject::connect(m_swipeGesture.get(), &SwipeGesture::cancelled, m_action, &QAction::trigger, Qt::QueuedConnection); - QObject::connect(m_swipeGesture.get(), &SwipeGesture::progress, [cb = rtSwipeGesture->progressCallback](qreal v) { - cb(v); - }); - } else if (auto pinchGesture = std::get_if(&sc)) { - m_pinchGesture.reset(new PinchGesture()); + if (swipeGesture->progressCallback) { + QObject::connect(m_swipeGesture.get(), &SwipeGesture::progress, swipeGesture->progressCallback); + } + } else if (auto pinchGesture = std::get_if(&sc)) { + m_pinchGesture = std::make_unique(); m_pinchGesture->setDirection(pinchDirs[pinchGesture->direction]); m_pinchGesture->setMaximumFingerCount(pinchGesture->fingerCount); m_pinchGesture->setMinimumFingerCount(pinchGesture->fingerCount); QObject::connect(m_pinchGesture.get(), &PinchGesture::triggered, m_action, &QAction::trigger, Qt::QueuedConnection); - } else if (auto rtPinchGesture = std::get_if(&sc)) { - m_pinchGesture.reset(new PinchGesture()); - m_pinchGesture->setDirection(pinchDirs[rtPinchGesture->direction]); - m_pinchGesture->setMaximumFingerCount(rtPinchGesture->fingerCount); - m_pinchGesture->setMinimumFingerCount(rtPinchGesture->fingerCount); - QObject::connect(m_pinchGesture.get(), &PinchGesture::triggered, m_action, &QAction::trigger, Qt::QueuedConnection); QObject::connect(m_pinchGesture.get(), &PinchGesture::cancelled, m_action, &QAction::trigger, Qt::QueuedConnection); - QObject::connect(m_pinchGesture.get(), &PinchGesture::progress, [cb = rtPinchGesture->scaleCallback](qreal v) { - cb(v); - }); + if (pinchGesture->scaleCallback) { + QObject::connect(m_pinchGesture.get(), &PinchGesture::progress, pinchGesture->scaleCallback); + } } } @@ -150,9 +138,9 @@ bool GlobalShortcutsManager::addIfNotExists(GlobalShortcut sc, DeviceType device } const auto &recognizer = device == DeviceType::Touchpad ? m_touchpadGestureRecognizer : m_touchscreenGestureRecognizer; - if (std::holds_alternative(sc.shortcut()) || std::holds_alternative(sc.shortcut())) { + if (std::holds_alternative(sc.shortcut())) { recognizer->registerSwipeGesture(sc.swipeGesture()); - } else if (std::holds_alternative(sc.shortcut()) || std::holds_alternative(sc.shortcut())) { + } else if (std::holds_alternative(sc.shortcut())) { recognizer->registerPinchGesture(sc.pinchGesture()); } connect(sc.action(), &QAction::destroyed, this, &GlobalShortcutsManager::objectDeleted); @@ -170,32 +158,22 @@ void GlobalShortcutsManager::registerAxisShortcut(QAction *action, Qt::KeyboardM addIfNotExists(GlobalShortcut(PointerAxisShortcut{modifiers, axis}, action)); } -void GlobalShortcutsManager::registerTouchpadSwipe(QAction *action, SwipeDirection direction, uint fingerCount) -{ - addIfNotExists(GlobalShortcut(SwipeShortcut{DeviceType::Touchpad, direction, fingerCount}, action), DeviceType::Touchpad); -} - -void GlobalShortcutsManager::registerRealtimeTouchpadSwipe(QAction *action, std::function progressCallback, SwipeDirection direction, uint fingerCount) +void GlobalShortcutsManager::registerTouchpadSwipe(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback) { addIfNotExists(GlobalShortcut(RealtimeFeedbackSwipeShortcut{DeviceType::Touchpad, direction, progressCallback, fingerCount}, action), DeviceType::Touchpad); } -void GlobalShortcutsManager::registerTouchpadPinch(QAction *action, PinchDirection direction, uint fingerCount) -{ - addIfNotExists(GlobalShortcut(PinchShortcut{direction, fingerCount}, action), DeviceType::Touchpad); -} - -void GlobalShortcutsManager::registerRealtimeTouchpadPinch(QAction *onUp, std::function progressCallback, PinchDirection direction, uint fingerCount) +void GlobalShortcutsManager::registerTouchpadPinch(PinchDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback) { - addIfNotExists(GlobalShortcut(RealtimeFeedbackPinchShortcut{direction, progressCallback, fingerCount}, onUp), DeviceType::Touchpad); + addIfNotExists(GlobalShortcut(RealtimeFeedbackPinchShortcut{direction, progressCallback, fingerCount}, action), DeviceType::Touchpad); } -void GlobalShortcutsManager::registerTouchscreenSwipe(QAction *action, std::function progressCallback, SwipeDirection direction, uint fingerCount) +void GlobalShortcutsManager::registerTouchscreenSwipe(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback) { addIfNotExists(GlobalShortcut(RealtimeFeedbackSwipeShortcut{DeviceType::Touchscreen, direction, progressCallback, fingerCount}, action), DeviceType::Touchscreen); } -void GlobalShortcutsManager::forceRegisterTouchscreenSwipe(QAction *action, std::function progressCallback, SwipeDirection direction, uint fingerCount) +void GlobalShortcutsManager::forceRegisterTouchscreenSwipe(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback) { GlobalShortcut shortcut{RealtimeFeedbackSwipeShortcut{DeviceType::Touchscreen, direction, progressCallback, fingerCount}, action}; const auto it = std::find_if(m_shortcuts.begin(), m_shortcuts.end(), [&shortcut](const auto &s) { diff --git a/src/globalshortcuts.h b/src/globalshortcuts.h index 55458d3b21..50f9a23203 100644 --- a/src/globalshortcuts.h +++ b/src/globalshortcuts.h @@ -64,16 +64,10 @@ public: */ void registerAxisShortcut(QAction *action, Qt::KeyboardModifiers modifiers, PointerAxisDirection axis); - void registerTouchpadSwipe(QAction *action, SwipeDirection direction, uint fingerCount = 4); - - void registerRealtimeTouchpadSwipe(QAction *onUp, std::function progressCallback, SwipeDirection direction, uint fingerCount = 4); - - void registerTouchpadPinch(QAction *action, PinchDirection direction, uint fingerCount = 4); - - void registerRealtimeTouchpadPinch(QAction *onUp, std::function progressCallback, PinchDirection direction, uint fingerCount = 4); - - void registerTouchscreenSwipe(QAction *action, std::function progressCallback, SwipeDirection direction, uint fingerCount); - void forceRegisterTouchscreenSwipe(QAction *action, std::function progressCallback, SwipeDirection direction, uint fingerCount); + void registerTouchpadSwipe(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback = {}); + void registerTouchpadPinch(PinchDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback = {}); + void registerTouchscreenSwipe(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback = {}); + void forceRegisterTouchscreenSwipe(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback = {}); /** * @brief Processes a key event to decide whether a shortcut needs to be triggered. @@ -155,16 +149,6 @@ struct PointerAxisShortcut return axisModifiers == rhs.axisModifiers && axisDirection == rhs.axisDirection; } }; -struct SwipeShortcut -{ - DeviceType device; - SwipeDirection direction; - uint fingerCount; - bool operator==(const SwipeShortcut &rhs) const - { - return direction == rhs.direction && fingerCount == rhs.fingerCount && device == rhs.device; - } -}; struct RealtimeFeedbackSwipeShortcut { DeviceType device; @@ -178,17 +162,6 @@ struct RealtimeFeedbackSwipeShortcut return direction == rhs.direction && fingerCount == rhs.fingerCount && device == rhs.device; } }; - -struct PinchShortcut -{ - PinchDirection direction; - uint fingerCount; - bool operator==(const PinchShortcut &rhs) const - { - return direction == rhs.direction && fingerCount == rhs.fingerCount; - } -}; - struct RealtimeFeedbackPinchShortcut { PinchDirection direction; @@ -202,7 +175,7 @@ struct RealtimeFeedbackPinchShortcut } }; -using Shortcut = std::variant; +using Shortcut = std::variant; class GlobalShortcut { diff --git a/src/input.cpp b/src/input.cpp index d80089a92f..75d1d25f4a 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -3230,24 +3230,14 @@ void InputRedirection::registerAxisShortcut(Qt::KeyboardModifiers modifiers, Poi m_shortcuts->registerAxisShortcut(action, modifiers, axis); } -void InputRedirection::registerRealtimeTouchpadSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action, std::function cb) +void InputRedirection::registerTouchpadSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action, std::function cb) { - m_shortcuts->registerRealtimeTouchpadSwipe(action, cb, direction, fingerCount); + m_shortcuts->registerTouchpadSwipe(direction, fingerCount, action, cb); } -void InputRedirection::registerTouchpadSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action) +void InputRedirection::registerTouchpadPinchShortcut(PinchDirection direction, uint fingerCount, QAction *onUp, std::function progressCallback) { - m_shortcuts->registerTouchpadSwipe(action, direction, fingerCount); -} - -void InputRedirection::registerTouchpadPinchShortcut(PinchDirection direction, uint fingerCount, QAction *action) -{ - m_shortcuts->registerTouchpadPinch(action, direction, fingerCount); -} - -void InputRedirection::registerRealtimeTouchpadPinchShortcut(PinchDirection direction, uint fingerCount, QAction *onUp, std::function progressCallback) -{ - m_shortcuts->registerRealtimeTouchpadPinch(onUp, progressCallback, direction, fingerCount); + m_shortcuts->registerTouchpadPinch(direction, fingerCount, onUp, progressCallback); } void InputRedirection::registerGlobalAccel(KGlobalAccelInterface *interface) @@ -3257,12 +3247,12 @@ void InputRedirection::registerGlobalAccel(KGlobalAccelInterface *interface) void InputRedirection::registerTouchscreenSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action, std::function progressCallback) { - m_shortcuts->registerTouchscreenSwipe(action, progressCallback, direction, fingerCount); + m_shortcuts->registerTouchscreenSwipe(direction, fingerCount, action, progressCallback); } void InputRedirection::forceRegisterTouchscreenSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action, std::function progressCallback) { - m_shortcuts->forceRegisterTouchscreenSwipe(action, progressCallback, direction, fingerCount); + m_shortcuts->forceRegisterTouchscreenSwipe(direction, fingerCount, action, progressCallback); } void InputRedirection::warpPointer(const QPointF &pos) diff --git a/src/input.h b/src/input.h index 44efa6375c..85acfe862d 100644 --- a/src/input.h +++ b/src/input.h @@ -127,12 +127,10 @@ public: void registerPointerShortcut(Qt::KeyboardModifiers modifiers, Qt::MouseButton pointerButtons, QAction *action); void registerAxisShortcut(Qt::KeyboardModifiers modifiers, PointerAxisDirection axis, QAction *action); - void registerTouchpadSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action); - void registerRealtimeTouchpadSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *onUp, std::function progressCallback); - void registerTouchpadPinchShortcut(PinchDirection direction, uint fingerCount, QAction *action); - void registerRealtimeTouchpadPinchShortcut(PinchDirection direction, uint fingerCount, QAction *onUp, std::function progressCallback); - void registerTouchscreenSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action, std::function progressCallback); - void forceRegisterTouchscreenSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action, std::function progressCallback); + void registerTouchpadSwipeShortcut(SwipeDirection direction, uint32_t fingerCount, QAction *onUp, std::function progressCallback = {}); + void registerTouchpadPinchShortcut(PinchDirection direction, uint32_t fingerCount, QAction *onUp, std::function progressCallback = {}); + void registerTouchscreenSwipeShortcut(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback = {}); + void forceRegisterTouchscreenSwipeShortcut(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function progressCallback = {}); void registerGlobalAccel(KGlobalAccelInterface *interface); bool supportsPointerWarping() const; diff --git a/src/libkwineffects/kwineffects.h b/src/libkwineffects/kwineffects.h index 0d0dfc7d3c..5d9cf73559 100644 --- a/src/libkwineffects/kwineffects.h +++ b/src/libkwineffects/kwineffects.h @@ -912,13 +912,9 @@ public: * @param action The action which gets triggered when the gesture triggers * @since 5.10 */ - virtual void registerTouchpadSwipeShortcut(SwipeDirection direction, uint fingerCount, QAction *action) = 0; + virtual void registerTouchpadSwipeShortcut(SwipeDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback = {}) = 0; - virtual void registerRealtimeTouchpadSwipeShortcut(SwipeDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) = 0; - - virtual void registerRealtimeTouchpadPinchShortcut(PinchDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback) = 0; - - virtual void registerTouchpadPinchShortcut(PinchDirection direction, uint fingerCount, QAction *action) = 0; + virtual void registerTouchpadPinchShortcut(PinchDirection dir, uint fingerCount, QAction *onUp, std::function progressCallback = {}) = 0; /** * @brief Registers a global touchscreen swipe gesture shortcut with the provided @p action. diff --git a/src/virtualdesktops.cpp b/src/virtualdesktops.cpp index ea9fc86b01..b98cd97423 100644 --- a/src/virtualdesktops.cpp +++ b/src/virtualdesktops.cpp @@ -827,17 +827,17 @@ void VirtualDesktopManager::initShortcuts() Q_EMIT currentChanging(current(), m_currentDesktopOffset); } }; - input()->registerRealtimeTouchpadSwipeShortcut(SwipeDirection::Left, 3, m_swipeGestureReleasedX.get(), left); - input()->registerRealtimeTouchpadSwipeShortcut(SwipeDirection::Right, 3, m_swipeGestureReleasedX.get(), right); - input()->registerRealtimeTouchpadSwipeShortcut(SwipeDirection::Left, 4, m_swipeGestureReleasedX.get(), left); - input()->registerRealtimeTouchpadSwipeShortcut(SwipeDirection::Right, 4, m_swipeGestureReleasedX.get(), right); - input()->registerRealtimeTouchpadSwipeShortcut(SwipeDirection::Down, 3, m_swipeGestureReleasedY.get(), [this](qreal cb) { + input()->registerTouchpadSwipeShortcut(SwipeDirection::Left, 3, m_swipeGestureReleasedX.get(), left); + input()->registerTouchpadSwipeShortcut(SwipeDirection::Right, 3, m_swipeGestureReleasedX.get(), right); + input()->registerTouchpadSwipeShortcut(SwipeDirection::Left, 4, m_swipeGestureReleasedX.get(), left); + input()->registerTouchpadSwipeShortcut(SwipeDirection::Right, 4, m_swipeGestureReleasedX.get(), right); + input()->registerTouchpadSwipeShortcut(SwipeDirection::Down, 3, m_swipeGestureReleasedY.get(), [this](qreal cb) { if (grid().height() > 1) { m_currentDesktopOffset.setY(-cb); Q_EMIT currentChanging(current(), m_currentDesktopOffset); } }); - input()->registerRealtimeTouchpadSwipeShortcut(SwipeDirection::Up, 3, m_swipeGestureReleasedY.get(), [this](qreal cb) { + input()->registerTouchpadSwipeShortcut(SwipeDirection::Up, 3, m_swipeGestureReleasedY.get(), [this](qreal cb) { if (grid().height() > 1) { m_currentDesktopOffset.setY(cb); Q_EMIT currentChanging(current(), m_currentDesktopOffset);