微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在电子应用程序中控制 Gnome-3 屏幕键盘的可见性

如何解决在电子应用程序中控制 Gnome-3 屏幕键盘的可见性

我正在开发一个 Electron 应用程序,该应用程序旨在在运行 Debian 的面板触摸屏计算机上运行。我在桌面设置中启用了屏幕键盘板,并且可以在其他应用程序(例如终端)中看到它出现。但是,当文本输入获得焦点时,屏幕键盘不会出现在我的电子应用程序中。我读到这可能是 Chromium 的某种奇怪之处(请参阅 https://askubuntu.com/questions/939616/why-the-onboard-on-screen-keyboard-doesnt-auto-show-in-google-chrome),但找不到任何解决方法。 我想我的问题分为两部分: 1 - 我能做些什么来让 Electron 与 gnome 3 内置键盘一起很好地玩吗? 2 - 有没有我可以调用的程序来显示和/或隐藏屏幕键盘

我的目标操作系统是带有 Gnome 桌面的 Debian 10.3 版。

解决方法

经过大量研究,我了解到,为了触发 Gnome 的屏幕键盘,必须围绕 GTK 开发一个应用程序。任何未能这样做的应用程序都被视为 Gnome 桌面上的“外来”应用程序。显然,Chrome 属于这一类,Electron 构建的应用程序也属于这一类,因为它们是基于 Chromium 构建的。 尽管如此,外部应用程序仍然可以通过 dbus 发送屏幕键盘事件。 CentOS On screen keyboard not showing for Jawa Swing Text entry fields 处的问题将这些事件描述如下: 打开键盘:

dbus-send --type=method_call --dest=org.gnome.Caribou.Keyboard /org/gnome/Caribou/Keyboard org.gnome.Caribou.Keyboard.Show uint32:0

要关闭键盘:

dbus-send --type=method_call --dest=org.gnome.Caribou.Keyboard /org/gnome/Caribou/Keyboard org.gnome.Caribou.Keyboard.Hide uint32:0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。