cyapa
— Cypress
APA trackpad with I2C interface driver
To compile this driver into the kernel, place the following lines
into the kernel configuration file:
device cyapa
device ig4
device iicbus
Alternatively, to load the driver as a module at boot time, place
the following line in loader.conf(5):
cyapa_load="YES"
ig4_load="YES"
In /boot/device.hints:
hint.cyapa.0.at="iicbus0"
hint.cyapa.0.addr="0xCE"
hint.cyapa.1.at="iicbus1"
hint.cyapa.1.addr="0xCE"
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.
2/3 1/3
+--------------------+------------+
| | 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
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
:
- hint.cyapa.%d.at
- target iicbus(4).
- hint.cyapa.%d.addr
cyapa
i2c address on the
iicbus(4).
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.
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.
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=0
debug.cyapa_enable_tapclick=2
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>.
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.