diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-11-24 15:38:44 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-11-24 15:38:44 +0100 |
commit | 88e484bf1b0afb5f2dec44f19335729578ace66a (patch) | |
tree | b6b2c2f3bd3f879f7240b4abc4bbba53156faa2d | |
parent | 5ad075c0735d3d8b97708d17c22de8facb15f997 (diff) | |
download | vim-git-88e484bf1b0afb5f2dec44f19335729578ace66a.tar.gz |
patch 7.4.938v7.4.938
Problem: X11 and GTK have moure mouse buttons than Vim supports.
Solution: Recognize more mouse buttons. (Benoit Pierre, closes #498)
-rw-r--r-- | src/gui_gtk_x11.c | 20 | ||||
-rw-r--r-- | src/gui_x11.c | 5 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 16 insertions, 11 deletions
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index d19e61a8e..9b3bf61c7 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -1680,17 +1680,15 @@ button_press_event(GtkWidget *widget, switch (event->button) { - case 1: - button = MOUSE_LEFT; - break; - case 2: - button = MOUSE_MIDDLE; - break; - case 3: - button = MOUSE_RIGHT; - break; - default: - return FALSE; /* Unknown button */ + /* Keep in sync with gui_x11.c. + * Buttons 4-7 are handled in scroll_event() */ + case 1: button = MOUSE_LEFT; break; + case 2: button = MOUSE_MIDDLE; break; + case 3: button = MOUSE_RIGHT; break; + case 8: button = MOUSE_X1; break; + case 9: button = MOUSE_X2; break; + default: + return FALSE; /* Unknown button */ } #ifdef FEAT_XIM diff --git a/src/gui_x11.c b/src/gui_x11.c index 276930728..18a580590 100644 --- a/src/gui_x11.c +++ b/src/gui_x11.c @@ -1127,11 +1127,16 @@ gui_x11_mouse_cb(w, dud, event, dum) gui_x11_timer_cb, &timed_out); switch (event->xbutton.button) { + /* keep in sync with gui_gtk_x11.c */ case Button1: button = MOUSE_LEFT; break; case Button2: button = MOUSE_MIDDLE; break; case Button3: button = MOUSE_RIGHT; break; case Button4: button = MOUSE_4; break; case Button5: button = MOUSE_5; break; + case 6: button = MOUSE_7; break; + case 7: button = MOUSE_6; break; + case 8: button = MOUSE_X1; break; + case 9: button = MOUSE_X2; break; default: return; /* Unknown button */ } diff --git a/src/version.c b/src/version.c index 82e5f350d..c89c2633f 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 938, +/**/ 937, /**/ 936, |