如何在Qt应用程序中使用"weston-keyboard"虚拟/屏幕键盘



我有一个嵌入式Linux显示器(Yocto构建(,它使用Wayland Weston显示合成器,我正在为此开发Qt应用软件,目标是Qt 5.9.4。

我的应用程序运行成功,文本输入 UI 字段在 USB 键盘上工作正常,但是尽管进行了一天的谷歌搜索和实验,但我看不到任何据称由 Weston 合成器提供的虚拟/屏幕键盘的迹象。 显示屏上有一个"weston-keyboard"进程,但没有迹象表明屏幕上的键盘在任何地方出现弹出。

有谁知道是否需要从应用程序软件端完成任何特别的事情来显示/激活虚拟键盘(从我的各种读数中,我得到的印象是它应该"正常工作"(,或者我应该怀疑操作系统构建中的缺陷?

Qt应用程序使用Wayland协议扩展zwp_text_input_manager_v2与合成器进行有关虚拟键盘的通信。

据我所知,Weston 不支持它(您可以查看运行weston-info支持哪些扩展。

因此,如果合成器没有实现该确切版本,Qt客户端将认为合成器不支持它(即使它可能实现zxdg_text_input_manager_v1和/或zxdg_text_input_manager_v3

对于zwp_text_input_manager_v2,你可以运行kwin,或者基于Qt Wayland的合成器。有关如何执行此操作,请参阅qwayland存储库中的pure-qml示例。

Qt虚拟键盘也可以通过在客户端设置QT_IM_MODULE=qtvirtualkeyboard作为每个客户端的一部分运行。

关于这一点,有官方文件。希望一段时间后它会出现在这里。

最新更新