diff options
author | dumbbell <dumbbell@FreeBSD.org> | 2007-02-04 12:47:52 +0000 |
---|---|---|
committer | dumbbell <dumbbell@FreeBSD.org> | 2007-02-04 12:47:52 +0000 |
commit | dff38aee3cc8a08ba8381d49c87ea6ca3de54a71 (patch) | |
tree | de492842675910eda9e4594e888ce5ea20779917 /sys/dev/atkbdc | |
parent | 073eb74d90e48fc1136002251978c2213e0f66ef (diff) | |
download | FreeBSD-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.c | 10 |
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); |