Re: Scroll wheel on PS/2 Logitech MouseMan Wheel no longer works (was Re: 2.6.6-mm3)

Vojtech Pavlik
2004-06-06T17:52:28Z

On Tue, May 25, 2004 at 10:40:25PM -0500, Dmitry Torokhov wrote:
> On Thursday 20 May 2004 02:49 am, Sean Neakums wrote:
> > Dmitry Torokhov <dtor_core@ameritech.net> writes:
> > > >
> > > Hmm... it indeed reports REL_X and REL_Y events instead of REL_WHEEL... So
> > > its definitely not a mousedev problem. Could you also try booting with
> > > psmouse.proto=exps and see if it still behaves sanely?
> >
> > The scrolls wheel appears to do nothing when I boot with psmouse.proto=exps.
> > Here's what the mouse is shown as in /proc/bus/input/devices:
> >
>
> Hi,
>
> Sorry for delay with my answer. I got a hold of a mouse that supports
> Explorer PS/2 protocol and it works fine here. Still could you try
> reverting the patch below and see if it restores the correct behavior.

I think I have a similar fix in the tree already.

>
> Thanks!
>
> --
> Dmitry
>
>
> ===================================================================
>
>
> ChangeSet@1.1612.1.17, 2004-05-14 11:18:46+02:00, vojtech@suse.cz
> input: Check for IM Explorer mice even if IMPS check failed.
>
>
> psmouse-base.c | 21 +++++++++++----------
> 1 files changed, 11 insertions(+), 10 deletions(-)
>
>
> ===================================================================
>
>
>
> diff -Nru a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
> --- a/drivers/input/mouse/psmouse-base.c 2004-05-25 22:38:24 -05:00
> +++ b/drivers/input/mouse/psmouse-base.c 2004-05-25 22:38:24 -05:00
> @@ -461,24 +461,25 @@
> return type;
> }
>
> - if (max_proto >= PSMOUSE_IMPS && intellimouse_detect(psmouse)) {
> + if (max_proto >= PSMOUSE_IMEX && im_explorer_detect(psmouse)) {
>
> if (set_properties) {
> set_bit(REL_WHEEL, psmouse->dev.relbit);
> + set_bit(BTN_SIDE, psmouse->dev.keybit);
> + set_bit(BTN_EXTRA, psmouse->dev.keybit);
> if (!psmouse->name)
> - psmouse->name = "Wheel Mouse";
> + psmouse->name = "Explorer Mouse";
> }
>
> - if (max_proto >= PSMOUSE_IMEX && im_explorer_detect(psmouse)) {
> + return PSMOUSE_IMEX;
> + }
>
> - if (!set_properties) {
> - set_bit(BTN_SIDE, psmouse->dev.keybit);
> - set_bit(BTN_EXTRA, psmouse->dev.keybit);
> - if (!psmouse->name)
> - psmouse->name = "Explorer Mouse";
> - }
> + if (max_proto >= PSMOUSE_IMPS && intellimouse_detect(psmouse)) {
>
> - return PSMOUSE_IMEX;
> + if (set_properties) {
> + set_bit(REL_WHEEL, psmouse->dev.relbit);
> + if (!psmouse->name)
> + psmouse->name = "Wheel Mouse";
> }
>
> return PSMOUSE_IMPS;
>

--
Vojtech Pavlik
SuSE Labs, SuSE CR