Details
-
Bug
-
Resolution: Invalid
-
P2: Important
-
None
-
5.6.1
-
None
Description
If the Wayland server doesn't have the capability keyboard it's not possible to activate input method integration as QtWayland doesn't update the QGuiApplication::focusObject on touch events.
This is experienced on a setup using maliit through the QT_IM_MODULE=maliit.
For comparison a log of MALIIT_DEBUG=1 with keyboard focus passed to a surface:
void MInputContext::onDBusConnection()
virtual void MInputContext::showInputPanel()
MInputContext in virtual void MInputContext::update(Qt::InputMethodQueries)
MInputContext in virtual void MInputContext::setFocusObject(QObject*)
TextInputWithHandles_QMLTYPE_77(0xe48420)
MInputContext void MInputContext::updateInputMethodExtensions()
MInputContext in virtual void MInputContext::update(Qt::InputMethodQueries)
MInputContext in virtual void MInputContext::update(Qt::InputMethodQueries)
virtual void MInputContext::showInputPanel()
For a setup without Keyboard and only touch support this looks like:
void MInputContext::onDBusConnection()
virtual void MInputContext::showInputPanel()
MInputContext in virtual void MInputContext::update(Qt::InputMethodQueries)
virtual void MInputContext::showInputPanel()
We can see that the focus object is never updated, thus the input method module is not getting activated, although showing the input panel is activated. Thus it's impossible to interact with a QWindow on Wayland without the keyboard surface being focused.