From owner-freebsd-bugs@FreeBSD.ORG Mon Jan 10 15:06:44 2005 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 513F816A4CF; Mon, 10 Jan 2005 15:06:44 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2127243D1F; Mon, 10 Jan 2005 15:06:44 +0000 (GMT) (envelope-from philip@FreeBSD.org) Received: from freefall.freebsd.org (philip@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.1/8.13.1) with ESMTP id j0AF6iq7030731; Mon, 10 Jan 2005 15:06:44 GMT (envelope-from philip@freefall.freebsd.org) Received: (from philip@localhost) by freefall.freebsd.org (8.13.1/8.13.1/Submit) id j0AF6hQe030727; Mon, 10 Jan 2005 15:06:43 GMT (envelope-from philip) Date: Mon, 10 Jan 2005 15:06:43 GMT From: Philip Paeps Message-Id: <200501101506.j0AF6hQe030727@freefall.freebsd.org> To: simonw@lucent.com, philip@FreeBSD.org, freebsd-bugs@FreeBSD.org, philip@FreeBSD.org Subject: Re: kern/38730: Memorex scrollpro mouse is not fully functional X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Jan 2005 15:06:44 -0000 Synopsis: Memorex scrollpro mouse is not fully functional State-Changed-From-To: open->feedback State-Changed-By: philip State-Changed-When: Mon Jan 10 15:02:04 GMT 2005 State-Changed-Why: This is your patch updated for the current state of -current. Does this work for you? Thanks! Index: psm.c =================================================================== RCS file: /home/philip/projects/freebsd/FreeBSD-CVS/src/sys/isa/psm.c,v retrieving revision 1.84 diff -u -r1.84 psm.c --- psm.c 10 Jan 2005 13:05:58 -0000 1.84 +++ psm.c 10 Jan 2005 15:05:23 -0000 @@ -327,6 +327,7 @@ static probefunc_t enable_4dmouse; static probefunc_t enable_4dplus; static probefunc_t enable_mmanplus; +static probefunc_t enable_scrollpro; static probefunc_t enable_synaptics; static probefunc_t enable_versapad; static int tame_mouse(struct psm_softc *, packetbuf_t *, mousestatus_t *, unsigned char *); @@ -353,6 +354,8 @@ 0x08, MOUSE_4D_PACKETSIZE, enable_4dmouse, }, { MOUSE_MODEL_4DPLUS, /* A4 Tech 4D+ Mouse */ 0xc8, MOUSE_4DPLUS_PACKETSIZE, enable_4dplus, }, + { MOUSE_MODEL_SCROLLPRO, /* Memorex ScrollPro */ + 0x08, MOUSE_PS2INTELLI_PACKETSIZE, enable_scrollpro, }, { MOUSE_MODEL_INTELLI, /* Microsoft IntelliMouse */ 0x08, MOUSE_PS2INTELLI_PACKETSIZE, enable_msintelli, }, { MOUSE_MODEL_GLIDEPOINT, /* ALPS GlidePoint */ @@ -3237,6 +3240,29 @@ return TRUE; } +/* Memorex ScrollPro */ +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); + + if (id != 5) + return (FALSE); + + sc->hw.hwid = PSM_INTELLI_ID; + sc->hw.buttons = 5; + + return (TRUE); +} + /* Synaptics Touchpad */ static int enable_synaptics(struct psm_softc *sc) Responsible-Changed-From-To: freebsd-bugs->philip Responsible-Changed-By: philip Responsible-Changed-When: Mon Jan 10 15:02:04 GMT 2005 Responsible-Changed-Why: Grabbing mouse-related PRs. http://www.freebsd.org/cgi/query-pr.cgi?pr=38730