0001 .. include:: <isonum.txt>
0002
0003 ------------------------
0004 BCM5974 Driver (bcm5974)
0005 ------------------------
0006
0007 :Copyright: |copy| 2008-2009 Henrik Rydberg <rydberg@euromail.se>
0008
0009 The USB initialization and package decoding was made by Scott Shawcroft as
0010 part of the touchd user-space driver project:
0011
0012 :Copyright: |copy| 2008 Scott Shawcroft (scott.shawcroft@gmail.com)
0013
0014 The BCM5974 driver is based on the appletouch driver:
0015
0016 :Copyright: |copy| 2001-2004 Greg Kroah-Hartman (greg@kroah.com)
0017 :Copyright: |copy| 2005 Johannes Berg (johannes@sipsolutions.net)
0018 :Copyright: |copy| 2005 Stelian Pop (stelian@popies.net)
0019 :Copyright: |copy| 2005 Frank Arnold (frank@scirocco-5v-turbo.de)
0020 :Copyright: |copy| 2005 Peter Osterlund (petero2@telia.com)
0021 :Copyright: |copy| 2005 Michael Hanselmann (linux-kernel@hansmi.ch)
0022 :Copyright: |copy| 2006 Nicolas Boichat (nicolas@boichat.ch)
0023
0024 This driver adds support for the multi-touch trackpad on the new Apple
0025 Macbook Air and Macbook Pro laptops. It replaces the appletouch driver on
0026 those computers, and integrates well with the synaptics driver of the Xorg
0027 system.
0028
0029 Known to work on Macbook Air, Macbook Pro Penryn and the new unibody
0030 Macbook 5 and Macbook Pro 5.
0031
0032 Usage
0033 -----
0034
0035 The driver loads automatically for the supported usb device ids, and
0036 becomes available both as an event device (/dev/input/event*) and as a
0037 mouse via the mousedev driver (/dev/input/mice).
0038
0039 USB Race
0040 --------
0041
0042 The Apple multi-touch trackpads report both mouse and keyboard events via
0043 different interfaces of the same usb device. This creates a race condition
0044 with the HID driver, which, if not told otherwise, will find the standard
0045 HID mouse and keyboard, and claim the whole device. To remedy, the usb
0046 product id must be listed in the mouse_ignore list of the hid driver.
0047
0048 Debug output
0049 ------------
0050
0051 To ease the development for new hardware version, verbose packet output can
0052 be switched on with the debug kernel module parameter. The range [1-9]
0053 yields different levels of verbosity. Example (as root)::
0054
0055 echo -n 9 > /sys/module/bcm5974/parameters/debug
0056
0057 tail -f /var/log/debug
0058
0059 echo -n 0 > /sys/module/bcm5974/parameters/debug
0060
0061 Trivia
0062 ------
0063
0064 The driver was developed at the ubuntu forums in June 2008 [#f1]_, and now has
0065 a more permanent home at bitmath.org [#f2]_.
0066
0067 .. Links
0068
0069 .. [#f1] http://ubuntuforums.org/showthread.php?t=840040
0070 .. [#f2] http://bitmath.org/code/