2016-06-29 3 views
0

Gtk CのGUIアプリケーションをビルドしようとしており、マウスやキーボードを使用できません。私の入力デバイスは、シリアルポートを持つアプリケーションに接続された外部キーパッドです。gtk + cコードからタブキーをシミュレートする

私の問題は、私は私のキーパッドのキーは(GUIアプリケーションでタブキーを使用しているときのように)押されたときに、私の形でいくつかのGtkButtonsを切り替えたいということです。

は、ここで私はこれまで試したものです:

 GTK_WIDGET_GET_CLASS(widget)->move_focus(widget,GTK_DIR_TAB_FORWARD); 

しかし、問題は、私は実際に私のキーボード上タブキーを押すまでピントが表示されていないということです。アプリケーションを実行すると、何も起こっていないように見えますが、Tabを一度押すと、フォーカスが変更されていることがわかります。

私は間違っていますか?

+0

私がこの問題を理解している場合は、GTKアプリケーションの入力用に使用する外部キーパッドがあり、 'tab'キーが必要です。これはおそらく、キーパッドで押すキーをフォーム上でフォーカスを移動できる「タブ」または他のキーに変換するカスタム入力ハンドラを記述する必要がある場合です。 * gtkカスタム入力キーハンドラ*を検索し、gtk2とgtk3の両方の例をいくつか挙げることができます。 –

+0

@ DavidC.Rankin私はすでに何とか必要なキーをすべて処理しました。うまく動作しないのはこのタブキーだけです。私が望むことをやるためのより良い、早い方法があると思います。 –

答えて

1

トップレベルウィンドウの場合、Tabキーを使用するコードにキーボードTABキーを使用してそのウィンドウ内のウィジェットにアクセスできるので、GtkWindowがTOP LEVELタイプであることを確認してください。 より正確なソリューションのためにコードを掲載してください。

関連する問題