[gpm]Re: PROBLEM: mousedev.c in 2.4.10 not working
Vojtech Pavlik
vojtech@suse.cz
Thu, 27 Sep 2001 23:49:46 +0200
On Thu, Sep 27, 2001 at 09:21:09PM +0200, Jan D. wrote:
> > On Thu, Sep 27, 2001 at 06:53:06PM +0200, Jan D. wrote:
> > >
> > > I downgraded gpm to 1.19.3 from 1.19.4 and then it worked OK.
> > > Sorry about that. I will now go bug the gpm people instead.
> >
> > 1.19.4 has new intelligent PS/2 code. It may be imperfect emulation on
> > mousedev's side still. GPM should be able to print its debugging
> > information somewhere. Most likely the ImPS/2 init succeeds on the
> > mousedev side, but GPM is thinking it failed for some reason.
>
> Cc:ing the gpm list.
>
> Gpm complains about this:
> /home/jhd/gpm-1.19.4/gpm[4970]: imps2: Auto-detected unknown mouse type 4,
> assuming standard PS/2
>
> This explains the "wrong protocol" behaviour.
> If type 4 should be taken care of by gpm or 4 is a bad value from mousedev
> seems to be the question.
It's a bug in mousedev. Type 4 is ExplorerPS/2, which GPM probably
doesn't know about. Anyway, mousedev should report 3 after the sequence
that GPM sends. Thanks for the detailed analysis.
You can use this patch:
--- linux-2.4.10/drivers/input/mousedev.c Thu Sep 13 00:34:06 2001
+++ linux/drivers/input/mousedev.c Thu Sep 27 23:47:59 2001
@@ -314,9 +314,9 @@
case 0xf2: /* Get ID */
switch (list->mode) {
- case 0: list->ps2[1] = 0;
- case 1: list->ps2[1] = 3;
- case 2: list->ps2[1] = 4;
+ case 0: list->ps2[1] = 0; break;
+ case 1: list->ps2[1] = 3; break;
+ case 2: list->ps2[1] = 4; break;
}
list->bufsiz = 2;
break;
--
Vojtech Pavlik
SuSE Labs