86        PointerAxisSourceWheelTilt
 
 
  124    QPointF globalPointer() 
const;
 
  125    Qt::MouseButtons qtButtonStates() 
const;
 
  126    Qt::KeyboardModifiers keyboardModifiers() 
const;
 
  127    Qt::KeyboardModifiers modifiersRelevantForGlobalShortcuts() 
const;
 
  129    void registerPointerShortcut(Qt::KeyboardModifiers modifiers, Qt::MouseButton pointerButtons, QAction *action);
 
  130    void registerAxisShortcut(Qt::KeyboardModifiers modifiers, 
PointerAxisDirection axis, QAction *action);
 
  131    void registerTouchpadSwipeShortcut(
SwipeDirection direction, uint32_t fingerCount, QAction *onUp, std::function<
void(qreal)> progressCallback = {});
 
  132    void registerTouchpadPinchShortcut(PinchDirection direction, uint32_t fingerCount, QAction *onUp, std::function<
void(qreal)> progressCallback = {});
 
  133    void registerTouchscreenSwipeShortcut(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function<
void(qreal)> progressCallback = {});
 
  134    void forceRegisterTouchscreenSwipeShortcut(SwipeDirection direction, uint32_t fingerCount, QAction *action, std::function<
void(qreal)> progressCallback = {});
 
  135    void registerGlobalAccel(KGlobalAccelInterface *interface);
 
  137    bool supportsPointerWarping() 
const;
 
  138    void warpPointer(
const QPointF &pos);
 
  147    void prependInputEventFilter(InputEventFilter *filter);
 
  148    void uninstallInputEventFilter(InputEventFilter *filter);
 
  153    void installInputEventSpy(InputEventSpy *spy);
 
  158    void uninstallInputEventSpy(InputEventSpy *spy);
 
  160    void simulateUserActivity();
 
  162    void addIdleDetector(IdleDetector *detector);
 
  163    void removeIdleDetector(IdleDetector *detector);
 
  165    QList<Window *> idleInhibitors() 
const;
 
  166    void addIdleInhibitor(
Window *inhibitor);
 
  167    void removeIdleInhibitor(
Window *inhibitor);
 
  169    Window *findToplevel(
const QPointF &pos);
 
  170#if KWIN_BUILD_GLOBALSHORTCUTS 
  171    GlobalShortcutsManager *shortcuts()
 const 
  191    template<
class UnaryPredicate>
 
  194        std::any_of(m_filters.constBegin(), m_filters.constEnd(), function);
 
 
  210    template<
class UnaryFunction>
 
  213        std::for_each(m_spies.constBegin(), m_spies.constEnd(), function);
 
 
  236    void setLastInputHandler(QObject *device);
 
  237    QObject *lastInputHandler() 
const;
 
  239    QList<InputDevice *> devices() 
const;
 
  242    bool hasPointer() 
const;
 
  243    bool hasTouch() 
const;
 
  244    bool hasTabletModeSwitch();
 
  246    void startInteractiveWindowSelection(std::function<
void(
KWin::Window *)> callback, 
const QByteArray &cursorName);
 
  247    void startInteractivePositionSelection(std::function<
void(
const QPoint &)> callback);
 
  248    bool isSelectingWindow() 
const;
 
  250    void toggleTouchpads();
 
  251    void enableTouchpads();
 
  252    void disableTouchpads();
 
  306    void handleInputConfigChanged(
const KConfigGroup &group);
 
  307    void updateScreens();
 
  310    void setupInputBackends();
 
  311    void setupTouchpadShortcuts();
 
  312    void setupWorkspace();
 
  313    void setupInputFilters();
 
  315    void updateLeds(LEDs leds);
 
  316    void updateAvailableInputDevices();
 
  317    void addInputBackend(std::unique_ptr<InputBackend> &&inputBackend);
 
  322    QObject *m_lastInputDevice = 
