CYAPA(4)
π CYAPA(4) β the Cypress APA trackpad glow-up π
okay bestie, gather round, because this is the manual page for cyapa, aka the Cypress APA trackpad with I2C interface driver β and she is literally the reason your Chromebook trackpad doesn't just sit there being useless. this lives in the Kernel Interfaces Manual section, and yes, she's iconic. π
β¨ NAME β¨
cyapa β Cypress APA trackpad with I2C interface driver. that's it, that's the girl. π¦
β¨ SYNOPSIS β¨
so if you wanna bake this driver into the kernel (main character move, no cap), you drop these lines into your kernel configuration file:
device cyapa
device ig4
device iicbus
or, if you'd rather load it as a module at boot time instead (lowkey easier, tbh), put this line in loader.conf(5):
cyapa_load="YES"
ig4_load="YES"
and here's the tea: on many Chromebook models this driver can be automatically configured with the help of the chromebook_platform(4) driver. obsessed. β¨ alternatively, you can configure the cyapa driver manually 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. π
and it supports basic mouse ioctls, so that moused(8) is supported properly. we love a compatible queen.
π Trackpad layout π
here's the map, bestie β memorize it, there will be a quiz:
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. that's it. two fingers, vibes only.
- 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. multitasking icon behavior, fr fr.
- 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. chef's kiss precision. π
- 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, and honestly they're the tuning knobs of your dreams:
debug.cyapa_idle_freqβ scan frequency in idle mode, the default is1.debug.cyapa_slow_freqβ scan frequency in slow mode, the default is20.debug.cyapa_norm_freqβ scan frequency in normal mode, the default is100.debug.cyapa_minpressureβ minimum pressure to detect a finger, the default is12.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 is1.debug.cyapa_tapclick_max_ticksβ maximum tap duration in ticks to create a click, the default is8.debug.cyapa_move_min_ticksβ minimum ticks before cursor movement occurs, the default is4.debug.cyapa_scroll_wait_ticksβ ticks to wait before starting to scroll, the default is0.debug.cyapa_scroll_stick_ticksβ ticks while preventing cursor movement on single finger after scroll, the default is15.debug.cyapa_thumbarea_percentβ size of bottom thumb area in percent, the default is15.debug.cyapa_debugβ setting this to a non-zero value enables debug output to console and syslog, the default is0.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, and level 1 is used by default. periodt. π
β¨ 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=0
debug.cyapa_enable_tapclick=2
ate. no crumbs. π
β¨ SEE 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 β¨
bestie, listen up, because this one's important: 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. π so likeβ¦ be careful, okay? that's the whole warning.
and that's the whole page, my love π this was the CYAPA(4) page from the Debian edition, dated December 18, 2018 β go forth and scroll with two fingers like the icon you are. πβ¨π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2015 Michael Gmelin <freebsd@grem.de>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms