WSP(4)
π NAME
wsp β Wellspring touchpad driver
okay so welcome to the WSP(4) page, bestie β this is the Wellspring touchpad driver, hanging out in the kernel interfaces manual and ready to make your Apple trackpad behave. πβ¨
β¨ SYNOPSIS
If you want this driver compiled into the kernel, place the following lines into your kernel configuration file:
device wsp
device hid
device usb
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
wsp_load="YES"
π¦ DESCRIPTION
The wsp driver provides support for the Apple Internal Trackpad device found in many Apple laptops.
The driver simulates a three-button mouse using multi-finger press/tap detection. A single-finger press generates a left button click. A two-finger press maps to the right button; whereas a three-finger press gets treated as a middle button click.
The trackpad functions with presses and taps. A press is a full-forced press which causes a physical lowering of the trackpad. A tap is a touch of the trackpad which does not depress the physical trackpad.
The wsp driver supports receiving evdev input device data if enabled. This data is used for extended usage of the touchpad like multi-finger support, pressure detection, tap support, and gestures. At least the second bit of the sysctl(8) tunable kern.evdev.rcpt_mask must be set. This can be enabled with kern.evdev.rcpt_mask=3.
Vertical scrolling (z-axis) is enabled by default with a two-finger tap and the movement of a finger up and down. Horizontal scrolling (t-axis) is not natively supported by the sysmouse protocol, therefore must be enabled with evdev data. This can be enabled with the sysctl(8) tunable kern.evdev.sysmouse_t_axis=3. Horizontal scrolling can be used with a two-finger tap and the movement of a finger from side to side. The sysctl(8) tunable hw.usb.wsp.t_factor must be greater than 0 for horizontal scrolling to be enabled, too.
Horizontal swiping with a three-finger tap is registered as mouse buttons 8 and 9, depending on the direction. These buttons default to backwards and forwards keyboard events. π«Ά
π SYSCTL VARIABLES
The following variables are available as sysctl(8) tunables:
hw.usb.wsp.scale_factorβ controls the pointer sensitivity. Default is12.hw.usb.wsp.enable_single_tap_clicksβ enables single-tap to register as a left-click. Default is1(enabled).hw.usb.wsp.enable_single_tap_movementβ enables movement on the trackpad to follow a partially-released left-click. Default is1(enabled).hw.usb.wsp.max_finger_diameterβ specifies the maximum finger diameter on the trackpad that is registered as a finger (a lower value is used for palm detection). Default is1900.max_scroll_finger_distanceβ specifies the maximum distance between two fingers where z-axis and t-axis movements are registered. Z-axis and T-axis movements are vertical and horizontal movements with more than one finger tapped (not clicked), respectively. Default is8192.hw.usb.wsp.max_double_tap_distanceβ specifies the maximum distance between two fingers that a two-finger click will be registered as a right-click. Default is2500.hw.usb.wsp.scr_thresholdβ specifies the minimum horizontal or vertical distance required to register as a scrolling gesture. Default is20.hw.usb.wsp.z_factorβ Z-axis sensitivity. Default is5.hw.usb.wsp.z_invertβ Z-axis inversion. Default is0(disabled).hw.usb.wsp.t_factorβ T-axis sensitivity. Default is0(disabled).hw.usb.wsp.t_invertβ T-axis inversion. Default is0(disabled).hw.usb.wsp.scroll_finger_countβ specifies the number of tapped fingers which registers as a scrolling movement. Default is2.hw.usb.wsp.horizontal_swipe_finger_countβ specifies the number of tapped fingers which registers as a swipe gesture. Default is3.hw.usb.wsp.pressure_touch_thresholdβ specifies the threshold for a finger to be registered as a click. Default is50.hw.usb.wsp.pressure_untouch_thresholdβ specifies the threshold for a finger to be registered as an unclick. Default is10.hw.usb.wsp.pressure_tap_thresholdβ specifies the threshold for a finger to be registered as a tap. Default is120.hw.usb.wsp.debugβ specifies thewspdriver debugging level (0-3). Default is1.
π FILES
wsp creates a blocking pseudo-device file, /dev/wsp0, which presents the mouse as a sysmouse or mousesystems type device--see moused(8) for an explanation of these mouse types. π
π SEE ALSO
sysmouse(4)usb(4)loader.conf(5)xorg.conf(5)(ports/x11/xorg)moused(8)sysctl(8)
π AUTHORS
The wsp driver was written by Huang Wen Hui <huanghwh@gmail.com>. π
π«Ά sign-off β source/version: Debian; date: February 9, 2021. bye bestie, go tap something iconic! πβ¨
π¦ where this page comes from
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- Copyright (c) 2014 Hans Petter Selasky <hselasky at freebsd dot org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms