2

I have a embedded linux display (Yocto build) that uses the Wayland Weston display compositor, for which I am developing Qt application software, targeting Qt 5.9.4.

My application is running successfully and text input UI fields are working fine with a USB keyboard, however despite a day of Googling and experimentation I can't see any sign of the virtual/on-screen keyboard that is supposedly provided by the Weston compositor. There is a "weston-keyboard" process running on the display, but there is no sign of a popup on-screen keyboard appearing anywhere.

Does anyone know if there is anything in particular that needs to be done from the application software end to show/activate the virtual keyboard (from my assorted readings I get the impression it should "just work"), or should I be suspecting a flaw in the operating system build?

Richard Lang
  • 456
  • 4
  • 15

1 Answers1

1

Qt applications use the Wayland protocol extension, zwp_text_input_manager_v2, to communicate to the compositor about the virtual keyboard.

As far as I know it's not supported by Weston (you can check what extension are supported by running weston-info.

So if that exact version is not implemented by the compositor, the Qt client will think that the compositor doesn't support it (even though it may implement zxdg_text_input_manager_v1 and/or zxdg_text_input_manager_v3.

For zwp_text_input_manager_v2, you could either run kwin, or a Qt Wayland-based compositor. See the pure-qml example in the qwayland repository for how to do this.

The Qt virtual keyboard can also be run as part of each client by setting QT_IM_MODULE=qtvirtualkeyboard on the client side.

There's official documentation on the way regarding this. Hopefully, it will show up here after a while.

bobbaluba
  • 3,584
  • 2
  • 31
  • 45
  • `weston-info` run on the device in question is returning 'zwp_text_input_manager_v1'. I haven't even considered the Qt virtual keyboard at this point. I'm working on a commercial development that I can't mix GPL code into, so would have to pick up a commercial license. – Richard Lang Aug 24 '18 at 21:11