Как я могу перехватить нажатие клавиши CTRL в функции "drawingarea_button_press_event_cb" приложения GTK +?
void drawingarea_button_press_event_cb( GtkWidget *widget, GdkEventButton *event ) { ........ }
Проверьте поле <a href="http://library.gnome.org/devel/gdk/stable/gdk-Event-Structures.html#GdkEventButton.state" rel="nofollow">state</a> структуры GdkEventButton.Он будет иметь установленный бит GDK_CONTROL_MASK, если удерживается Control:
<a href="http://library.gnome.org/devel/gdk/stable/gdk-Event-Structures.html#GdkEventButton.state" rel="nofollow">state</a>
GdkEventButton
GDK_CONTROL_MASK
if(event->state & GDK_CONTROL_MASK) printf("You're totally in control!\n");