Updated: 2021/Apr/14


WSMUX(4)                     Device Drivers Manual                    WSMUX(4)

NAME
     wsmux - console keyboard/mouse multiplexor for wscons

SYNOPSIS
     wskbd*    at ... mux 1
     wsbell*   at ... mux 1
     wsmouse*  at ... mux 0

     pseudo-device wsmux

DESCRIPTION
     The wsmux is a pseudo-device driver that allows several wscons(4) input
     devices to have their events multiplexed into one stream.

     The typical usage for this device is to have two multiplexors, one for
     mouse events and one for keyboard and bell events.  All wsmouse(4)
     devices should direct their events to the mouse mux (normally 0) and all
     keyboard devices, except the console, should direct their events to the
     keyboard mux (normally 1).  A device will send its events to the mux
     indicated by the mux locator.  If none is given the device will not use a
     multiplexor.  The keyboard multiplexor should be connected to the
     display, using the wsconscfg(8) command.  It will then receive all
     keystrokes from all keyboards and, furthermore, keyboards can be
     dynamically attached and detached without further user interaction.
     Additionally, bell events generated for the display will be directed to
     all attached wsbell(4) devices.  In a similar way, the window system will
     open the mouse multiplexor and receive all mouse events; mice can also be
     dynamically attached and detached.

     If a wskbd(4), wsbell(4), or wsmouse(4) device is opened despite having a
     mux it will be detached from the mux.

     It is also possible to inject events into a multiplexor from a user
     program.

FILES
     For each mux device, /dev/wsmuxN there is a control device
     /dev/wsmuxctlN.  The control device has a minor number 128 greater than
     the regular mux device.  It can be used to control the mux even when it
     is open, e.g., by wsmuxctl(8).

     /dev/wsmouse      a.k.a.  /dev/wsmux0
     /dev/wskbd        a.k.a.  /dev/wsmux1
     /usr/include/dev/wscons/wsconsio.h

SEE ALSO
     wsbell(4), wscons(4), wsdisplay(4), wskbd(4), wsmouse(4), moused(8),
     wsconscfg(8), wsconsctl(8), wsmoused(8), wsmuxctl(8)

CAVEATS
     If more than one type of keyboard is used, WSKBDIO_GTYPE will return the
     type of the first keyboard.

NetBSD 9.99                     August 13, 2019                    NetBSD 9.99