アレ

f.10 が GTK+ のメニューに乗っ取られているのは gtksetting.c:gtk_settings_class_init() でそういうアクセラレータが登録されているからなのであった。

  result = settings_install_property_parser (class,
                                             g_param_spec_string ("gtk-menu-bar-accel",
                                                                  P_("Menu bar accelerator"),
                                                                  P_("Keybinding to activate the menu bar"),
                                                                  "F10",
                                                                  G_PARAM_READWRITE),
                                             NULL);

とりあえず "F10" を他の適当なキーに書き換えてみたら、f.10 キーの GDK_KEY_PRESS イベントは自 widget の key_press_event ハンドラまで到達する様になった。

/* GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); */
gchar *accel;

/* ここでメニューやら他の widget を作成している */

g_object_get(gtk_widget_get_settings(window), "gtk-menu-bar-accel", &accel, NULL);
if (accel) {
    /* とりあえず Menu キーに変更してみる */
    g_object_set(gtk_widget_get_settings(window), "gtk-menu-bar-accel", "Menu", NULL);
    g_free(accel);
}

GDK_F10grep してみても見つからない筈だよ…。