wsdisplay* at ...
wskbd* at ... mux N
wsmouse* at ... mux N
driver provides support for
machine-independent access to the console.
is made of a number of cooperating
modules, in particular
- Hardware support for display adapters, keyboards and mice; see
- Input event multiplexor; see
- Terminal emulation modules (see below).
- Compatibility options to support control operations and other low-level
behaviour of existing terminal drivers (see below).
does not define its own set of
terminal control sequences and special keyboard codes in terms of
Instead, a “terminal emulation” is assigned to each virtual
screen when the screen is created (see
Different terminal emulations can be active at the same time on one display.
The following choices are available:
- This minimal terminal support is always available. 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.
- The “sun” console emulation is available by default on sparc
and sparc64 architectures, or if
WSEMUL_SUN was specified at kernel build time. It supports the
control sequences of SUN machine consoles and delivers its keyboard codes
for function and keypad keys (as far as present on the actually used
ANSI colors are also supported on this emulation, if the
TERM environment variable is set to
This emulation is sufficient for full-screen applications.
- is available by default, but can be disabled with
option WSEMUL_NO_VT100. It provides the
most commonly used functions 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:
In addition to the plain VT100 functions, the following features are
- VT52 support, 132-column-mode, smooth scroll, light background,
keyboard autorepeat control, external printer support, 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)
- Function keys are not reprogrammable and fonts can not be downloaded.
DECUDK and DECDLD sequences will be ignored.
- Neither C1 control set characters will be recognized nor will 8-bit
keyboard codes be delivered.
- The “DEC supplemental graphic” font is approximated by
the ISO-latin-1 font, though there are subtle differences.
- The actual rendering quality depends on the underlying graphics
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
In most applications,
- ANSI colors
- Some VT220 -like presentation state settings and -reports (DECRSPS),
especially tabulator settings.
wscons will work
sufficiently as a VT220 emulator.
kernel option allows
selecting one of the described terminal options as the default choice. The
default goes into effect at kernel startup, i.e., for the operating system
console or additional screens allocated through the
if no emulation type was passed to the
: these options allow running
X servers or other programs using low-level console driver functions which
were written specifically for other console drivers to run on
systems. The options are in particular:
- Support the protocol for switches between multiple virtual screens on one
display as used by most PC-UNIX variants.
- Allows getting raw XT keyboard scancodes from PC keyboards as needed by
i386 X servers.
- Emulates enough of the OpenBSD / i386
“pcvt” driver to make X servers work.
- 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 OpenBSD
Linux binary emulation.
(To have programs looking for device special files of other console drivers find
driver entry points, symlinks
are a helpful measure.)
- Make console output originating from the kernel appear differently than
output from user level programs (via
/dev/console or the specific tty device
“WS_KERNEL_FG” and “WS_KERNEL_BG” set the
foreground / background used on color displays.
The “WSCOL_XXX” arguments are colors as defined in
“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
- The virtual screen switching protocol enabled by
“WSDISPLAY_COMPAT_USL” uses a somewhat complex handshake
protocol to pass control to user programs as X servers controlling a
virtual screen. To avoid a non-responsive application locking 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 sets the timeout (in seconds); the default value is 5