Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
ATP(4)		       FreeBSD Kernel Interfaces Manual			ATP(4)

     atp -- Apple touchpad driver

     To	compile	this driver into the kernel, place the following lines into
     your kernel configuration file:

	   device atp
	   device usb

     Alternatively, to load the	driver as a module at boot time, place the
     following line in loader.conf(5):


     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

     The driver	simulates a three-button mouse using multi-finger tap detec-
     tion.  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 vir-
     tual 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 tun-
     able hw.usb.atp.scale_factor.  Smaller values of scale_factor result in
     faster movement.  A simple	high-pass filter is used to reduce contribu-
     tions from	small movements; the threshold for this	filter may be con-
     trolled by	hw.usb.atp.small_movement.  The	maximum	tolerable duration of
     a touch gesture is	controlled by hw.usb.atp.touch_timeout (in microsec-
     onds); 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.

     The atp driver provides support for the following Product IDs:

     +o	 PowerBooks, iBooks (IDs: 0x020e, 0x020f, 0x0210, 0x0214, 0x0215,
     +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)
     +o	 12 inch PowerBook and iBook (IDs: 0x030a, 0x030b)
     +o	 15 inch PowerBook (IDs: 0x020e, 0x020f, 0x0215)
     +o	 17 inch PowerBook (ID:	0x020d)
     +o	 Almost	all recent Macbook-Pros	and Airs (IDs: 0x0223, 0x0223, 0x0224,
	 0x0224, 0x0225, 0x0225, 0x0230, 0x0230, 0x0231, 0x0231, 0x0232,
	 0x0232, 0x0236, 0x0236, 0x0237, 0x0237, 0x0238, 0x0238, 0x023f,
	 0x023f, 0x0240, 0x0241, 0x0242, 0x0243, 0x0244, 0x0245, 0x0246,
	 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.

     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.

     sysmouse(4), usb(4), loader.conf(5), xorg.conf(5) (ports/x11/xorg),
     moused(8),	sysctl(8)

     The atp driver was	written	by Rohit Grover	<>.

FreeBSD	11.1		       February	24, 2014		  FreeBSD 11.1


Want to link to this manual page? Use this URL:

home | help