私は、Debianを実行しているパネルタッチスクリーンコンピュータで動作するように設計されたElectronアプリケーションを開発しています。デスクトップ設定で画面キーボードパッドを有効にして、端末などの他のアプリケーションに表示されることがわかります。ただし、テキスト入力にフォーカスがあると、電子アプリに画面キーボードは表示されません。私はこれがChromiumにとって何らかの奇妙な点である可能性があることを読んだ(参照)https://askubuntu.com/questions/939616/why-the-onboard-on-screen-keyboard-doesnt-auto-show-in-google-chrome)しかし、解決策が見つかりませんでした。私の質問は2つの部分に分かれているようです。 1 - Electronがgnome 3内蔵キーボードと完全に機能するようにする方法はありますか? 2 - 画面キーボードを表示または非表示にするために呼び出すことができるプログラムはありますか?
私のターゲットオペレーティングシステムは、Gnomeデスクトップを含むDebianバージョン10.3です。
答え1
多くの研究の後、私はGnomeのオンスクリーンキーボードを実行するためにGTKを中心にアプリケーションを開発する必要があることがわかりました。これを実行できないすべてのアプリケーションは、Gnomeデスクトップの「外部」アプリケーションと見なされます。明らかにChromeはこのカテゴリに属し、ElectronもChromiumに基づいてアプリを構築しています。それにもかかわらず、外部アプリケーションは依然としてdbusを介してスクリーンキーボードイベントを送信できます。問題の場所はhttps://stackoverflow.com/questions/51434141/centos-on-screen-keyboard-not-showing-for-jawa-swing-text-entry-fields/51476903#51476903このプロセスについて説明します。キーボードを開くには:
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