diff options
author | Liang Qi <liang.qi@qt.io> | 2021-09-08 15:45:50 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2021-10-07 12:13:01 +0200 |
commit | 99a6eb7b79471114705d7c68b0d5b388ea16ac03 (patch) | |
tree | 483af2a9ca42b298c7846081f9b94f0f854fa56f /src/client/qwaylanddisplay_p.h | |
parent | a572df8ac61d6009a1863ac7216e6abdd24df3cd (diff) |
Support different text input protocols
from clients and one compositor at same time.
For compositor side, just need to have TextInputManager and
QtTextInputMethodManager together.
For client side, set QT_WAYLAND_TEXT_INPUT_PROTOCOL env to choose:
* If the env is unset(empty) or invalid, it will search
qt_text_input_method_v1 and zwp_text_input_v2 in order
* Set as "qt_text_input_method_v1" or "zwp_text_input_v2" if compositor
supports
* Set as "zwp_text_input_v2;qt_text_input_method_v1"
Change-Id: Ieec293ff412bf2d3e5ca9c69a951bfe1899cc808
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/client/qwaylanddisplay_p.h')
-rw-r--r-- | src/client/qwaylanddisplay_p.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h index 5fc7aec32..fc928ff3b 100644 --- a/src/client/qwaylanddisplay_p.h +++ b/src/client/qwaylanddisplay_p.h @@ -221,6 +221,7 @@ public: void dispatchQueueWhile(wl_event_queue *queue, std::function<bool()> condition, int timeout = -1); bool isKeyboardAvailable() const; + public slots: void blockingReadEvents(); void flushRequests(); @@ -231,6 +232,9 @@ private: void handleWaylandSync(); void requestWaylandSync(); + void checkTextInputProtocol(); + bool registerTextInputManager(const QStringList &protocols, int index); + struct Listener { Listener() = default; Listener(RegistryListener incomingListener, |