summaryrefslogtreecommitdiffstats
path: root/sys/dev/atkbdc
diff options
context:
space:
mode:
authordumbbell <dumbbell@FreeBSD.org>2007-02-04 12:47:52 +0000
committerdumbbell <dumbbell@FreeBSD.org>2007-02-04 12:47:52 +0000
commitdff38aee3cc8a08ba8381d49c87ea6ca3de54a71 (patch)
treede492842675910eda9e4594e888ce5ea20779917 /sys/dev/atkbdc
parent073eb74d90e48fc1136002251978c2213e0f66ef (diff)
downloadFreeBSD-src-dff38aee3cc8a08ba8381d49c87ea6ca3de54a71.zip
FreeBSD-src-dff38aee3cc8a08ba8381d49c87ea6ca3de54a71.tar.gz
Synaptics TouchPad seems to go back to Relative Mode after the call
to set_controller_command_byte() call; by issueing a Read Mode Byte command, the touchpad is in Absolute Mode again. This problem occursed at least on Asus V6V laptops.
Diffstat (limited to 'sys/dev/atkbdc')
-rw-r--r--sys/dev/atkbdc/psm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c
index b5e18ec..754799f 100644
--- a/sys/dev/atkbdc/psm.c
+++ b/sys/dev/atkbdc/psm.c
@@ -1251,6 +1251,16 @@ psmprobe(device_t dev)
endprobe(ENXIO);
}
+ /*
+ * Synaptics TouchPad seems to go back to Relative Mode after
+ * the previous set_controller_command_byte() call; by issueing
+ * a Read Mode Byte command, the touchpad is in Absolute Mode
+ * again.
+ */
+ if (sc->hw.model == MOUSE_MODEL_SYNAPTICS) {
+ mouse_ext_command(sc->kbdc, 1);
+ }
+
/* done */
kbdc_set_device_mask(sc->kbdc, mask | KBD_AUX_CONTROL_BITS);
kbdc_lock(sc->kbdc, FALSE);
OpenPOWER on IntegriCloud