chiark / gitweb /
In GTK frontend, bind mouse8/mouse9 to undo/redo.
authorJonas Kölker <jonaskoelker@yahoo.com>
Fri, 2 Oct 2015 16:17:15 +0000 (18:17 +0200)
committerSimon Tatham <anakin@pobox.com>
Wed, 14 Oct 2015 20:22:44 +0000 (21:22 +0100)
These button codes are generated by the back/forward button pair on
the sides of some mice, and web browsers treat these as the back and
forward actions in the page history.

gtk.c

diff --git a/gtk.c b/gtk.c
index 0333e5466223385d1afb52f945ff24415d3f3063..94a072216902fbc21398e95535c136b5c30b74d0 100644 (file)
--- a/gtk.c
+++ b/gtk.c
@@ -1205,10 +1205,14 @@ static gint button_event(GtkWidget *widget, GdkEventButton *event,
        button = RIGHT_BUTTON;
     else if (event->button == 1)
        button = LEFT_BUTTON;
+    else if (event->button == 8 && event->type == GDK_BUTTON_PRESS)
+        button = 'u';
+    else if (event->button == 9 && event->type == GDK_BUTTON_PRESS)
+        button = 'r';
     else
        return FALSE;                  /* don't even know what button! */
 
-    if (event->type == GDK_BUTTON_RELEASE)
+    if (event->type == GDK_BUTTON_RELEASE && button >= LEFT_BUTTON)
         button += LEFT_RELEASE - LEFT_BUTTON;
 
     if (!midend_process_key(fe->me, event->x - fe->ox,