Возьми что-ли существующий пример с GtkUIManager, чтобы так сильно не путаться. С GtkUIManager проще всего ускорителей понаделать.
Ты ускоритель на сигнал "activate_default" повесил, при чём здесь "can_activate_accel"? "can_activate_accel" служит для перехвата сигналов в дочерних классах. Функция gtk_widget_add_accelerator очень простая - после нажатия на одну заданную клавишу будет порождён сигнал. При этом не различается, какая клавиша нажата и т.д. Преимущество acceloв - пользователь их может изменять, но используются они в основном только в меню.
Правильнее того же эффекта добиться, перехватив сигнал key_pressed или использовав GtkBindings. Ну это если класс оформлен отдельный.