synaptics touchpad + mouse taps = trouble
David Horn
dhorn2000 at gmail.com
Thu Oct 1 08:38:10 UTC 2009
I currently have a laptop running FreeBSD 8/Stable RC1 r197621 (amd64)
that happens to have a synaptics touchpad. On this particular
laptop(Inspiron 1520), the placement of the touchpad means that I will
inevitably accidentally hit it while typing, and I have found that I
always need to disable the "mouse taps" in order to have the touchpad
usable for me.
So, I figured, no big problem, I can figure out how to set the
preference using x11/gsynaptics and x11-drivers/xf86-input-synaptics
driver.
So, after finding the /etc/xorg.conf: Option
"AutoAddDevices" "true" to disable hal input detection, Xorg's
synaptics input driver still refuses to attach to my synaptics device.
So, I take a look at dmesg, and notice that my touchpad is probed and
attached twice. Once as psm0, and once as ums0. I start off trying
to see if moused can talk to the mouse, and it does just fine with
psm0, but fails with ums0. (Problem 1. Why does ums0 probe/attach
and not work with moused/xorg input mouse/xorg input synaptics ?)
usbconfig -u 0 -a 5 show_ifdrv
ugen0.5: <product 0x4503 Broadcom Corp> at usbus0, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON
ugen0.5.0: ums0: <Broadcom Corp product 0x4503, class 0/0, rev
2.00/1.00, addr 5>
Is there a usb quirk mode I should be trying ? Is there any
additional debug output that may help diagnose ?
I have not found much about this device, but Xorg and hal detect it as
a synaptics device under ubuntu 9.04(as Broadcom 4503)
Looking at mousedrv(4x) man page does not have anything useful on
mouse taps, so I start looking at psm(4) for some relief on disabling
synaptics mouse taps. So, I start trying the instructions for
hw.psm.synaptics_support and via the wiki, and I find after much trial
and error that I can get a mostly usable configuration using:
sysctl.conf entries:
hw.psm.synaptics.vscroll_ver_area=-1
hw.psm.synaptics.directional_scrolls=0
hw.psm.tap_timeout=1
loader.conf entry:
hw.psm.synaptics_support="1"
Although the right mouse button behavior is still quirky compared to
default psm behavior (see PR: kern/84411), but
hw.synaptics.directional_scrolls=0 makes it mostly tolerable.
So, I start thinking about the problem, and take a look at the
synaptics programming specs, and find that there is a command byte
that can be used to for disabling touchpad taps and gestures in
generic mouse mode. I have submitted the patch to GNATS under
kern/139272 for anyone interested in disabling mouse taps under psm
via tunable.
Once I can get ums0 to work with moused, then I can start looking into
xf86-input-synaptics and possibly hal config changes.
So, I have been having one of those days where nothing is ever simple
to debug. I have found that the very common components (like a mouse)
can touch so many modules
(psm/ums/moused/usb2/hal/Xorg/Xorg-input-mouse/Xorg-input-synaptics),
that the potential failure points are many and varied.
Thanks in advance.
---Dave H
More information about the freebsd-current
mailing list