]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man4/atp.4
Update capsicum-test to git commit f4d97414d48b8f8356b971ab9f45dc5c70d53c40
[FreeBSD/FreeBSD.git] / share / man / man4 / atp.4
1 .\" Copyright (c) 2014 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 February 24, 2014
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 hid"
42 .Cd "device usb"
43 .Ed
44 .Pp
45 Alternatively, to load the driver as a 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 device found in many
54 Apple laptops.
55 Older (Fountain/Geyser) and the newer (Wellspring) trackpad
56 families are all supported through a unified driver.
57 .Pp
58 The driver simulates a three\-button mouse using multi\-finger tap detection.
59 Single finger tap generates a left\-button click; two\-finger tap maps to the
60 middle button; whereas a three\-finger tap gets treated as a right button
61 click.
62 .Pp
63 There is support for 2\-finger horizontal scrolling, which translates to
64 page\-back/forward events; vertical multi\-finger scrolling emulates the mouse
65 wheel.
66 .Pp
67 A double\-tap followed by a drag is treated as a selection gesture; a
68 virtual left\-button click is assumed for the lifespan of the drag.
69 .Pp
70 .Nm
71 supports dynamic reconfiguration using
72 .Xr sysctl 8 ;
73 through nodes under
74 .Nm hw.usb.atp .
75 Pointer sensitivity can be controlled using the sysctl tunable
76 .Nm hw.usb.atp.scale_factor .
77 Smaller values of
78 .Fa scale_factor
79 result in faster movement.
80 .
81 A simple high-pass filter is used to reduce contributions
82 from small movements; the threshold for this filter may be controlled by
83 .Nm hw.usb.atp.small_movement .
84 .
85 The maximum tolerable duration of a touch gesture is controlled by
86 .Nm hw.usb.atp.touch_timeout
87 (in microseconds); beyond this period, touches are considered to be slides.
88 (This conversion also happens when a finger stroke accumulates at least
89 .Nm hw.usb.atp.slide_min_movement
90 movement (in mickeys).
91 .
92 The maximum time (in microseconds) to allow an association between a double-
93 tap and drag gesture may be controlled by
94 .Nm hw.usb.atp.double_tap_threshold .
95 .
96 Should one want to disable tap detection and rely only upon physical button
97 presses, set the following sysctl to a value of 2
98 .Nm hw.usb.atp.tap_minimum .
99 .
100 .Sh HARDWARE
101 The
102 .Nm
103 driver provides support for the following Product IDs:
104 .Pp
105 .Bl -bullet -compact
106 .It
107 PowerBooks, iBooks (IDs: 0x020e, 0x020f, 0x0210, 0x0214, 0x0215, 0x0216)
108 .It
109 Core Duo MacBook & MacBook Pro (IDs: 0x0217, 0x0218, 0x0219)
110 .It
111 Core2 Duo MacBook & MacBook Pro (IDs: 0x021a, 0x021b, 0x021c)
112 .It
113 Core2 Duo MacBook3,1 (IDs: 0x0229, 0x022a, 0x022b)
114 .It
115 12 inch PowerBook and iBook (IDs: 0x030a, 0x030b)
116 .It
117 15 inch PowerBook (IDs: 0x020e, 0x020f, 0x0215)
118 .It
119 17 inch PowerBook (ID: 0x020d)
120 .It
121 Almost all recent Macbook-Pros and Airs (IDs: 0x0223, 0x0223, 0x0224, 0x0224,
122 0x0225, 0x0225, 0x0230, 0x0230, 0x0231, 0x0231, 0x0232, 0x0232, 0x0236,
123 0x0236, 0x0237, 0x0237, 0x0238, 0x0238, 0x023f, 0x023f, 0x0240, 0x0241,
124 0x0242, 0x0243, 0x0244, 0x0245, 0x0246, 0x0247, 0x0249, 0x024a, 0x024b,
125 0x024c, 0x024d, 0x024e, 0x0252, 0x0252, 0x0253, 0x0253, 0x0254, 0x0254,
126 0x0259, 0x025a, 0x025b, 0x0262, 0x0262, 0x0263, 0x0264, 0x0290, 0x0291,
127 0x0292)
128 .El
129 .Pp
130 To discover the product\-id of a touchpad, search for 'Trackpad' in the
131 output of
132 .Xr lshal 1
133 and look up the property
134 .Nm usb_device.product_id .
135 .Sh FILES
136 .Nm
137 creates a blocking pseudo\-device file,
138 .Pa /dev/atp0 ,
139 which presents the mouse as a
140 .Ar sysmouse
141 or
142 .Ar mousesystems
143 type device\-\-see
144 .Xr moused 8
145 for an explanation of these mouse
146 types.
147 .Sh SEE ALSO
148 .Xr sysmouse 4 ,
149 .Xr usb 4 ,
150 .Xr loader.conf 5 ,
151 .Xr xorg.conf 5 Pq Pa ports/x11/xorg ,
152 .Xr moused 8 ,
153 .Xr sysctl 8
154 .Sh AUTHORS
155 .An -nosplit
156 The
157 .Nm
158 driver was written by
159 .An Rohit Grover Aq Mt rgrover1@gmail.com .