[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#454546: Cause of problem, possible patch



Looking at the source code for xserver-xorg-input-mouse it seems that this
behaviour is a gross overreaction to the reception of a spurious z-axis
packet from the mouse.

        if (pMse->negativeW != MSE_NOAXISMAP) {
		        switch (pBuf[3] & 0x0f) {
        		case 0x00:          break;
				case 0x01: dz =  1; break;
				case 0x02: dw =  1; break;
				case 0x0e: dw = -1; break;
				case 0x0f: dz = -1; break;
				default:
				    xf86Msg(X_INFO,
                			"Mouse autoprobe: Disabling secondary wheel\n");
					pMse->negativeW = pMse->positiveW = MSE_NOAXISMAP;
		        }
        }

So, if it receives any z-axis data that it does not understand, it does not
simply ignore it, it immediately and for no reason nukes the secondary wheel,
and moreover does this in such a way that it also destroys any wheel remapping,
with the result that it also destroys my vertical wheel. This is very rude.

So I am currently testing the following patch, which simply reports and then
ignores the spurious packet, instead of making my mouse unusable.


diff -u src/mouse.c.orig src/mouse.c     
--- src/mouse.c.orig    2007-12-06 14:57:38.000000000 +0000
+++ src/mouse.c 2007-12-06 14:27:08.000000000 +0000
@@ -1511,9 +1511,14 @@
                case 0x0e: dw = -1; break;
                case 0x0f: dz = -1; break;
                default:
+#ifdef notdef
                    xf86Msg(X_INFO,
                            "Mouse autoprobe: Disabling secondary wheel\n");
                    pMse->negativeW = pMse->positiveW = MSE_NOAXISMAP;
+#else
+                   xf86Msg(X_INFO,
+                           "ExplorerPS/2 decode: unrecognised z-axis packet received\n");
+#endif
               }
            }
            if (pMse->negativeW == MSE_NOAXISMAP)
																																							

-- 
Pigeon

Be kind to pigeons        - -        Pigeon's Nest: http://pigeonsnest.co.uk/
GPG key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x21C61F7F

Attachment: signature.asc
Description: Digital signature


Reply to: