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

Control Visibility of Gnome-3 On Screen Keyboard in Electron App

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

我的目标 OS 是带有 Gnome 桌面的 Debian 版本 10.3。

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

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