WSCONS(4)                 OpenBSD Programmer's Manual                WSCONS(4)

NAME
     wscons - console access

SYNOPSIS
     option WSEMUL_SUN
     option WSEMUL_NO_VT100
     option WSEMUL_NO_DUMB
     option "WSEMUL_DEFAULT=\"xxx\""
     option WS_KERNEL_FG=WSCOL_XXX
     option WS_KERNEL_BG=WSCOL_XXX
     option WSDISPLAY_COMPAT_PCVT
     option WSDISPLAY_COMPAT_SYSCONS
     option WSDISPLAY_COMPAT_USL
     option WSDISPLAY_COMPAT_RAWKBD

     wsdisplay* at ...
     wskbd*     at ... mux N
     wsmouse*   at ... mux N

     pseudo-device wsmux N

DESCRIPTION
     The wscons driver provides support for machine-independent access to the
     console.

     wscons is made of a number of cooperating modules, in particular

     o   Hardware support for display adapters, keyboards and mice; see
         wsdisplay(4), wskbd(4), and wsmouse(4).

     o   Input event multiplexor; see wsmux(4).

     o   Terminal emulation modules (see below).

     o   Compatibility options to support control operations and other low-
         level behaviour of existing terminal drivers (see below).

   Terminal emulations
     wscons does not define its own set of terminal control sequences and spe-
     cial keyboard codes in terms of termcap(5). Instead, a ``terminal
     emulation'' is assigned to each virtual screen when the screen is created
     (see wsconscfg(8)). Different terminal emulations can be active at the
     same time on one display.

     The following choices are available:

     dumb    This minimal terminal support is available unless the kernel op-
             tion
             option WSEMUL_NO_DUMB was specified at build time.  No control
             sequences are supported besides the ASCII control characters.
             The cursor is not addressable.  Only ASCII keyboard codes will be
             delivered, cursor and functions keys do not work.

     sun     The ``sun'' console emulation is available if
             option WSEMUL_SUN was specified at kernel build time.  It sup-
             ports the control sequences of SUN machine consoles and delivers
             its keyboard codes for function and keypad keys (as far as pre-
             sent on the actually used keyboard).  This emulation is suffi-
             cient for full-screen applications.

     vt100   is available by default, but can be disabled with
             option WSEMUL_NO_VT100. It provides the most commonly used func-
             tions of DEC VT100 terminals with some extensions introduced by
             the DEC VT220 and DEC VT320 models.  The features of the original
             VT100 which are not or not completely implemented are:

             o   VT52 support, 132-column-mode, smooth scroll, light back-
                 ground, keyboard autorepeat control, external printer sup-
                 port, keyboard locking, newline/linefeed switching: Escape
                 sequences related to these features are ignored or answered
                 with standard replies.  (DECANM, DECCOLM, DECSCLM, DECSCNM,
                 DECARM, DECPFF, DECPEX, KAM, LNM)

             o   Function keys are not reprogrammable and fonts can not be
                 downloaded.  DECUDK and DECDLD sequences will be ignored.

             o   Neither C1 control set characters will be recognized nor will
                 8-bit keyboard codes be delivered.

             o   The ``DEC supplemental graphic'' font is approximated by the
                 ISO-latin-1 font, though there are subtle differences.

             o   The actual rendering quality depends on the underlying graph-
                 ics hardware driver.  Characters might be missing in the
                 available fonts and be substituted by more or less fitting
                 replacements.

                 Depending on the keyboard used, not all function keys might
                 be available.

             In addition to the plain VT100 functions are supported:

             o   ANSI colors

             o   Some VT220 -like presentation state settings and -reports
                 (DECRSPS), especially tabulator settings.

             In most applications, wscons will work sufficiently as a VT220
             emulator.

     The WSEMUL_DEFAULT kernel option allows to select one of the described
     terminal options as default choice.  The default gets into effect in ker-
     nel startup, i.e., for the operating system console or additional screens
     allocated through the WSDISPLAY_DEFAULTSCREENS option (see wsdisplay(4)
     ), or if no emulation type was passed to the wsconscfg(8) utility.

     Compatibility options: these options allow to run X servers or other pro-
     grams using low-level console driver functions which were written specif-
     ically for other console drivers to run on NetBSD systems.  The options
     are in particular:

     WSDISPLAY_COMPAT_USL
               Support the protocol for switches between multiple virtual
               screens on one display as used by most PC-UNIX variants.

     WSDISPLAY_COMPAT_RAWKBD
               Allows to get raw XT keyboard scancodes from PC keyboards as
               needed by i386 X servers.

     WSDISPLAY_COMPAT_PCVT
               Emulates enough of the NetBSD / i386 ``pcvt'' driver to make X
               servers work.

     WSDISPLAY_COMPAT_SYSCONS
               Emulates enough of the i386 FreeBSD ``syscons'' driver to make
               X servers work.  Useful with FreeBSD binary emulation.

     Linux/i386 X servers do usually run if the first two options are enabled
     together with the NetBSD Linux binary emulation.
     (To have programs looking for device special files of other console
     drivers find the wscons driver entry points, symlinks are a helpful mea-
     sure.)

     Other options:

     option WS_KERNEL_FG=WSCOL_XXX,

     option WS_KERNEL_BG=WSCOL_XXX,

     option WS_KERNEL_COLATTR="(WSATTR_XXX | WSATTR_YYY)"
               and

     option WS_KERNEL_MONOATTR="(WSATTR_XXX | WSATTR_YYY)"
               allow to make console output originating from the kernel appear
               differently than output from user level programs (via
               /dev/console or the specific tty device like /dev/ttyC0 ).
               ``WS_KERNEL_FG'' and ``WS_KERNEL_BG'' set the foreground /
               background used on color displays.

               The ``WSCOL_XXX'' arguments are colors as defined in
               /usr/include/dev/wscons/wsdisplayvar.h. ``WS_KERNEL_COLATTR''
               and ``WS_KERNEL_MONOATTR'' are additional attribute flags used
               on color or monochrome displays, respectively.  The arguments
               are defined in the same header file.  Whether the attributes
               are supported or not depends on the actually used graphics
               adapter.  These options are ignored by the ``dumb'' terminal
               emulation.

     option WSCOMPAT_USL_SYNCTIMEOUT=nnn
               The virtual screen switching protocol enabled by
               ``WSDISPLAY_COMPAT_USL'' uses a somewhat complex handshake pro-
               tocol to pass control to user programs as X servers controlling
               a virtual screen.  To avoid a non-responsive application to
               lock the whole console system a screen switch will be rolled
               back if the user application does not respond to a screen
               switch request within some time.  This option allows to set
               this timeout (in seconds), the default value is 5 seconds.

SEE ALSO
     wsdisplay(4), wskbd(4), wsmouse(4), wsmux(4), wsconscfg(8), wsconsctl(8),
     wsfontload(8)

OpenBSD 3.0                      July 26, 1998                               3
