私はPy3のいくつかの特定の機能を制御するPyGtkアプリを書いています。このフルスクリーンGUI(2.8インチTFTタッチスクリーン経由)は、ユーザーがデバイスとやり取りするすべてのものです。マウス、キーボード、SSH、VNCなどはありません。テキストボックスがフォーカスを取得してからフォーカスが失われたときに仮想キーボードを表示する方法を実装する必要があります。仮想キーボードを数多く研究しましたが、Gtkサポートでこの機能を提供するように見える唯一のものはFlorenceです。入力されたテキストボックスは/がフォーカスを失った取得時に自動的に/非表示を表示することができません。Python PyGtk at-spiを使った仮想キーボードのサポート
フィレンツェは、イベント通知を取得するためにAT-SPIのフレームワークに依存しています。「フィレンツェモード」によると、(http://florence.sourceforge.net/english/usage.html)を
You should make sure your applications support at-spi if you intend to use Florence in hidden mode.
と
The auto hide mode requires accessibility to be activated, which means the at-spi registry daemon is running and applications are using it.
はまた、FAQ(http://florence.sourceforge.net/english/how-to.html)に応じて環境変数を設定する必要があります。
export GTK_MODULES=gail:atk-bridge
だから私は、で-SPIダウンロードした自動非表示モード用にフィレンツェを設定し、レジストリデーモンを実行し、環境変数が、無サイコロを設定します。 GUI上のテキストボックスにフォーカスがあると、キーボードは表示されません。
私は2つの質問があると思います。まず、私はフィレンツェに結びついていないので、別の解決策があればそれを実装することができます。しかし、第二に、私には分かりませんが、PyGtkのアプリを "spi on support"にする方法があります。環境変数以外の方法私のアプリがat-spiを使っていることを確認するにはどうすればよいですか?その点について私には明らかな文書はありません。