如何在 Qt 应用程序中使用 "weston-keyboard" virtual/on-screen 键盘
How to use "weston-keyboard" virtual/on-screen keyboard with a Qt application
我有一个使用 Wayland Weston 显示合成器的嵌入式 linux 显示(Yocto 构建),我正在为此开发 Qt 应用软件,目标是 Qt 5.9.4。
我的应用程序 运行 成功并且文本输入 UI 字段在 USB 键盘上工作正常,但是尽管进行了一天的谷歌搜索和实验,我还是看不到 virtual/on-screen 据称由 Weston 合成器提供的键盘。显示上有"weston-keyboard"进程运行,但没有任何地方出现弹出屏幕键盘的迹象。
有谁知道从应用程序端到 show/activate 虚拟键盘是否有什么特别需要做的(根据我的各种阅读,我的印象应该是 "just work") ,或者我应该怀疑操作系统构建中存在缺陷?
Qt 应用程序使用 Wayland 协议扩展 zwp_text_input_manager_v2
与合成器就虚拟键盘进行通信。
据我所知,Weston 不支持它(您可以查看 运行ning weston-info
.
支持哪些扩展
因此,如果合成器未实现该确切版本,Qt 客户端将认为合成器不支持它(即使它可能实现 zxdg_text_input_manager_v1
and/or zxdg_text_input_manager_v3
.
对于 zwp_text_input_manager_v2
,您可以 运行 kwin 或基于 Qt Wayland 的合成器。有关如何执行此操作的信息,请参阅 qwayland
存储库中的 pure-qml
示例。
通过在客户端设置 QT_IM_MODULE=qtvirtualkeyboard,Qt 虚拟键盘也可以 运行 作为每个客户端的一部分。
过一会儿有official documentation on the way regarding this. Hopefully, it will show up here。
我有一个使用 Wayland Weston 显示合成器的嵌入式 linux 显示(Yocto 构建),我正在为此开发 Qt 应用软件,目标是 Qt 5.9.4。
我的应用程序 运行 成功并且文本输入 UI 字段在 USB 键盘上工作正常,但是尽管进行了一天的谷歌搜索和实验,我还是看不到 virtual/on-screen 据称由 Weston 合成器提供的键盘。显示上有"weston-keyboard"进程运行,但没有任何地方出现弹出屏幕键盘的迹象。
有谁知道从应用程序端到 show/activate 虚拟键盘是否有什么特别需要做的(根据我的各种阅读,我的印象应该是 "just work") ,或者我应该怀疑操作系统构建中存在缺陷?
Qt 应用程序使用 Wayland 协议扩展 zwp_text_input_manager_v2
与合成器就虚拟键盘进行通信。
据我所知,Weston 不支持它(您可以查看 运行ning weston-info
.
因此,如果合成器未实现该确切版本,Qt 客户端将认为合成器不支持它(即使它可能实现 zxdg_text_input_manager_v1
and/or zxdg_text_input_manager_v3
.
对于 zwp_text_input_manager_v2
,您可以 运行 kwin 或基于 Qt Wayland 的合成器。有关如何执行此操作的信息,请参阅 qwayland
存储库中的 pure-qml
示例。
通过在客户端设置 QT_IM_MODULE=qtvirtualkeyboard,Qt 虚拟键盘也可以 运行 作为每个客户端的一部分。
过一会儿有official documentation on the way regarding this. Hopefully, it will show up here。