diff -u -r xc/include/extensions/xf86misc.h xc.original/include/extensions/xf86misc.h
--- xc/include/extensions/xf86misc.h	Fri Nov 22 16:32:22 2002
+++ xc.original/include/extensions/xf86misc.h	Wed Aug 15 17:25:20 2001
@@ -56,7 +56,6 @@
 #define MTYPE_AUTOMOUSE		18
 #define MTYPE_ACECAD		19
 #define MTYPE_EXPPS2            20
-#define MTYPE_AMITRACKPS2       21 /* Pigeon */
 
 #define MTYPE_XQUEUE		127
 #define MTYPE_OSMOUSE		126
diff -u -r xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c xc.original/programs/Xserver/hw/xfree86/common/xf86MiscExt.c
--- xc/programs/Xserver/hw/xfree86/common/xf86MiscExt.c	Fri Nov 22 16:35:40 2002
+++ xc.original/programs/Xserver/hw/xfree86/common/xf86MiscExt.c	Thu Aug 16 15:33:51 2001
@@ -82,11 +82,10 @@
 	MTYPE_MICROSOFT,	MTYPE_MOUSESYS,		MTYPE_MMSERIES,
 	MTYPE_LOGITECH,		MTYPE_LOGIMAN,		MTYPE_MMHIT,
 	MTYPE_GLIDEPOINT,	MTYPE_IMSERIAL,		MTYPE_THINKING,
-	MTYPE_ACECAD,		MTYPE_PS_2,		    MTYPE_AMITRACKPS2, /* Pigeon */
-    MTYPE_IMPS2,        MTYPE_EXPPS2,       MTYPE_THINKINGPS2,
-    MTYPE_MMANPLUSPS2,	MTYPE_GLIDEPOINTPS2,	MTYPE_NETPS2,
-    MTYPE_NETSCROLLPS2,	MTYPE_BUSMOUSE, 	MTYPE_AUTOMOUSE,
-    MTYPE_SYSMOUSE
+	MTYPE_ACECAD,		MTYPE_PS_2,		MTYPE_IMPS2,
+	MTYPE_EXPPS2,           MTYPE_THINKINGPS2,	MTYPE_MMANPLUSPS2,
+	MTYPE_GLIDEPOINTPS2,	MTYPE_NETPS2,		MTYPE_NETSCROLLPS2,
+	MTYPE_BUSMOUSE, 	MTYPE_AUTOMOUSE,	MTYPE_SYSMOUSE
     };
 
     static MouseProtocolID MapProto_FromMisc[] = {
@@ -95,7 +94,7 @@
 	PROT_GLIDE,	PROT_IMSERIAL,	PROT_THINKING,	PROT_IMPS2,
 	PROT_THINKPS2,	PROT_MMPS2,	PROT_GLIDEPS2,	PROT_NETPS2,
 	PROT_NETSCPS2,	PROT_SYSMOUSE,	PROT_AUTO,	PROT_ACECAD,
-	PROT_EXPPS2,    PROT_AMITRACKPS2 /* Pigeon */
+	PROT_EXPPS2
     };
 #define PROT_DEFAULT  -2 /* PROT_UNKNOWN */
 
diff -u -r xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c xc.original/programs/Xserver/hw/xfree86/input/mouse/mouse.c
--- xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c	Fri Nov 22 17:02:14 2002
+++ xc.original/programs/Xserver/hw/xfree86/input/mouse/mouse.c	Wed Dec 19 16:05:22 2001
@@ -1,4 +1,4 @@
-/*$XFree86: xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c,v 1.50 2001/12/19 16:05:22 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/input/mouse/mouse.c,v 1.50 2001/12/19 16:05:22 tsi Exp $ */
 /*
  *
  * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
@@ -249,7 +249,6 @@
     { "PS/2",			MSE_PS2,	NULL,		PROT_PS2 },
 
     /* Extended PS/2 */
-    { "AmiTrackPS/2",       MSE_XPS2,   NULL,       PROT_AMITRACKPS2 }, /* Pigeon */
     { "ImPS/2",			MSE_XPS2,	NULL,		PROT_IMPS2 },
     { "ExplorerPS/2",		MSE_XPS2,	NULL,		PROT_EXPPS2 },
     { "ThinkingMousePS/2",	MSE_XPS2,	NULL,		PROT_THINKPS2 },
@@ -768,7 +767,6 @@
   {  0x80, 0x80, 0x80, 0x00,  3,   0x00, 0xff, MPF_NONE },  /* ACECAD */
 							    /* PS/2 variants */
   {  0xc0, 0x00, 0x00, 0x00,  3,   0x00, 0xff, MPF_NONE },  /* PS/2 mouse */
-  {  0x08, 0x08, 0x00, 0x00,  3,   0x00, 0xff, MPF_NONE },  /* Ami Track Dual Scroll. Pigeon */
   {  0x08, 0x08, 0x00, 0x00,  4,   0x00, 0xff, MPF_NONE },  /* IntelliMouse */
   {  0x08, 0x08, 0x00, 0x00,  4,   0x00, 0xff, MPF_NONE },  /* Explorer */
   {  0x80, 0x80, 0x00, 0x00,  3,   0x00, 0xff, MPF_NONE },  /* ThinkingMouse */
