diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c index c077a68190e..583a049c58c 100644 --- a/sys/dev/atkbdc/psm.c +++ b/sys/dev/atkbdc/psm.c @@ -6014,7 +6014,7 @@ enable_synaptics(struct psm_softc *sc, enum probearg arg) return (FALSE); if (get_mouse_status(kbdc, status, 0, 3) != 3) return (FALSE); - if (status[1] != 0x47) + if (status[1] != 0x46 && status[1] != 0x47) return (FALSE); bzero(&synhw, sizeof(synhw)); @@ -6025,7 +6025,7 @@ enable_synaptics(struct psm_softc *sc, enum probearg arg) printf("Synaptics Touchpad v%d.%d\n", synhw.infoMajor, synhw.infoMinor); - if (synhw.infoMajor < 4) { + if (synhw.infoMajor < 2) { printf(" Unsupported (pre-v4) Touchpad detected\n"); return (FALSE); } @@ -6066,7 +6066,8 @@ enable_synaptics(struct psm_softc *sc, enum probearg arg) return (FALSE); if (get_mouse_status(kbdc, status, 0, 3) != 3) return (FALSE); - if (!SYNAPTICS_VERSION_GE(synhw, 7, 5) && status[1] != 0x47) { + if (!SYNAPTICS_VERSION_GE(synhw, 7, 5) && + status[1] != 0x46 && status[1] != 0x47) { printf(" Failed to read extended capability bits\n"); return (FALSE); }