psm(4): Always initialize Synaptics touchpad report range with defaults
Otherwise libinput refuses to recoginize some Synaptics touchpads with "kernel bug: device has min == max on ABS_X" message in Xorg.log. PR: 251149 Reported-by: Jens Grassel <freebsd-ports@jan0sch.de> Tested-by: Jens Grassel <freebsd-ports@jan0sch.de> MFC-after: 2 weeks
This commit is contained in:
parent
bde56c9942
commit
2ac1c19272
@ -6423,6 +6423,15 @@ enable_synaptics(struct psm_softc *sc, enum probearg arg)
|
||||
printf(" infoGeometry: %d\n", synhw.infoGeometry);
|
||||
}
|
||||
|
||||
/*
|
||||
* Typical bezel limits. Taken from 'Synaptics
|
||||
* PS/2 * TouchPad Interfacing Guide' p.3.2.3.
|
||||
*/
|
||||
synhw.maximumXCoord = 5472;
|
||||
synhw.maximumYCoord = 4448;
|
||||
synhw.minimumXCoord = 1472;
|
||||
synhw.minimumYCoord = 1408;
|
||||
|
||||
/* Read the extended capability bits. */
|
||||
if (mouse_ext_command(kbdc, SYNAPTICS_READ_CAPABILITIES) == 0)
|
||||
return (FALSE);
|
||||
@ -6564,13 +6573,6 @@ enable_synaptics(struct psm_softc *sc, enum probearg arg)
|
||||
((status[1] & 0x0f) << 1);
|
||||
synhw.maximumYCoord = (status[2] << 5) |
|
||||
((status[1] & 0xf0) >> 3);
|
||||
} else {
|
||||
/*
|
||||
* Typical bezel limits. Taken from 'Synaptics
|
||||
* PS/2 * TouchPad Interfacing Guide' p.3.2.3.
|
||||
*/
|
||||
synhw.maximumXCoord = 5472;
|
||||
synhw.maximumYCoord = 4448;
|
||||
}
|
||||
|
||||
if (synhw.capReportsMin) {
|
||||
@ -6586,13 +6588,6 @@ enable_synaptics(struct psm_softc *sc, enum probearg arg)
|
||||
((status[1] & 0x0f) << 1);
|
||||
synhw.minimumYCoord = (status[2] << 5) |
|
||||
((status[1] & 0xf0) >> 3);
|
||||
} else {
|
||||
/*
|
||||
* Typical bezel limits. Taken from 'Synaptics
|
||||
* PS/2 * TouchPad Interfacing Guide' p.3.2.3.
|
||||
*/
|
||||
synhw.minimumXCoord = 1472;
|
||||
synhw.minimumYCoord = 1408;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user