Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 May 2002 22:33:12 -0700 (PDT)
From:      Simon Walton <simonw@lucent.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/38730: Memorex scrollpro mouse is not fully functional
Message-ID:  <200205300533.g4U5XCmN069191@www.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         38730
>Category:       kern
>Synopsis:       Memorex scrollpro mouse is not fully functional
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 29 22:40:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Simon Walton
>Release:        4.2
>Organization:
>Environment:
FreeBSD stepney 4.2-RELEASE FreeBSD 4.2-RELEASE #15: Wed May 29 22:13:30 PDT 2002     simonw@stepney:/usr/src/sys/compile/STEPNEY  i386     
>Description:
The Memorex scroll pro RF mouse has five buttons (including the
wheel). It is IntelliMouse compatible, but if it attaches as
an IntelliMouse the two extra buttons are disabled.
It can be recognized using the same control sequence as
the 4D mouse, and if attached in this way the extra buttons
will be recognized. The patch below achieves this.	

>How-To-Repeat:
Plug in the mouse. Boot up with X-windows. Try using the side
buttons.
>Fix:
This patch to the psm driver enables the buttons:

*** isa/psm.c.orig      Mon May 27 00:10:06 2002
--- isa/psm.c   Wed May 29 22:21:36 2002
***************
*** 253,258 ****
--- 253,259 ----
  static probefunc_t enable_gmouse;
  static probefunc_t enable_aglide; 
  static probefunc_t enable_kmouse;
+ static probefunc_t enable_scrollpro;
  static probefunc_t enable_msexplorer;
  static probefunc_t enable_msintelli;
  static probefunc_t enable_4dmouse;
***************
*** 283,288 ****
--- 284,291 ----
        0x08, MOUSE_4D_PACKETSIZE, enable_4dmouse, },
      { MOUSE_MODEL_4DPLUS,             /* A4 Tech 4D+ Mouse */
        0xc8, MOUSE_4DPLUS_PACKETSIZE, enable_4dplus, },
+     { MOUSE_MODEL_INTELLI,            /* Memorex ScrollPro */
+       0x08, MOUSE_PS2INTELLI_PACKETSIZE, enable_scrollpro, },
      { MOUSE_MODEL_INTELLI,            /* Microsoft IntelliMouse */
        0x08, MOUSE_PS2INTELLI_PACKETSIZE, enable_msintelli, },
      { MOUSE_MODEL_GLIDEPOINT,         /* ALPS GlidePoint */
***************
*** 2551,2556 ****
--- 2554,2587 ----
  
      sc->hw.hwid = id;
      sc->hw.buttons = 3;
+ 
+     return TRUE;
+ }
+ 
+ static int
+ enable_scrollpro(struct psm_softc *sc)
+ {
+     /*
+      * Intellimouse compatible, but with five buttons
+      */
+ 
+     int id;
+     KBDC kbdc = sc->kbdc;
+ /*
+  * enable_4dmouse() has already sent the id sequence...
+  */
+     id = get_aux_id(kbdc);
+     /*
+      * Memorex Scroll Pro: 5
+      * WinEasy 4D: 6
+      * Cable-Free 4D: 8 (4DPLUS)
+      * 4 Way ScrollMouse 4D+: 8 (4DPLUS)
+      */
+     if (id != 5)
+       return FALSE;
+ 
+     sc->hw.hwid = PSM_INTELLI_ID;
+     sc->hw.buttons = 5;
  
      return TRUE;
  }

>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205300533.g4U5XCmN069191>