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,
openSUSE Build Service is sponsored by