Cypress APA trackpad with I2C interface driver
To compile this driver into the kernel, place the following lines into the
kernel configuration file:
Alternatively, to load the driver as a module at boot time, place
the following line in
On many Chromebook models this driver can be automatically
configured with the help of the
driver. Alternatively, the
|driver can be manually configured in
cyapa driver provides support for the Cypress APA
trackpad. It emulates the IntelliMouse PS/2 protocol. It supports basic mouse
ioctls, so that
is supported properly.
| | Middle |
| | Button |
| Left | |
| Button +------------+
| | Right |
| | Button |
| Thumb/Button Area | 15%
- Two finger scrolling
- Use two fingers for Z axis scrolling.
- Button down/second finger
- While one finger clicks and holds down the touchpad, the second finger can
be used to move the mouse cursor. This can be useful for drawing or
- Thumb/Button area
- The lower 15% of the trackpad will not affect the mouse cursor position.
This allows for high precision clicking, by controlling the cursor with
the index finger and pushing/holding the pad down with the thumb.
- Trackpad button
- Push physical button. The left two thirds of the pad issues a LEFT button
event. The upper right corner issues a MIDDLE button event. The lower
right corner issues a RIGHT button. Optionally, tap to click can be
enabled (see below).
On a system using
these values are configurable for
variables are available:
cyapa i2c address on the
- Scan frequency in idle mode, the default is 1.
- Scan frequency in slow mode, the default is 20.
- Scan frequency in normal mode, the default is 100.
- Minimum pressure to detect a finger, the default is 12.
- Controls tap to click. Possible values:
- Tap to click is disabled. This is the default value.
- Tap to click always generates a left mouse button event.
- Tap to click generates left mouse button event if the left 2/3rds of
the pad are tapped and a right mouse button event otherwise.
- Tap to click generates mouse button events as if the physical button
was pressed (see DESCRIPTION
- Minimum tap duration in ticks to create a click, the default is 1.
- Maximum tap duration in ticks to create a click, the default is 8.
- Minimum ticks before cursor movement occurs, the default is 4.
- Ticks to wait before starting to scroll, the default is 0.
- Ticks while preventing cursor movement on single finger after scroll, the
default is 15.
- Size of bottom thumb area in percent, the default is 15.
- Setting this to a non-zero value enables debug output to console and
syslog, the default is 0.
- Setting this to a non-zero value reinitializes the device. The sysctl
resets to zero immediately.
cyapa creates /dev/cyapa0, which
presents the mouse as an IntelliMouse PS/2 device. It
levels 0 through 2, level 1 is used by default.
add the following lines to the
If vertical scrolling is not desired, add
Enable tap to click for the left and the right mouse button and
disable the thumb area by adding these lines to the
cyapa driver was written for
DragonFly by Matthew Dillon.
It has been ported, modified, and enhanced for
FreeBSD by Michael Gmelin
This manual page was written by Michael
cyapa driver detects the device from the I2C
address. This might have unforeseen consequences if the initialization
sequence is sent to an unknown device at that address.