diff options
-rw-r--r-- | vito.c | 32 |
1 files changed, 25 insertions, 7 deletions
@@ -138,12 +138,6 @@ void backspace(void) } } -static int pressed(GtkWidget *widget, gpointer data) -{ - aeGetTime(&pressed_time_sec,&pressed_time_msec); - return TRUE; -} - static void write_buf(void) { GtkTextBuffer *text_buffer; @@ -159,6 +153,24 @@ static void write_buf(void) gtk_text_buffer_apply_tag(text_buffer, tag, &start, &end); } +static int pressed2(GtkWidget *widget, gpointer data) +{ + backspace(); + write_buf(); + return TRUE; +} + +static int released2(GtkWidget *widget, gpointer data) +{ + return TRUE; +} + +static int pressed(GtkWidget *widget, gpointer data) +{ + aeGetTime(&pressed_time_sec,&pressed_time_msec); + return TRUE; +} + static int released(GtkWidget *widget, gpointer data) { const char *current_char; @@ -242,6 +254,7 @@ static void activate(GtkApplication *app, gpointer user_data) GtkCssProvider *provider; GtkStyleContext *context; GtkGesture *gesture; + GtkGesture *gesture2; GtkEventController *event_controller; window = gtk_application_window_new(app); @@ -250,9 +263,14 @@ static void activate(GtkApplication *app, gpointer user_data) event_controller = gtk_event_controller_key_new(); g_signal_connect(event_controller, "key-pressed", G_CALLBACK(on_key_press), NULL); - //gtk_event_controller_set_propagation_phase ((GtkEventController*) event_controller, GTK_PHASE_CAPTURE); gtk_widget_add_controller(window, event_controller); + gesture2 = gtk_gesture_click_new(); + gtk_gesture_single_set_button(GTK_GESTURE_SINGLE (gesture2), 3); + g_signal_connect(gesture2, "pressed", G_CALLBACK(pressed2), NULL); + g_signal_connect(gesture2, "released", G_CALLBACK(released2), NULL); + gtk_widget_add_controller(window, GTK_EVENT_CONTROLLER(gesture2)); + gesture = gtk_gesture_click_new(); g_signal_connect(gesture, "pressed", G_CALLBACK(pressed), NULL); g_signal_connect(gesture, "released", G_CALLBACK(released), NULL); |