Hello all, I am using the RedHat9(2.4.20-8) distro with XFree86-4.3.0-2.90.55. I am a developer for Win32/MFC and am new to the Linux world, but not unfamiliar with it. I was constantly annoyed by the fact that when I changed my kvm over to the windows machine , and then back over to X or a console, the mouse (both gpm and X) could not read the mouse any longer (I am using IMPS2).
On the lists out on the net, the most common fix is to use the bare ps2 protocol which eliminates the wheel functionality, which I did not like. So I downloaded the XFree86 4.3 distro to see if I could change it. I talked with Vojtech Pavlik about the issue and he correctly pointed out that in the 2.4 kernel, there is no real input driver layer and gpm and X do the ps2 translation themselves and that is what would need to be changed to rectify the situation (Thanks Vojtech). So I have successfully modified mouse.c so that upon switching back, the mouse re inits itself and does not go haywire. I looked in CVS and noticed that version 1.39 of mouse.c was changed to fix a kvm switching issue, but that did not fix mine. Anyway, I wanted to give this fix to the community for better or worse and I am sure a more elegant solution could be adapted, but this fixes the problem in my case and hopefully may help someone else out there as well. Regards, Jeff Warren P.S. If anyone is interested in the gpm patch, I have that as well for gpm-1.19.3. --- mouse.c 2004-09-12 22:15:04.000000000 -0700 +++ mousenew.c 2004-09-13 01:16:14.000000000 -0700 @@ -1347,6 +1347,15 @@ dx = (pBuf[0] & 0x10) ? pBuf[1]-256 : pBuf[1]; dy = (pBuf[0] & 0x20) ? -(pBuf[2]-256) : -pBuf[2]; dz = (char)pBuf[3]; + /*Added by J.Warren 09/12/04 to fix kvm switching issue with IMPS2 */ + /*I don't know if this breaks NETPS2 and this is set to only work without autoprobe */ + if (!pMse->autoProbe && (pBuf[0] & 0xc8) != 0x8) + { + buttons = dx = dy = dz = 0; + initMouseHW(pInfo); + } + /* End of kvm switch fix */ + if ((dz >= 7) || (dz <= -8)) { if (pMse->autoProbe && !(pBuf[3] & 0xC0)) { SetMouseProto(pMse, PROT_EXPPS2); _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel