| .. include:: <isonum.txt> |
| |
| ------------------------ |
| BCM5974 Driver (bcm5974) |
| ------------------------ |
| |
| :Copyright: |copy| 2008-2009 Henrik Rydberg <rydberg@euromail.se> |
| |
| The USB initialization and package decoding was made by Scott Shawcroft as |
| part of the touchd user-space driver project: |
| |
| :Copyright: |copy| 2008 Scott Shawcroft (scott.shawcroft@gmail.com) |
| |
| The BCM5974 driver is based on the appletouch driver: |
| |
| :Copyright: |copy| 2001-2004 Greg Kroah-Hartman (greg@kroah.com) |
| :Copyright: |copy| 2005 Johannes Berg (johannes@sipsolutions.net) |
| :Copyright: |copy| 2005 Stelian Pop (stelian@popies.net) |
| :Copyright: |copy| 2005 Frank Arnold (frank@scirocco-5v-turbo.de) |
| :Copyright: |copy| 2005 Peter Osterlund (petero2@telia.com) |
| :Copyright: |copy| 2005 Michael Hanselmann (linux-kernel@hansmi.ch) |
| :Copyright: |copy| 2006 Nicolas Boichat (nicolas@boichat.ch) |
| |
| 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):: |
| |
| echo -n 9 > /sys/module/bcm5974/parameters/debug |
| |
| tail -f /var/log/debug |
| |
| echo -n 0 > /sys/module/bcm5974/parameters/debug |
| |
| Trivia |
| ------ |
| |
| The driver was developed at the ubuntu forums in June 2008 [#f1]_, and now has |
| a more permanent home at bitmath.org [#f2]_. |
| |
| .. Links |
| |
| .. [#f1] http://ubuntuforums.org/showthread.php?t=840040 |
| .. [#f2] http://bitmath.org/code/ |