git: 4e33793cf41c - stable/12 - psm(4): Always initialize Synaptics touchpad report range with defaults
Vladimir Kondratyev
wulf at FreeBSD.org
Fri Feb 5 10:19:14 UTC 2021
The branch stable/12 has been updated by wulf:
URL: https://cgit.FreeBSD.org/src/commit/?id=4e33793cf41c0ec6b5db68bca1451db3e3d79a91
commit 4e33793cf41c0ec6b5db68bca1451db3e3d79a91
Author: Vladimir Kondratyev <wulf at FreeBSD.org>
AuthorDate: 2020-12-22 20:44:42 +0000
Commit: Vladimir Kondratyev <wulf at FreeBSD.org>
CommitDate: 2021-02-05 10:15:00 +0000
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 at jan0sch.de>
Tested-by: Jens Grassel <freebsd-ports at jan0sch.de>
MFC-after: 2 weeks
(cherry picked from commit 2ac1c1927258e649e3ca3269aea40fb4c63e2296)
---
sys/dev/atkbdc/psm.c | 23 +++++++++--------------
1 file changed, 9 insertions(+), 14 deletions(-)
diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c
index d15adb63acb0..f9b8b098ea87 100644
--- a/sys/dev/atkbdc/psm.c
+++ b/sys/dev/atkbdc/psm.c
@@ -6387,6 +6387,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);
@@ -6528,13 +6537,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) {
@@ -6550,13 +6552,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;
}
/*
More information about the dev-commits-src-branches
mailing list