D5097: Add support for global touchpad swipe gestures

Martin Gräßlin noreply at phabricator.kde.org
Sat Mar 18 13:40:40 UTC 2017


graesslin created this revision.
Restricted Application added a subscriber: plasma-devel.
Restricted Application added a project: Plasma on Wayland.

REVISION SUMMARY
  This change adds global touchpad swipe gestures to the
  GlobalShortcutsManager and hooks up the swipe gestures as defined at the
  Plasma Affenfels sprint:
  
  - swipe up: Desktop Grid
  - swipe down: Present Windows
  - swipe left: previous virtual desktop
  - swipe right: next virtual desktop
  
  The main work is handled by two new classes: SwipeGesture and
  GestureRecognizer. This is implemented in a way that it can be extended
  to also recognize touch screen gestures and pinch gestures.
  
  The SwipeGesture defines what is required for the gesture to trigger.
  Currently this includes the minimum and maximum number of fingers
  participating in the gesture and the direction. The gesture gets
  registered in the GestureRecognizer.
  
  The events for the gesture are fed into the GestureRecognizer. It
  evaluates which gestures could trigger and tracks them for every update
  of the gesture. In the process of the gesture tracking the
  GestureRecognizer emits signals on the Gesture:
  
  - started: when the Gesture gets considered for a sequence
  - cancelled: the Gesture no longer matches the sequence
  - triggered: the sequence ended and the Gesture still matches
  
  The remaining changes are related to hook up the existing shortcut
  framework with the new touchpad gestures. The GlobalShortcutManager
  gained support for it, InputRedirection and EffectsHandler offer methods
  to register a QAction. VirtualDesktopManager, PresentWindows and
  DesktopGrid are adjusted to support the gesture.

BRANCH
  gesture-support

REVISION DETAIL
  https://phabricator.kde.org/D5097

AFFECTED FILES
  CMakeLists.txt
  autotests/CMakeLists.txt
  autotests/mock_effectshandler.h
  autotests/test_gestures.cpp
  autotests/test_screen_edges.cpp
  autotests/test_virtual_desktops.cpp
  effects.cpp
  effects.h
  effects/desktopgrid/desktopgrid.cpp
  effects/presentwindows/presentwindows.cpp
  gestures.cpp
  gestures.h
  globalshortcuts.cpp
  globalshortcuts.h
  input.cpp
  input.h
  libkwineffects/CMakeLists.txt
  libkwineffects/kwineffects.h
  libkwineffects/kwinglobals.h
  virtualdesktops.cpp
  virtualdesktops.h

To: graesslin, #kwin, #plasma_on_wayland
Cc: plasma-devel, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, eliasp, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170318/7f9b16d5/attachment.html>


More information about the Plasma-devel mailing list