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

4
我有一个嵌入式的Linux显示器(使用Yocto构建),使用Wayland Weston显示合成器,我正在开发针对Qt 5.9.4的应用程序软件。我的应用程序已经成功运行,使用USB键盘时文本输入UI字段正常工作,但是尽管我花了一整天时间进行谷歌搜索和实验,我仍然看不到由Weston合成器提供的虚拟/屏幕键盘的任何迹象。显示器上运行着一个“weston-keyboard”进程,但是没有任何弹出屏幕键盘的迹象。是否有人知道是否需要从应用程序软件端做些特别的事情来显示/激活虚拟键盘(从我的各种阅读中,我得到的印象应该是“只需运行”),还是我应该怀疑操作系统构建中存在缺陷?
1个回答

1
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_IM_MODULE=qtvirtualkeyboard,还可以作为每个客户端的一部分运行 Qt 虚拟键盘。

关于这个问题,官方文档正在制作中。希望不久后会出现在这里


weston-info 在该设备上运行返回'zwp_text_input_manager_v1'。我甚至还没有考虑Qt虚拟键盘。 我正在进行一项商业开发,不能将GPL代码混入其中,因此必须获得商业许可证。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接