]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - share/man/man4/atp.4
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / share / man / man4 / atp.4
1 .\" Copyright (c) 2009 Rohit Grover <rgrover1 at gmail dot com>.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
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.
15 .\"
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
26 .\" SUCH DAMAGE.
27 .\"
28 .\" $FreeBSD$
29 .\"
30 .Dd November 12, 2009
31 .Dt ATP 4
32 .Os
33 .Sh NAME
34 .Nm atp
35 .Nd Apple touchpad driver
36 .Sh SYNOPSIS
37 To compile this driver into the kernel, place the following lines into
38 your kernel configuration file:
39 .Bd -ragged -offset indent
40 .Cd "device atp"
41 .Cd "device usb"
42 .Ed
43 .Pp
44 Alternatively, to load the driver as a
45 module at boot time, place the following line in
46 .Xr loader.conf 5 :
47 .Bd -literal -offset indent
48 atp_load="YES"
49 .Ed
50 .Sh DESCRIPTION
51 The
52 .Nm
53 driver provides support for the Apple Internal Trackpad
54 device found in many Apple laptops.
55 .Pp
56 The driver simulates a three\-button mouse using multi\-finger tap
57 detection.
58 .
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.
62 .
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.
65 .
66 .Nm
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.
70 .
71 .Pp
72 .Nm
73 supports dynamic reconfiguration using
74 .Xr sysctl 8 ;
75 through nodes under
76 .Nm hw.usb.atp .
77 Pointer sensitivity can be controlled using the sysctl tunable
78 .Nm hw.usb.atp.scale_factor .
79 .
80 .Sh HARDWARE
81 The
82 .Nm
83 driver provides support for the following Product IDs:
84 .Pp
85 .Bl -bullet -compact
86 .It
87 Core Duo MacBook & MacBook Pro (IDs: 0x0217, 0x0218, 0x0219)
88 .It
89 Core2 Duo MacBook & MacBook Pro (IDs: 0x021a, 0x021b, 0x021c)
90 .It
91 Core2 Duo MacBook3,1 (IDs: 0x0229, 0x022a, 0x022b)
92 .It
93 12 inch PowerBook and iBook (IDs: 0x030a, 0x030b)
94 .It
95 15 inch PowerBook (IDs: 0x020e, 0x020f, 0x0215)
96 .It
97 17 inch PowerBook (ID: 0x020d)
98 .El
99 .Pp
100 To discover the product\-id of a touchpad, search for 'Trackpad' in the
101 output of
102 .Xr lshal 1
103 and look up the property
104 .Nm usb_device.product_id .
105 .Sh FILES
106 .Nm
107 creates a blocking pseudo\-device file,
108 .Pa /dev/atp0 ,
109 which presents the mouse as a
110 .Ar sysmouse
111 or
112 .Ar mousesystems
113 type device\-\-see
114 .Xr moused 8
115 for an explanation of these mouse
116 types.
117 .Xr moused 8
118 can be configured to read touchpad data from
119 .Pa /dev/atp0
120 and pass it along to the
121 .Xr sysmouse 4
122 driver so that any process wanting to utilize mouse operation (such as
123 an X server) may fetch it from
124 .Pa /dev/sysmouse ;
125 alternatively,
126 .Pa /dev/atp0
127 may be manipulated via
128 .Xr read 2
129 and
130 .Xr ioctl 2
131 calls to get mouse data directly.
132 .Sh EXAMPLES
133 To use a compatible Apple Trackpad as your console mouse:
134 .Pp
135 .Dl moused -p /dev/atp0 -t auto
136 .Pp
137 To launch
138 .Xr moused 8
139 automatically upon boot, add the following to
140 .Pa /etc/rc.conf :
141 .Pp
142 .Dl moused_enable="YES"
143 .Dl moused_type="auto"
144 .Dl moused_port="/dev/atp0"
145 .Pp
146 If you want
147 .Xr moused 8
148 to also probe for external USB mice or other devices, then add the
149 following to
150 .Pa /etc/rc.conf :
151 .Pp
152 .Dl moused_nondefault_enable="YES"
153 .Dl moused_ums0_enable="YES"
154 .Dl moused_ums1_enable="YES"
155 .Pp
156 To be able to use the trackpad under X, change the "Pointer" section in
157 .Nm xorg.conf
158 to the following:
159 .Pp
160 .Dl Device "/dev/atp0"
161 .Dl Protocol "Auto"
162 .Pp
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:
165 .Pp
166 .Dl Device "/dev/sysmouse"
167 .Dl Protocol "Auto"
168 .Sh SEE ALSO
169 .Xr sysmouse 4 ,
170 .Xr usb 4 ,
171 .Xr loader.conf 5 ,
172 .Xr xorg.conf 5 Pq Pa ports/x11/xorg ,
173 .Xr moused 8 ,
174 .Xr sysctl 8
175 .Sh AUTHORS
176 .An -nosplit
177 The
178 .Nm
179 driver was written by
180 .An Rohit Grover Aq rgrover1@gmail.com .