我正在开发一个电子应用程序,它打算在运行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。
发布于 2021-05-10 21:52:56
经过相当多的研究,我了解到,为了触发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:0https://stackoverflow.com/questions/67327242
复制相似问题