GtkEventController in Gtk-3.24 & gtk_widget_add_controller
I tryed the GtkEventController in Gtk-3.24
........
GtkEventController* controller = gtk_event_controller_key_new ();
g_signal_connect (controller, "key-pressed", (GCallback) keypress_cb, NULL);
gtk_event_controller_set_propagation_phase ((GtkEventController*) controller, GTK_PHASE_CAPTURE);
gtk_widget_add_controller ((GtkWidget*) window, controller);
........
gboolean keypress_cb (guint keyval,
guint keycode,
GdkModifierType mod) {
g_debug ("Gtk.EventController:\nkeyval = %u\nkeycode = %u\nmod = %d\n", keyval, keycode, mod);
switch (keyval) {
case GDK_KEY_KP_Right:
if (mod == GDK_CONTROL_MASK) {
g_debug ("pressed: Ctrl + KP_Right");
}
break;
default:
return FALSE;
}
return TRUE;
}
When I compile this code with Gtk4 it works. But in Gtk-3.24 there is no gtk_widget_add_controller
and I can't make it work without gtk_widget_add_controller
. So it should be?