1 .\" Copyright (c) 2009 Rohit Grover <rgrover1 at gmail dot com>.
2 .\" All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. Neither the name of the author nor the names of any co-contributors
13 .\" may be used to endorse or promote products derived from this software
14 .\" without specific prior written permission.
16 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 .Nd Apple touchpad driver
37 To compile this driver into the kernel, place the following lines into
38 your kernel configuration file:
39 .Bd -ragged -offset indent
44 Alternatively, to load the driver as a
45 module at boot time, place the following line in
47 .Bd -literal -offset indent
53 driver provides support for the Apple Internal Trackpad
54 device found in many Apple laptops.
56 The driver simulates a three\-button mouse using multi\-finger tap
59 A single\-finger tap generates a left button click;
60 two\-finger tap maps to the middle button; whereas a three\-finger tap
61 gets treated as a right button click.
63 A double\-tap followed by a drag is treated as a selection gesture; a
64 virtual left\-button click is assumed for the lifespan of the drag.
67 attempts to filter away activity at the horizontal edges of the
68 trackpad\-\-this is to keep unintentional palm movement from being
69 considered as user input.
73 supports dynamic reconfiguration using
77 Pointer sensitivity can be controlled using the sysctl tunable
78 .Nm hw.usb.atp.scale_factor .
83 driver provides support for the following Product IDs:
87 Core Duo MacBook & MacBook Pro (IDs: 0x0217, 0x0218, 0x0219)
89 Core2 Duo MacBook & MacBook Pro (IDs: 0x021a, 0x021b, 0x021c)
91 Core2 Duo MacBook3,1 (IDs: 0x0229, 0x022a, 0x022b)
93 12 inch PowerBook and iBook (IDs: 0x030a, 0x030b)
95 15 inch PowerBook (IDs: 0x020e, 0x020f, 0x0215)
97 17 inch PowerBook (ID: 0x020d)
100 To discover the product\-id of a touchpad, search for 'Trackpad' in the
103 and look up the property
104 .Nm usb_device.product_id .
107 creates a blocking pseudo\-device file,
109 which presents the mouse as a
115 for an explanation of these mouse
118 can be configured to read touchpad data from
120 and pass it along to the
122 driver so that any process wanting to utilize mouse operation (such as
123 an X server) may fetch it from
127 may be manipulated via
131 calls to get mouse data directly.
133 To use a compatible Apple Trackpad as your console mouse:
135 .Dl moused -p /dev/atp0 -t auto
139 automatically upon boot, add the following to
142 .Dl moused_enable="YES"
143 .Dl moused_type="auto"
144 .Dl moused_port="/dev/atp0"
148 to also probe for external USB mice or other devices, then add the
152 .Dl moused_nondefault_enable="YES"
153 .Dl moused_ums0_enable="YES"
154 .Dl moused_ums1_enable="YES"
156 To be able to use the trackpad under X, change the "Pointer" section in
160 .Dl Device "/dev/atp0"
163 Better still, if you want to be able to use the mouse in both virtual
164 consoles as well as in X change it to:
166 .Dl Device "/dev/sysmouse"
172 .Xr xorg.conf 5 Pq Pa ports/x11/xorg ,
179 driver was written by
180 .An Rohit Grover Aq rgrover1@gmail.com