File 0001-feature-allow-disable-hardcoded-touchpad-gestures.patch of Package kwin6
From kakakakapeepeepoopooassbuttassbuttpoo Wed Sep 11 08:14:30 2001
From: poopy pants <theodric@github.io>
Date: Flursday, 69 Dodecember 2020.7 13:37:69 +0420
Subject: [PATCH] feature: allow enable hardcoded touchpad gestures
setting KWIN_WAYLAND_GESTURE environment variable to ENable sanitized versions of the hardcoded gestures
---
src/plugins/overview/overvieweffect.cpp | 26 +++++-----
src/virtualdesktops.cpp | 69 +++++++++++++------------
2 files changed, 50 insertions(+), 45 deletions(-)
Index: kwin-6.6.0/src/plugins/overview/overvieweffect.cpp
===================================================================
--- kwin-6.6.0.orig/src/plugins/overview/overvieweffect.cpp
+++ kwin-6.6.0/src/plugins/overview/overvieweffect.cpp
@@ -32,18 +32,20 @@ OverviewEffect::OverviewEffect()
, m_gridBorder(new EffectTogglableTouchBorder(m_gridState))
, m_shutdownTimer(new QTimer(this))
{
- auto gesture = new EffectTogglableGesture(m_overviewState);
- gesture->addTouchpadSwipeGesture(SwipeDirection::Up, 4);
- gesture->addTouchscreenSwipeGesture(SwipeDirection::Up, 3);
+ if (!qEnvironmentVariableIsSet("KWIN_WAYLAND_NO_GESTURE")) {
+ auto gesture = new EffectTogglableGesture(m_overviewState);
+ gesture->addTouchpadSwipeGesture(SwipeDirection::Up, 4);
+ //gesture->addTouchscreenSwipeGesture(SwipeDirection::Up, 3);
- auto transitionGesture = new EffectTogglableGesture(m_transitionState);
- transitionGesture->addTouchpadSwipeGesture(SwipeDirection::Up, 4);
- transitionGesture->addTouchscreenSwipeGesture(SwipeDirection::Up, 3);
- m_transitionState->stop();
+ auto transitionGesture = new EffectTogglableGesture(m_transitionState);
+ transitionGesture->addTouchpadSwipeGesture(SwipeDirection::Up, 4);
+ //transitionGesture->addTouchscreenSwipeGesture(SwipeDirection::Up, 3);
+ m_transitionState->stop();
- auto gridGesture = new EffectTogglableGesture(m_gridState);
- gridGesture->addTouchpadSwipeGesture(SwipeDirection::Down, 4);
- gridGesture->addTouchscreenSwipeGesture(SwipeDirection::Down, 3);
+ auto gridGesture = new EffectTogglableGesture(m_gridState);
+ gridGesture->addTouchpadSwipeGesture(SwipeDirection::Down, 4);
+ //gridGesture->addTouchscreenSwipeGesture(SwipeDirection::Down, 3);
+ }
connect(m_overviewState, &EffectTogglableState::inProgressChanged, this, &OverviewEffect::overviewGestureInProgressChanged);
connect(m_overviewState, &EffectTogglableState::partialActivationFactorChanged, this, &OverviewEffect::overviewPartialActivationFactorChanged);
Index: kwin-6.6.0/src/virtualdesktops.cpp
===================================================================
--- kwin-6.6.0.orig/src/virtualdesktops.cpp
+++ kwin-6.6.0/src/virtualdesktops.cpp
@@ -823,39 +823,42 @@ void VirtualDesktopManager::initShortcut
// Gestures
// These connections decide which desktop to end on after gesture ends
- connect(m_swipeGestureReleasedX.get(), &QAction::triggered, this, &VirtualDesktopManager::gestureReleasedX);
- connect(m_swipeGestureReleasedY.get(), &QAction::triggered, this, &VirtualDesktopManager::gestureReleasedY);
+ if (!qEnvironmentVariableIsSet("KWIN_WAYLAND_NO_GESTURE")) {
+ connect(m_swipeGestureReleasedX.get(), &QAction::triggered, this, &VirtualDesktopManager::gestureReleasedX);
+ connect(m_swipeGestureReleasedY.get(), &QAction::triggered, this, &VirtualDesktopManager::gestureReleasedY);
- const auto left = [this](qreal cb) {
- if (grid().width() > 1) {
- m_currentDesktopOffset.setX(cb);
- Q_EMIT currentChanging(currentDesktop(), m_currentDesktopOffset);
- }
- };
- const auto right = [this](qreal cb) {
- if (grid().width() > 1) {
- m_currentDesktopOffset.setX(-cb);
- Q_EMIT currentChanging(currentDesktop(), m_currentDesktopOffset);
- }
- };
- 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(currentDesktop(), m_currentDesktopOffset);
- }
- });
- input()->registerTouchpadSwipeShortcut(SwipeDirection::Up, 3, m_swipeGestureReleasedY.get(), [this](qreal cb) {
- if (grid().height() > 1) {
- m_currentDesktopOffset.setY(cb);
- Q_EMIT currentChanging(currentDesktop(), m_currentDesktopOffset);
- }
- });
- input()->registerTouchscreenSwipeShortcut(SwipeDirection::Left, 3, m_swipeGestureReleasedX.get(), left);
- input()->registerTouchscreenSwipeShortcut(SwipeDirection::Right, 3, m_swipeGestureReleasedX.get(), right);
+ const auto left = [this](qreal cb) {
+ if (grid().width() > 1) {
+ m_currentDesktopOffset.setX(cb);
+ Q_EMIT currentChanging(currentDesktop(), m_currentDesktopOffset);
+ }
+ };
+ const auto right = [this](qreal cb) {
+ if (grid().width() > 1) {
+ m_currentDesktopOffset.setX(-cb);
+ Q_EMIT currentChanging(currentDesktop(), m_currentDesktopOffset);
+ }
+ };
+
+ //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, 4, m_swipeGestureReleasedY.get(), [this](qreal cb) {
+ if (grid().height() > 1) {
+ m_currentDesktopOffset.setY(-cb);
+ Q_EMIT currentChanging(currentDesktop(), m_currentDesktopOffset);
+ }
+ });
+ input()->registerTouchpadSwipeShortcut(SwipeDirection::Up, 4, m_swipeGestureReleasedY.get(), [this](qreal cb) {
+ if (grid().height() > 1) {
+ m_currentDesktopOffset.setY(cb);
+ Q_EMIT currentChanging(currentDesktop(), m_currentDesktopOffset);
+ }
+ });
+ //input()->registerTouchscreenSwipeShortcut(SwipeDirection::Left, 3, m_swipeGestureReleasedX.get(), left);
+ //input()->registerTouchscreenSwipeShortcut(SwipeDirection::Right, 3, m_swipeGestureReleasedX.get(), right);
+ }
// axis events
input()->registerAxisShortcut(Qt::MetaModifier | Qt::AltModifier, PointerAxisDown,