NAME
wscons —
workstation console
access
SYNOPSIS
wsdisplay* at ...
wskbd* at ... mux N
wsmouse* at ... mux N
pseudo-device wsmux
options WSEMUL_SUN
options WSEMUL_VT100
options WSEMUL_NO_DUMB
options WSEMUL_DEFAULT="xxx"
options WS_DEFAULT_FG=WSCOL_XXX
options WS_DEFAULT_BG=WSCOL_XXX
options
WS_DEFAULT_COLATTR="(WSATTR_XXX | WSATTR_YYY)"
options
WS_DEFAULT_MONOATTR="(WSATTR_XXX | WSATTR_YYY)"
options WS_KERNEL_FG=WSCOL_XXX
options WS_KERNEL_BG=WSCOL_XXX
options
WS_KERNEL_COLATTR="(WSATTR_XXX | WSATTR_YYY)"
options
WS_KERNEL_MONOATTR="(WSATTR_XXX | WSATTR_YYY)"
options WSDISPLAY_COMPAT_PCVT
options WSDISPLAY_COMPAT_SYSCONS
options WSDISPLAY_COMPAT_USL
options WSCOMPAT_USL_SYNCTIMEOUT=nnn
options WSDISPLAY_COMPAT_RAWKBD
options WSKBD_EVENT_AUTOREPEAT
options WSKBD_USONLY
DESCRIPTION
The
wscons driver provides support for machine independent
access to the console.
wscons is made of a number of cooperating modules, in
particular
- hardware support for display adapters, keyboards and
mice, see wsdisplay(4),
wskbd(4), and
wsmouse(4)
- input event multiplexor, see
wsmux(4)
- terminal emulation modules (see below), and
- 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 special keyboard codes in terms of
terminfo(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 option options 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
options 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 in use. This emulation is
sufficient for full-screen applications.
-
-
- vt100
- is available with the kernel compile option
options WSEMUL_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:
- 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
available.
In addition to the plain VT100 functions are supported:
- ANSI colors.
- 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 is used to select one
of the described terminal options as the default choice. The default takes
effect at kernel 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 X servers and other programs using low-level console driver
functions usually written specifically 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. This is used by
the NetBSD
wsconscfg(8)
utility.
-
-
- 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 FreeBSD
“syscons” driver to make X servers work. Useful with
FreeBSD binary emulation.
Linux/i386 X servers usually run successfully 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
measure.)
Other options
- options
WS_DEFAULT_FG=WSCOL_XXX
-
- options
WS_DEFAULT_BG=WSCOL_XXX
-
- options
WS_DEFAULT_COLATTR="(WSATTR_XXX | WSATTR_YYY)"
-
- options
WS_DEFAULT_MONOATTR="(WSATTR_XXX | WSATTR_YYY)"
- Make default console output appear in specific colors and
attributes.
WS_DEFAULT_FG
and
WS_DEFAULT_BG
set the foreground and background
used on color displays. WS_DEFAULT_COLATTR
and
WS_DEFAULT_MONOATTR
are additional attribute flags
used on color or monochrome displays, respectively. Whether the attributes
are supported or not depends on the actually used graphics adapter. These
options are ignored by the “dumb” terminal emulation.
See src/sys/dev/wscons/wsdisplayvar.h for available
WSCOL_XXX
and WSATTR_XXX
values.
- options
WS_KERNEL_FG=WSCOL_XXX
-
- options
WS_KERNEL_BG=WSCOL_XXX
-
- options
WS_KERNEL_COLATTR="(WSATTR_XXX | WSATTR_YYY)"
-
- options
WS_KERNEL_MONOATTR="(WSATTR_XXX | WSATTR_YYY)"
- 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/ttyE0). Their meaning is the same as their
WS_DEFAULT_*
counterparts.
- options
WSCOMPAT_USL_SYNCTIMEOUT=nnn
- The virtual screen switching protocol enabled by
WSDISPLAY_COMPAT_USL
uses a somewhat complex
handshake protocol to pass control to user programs such as X servers
controlling a virtual screen. In order to prevent a non-responsive
application from locking the whole console system, a screen switch will be
rolled back after a 5 second timeout if the application does not respond.
This option can be used to specify in seconds a different timeout value.
- options
WSKBD_EVENT_AUTOREPEAT
- If set, this option enables auto repeat even in event mode.
The auto repeat will generate key down events while the key is pressed.
- options
WSKBD_USONLY
- In order to strip down the space usage of wscons, all
keymaps except the US english one can be removed from the kernel with this
option, which results in a space gain of about 10kB.
SEE ALSO
wsdisplay(4),
wskbd(4),
wsmouse(4),
wsmux(4),
wsconscfg(8),
wsconsctl(8),
wsfontload(8),
wscons(9)