From 7e6d6f207b54af9c397a0b2bbc380a02d2975ce0 Mon Sep 17 00:00:00 2001 From: Weng Xuetian Date: Sun, 11 Feb 2024 15:30:42 -0800 Subject: Prefer text-input-v2 over text-input-v3 for now Qt's current text-input-v3 is converted from text-input-v4, but it's current state is poor and does not support the same feature like v2. KWin is the only major party that implements text-input-v2 and many feature e.g. Plasma-mobile would require v2 feature to provide the complete support. Until v3 is as good as v2, prefer v2 over v3 should provide a smoother experience on KWin (for both 5/6) out of box and won't affect other compositor. Pick-to: 6.7 Change-Id: Iebfe20cfd61f4a96018c4d41a9c4c706b18c7199 Reviewed-by: David Edmundson --- src/client/qwaylanddisplay.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/client') diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp index da29980c7..7bc8d1889 100644 --- a/src/client/qwaylanddisplay.cpp +++ b/src/client/qwaylanddisplay.cpp @@ -558,13 +558,17 @@ void QWaylandDisplay::blockingReadEvents() void QWaylandDisplay::checkTextInputProtocol() { QStringList tips, timps; // for text input protocols and text input manager protocols + // zwp_text_input_v2 is preferred over zwp_text_input_v3 because: + // - Currently, v3 is not as feature rich as v2. + // - While v2 is not upstreamed, it is well supported by KWin since Plasma 5 and Plasma + // Mobile uses some v2 only. tips << QLatin1String(QtWayland::qt_text_input_method_v1::interface()->name) - << QLatin1String(QtWayland::zwp_text_input_v3::interface()->name) << QLatin1String(QtWayland::zwp_text_input_v2::interface()->name) + << QLatin1String(QtWayland::zwp_text_input_v3::interface()->name) << QLatin1String(QtWayland::zwp_text_input_v1::interface()->name); timps << QLatin1String(QtWayland::qt_text_input_method_manager_v1::interface()->name) - << QLatin1String(QtWayland::zwp_text_input_manager_v3::interface()->name) << QLatin1String(QtWayland::zwp_text_input_manager_v2::interface()->name) + << QLatin1String(QtWayland::zwp_text_input_manager_v3::interface()->name) << QLatin1String(QtWayland::zwp_text_input_manager_v1::interface()->name); QString tiProtocols = QString::fromLocal8Bit(qgetenv("QT_WAYLAND_TEXT_INPUT_PROTOCOL")); -- cgit v1.2.3