diff options
Diffstat (limited to 'src/client/qwaylandinputcontext_p.h')
-rw-r--r-- | src/client/qwaylandinputcontext_p.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/client/qwaylandinputcontext_p.h b/src/client/qwaylandinputcontext_p.h index 10132dfe1..50db63447 100644 --- a/src/client/qwaylandinputcontext_p.h +++ b/src/client/qwaylandinputcontext_p.h @@ -61,6 +61,10 @@ #include <QtWaylandClient/private/qwayland-text-input-unstable-v2.h> #include <qwaylandinputmethodeventbuilder_p.h> +#include <qtwaylandclientglobal_p.h> +#if QT_CONFIG(xkbcommon) +#include <xkbcommon/xkbcommon-compose.h> +#endif struct wl_callback; struct wl_callback_listener; @@ -155,11 +159,28 @@ public: void setFocusObject(QObject *object) override; +#if QT_CONFIG(xkbcommon) + bool filterEvent(const QEvent *event) override; + + // This invokable is called from QXkbCommon::setXkbContext(). + Q_INVOKABLE void setXkbContext(struct xkb_context *context) { m_XkbContext = context; } +#endif + private: QWaylandTextInput *textInput() const; QWaylandDisplay *mDisplay = nullptr; QPointer<QWindow> mCurrentWindow; + +#if QT_CONFIG(xkbcommon) + void ensureInitialized(); + + bool m_initialized = false; + QObject *m_focusObject = nullptr; + xkb_compose_table *m_composeTable = nullptr; + xkb_compose_state *m_composeState = nullptr; + struct xkb_context *m_XkbContext = nullptr; +#endif }; } |