当用户按下可编辑的UI组件时,在Linux中自动启动键盘

当用户按下可编辑的UI组件时,在Linux中自动启动键盘,第1张

概述问题陈述: Linux环境中需要虚拟键盘,每次用户按下可编辑的UI组件时都应启动虚拟键盘,如iPhone,iPad, Android等虚拟键盘. 解决方案概述:作为虚拟键盘的基础是matchbox-keyboard,它是一个开源应用程序并提供丰富的功能.自动切换的机制通过修改QT和GTK的源来解决,以便在“on_press”信号上发送Dbus信号(当用户按下可编辑的UI comp时)到某个守护进程 问题陈述: Linux环境中需要虚拟键盘,每次用户按下可编辑的UI组件时都应启动虚拟键盘,如iPhone,iPad,Android等虚拟键盘.

解决方案概述:作为虚拟键盘的基础是matchBox-keyboard,它是一个开源应用程序并提供丰富的功能.自动切换的机制通过修改QT和GTK的源来解决,以便在“on_press”信号上发送Dbus信号(当用户按下可编辑的UI comp时)到某个守护进程,该守护进程打开虚拟键盘.

问题:当用户按下或点击UI组件时,即在QT和GTK的“on_click”事件期间,发送“on_press”Dbus信号.虚拟键盘隐藏在QT和GTK的“focus_out”事件上.在“focus_in”事件期间键盘未打开,因为启动时某些应用程序发出“focus_in”事件片刻然后发出“focus_out”事件,因此虚拟键盘显示的时间很短,然后隐藏,这是不准确的.这是通过在“on_click”GTK和QT事件期间生成“on_press”Dbus信号来解决的.

所以现在我有另一个问题.

>让我们说用户按下了可编辑的盒子,出现了虚拟键盘,
“on_click”(GTK,QT事件) – > “on_press”(Dbus信号) – >虚拟键盘已启动
>然后用户按Tab键切换到其他可编辑框.
“focus_out”(GTK,QT事件) – > “hIDe_keyboard”(Dbus信号) – >虚拟键盘被隐藏,不会再次启动.

发生这种情况是因为第二个可编辑框发出“focus_in”事件而不是“on_click”事件.

因此,当用户在带有标签按钮的可编辑框之间切换时,请帮助找到解决方案.或者,如果您有完全其他解决方案,请提出建议.

提前致谢,
列翁

解决方法 我是佛罗伦萨虚拟键盘的作者: http://florence.sourceforge.net. 我使用at-spi(http://en.wikipedia.org/wiki/Assistive_Technology_Service_ProvIDer_Interface)来解决问题. at-spi的优势在于它不仅适用于GTK和Qt,还适用于java,firefox和libre / OpenOffice. 总结

以上是内存溢出为你收集整理的当用户按下可编辑的UI组件时,在Linux中自动启动键盘全部内容,希望文章能够帮你解决当用户按下可编辑的UI组件时,在Linux中自动启动键盘所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1031394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存