Added support for xbuttons.

diff --git a/server/queue.c b/server/queue.c
index 965c32a..b7e16d8 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -39,7 +39,7 @@
 #include "user.h"
 
 #define WM_NCMOUSEFIRST WM_NCMOUSEMOVE
-#define WM_NCMOUSELAST  WM_NCMBUTTONDBLCLK
+#define WM_NCMOUSELAST  (WM_NCMOUSEFIRST+(WM_MOUSELAST-WM_MOUSEFIRST))
 
 enum message_kind { SEND_MESSAGE, POST_MESSAGE };
 #define NB_MSG_KINDS (POST_MESSAGE+1)
@@ -1032,6 +1032,13 @@
     case WM_RBUTTONUP:
         set_input_key_state( input, VK_RBUTTON, down );
         break;
+    case WM_XBUTTONDOWN:
+        down = 1;
+        /* fall through */
+    case WM_XBUTTONUP:
+        if (msg->wparam == XBUTTON1) set_input_key_state( input, VK_XBUTTON1, down );
+        else if (msg->wparam == XBUTTON2) set_input_key_state( input, VK_XBUTTON2, down );
+        break;
     case WM_KEYDOWN:
     case WM_SYSKEYDOWN:
         down = 1;