summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-11-24 15:38:44 +0100
committerBram Moolenaar <Bram@vim.org>2015-11-24 15:38:44 +0100
commit88e484bf1b0afb5f2dec44f19335729578ace66a (patch)
treeb6b2c2f3bd3f879f7240b4abc4bbba53156faa2d
parent5ad075c0735d3d8b97708d17c22de8facb15f997 (diff)
downloadvim-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.c20
-rw-r--r--src/gui_x11.c5
-rw-r--r--src/version.c2
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,