FreeBSD manual
download PDF document: atp.4.pdf
ATP(4) FreeBSD Kernel Interfaces Manual ATP(4)
NAME
atp - Apple touchpad driver
SYNOPSIS
To compile this driver into the kernel, place the following lines into
your kernel configuration file:
device atp
device hid
device usb
Alternatively, to load the driver as a module at boot time, place the
following line in loader.conf(5):
atp_load="YES"
DESCRIPTION
The atp driver provides support for the Apple Internal Trackpad device
found in many Apple laptops. Older (Fountain/Geyser) and the newer
(Wellspring) trackpad families are all supported through a unified
driver.
The driver simulates a three-button mouse using multi-finger tap
detection. Single finger tap generates a left-button click; two-finger
tap maps to the middle button; whereas a three-finger tap gets treated as
a right button click.
There is support for 2-finger horizontal scrolling, which translates to
page-back/forward events; vertical multi-finger scrolling emulates the
mouse wheel.
A double-tap followed by a drag is treated as a selection gesture; a
virtual left-button click is assumed for the lifespan of the drag.
atp supports dynamic reconfiguration using sysctl(8); through nodes under
hw.usb.atp. Pointer sensitivity can be controlled using the sysctl
tunable hw.usb.atp.scale_factor. Smaller values of scale_factor result
in faster movement. A simple high-pass filter is used to reduce
contributions from small movements; the threshold for this filter may be
controlled by hw.usb.atp.small_movement. The maximum tolerable duration
of a touch gesture is controlled by hw.usb.atp.touch_timeout (in
microseconds); beyond this period, touches are considered to be slides.
(This conversion also happens when a finger stroke accumulates at least
hw.usb.atp.slide_min_movement movement (in mickeys). The maximum time
(in microseconds) to allow an association between a double- tap and drag
gesture may be controlled by hw.usb.atp.double_tap_threshold. Should one
want to disable tap detection and rely only upon physical button presses,
set the following sysctl to a value of 2 hw.usb.atp.tap_minimum.
HARDWARE
The atp driver provides support for the following Product IDs:
o PowerBooks, iBooks (IDs: 0x020e, 0x020f, 0x0210, 0x0214, 0x0215,
0x0216)
o Core Duo MacBook & MacBook Pro (IDs: 0x0217, 0x0218, 0x0219)
o Core2 Duo MacBook & MacBook Pro (IDs: 0x021a, 0x021b, 0x021c)
o Core2 Duo MacBook3,1 (IDs: 0x0229, 0x022a, 0x022b)
0x0247, 0x0249, 0x024a, 0x024b, 0x024c, 0x024d, 0x024e, 0x0252,
0x0252, 0x0253, 0x0253, 0x0254, 0x0254, 0x0259, 0x025a, 0x025b,
0x0262, 0x0262, 0x0263, 0x0264, 0x0290, 0x0291, 0x0292)
To discover the product-id of a touchpad, search for 'Trackpad' in the
output of lshal(1) and look up the property usb_device.product_id.
FILES
atp creates a blocking pseudo-device file, /dev/atp0, which presents the
mouse as a sysmouse or mousesystems type device--see moused(8) for an
explanation of these mouse types.
SEE ALSO
sysmouse(4), usb(4), loader.conf(5), xorg.conf(5) (ports/x11/xorg),
moused(8), sysctl(8)
AUTHORS
The atp driver was written by Rohit Grover <rgrover1@gmail.com>.
FreeBSD 14.0-RELEASE-p11 February 24, 2014 FreeBSD 14.0-RELEASE-p11