From b2d44af7d36f31e7497539ef9199d17b3ed519dd Mon Sep 17 00:00:00 2001 From: tlatorre Date: Sat, 12 Nov 2022 14:06:11 -0600 Subject: update code so right click is same as backspace --- vito.c | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/vito.c b/vito.c index 41e763c..2356455 100644 --- a/vito.c +++ b/vito.c @@ -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); -- cgit