From e0c22597cb76815babc2d0c1dab5a2879ca03012 Mon Sep 17 00:00:00 2001 From: Mike Heffner Date: Sat, 12 Jul 2003 18:36:04 +0000 Subject: [PATCH] Add support for the A4 Tech RFSW-35 mouse wheel. Probe is similar to 4D Plus. PR: 44333 --- sys/dev/atkbdc/atkbdcreg.h | 1 + sys/dev/atkbdc/psm.c | 13 ++++++++++--- sys/dev/kbd/atkbdcreg.h | 1 + sys/isa/psm.c | 13 ++++++++++--- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/sys/dev/atkbdc/atkbdcreg.h b/sys/dev/atkbdc/atkbdcreg.h index f2ec8442f53..7711c660863 100644 --- a/sys/dev/atkbdc/atkbdcreg.h +++ b/sys/dev/atkbdc/atkbdcreg.h @@ -137,6 +137,7 @@ #define PSM_EXPLORER_ID 4 #define PSM_4DMOUSE_ID 6 #define PSM_4DPLUS_ID 8 +#define PSM_4DPLUS_RFSW35_ID 24 #ifdef _KERNEL diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c index e4f14b1e716..ef98da420f6 100644 --- a/sys/dev/atkbdc/psm.c +++ b/sys/dev/atkbdc/psm.c @@ -2770,11 +2770,18 @@ enable_4dplus(struct psm_softc *sc) */ id = get_aux_id(kbdc); - if (id != PSM_4DPLUS_ID) - return FALSE; + switch (id) { + case PSM_4DPLUS_ID: + sc->hw.buttons = 4; + break; + case PSM_4DPLUS_RFSW35_ID: + sc->hw.buttons = 3; + break; + default: + return FALSE; + } sc->hw.hwid = id; - sc->hw.buttons = 4; /* XXX */ return TRUE; } diff --git a/sys/dev/kbd/atkbdcreg.h b/sys/dev/kbd/atkbdcreg.h index f2ec8442f53..7711c660863 100644 --- a/sys/dev/kbd/atkbdcreg.h +++ b/sys/dev/kbd/atkbdcreg.h @@ -137,6 +137,7 @@ #define PSM_EXPLORER_ID 4 #define PSM_4DMOUSE_ID 6 #define PSM_4DPLUS_ID 8 +#define PSM_4DPLUS_RFSW35_ID 24 #ifdef _KERNEL diff --git a/sys/isa/psm.c b/sys/isa/psm.c index e4f14b1e716..ef98da420f6 100644 --- a/sys/isa/psm.c +++ b/sys/isa/psm.c @@ -2770,11 +2770,18 @@ enable_4dplus(struct psm_softc *sc) */ id = get_aux_id(kbdc); - if (id != PSM_4DPLUS_ID) - return FALSE; + switch (id) { + case PSM_4DPLUS_ID: + sc->hw.buttons = 4; + break; + case PSM_4DPLUS_RFSW35_ID: + sc->hw.buttons = 3; + break; + default: + return FALSE; + } sc->hw.hwid = id; - sc->hw.buttons = 4; /* XXX */ return TRUE; }