PMS(4)                  NetBSD Kernel Interfaces Manual                 PMS(4)

NAME
     pms -- PS/2 auxiliary port mouse driver

SYNOPSIS
     pckbc* at isa?
     pms* at pckbc?
     wsmouse* at pms?

     options PMS_DISABLE_POWERHOOK
     options PMS_SYNAPTICS_TOUCHPAD
     options PMS_ELANTECH_TOUCHPAD

DESCRIPTION
     The pms driver provides an interface to PS/2 auxiliary port mice within
     the wscons(4) framework.  Parent device in terms of the autoconfiguration
     framework is pckbc(4), the PC keyboard controller.  ``pms'' is a generic
     driver which supports mice using common variants of the PS/2 protocol,
     including wheel mice of the ``IntelliMouse'' breed.  Wheel movements are
     mapped to a third (z-) axis.  The driver is believed to work with both
     3-button and 5-button mice with scroll wheels.  Mice which use other pro-
     tocol extensions are not currently supported, but might be if protocol
     documentation could be found.  Mouse related data are accessed by
     wsmouse(4) devices.

     The pms driver has been updated to attempt to renegotiate mouse protocol
     after seeing suspicious or defective mouse protocol packets, or unusual
     delays in the middle of a packet; this should improve the chances that a
     mouse will recover after being switched away or reset (for instance, by a
     console switch).

     The PMS_DISABLE_POWERHOOK kernel option disables PS/2 reset on resume.

     In addition, the pms driver supports the ``Synaptics'' and ``Elantech''
     touchpads in native mode, enabled with the PMS_SYNAPTICS_TOUCHPAD and
     PMS_ELANTECH_TOUCHPAD kernel options.  This allows the driver to take
     advantage of extra features available on Synaptics and Elantech Touch-
     pads.  The following sysctl(8) variables control behavior of Synaptics
     touchpads:

     hw.synaptics.up_down_emulation
                   If the touchpad reports the existence of Up/Down buttons,
                   this value determines if they should be reported as button
                   4 and 5 events or if they should be used to emulate some
                   other event.  When set to 0, report Up/Down events as but-
                   tons 4 and 5.  When set to 1, the Up and Down buttons are
                   both mapped to the middle button.  When set to 2 (default),
                   the Up and Down buttons are used for Z-axis emulation,
                   which more closely resembles how mouse wheels operate.

     hw.synaptics.up_down_motion_delta
                   When the Up/Down buttons are used for Z-axis emulation,
                   this value specifies the emulated delta-Z value per click.

     hw.synaptics.gesture_move
                   Gestures will not be recognised if the finger moves by more
                   than this amount between taps.

     hw.synaptics.gesture_length
                   Gestures will not be recognised if the number of packets
                   (at 80 packets per second) between taps exceeds this value.

     hw.synaptics.edge_left

     hw.synaptics.edge_right

     hw.synaptics.edge_top

     hw.synaptics.edge_bottom
                   These values define a border around the touchpad which will
                   be used for edge motion emulation during a drag gesture.
                   If a drag gesture is in progress and the finger moves into
                   this border, the driver will behave as if the finger con-
                   tinues to move in the same direction beyond the edge of the
                   touchpad.

     hw.synaptics.edge_motion_delta
                   This specifies the pointer speed when edge motion is in
                   effect.

     hw.synaptics.finger_high
                   The driver will ignore new finger events until the reported
                   pressure exceeds this value.

     hw.synaptics.finger_low
                   The driver will assume a finger remains on the touchpad
                   until the reported pressure drops below this value.

     hw.synaptics.two_fingers_emulation
                   More recent touchpads can report the presence of more than
                   one finger on the pad.  This value determines how such
                   events are used.  If set to 0 (default), two-finger events
                   are ignored.  If set to 1, two-finger events generate a
                   right button click.  If set to 2, two-finger events gener-
                   ate a middle button click.

     hw.synaptics.scale_x

     hw.synaptics.scale_y
                   Scale factor used to divide movement deltas derived from
                   Synaptics coordinates (0-6143) to yield more reasonable
                   values (default 16).

     hw.synaptics.max_speed_x

     hw.synaptics.max_speed_y
                   Limits pointer rate of change (after scaling) per reported
                   movement event (default 32).

     hw.synaptics.movement_threshold
                   Movements of less than this value (in Synaptics coordi-
                   nates) are ignored (default 4).

     The following sysctl(8) variables control behavior of Elantech touchpads:

     hw.elantech.xy_precision_shift

     hw.elantech.z_precision_shift
                   Increased values improve the accuracy of X, Y, and Z-axis
                   reporting at the expense of slower mouse movement (default
                   2 for xy, and 3 for z).

     For Elantech touchpads, the Z-axis is emulated using two-finger Y-axis
     reporting.

SEE ALSO
     pckbc(4), ums(4), wsmouse(4)

AUTHORS
     The pms driver was originally written by Christopher G. Demetriou.  The
     changes to merge the ``IntelliMouse'' protocol in, and reset the mouse in
     the event of protocol problems, were contributed by Peter Seebach.  Spe-
     cial thanks to Ray Trent, at Synaptics, who contributed valuable insight
     into how to identify bogus mouse data.  The changes to add ``Synaptics''
     pad support were by Ales Krenek, Kentaro A. Kurahone, and Steve C. Wood-
     ford.  The changes to add ``Elantech'' pad support were by Jared D.
     McNeill.

BUGS
     It is possible for the driver to mistakenly negotiate the non-scroll-
     wheel protocol, after which it is unlikely to recover until the device is
     closed and reopened.

     The ``Elantech'' pad code only supports trackpads with firmware version
     2.48 or above.

NetBSD 7.0                     December 13, 2008                    NetBSD 7.0

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias <christia@softlab.ntua.gr>
©1996-2014 Modified for NetBSD by Kimmo Suominen