Index: mouse.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c,v retrieving revision 1.20 diff -u -r1.20 mouse.c --- mouse.c 3 Dec 2005 05:45:18 -0000 1.20 +++ mouse.c 9 Dec 2005 21:54:26 -0000 @@ -399,8 +399,10 @@ pMse->emulate3Buttons = xf86SetBoolOption(pInfo->options, "Emulate3Buttons", FALSE); - if (!xf86FindOptionValue(pInfo->options,"Emulate3Buttons")) + if (!xf86FindOptionValue(pInfo->options,"Emulate3Buttons")) { pMse->emulate3ButtonsSoft = TRUE; + pMse->emulate3Buttons = TRUE; + } pMse->emulate3Timeout = xf86SetIntOption(pInfo->options, "Emulate3Timeout", 50); @@ -2203,6 +2205,9 @@ buttons &= ~wheelButtonMask; } + if (pMse->emulate3ButtonsSoft && pMse->emulate3Pending && (dx || dy)) + buttonTimer(pInfo); + if (dx || dy) xf86PostMotionEvent(pInfo->dev, 0, 0, 2, dx, dy);