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,
- Hardware support for display adapters, keyboards and
- 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 the sparc64 architecture, or if option
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,
- Function keys are not reprogrammable and fonts
cannot be downloaded. DECUDK and DECDLD sequences will be
- 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
- 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
Depending on the keyboard used, not all function keys might be
In most applications, wscons will work
sufficiently as a VT220 emulator.
- ANSI colors
- Some VT220 -like presentation state settings and
-reports (DECRSPS), especially tabulator settings.
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 X servers.
- 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
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