@@ -1077,7 +1075,6 @@
 	break;
 
     case PROT_PS2:
-    case PROT_AMITRACKPS2:      /* Ami Track Dual Scroll. Pigeon */
     case PROT_IMPS2:		/* IntelliMouse */
     case PROT_EXPPS2:		/* IntelliMouse Explorer */
     case PROT_THINKPS2:		/* ThinkingMouse */
@@ -1404,25 +1401,6 @@
 	    break;
 
 	/* PS/2 mouse variants */
-        case PROT_AMITRACKPS2:  /* Ami Track Dual Scroll, by Pigeon */
-            buttons = ((pBuf[0] & 0x01)<<2) | /* Bit 0, Left -> bit 2 */
-                      ((pBuf[0] & 0x02)>>1) | /* Bit 1, Right -> bit 0 */
-                      ((pBuf[0] & 0x04)>>1);  /* Bit 2, Middle -> bit 1 */
-            switch (pBuf[0] & 0xf0) {
-                   case 0x40 : dw++;           /* Left wheel down */
-                               break;
-                   case 0xc0 : dw--;           /* Left wheel up */
-                               break;
-                   case 0x10 : dz++;           /* Right wheel down */
-                               break;
-                   case 0x30 : dz--;           /* Right wheel up */
-                               break;
-                   default   : break; /* Can't happen, empirically */
-            }
-            dx = (char)pBuf[1];
-            dy = -(char)pBuf[2];
-            break;
-            
 	case PROT_IMPS2:	/* IntelliMouse PS/2 */
 	case PROT_NETPS2:	/* NetMouse PS/2 */
 	    buttons = (pBuf[0] & 0x04) >> 1 |       /* Middle */
@@ -2116,7 +2094,6 @@
 	buttons &= ~zbutton;
 	MouseDoPostEvent(pInfo, buttons, 0, 0);
     }
-
 }
 
 static void
@@ -2128,34 +2105,14 @@
     unsigned char c;
 
     if (reinsert) {
-#ifdef notdef /* original */
-	unsigned char init = 0xF4; /* Huh? 0xf4 is re-enable output. We want Reset, 0xff. */
-#else /* Pigeon */
-    unsigned char init = 0xff; /* Gotta reset to switch protocols on
-                                * (some) mice that support > 1 protocol
-                                */
-#endif
+	unsigned char init = 0xF4;
 	if (xf86WriteSerial(pInfo->fd, &init, 1) != 1)
 	    xf86Msg(X_ERROR, "%s: Write to mouse failed\n", pInfo->name);
-#ifdef notdef /* original */
-	usleep(30000); /* This is too short, a reset takes maybe 0.5s */
-#else /* Pigeon */
-    usleep(500000);
-#endif
+	usleep(30000);
 	xf86FlushInput(pInfo->fd);
     }
 
-    switch (pMse->protocolID) {
-
-    case PROT_AMITRACKPS2:  /* Ami Track Dual Scroll, by Pigeon */
-    {
-        static unsigned char seq[] = { 0xf3, 0xc8, 0xf3, 0x64, 0xf3, 0x50, 0xf3, 0x3c,
-                                       0xf3, 0x28, 0xf3, 0x14, 0xf2 }; /* Hex is nicer */
-        param = seq;
-        paramlen = sizeof(seq);
-    }
-    break;
-    
+    switch (pMse->protocolID) {    
 	case PROT_IMPS2:		/* IntelliMouse */
 	{
 	    static unsigned char seq[] = { 243, 200, 243, 100, 243, 80, 242 };
@@ -2268,17 +2225,6 @@
 	usleep(30000);
 	xf86FlushInput(pInfo->fd);
     }
-    
-    /* Gotta re-enable output if we reset. Pigeon */
-    if (reinsert) {
-       unsigned char report = 0xf4;
-       
-       if (xf86WriteSerial(pInfo->fd, &report, 1) != 1)
-	       xf86Msg(X_ERROR, "%s: Write to mouse failed\n", pInfo->name);
-       usleep(30000);
-       xf86FlushInput(pInfo->fd);
-    }
-
 }
 
 static Bool
diff -u -r xc/programs/Xserver/hw/xfree86/input/mouse/mouse.h xc.original/programs/Xserver/hw/xfree86/input/mouse/mouse.h
--- xc/programs/Xserver/hw/xfree86/input/mouse/mouse.h	Fri Nov 22 16:38:10 2002
+++ xc.original/programs/Xserver/hw/xfree86/input/mouse/mouse.h	Wed Apr 19 16:48:35 2000
@@ -22,7 +22,6 @@
     PROT_THINKING,
     PROT_ACECAD,
     PROT_PS2,
-    PROT_AMITRACKPS2, /* Pigeon */
     PROT_IMPS2,
     PROT_EXPPS2,
     PROT_THINKPS2,
