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 February 7, 2014 31.Dt ATP 4 32.Os 33.Sh NAME 34.Nm atp 35.Nd Apple touchpad driver 36.Sh SYNOPSIS 37To compile this driver into the kernel, place the following lines into 38your kernel configuration file: 39.Bd -ragged -offset indent 40.Cd "device atp" 41.Cd "device usb" 42.Ed 43.Pp 44Alternatively, to load the driver as a 45module at boot time, place the following line in 46.Xr loader.conf 5 : 47.Bd -literal -offset indent 48atp_load="YES" 49.Ed 50.Sh DESCRIPTION 51The 52.Nm 53driver provides support for the Apple Internal Trackpad 54device found in many Apple laptops. 55.Pp 56The driver simulates a three\-button mouse using multi\-finger tap 57detection. 58. 59A single\-finger tap generates a left button click; 60two\-finger tap maps to the middle button; whereas a three\-finger tap 61gets treated as a right button click. 62. 63A double\-tap followed by a drag is treated as a selection gesture; a 64virtual left\-button click is assumed for the lifespan of the drag. 65. 66.Nm 67attempts to filter away activity at the horizontal edges of the 68trackpad\-\-this is to keep unintentional palm movement from being 69considered as user input. 70. 71.Pp 72.Nm 73supports dynamic reconfiguration using 74.Xr sysctl 8 ; 75through nodes under 76.Nm hw.usb.atp . 77Pointer sensitivity can be controlled using the sysctl tunable 78.Nm hw.usb.atp.scale_factor . 79. 80.Sh HARDWARE 81The 82.Nm 83driver provides support for the following Product IDs: 84.Pp 85.Bl -bullet -compact 86.It 87Core Duo MacBook & MacBook Pro (IDs: 0x0217, 0x0218, 0x0219) 88.It 89Core2 Duo MacBook & MacBook Pro (IDs: 0x021a, 0x021b, 0x021c) 90.It 91Core2 Duo MacBook3,1 (IDs: 0x0229, 0x022a, 0x022b) 92.It 9312 inch PowerBook and iBook (IDs: 0x030a, 0x030b) 94.It 9515 inch PowerBook (IDs: 0x020e, 0x020f, 0x0215) 96.It 9717 inch PowerBook (ID: 0x020d) 98.El 99.Pp 100To discover the product\-id of a touchpad, search for 'Trackpad' in the 101output of 102.Xr lshal 1 103and look up the property 104.Nm usb_device.product_id . 105.Sh FILES 106.Nm 107creates a blocking pseudo\-device file, 108.Pa /dev/atp0 , 109which presents the mouse as a 110.Ar sysmouse 111or 112.Ar mousesystems 113type device\-\-see 114.Xr moused 8 115for an explanation of these mouse 116types. 117.Sh SEE ALSO 118.Xr sysmouse 4 , 119.Xr usb 4 , 120.Xr loader.conf 5 , 121.Xr xorg.conf 5 Pq Pa ports/x11/xorg , 122.Xr moused 8 , 123.Xr sysctl 8 124.Sh AUTHORS 125.An -nosplit 126The 127.Nm 128driver was written by 129.An Rohit Grover Aq rgrover1@gmail.com . 130