Module Name:    xsrc
Committed By:   martin
Date:           Wed Aug 19 18:57:25 UTC 2009

Modified Files:
        xsrc/external/mit/xf86-input-mouse/dist/src: mouse.c

Log Message:
Fix my favourite mouse handling bug for the Nth time: with a multiplexed
device like wsmouse it does not make sense to kill emulate3buttons on
first button-3-pressed event. The button-3 pressed may belong to a mouse
long gone and leave the internal (two button only) mousepad useless.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 xsrc/external/mit/xf86-input-mouse/dist/src/mouse.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-input-mouse/dist/src/mouse.c
diff -u xsrc/external/mit/xf86-input-mouse/dist/src/mouse.c:1.8 xsrc/external/mit/xf86-input-mouse/dist/src/mouse.c:1.9
--- xsrc/external/mit/xf86-input-mouse/dist/src/mouse.c:1.8	Tue Aug 18 05:34:17 2009
+++ xsrc/external/mit/xf86-input-mouse/dist/src/mouse.c	Wed Aug 19 18:57:25 2009
@@ -2062,6 +2062,19 @@
     if (!pMse->emulate3ButtonsSoft)
 	return TRUE;
 
+#if defined(__NetBSD__) && defined(WSCONS_SUPPORT)
+   /*
+    * XXXX - check for pMse->protocolID being wsmouse? Why doesn't it
+    * have it's own ID?
+    * On NetBSD a wsmouse is a multiplexed device. Imagine a notebook
+    * with two-button mousepad, and an external USB mouse plugged in
+    * temporarily. After using button 3 on the external mouse and
+    * unplugging it again, the mousepad will still need to emulate
+    * 3 buttons.
+    */
+   return TRUE;
+#endif
+
     pMse->emulate3Buttons = FALSE;
     
     if (pMse->emulate3Pending)

Reply via email to