table of contents
| CYAPA(4) | Device Drivers Manual | CYAPA(4) |
NAME¶
cyapa — Cypress
APA trackpad with I2C interface driver
SYNOPSIS¶
To compile this driver into the kernel, place the following lines into the kernel configuration file:
device cyapa
device ig4
device iicbusAlternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
cyapa_load="YES" ig4_load="YES"
On many Chromebook models this driver can be automatically configured with the help of the chromebook_platform(4) driver. Alternatively, the
cyapa |
driver can be manually configured in
/boot/device.hints:
hint.cyapa.0.at="iicbus0"
hint.cyapa.0.addr="0xCE"
hint.cyapa.1.at="iicbus1"
hint.cyapa.1.addr="0xCE" |
DESCRIPTION¶
The cyapa driver provides support for the
Cypress APA trackpad. It emulates the IntelliMouse PS/2 protocol. It
supports basic mouse ioctls, so that moused(8) is
supported properly.
Trackpad layout¶
2/3 1/3
+--------------------+------------+
| | Middle |
| | Button |
| Left | |
| Button +------------+
| | Right |
| | Button |
+--------------------+............|
| Thumb/Button Area | 15%
+---------------------------------+
Trackpad features¶
- 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 selecting text.
- 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 device.hints(5), these values
are configurable for cyapa:
SYSCTL VARIABLES¶
These sysctl(8) variables are available:
- debug.cyapa_idle_freq
- Scan frequency in idle mode, the default is 1.
- debug.cyapa_slow_freq
- Scan frequency in slow mode, the default is 20.
- debug.cyapa_norm_freq
- Scan frequency in normal mode, the default is 100.
- debug.cyapa_minpressure
- Minimum pressure to detect a finger, the default is 12.
- debug.cyapa_enable_tapclick
- Controls tap to click. Possible values:
- 0
- Tap to click is disabled. This is the default value.
- 1
- Tap to click always generates a left mouse button event.
- 2
- 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.
- 3
- Tap to click generates mouse button events as if the physical button was pressed (see DESCRIPTION above).
- debug.cyapa_tapclick_min_ticks
- Minimum tap duration in ticks to create a click, the default is 1.
- debug.cyapa_tapclick_max_ticks
- Maximum tap duration in ticks to create a click, the default is 8.
- debug.cyapa_move_min_ticks
- Minimum ticks before cursor movement occurs, the default is 4.
- debug.cyapa_scroll_wait_ticks
- Ticks to wait before starting to scroll, the default is 0.
- debug.cyapa_scroll_stick_ticks
- Ticks while preventing cursor movement on single finger after scroll, the default is 15.
- debug.cyapa_thumbarea_percent
- Size of bottom thumb area in percent, the default is 15.
- debug.cyapa_debug
- Setting this to a non-zero value enables debug output to console and syslog, the default is 0.
- debug.cyapa_reset
- Setting this to a non-zero value reinitializes the device. The sysctl resets to zero immediately.
FILES¶
cyapa creates
/dev/cyapa0, which presents the mouse as an
IntelliMouse PS/2 device. It supports
moused(8) levels 0 through 2, level 1 is used by
default.
EXAMPLES¶
To use cyapa with
moused(8), add the following lines to the
rc.conf(5) file:
moused_enable="YES"moused_port="/dev/cyapa0"If vertical scrolling is not desired, add
moused_flags="-l0"to rc.conf(5).
Enable tap to click for the left and the right mouse button and disable the thumb area by adding these lines to the sysctl.conf(5) file:
debug.cyapa_thumbarea_percent=0debug.cyapa_enable_tapclick=2SEE ALSO¶
chromebook_platform(4), ig4(4), iicbus(4), sysmouse(4), moused(8)
AUTHORS¶
The original cyapa driver was written for
DragonFly BSD by Matthew Dillon.
It has been ported, modified, and enhanced for FreeBSD by Michael Gmelin <freebsd@grem.de>.
This manual page was written by Michael Gmelin <freebsd@grem.de>.
BUGS¶
The 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.
| December 18, 2018 | Debian |