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 66bab65a84SKyle Evans.Nm hw.usb.wsp.enable_single_tap_clicks , 67bab65a84SKyle Evansset to 0 to disable single tap clicks or 1 to enable 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 , 717b984d50SJoshua Rogersset to 0 to disable the movement on the trackpad until a full release 727b984d50SJoshua Rogersor 1 to allow the continued movement (default). 73*62cf43ddSJoshua Rogers.Nm hw.usb.wsp.max_finger_area 74*62cf43ddSJoshua Rogersdefines the maximum area on the trackpad which is registered as a 75*62cf43ddSJoshua Rogersfinger (lower for greater palm detection). 76*62cf43ddSJoshua Rogers.Nm hw.usb.wsp.max_double_tap_distance 77*62cf43ddSJoshua Rogersdefines the maximum distance between two finger clicks or taps which may 78*62cf43ddSJoshua Rogersregister as a double-click. 79d8c6d4c7SVladimir KondratyevZ-Axis sensitivity can be controlled using the sysctl tunable 80d8c6d4c7SVladimir Kondratyev.Nm hw.usb.wsp.z_factor . 81d8c6d4c7SVladimir KondratyevZ-Axis inversion can be controlled using the sysctl tunable 82d8c6d4c7SVladimir Kondratyev.Nm hw.usb.wsp.z_invert , 83d8c6d4c7SVladimir Kondratyevset to 0 to disable (default) or 1 to enable inversion. 84ef32fcb1SHans Petter Selasky.Sh FILES 85ef32fcb1SHans Petter Selasky.Nm 86577853e6SChristian Brueffercreates a blocking pseudo-device file, 87ef32fcb1SHans Petter Selasky.Pa /dev/wsp0 , 88ef32fcb1SHans Petter Selaskywhich presents the mouse as a 89577853e6SChristian Brueffer.Em sysmouse 90ef32fcb1SHans Petter Selaskyor 91577853e6SChristian Brueffer.Em mousesystems 92577853e6SChristian Brueffertype device--see 93ef32fcb1SHans Petter Selasky.Xr moused 8 94ef32fcb1SHans Petter Selaskyfor an explanation of these mouse 95ef32fcb1SHans Petter Selaskytypes. 96ef32fcb1SHans Petter Selasky.Sh SEE ALSO 97ef32fcb1SHans Petter Selasky.Xr sysmouse 4 , 98ef32fcb1SHans Petter Selasky.Xr usb 4 , 99ef32fcb1SHans Petter Selasky.Xr loader.conf 5 , 100ef32fcb1SHans Petter Selasky.Xr xorg.conf 5 Pq Pa ports/x11/xorg , 101ef32fcb1SHans Petter Selasky.Xr moused 8 , 102ef32fcb1SHans Petter Selasky.Xr sysctl 8 103ef32fcb1SHans Petter Selasky.Sh AUTHORS 104ef32fcb1SHans Petter Selasky.An -nosplit 105ef32fcb1SHans Petter SelaskyThe 106ef32fcb1SHans Petter Selasky.Nm 107ef32fcb1SHans Petter Selaskydriver was written by 1086c899950SBaptiste Daroussin.An Huang Wen Hui Aq Mt huanghwh@gmail.com . 109