gtkを使用して、Cで小さなグラフィカルプログラムを作成しています。既存のGTKアプリケーションを削除せずにキーをバインドします。
私はESCAPボタンを押したときに私は、キーボードショートカットを作成するために、アプリケーションの終了を管理:
gboolean on_key_press (GtkWidget *widget, GdkEventKey *event, gpointer data){
switch(event->keyval){
case GDK_Escape:
gtk_main_quit();
break;
}
return TRUE;
}
私はGUIを作成するときに、私はキーの押下を検出するために、このコードを持っている:
g_signal_connect(G_OBJECT (window), "key_press_event", G_CALLBACK(on_key_press), pCtxt);
問題は、TABキーを使用してボタンを選択する、またはgtk_entryにテキストを入力するなど、あらゆる種類の対話を無効にすることです。
keypressイベントのデフォルトの動作を破棄することなく、キーボードショートカットを使用するにはどうすればよいですか?
あなたは私の全質問を読まなかった。 「キー押下イベントのデフォルト動作を破棄することなく、キーボードショートカットを使用するにはどうしたらよいですか?」 – user96649