nullptr;
 
  324#if KWIN_BUILD_GLOBALSHORTCUTS 
  328    std::vector<std::unique_ptr<InputBackend>> m_inputBackends;
 
  329    QList<InputDevice *> m_inputDevices;
 
  331    QList<IdleDetector *> m_idleDetectors;
 
  332    QList<Window *> m_idleInhibitors;
 
  333    std::unique_ptr<WindowSelectorFilter> m_windowSelector;
 
  335    QList<InputEventFilter *> m_filters;
 
  336    QList<InputEventSpy *> m_spies;
 
  337    KConfigWatcher::Ptr m_inputConfigWatcher;
 
  339    std::unique_ptr<InputEventFilter> m_virtualTerminalFilter;
 
  340    std::unique_ptr<InputEventFilter> m_dragAndDropFilter;
 
  341    std::unique_ptr<InputEventFilter> m_lockscreenFilter;
 
  342    std::unique_ptr<InputEventFilter> m_screenEdgeFilter;
 
  343    std::unique_ptr<InputEventFilter> m_tabboxFilter;
 
  344    std::unique_ptr<InputEventFilter> m_globalShortcutFilter;
 
  345    std::unique_ptr<InputEventFilter> m_effectsFilter;
 
  346    std::unique_ptr<InputEventFilter> m_interactiveMoveResizeFilter;
 
  347    std::unique_ptr<InputEventFilter> m_popupFilter;
 
  348    std::unique_ptr<InputEventFilter> m_decorationFilter;
 
  349    std::unique_ptr<InputEventFilter> m_windowActionFilter;
 
  350    std::unique_ptr<InputEventFilter> m_internalWindowFilter;
 
  351    std::unique_ptr<InputEventFilter> m_inputKeyboardFilter;
 
  352    std::unique_ptr<InputEventFilter> m_forwardFilter;
 
  353    std::unique_ptr<InputEventFilter> m_tabletFilter;
 
  355    std::unique_ptr<InputEventSpy> m_hideCursorSpy;
 
  356    std::unique_ptr<InputEventSpy> m_userActivitySpy;
 
  357    std::unique_ptr<InputEventSpy> m_windowInteractedSpy;
 
  360    bool m_hasKeyboard = 
false;
 
  361    bool m_hasPointer = 
false;
 
  362    bool m_hasTouch = 
false;
 
  363    bool m_hasTabletModeSwitch = 
false;
 
  364    bool m_touchpadsEnabled = 
true;
 
 
  410    virtual bool pointerEvent(
MouseEvent *event, quint32 nativeButton);
 
  411    virtual bool pointerFrame();
 
  425    virtual bool keyEvent(
KeyEvent *event);
 
  426    virtual bool touchDown(qint32 
id, 
const QPointF &pos, std::chrono::microseconds time);
 
  427    virtual bool touchMotion(qint32 
id, 
const QPointF &pos, std::chrono::microseconds time);
 
  428    virtual bool touchUp(qint32 
id, std::chrono::microseconds time);
 
  429    virtual bool touchCancel();
 
  430    virtual bool touchFrame();
 
  432    virtual bool pinchGestureBegin(
int fingerCount, std::chrono::microseconds time);
 
  433    virtual bool pinchGestureUpdate(qreal scale, qreal angleDelta, 
const QPointF &delta, std::chrono::microseconds time);
 
  434    virtual bool pinchGestureEnd(std::chrono::microseconds time);
 
  435    virtual bool pinchGestureCancelled(std::chrono::microseconds time);
 
  437    virtual bool swipeGestureBegin(
int fingerCount, std::chrono::microseconds time);
 
  438    virtual bool swipeGestureUpdate(
const QPointF &delta, std::chrono::microseconds time);
 
  439    virtual bool swipeGestureEnd(std::chrono::microseconds time);
 
  440    virtual bool swipeGestureCancelled(std::chrono::microseconds time);
 
  442    virtual bool holdGestureBegin(
int fingerCount, std::chrono::microseconds time);
 
  443    virtual bool holdGestureEnd(std::chrono::microseconds time);
 
  444    virtual bool holdGestureCancelled(std::chrono::microseconds time);
 
  449    virtual bool tabletToolButtonEvent(uint button, 
bool pressed, 
const TabletToolId &tabletToolId, std::chrono::microseconds time);
 
  450    virtual bool tabletPadButtonEvent(uint button, 
bool pressed, 
const TabletPadId &tabletPadId, std::chrono::microseconds time);
 
  451    virtual bool tabletPadStripEvent(
int number, 
int position, 
bool isFinger, 
const TabletPadId &tabletPadId, std::chrono::microseconds time);
 
  452    virtual bool tabletPadRingEvent(
int number, 
int position, 
bool isFinger, 
const TabletPadId &tabletPadId, std::chrono::microseconds time);
 
  455    void passToWaylandServer(QKeyEvent *event);
 
  456    bool passToInputMethod(QKeyEvent *event);