xref: /freebsd/share/man/man4/wsp.4 (revision d452a029953e6e3879c4e73fb023ad9b7ac281a3)
1ef32fcb1SHans Petter Selasky.\" Copyright (c) 2014 Hans Petter Selasky <hselasky at freebsd dot org>.
2ef32fcb1SHans Petter Selasky.\" All rights reserved.
3ef32fcb1SHans Petter Selasky.\"
4ef32fcb1SHans Petter Selasky.\" Redistribution and use in source and binary forms, with or without
5ef32fcb1SHans Petter Selasky.\" modification, are permitted provided that the following conditions
6ef32fcb1SHans Petter Selasky.\" are met:
7ef32fcb1SHans Petter Selasky.\" 1. Redistributions of source code must retain the above copyright
8ef32fcb1SHans Petter Selasky.\"    notice, this list of conditions and the following disclaimer.
9ef32fcb1SHans Petter Selasky.\" 2. Redistributions in binary form must reproduce the above copyright
10ef32fcb1SHans Petter Selasky.\"    notice, this list of conditions and the following disclaimer in the
11ef32fcb1SHans Petter Selasky.\"    documentation and/or other materials provided with the distribution.
12ef32fcb1SHans Petter Selasky.\"
13ef32fcb1SHans Petter Selasky.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14ef32fcb1SHans Petter Selasky.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15ef32fcb1SHans Petter Selasky.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16ef32fcb1SHans Petter Selasky.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17ef32fcb1SHans Petter Selasky.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18ef32fcb1SHans Petter Selasky.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19ef32fcb1SHans Petter Selasky.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20ef32fcb1SHans Petter Selasky.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21ef32fcb1SHans Petter Selasky.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22ef32fcb1SHans Petter Selasky.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23ef32fcb1SHans Petter Selasky.\" SUCH DAMAGE.
24ef32fcb1SHans Petter Selasky.\"
25d8c6d4c7SVladimir Kondratyev.Dd February 9, 2021
26ef32fcb1SHans Petter Selasky.Dt WSP 4
27ef32fcb1SHans Petter Selasky.Os
28ef32fcb1SHans Petter Selasky.Sh NAME
29ef32fcb1SHans Petter Selasky.Nm wsp
30ef32fcb1SHans Petter Selasky.Nd Wellspring touchpad driver
31ef32fcb1SHans Petter Selasky.Sh SYNOPSIS
32ef32fcb1SHans Petter SelaskyTo compile this driver into the kernel, place the following lines into
33ef32fcb1SHans Petter Selaskyyour kernel configuration file:
34ef32fcb1SHans Petter Selasky.Bd -ragged -offset indent
35ef32fcb1SHans Petter Selasky.Cd "device wsp"
3667de2db2SVladimir Kondratyev.Cd "device hid"
37ef32fcb1SHans Petter Selasky.Cd "device usb"
38ef32fcb1SHans Petter Selasky.Ed
39ef32fcb1SHans Petter Selasky.Pp
40577853e6SChristian BruefferAlternatively, to load the driver as a module at boot time,
41ef32fcb1SHans Petter Selaskyplace the following line in
42ef32fcb1SHans Petter Selasky.Xr loader.conf 5 :
43ef32fcb1SHans Petter Selasky.Bd -literal -offset indent
44ef32fcb1SHans Petter Selaskywsp_load="YES"
45ef32fcb1SHans Petter Selasky.Ed
46ef32fcb1SHans Petter Selasky.Sh DESCRIPTION
47ef32fcb1SHans Petter SelaskyThe
48ef32fcb1SHans Petter Selasky.Nm
49ef32fcb1SHans Petter Selaskydriver provides support for the Apple Internal Trackpad
50ef32fcb1SHans Petter Selaskydevice found in many Apple laptops.
51ef32fcb1SHans Petter Selasky.Pp
52577853e6SChristian BruefferThe driver simulates a three-button mouse using multi-finger tap
53ef32fcb1SHans Petter Selaskydetection.
54577853e6SChristian BruefferA single-finger press generates a left button click.
55577853e6SChristian BruefferA two-finger tap maps to the right button; whereas a three-finger tap
56ef32fcb1SHans Petter Selaskygets treated as a middle button click.
57ef32fcb1SHans Petter Selasky.Pp
58ef32fcb1SHans Petter Selasky.Nm
59ef32fcb1SHans Petter Selaskysupports dynamic reconfiguration using
60577853e6SChristian Brueffer.Xr sysctl 8
61ef32fcb1SHans Petter Selaskythrough nodes under
62ef32fcb1SHans Petter Selasky.Nm hw.usb.wsp .
63ef32fcb1SHans Petter SelaskyPointer sensitivity can be controlled using the sysctl tunable
64ef32fcb1SHans Petter Selasky.Nm hw.usb.wsp.scale_factor .
65bab65a84SKyle EvansTap to left-click can be controlled using the sysctl tunable
66*d452a029SJoshua Rogers.Nm hw.usb.wsp.enable_single_tap_clicks
67*d452a029SJoshua Rogerswith 0 disabling single tap clicks and 1 enabling them (default).
687b984d50SJoshua RogersMovement on the trackpad following a partially-released click can be
697b984d50SJoshua Rogerscontrolled using the sysctl tunable
707b984d50SJoshua Rogers.Nm hw.usb.wsp.enable_single_tap_movement ,
71*d452a029SJoshua Rogerswith 0 to disable the movement on the trackpad until a full release
727b984d50SJoshua Rogersor 1 to allow the continued movement (default).
7362cf43ddSJoshua Rogers.Nm hw.usb.wsp.max_finger_area
7462cf43ddSJoshua Rogersdefines the maximum area on the trackpad which is registered as a
7562cf43ddSJoshua Rogersfinger (lower for greater palm detection).
76*d452a029SJoshua Rogers.Nm max_scroll_finger_distance
77*d452a029SJoshua Rogersdefines the maximum distance between two fingers where z-axis
78*d452a029SJoshua Rogersmovements are registered.
7962cf43ddSJoshua Rogers.Nm hw.usb.wsp.max_double_tap_distance
8062cf43ddSJoshua Rogersdefines the maximum distance between two finger clicks or taps which may
8162cf43ddSJoshua Rogersregister as a double-click.
82*d452a029SJoshua Rogers.Nm hw.usb.wsp.scr_hor_threshold
83*d452a029SJoshua Rogersdefines the minimum required horizontal movement to register as a forward
84*d452a029SJoshua Rogers/back button click.
85d8c6d4c7SVladimir KondratyevZ-Axis sensitivity can be controlled using the sysctl tunable
86d8c6d4c7SVladimir Kondratyev.Nm hw.usb.wsp.z_factor .
87d8c6d4c7SVladimir KondratyevZ-Axis inversion can be controlled using the sysctl tunable
88d8c6d4c7SVladimir Kondratyev.Nm hw.usb.wsp.z_invert ,
89d8c6d4c7SVladimir Kondratyevset to 0 to disable (default) or 1 to enable inversion.
90*d452a029SJoshua Rogers.Pp
91*d452a029SJoshua Rogers.Nm
92*d452a029SJoshua Rogersmay use evdev data (if enabled during kernel compilation) for gesture support
93*d452a029SJoshua Rogersusing the
94*d452a029SJoshua Rogers.Xr sysctl 8
95*d452a029SJoshua Rogersvalue
96*d452a029SJoshua Rogers.Nm kern.evdev.rcpt_mask .
97*d452a029SJoshua RogersOn most MacBooks, setting this value to 3 enables gestures, while 12
98*d452a029SJoshua Rogersdisables them.
99ef32fcb1SHans Petter Selasky.Sh FILES
100ef32fcb1SHans Petter Selasky.Nm
101577853e6SChristian Brueffercreates a blocking pseudo-device file,
102ef32fcb1SHans Petter Selasky.Pa /dev/wsp0 ,
103ef32fcb1SHans Petter Selaskywhich presents the mouse as a
104577853e6SChristian Brueffer.Em sysmouse
105ef32fcb1SHans Petter Selaskyor
106577853e6SChristian Brueffer.Em mousesystems
107577853e6SChristian Brueffertype device--see
108ef32fcb1SHans Petter Selasky.Xr moused 8
109ef32fcb1SHans Petter Selaskyfor an explanation of these mouse
110ef32fcb1SHans Petter Selaskytypes.
111ef32fcb1SHans Petter Selasky.Sh SEE ALSO
112ef32fcb1SHans Petter Selasky.Xr sysmouse 4 ,
113ef32fcb1SHans Petter Selasky.Xr usb 4 ,
114ef32fcb1SHans Petter Selasky.Xr loader.conf 5 ,
115ef32fcb1SHans Petter Selasky.Xr xorg.conf 5 Pq Pa ports/x11/xorg ,
116ef32fcb1SHans Petter Selasky.Xr moused 8 ,
117ef32fcb1SHans Petter Selasky.Xr sysctl 8
118ef32fcb1SHans Petter Selasky.Sh AUTHORS
119ef32fcb1SHans Petter Selasky.An -nosplit
120ef32fcb1SHans Petter SelaskyThe
121ef32fcb1SHans Petter Selasky.Nm
122ef32fcb1SHans Petter Selaskydriver was written by
1236c899950SBaptiste Daroussin.An Huang Wen Hui Aq Mt huanghwh@gmail.com .
124