BCM 5974
BCM 5974
The USB initialization and package decoding was made by Scott Shawcroft as part of the touchd user-space
driver project:
Copyright: © 2008 Scott Shawcroft ([email protected])
This driver adds support for the multi-touch trackpad on the new Apple Macbook Air and Macbook Pro
laptops. It replaces the appletouch driver on those computers, and integrates well with the synaptics driver of
the Xorg system.
Known to work on Macbook Air, Macbook Pro Penryn and the new unibody Macbook 5 and Macbook Pro 5.
Usage
The driver loads automatically for the supported usb device ids, and becomes available both as an event
device (/dev/input/event*) and as a mouse via the mousedev driver (/dev/input/mice).
USB Race
The Apple multi-touch trackpads report both mouse and keyboard events via different interfaces of the same
usb device. This creates a race condition with the HID driver, which, if not told otherwise, will find the
standard HID mouse and keyboard, and claim the whole device. To remedy, the usb product id must be listed
in the mouse_ignore list of the hid driver.
Debug output
To ease the development for new hardware version, verbose packet output can be switched on with the
debug kernel module parameter. The range [1-9] yields different levels of verbosity. Example (as root):
tail -f /var/log/debug
Trivia
The driver was developed at the ubuntu forums in June 2008 1, and now has a more permanent home at
bitmath.org 2.
1 http://ubuntuforums.org/showthread.php?t=840040
2 http://bitmath.org/code/