1 .\" $NetBSD: wscons.4,v 1.27 2005/05/04 10:54:51 augustss Exp $
3 .\" Copyright (c) 1999, 2004 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
15 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 .\" POSSIBILITY OF SUCH DAMAGE.
32 .Nd workstation console access
34 .Cd options WSEMUL_SUN
35 .Cd options WSEMUL_VT100
36 .Cd options WSEMUL_NO_DUMB
37 .Cd options WSEMUL_DEFAULT=\&"xxx\&"
38 .Cd options WS_DEFAULT_FG=WSCOL_XXX
39 .Cd options WS_DEFAULT_BG=WSCOL_XXX
40 .Cd options WS_DEFAULT_COLATTR=\&"(WSATTR_XXX | WSATTR_YYY)"
41 .Cd options WS_DEFAULT_MONOATTR=\&"(WSATTR_XXX | WSATTR_YYY)"
42 .Cd options WS_KERNEL_FG=WSCOL_XXX
43 .Cd options WS_KERNEL_BG=WSCOL_XXX
44 .Cd options WS_KERNEL_COLATTR=\&"(WSATTR_XXX | WSATTR_YYY)"
45 .Cd options WS_KERNEL_MONOATTR=\&"(WSATTR_XXX | WSATTR_YYY)"
46 .Cd options WSCOMPAT_USL_SYNCTIMEOUT=nnn
47 .Cd options WSDISPLAY_COMPAT_PCVT
48 .Cd options WSDISPLAY_COMPAT_SYSCONS
49 .Cd options WSDISPLAY_COMPAT_USL
50 .Cd options WSDISPLAY_COMPAT_RAWKBD
51 .Cd options WSKBD_EVENT_AUTOREPEAT
52 .Cd options WSKBD_USONLY
54 .Cd "wsdisplay* at ..."
55 .Cd "wskbd* at ... mux N"
56 .Cd "wsmouse* at ... mux N"
58 .Cd pseudo-device wsmux N
62 driver provides support for machine independent access to the console.
65 is made of a number of cooperating modules, in particular
68 hardware support for display adapters, keyboards and mice, see
73 input event multiplexor, see
76 terminal emulation modules (see below), and
78 compatibility options to support control operations and other low-level
79 behaviour of existing terminal drivers (see below)
81 .Ss Terminal emulations
83 does not define its own set of terminal control sequences and special keyboard
87 .Dq terminal emulation
88 is assigned to each virtual screen when the screen is created. (See
90 Different terminal emulations can be active at the same time on one display.
91 The following choices are available:
92 .Bl -tag -width xxxxxx
94 This minimal terminal support is available unless the kernel option
95 .Cd options WSEMUL_NO_DUMB
96 was specified at build time. No control sequences are supported besides
97 the ASCII control characters. The cursor is not addressable. Only ASCII
98 keyboard codes will be delivered, cursor and functions keys do not work.
102 console emulation is available if
103 .Cd options WSEMUL_SUN
104 was specified at kernel build time. It supports the control sequences of
106 machine consoles and delivers its keyboard codes for function and
108 This emulation is sufficient for full-screen applications.
110 is available with the kernel compile option
111 .Cd options WSEMUL_VT100 .
112 It provides the most commonly used functions of
114 terminals with some extensions introduced by the
118 models. The features of the original
120 which are not or not completely implemented are:
124 support, 132-column-mode, smooth scroll, light background, keyboard
125 autorepeat control, external printer support, keyboard locking,
126 newline/linefeed switching: Escape sequences related
127 to these features are ignored or answered with standard replies.
128 (DECANM, DECCOLM, DECSCLM, DECSCNM, DECARM, DECPFF, DECPEX, KAM, LNM)
130 Function keys are not reprogrammable and fonts can not be downloaded.
131 DECUDK and DECDLD sequences will be ignored.
133 Neither C1 control set characters will be recognized nor will 8-bit keyboard
137 .Dq DEC supplemental graphic
138 font is approximated by the ISO-latin-1 font, though there are
141 The actual rendering quality depends on the underlying graphics hardware
142 driver. Characters might be missing in the available fonts and be
143 substituted by more or less fitting replacements.
145 Depending on the keyboard used, not all function keys might be available.
148 In addition to the plain
150 functions are supported:
157 -like presentation state settings and -reports (DECRSPS), especially
161 In most applications,
163 will work sufficiently as a
170 kernel option is used to select one of the described terminal options
171 as the default choice. The default takes effect at kernel startup, i.e.
172 for the operating system console or additional screens allocated
174 .Va WSDISPLAY_DEFAULTSCREENS
177 or if no emulation type was passed to the
180 .Ss Compatibility options
181 these options allow X servers and other programs using low-level
182 console driver functions which were written specifically for other
183 console drivers to run on
185 systems. The options are in particular:
186 .Bl -tag -width xxxxxxxx
187 .It Cd WSDISPLAY_COMPAT_USL
188 Support the protocol for switches between multiple virtual screens on
189 one display as used by most PC-UNIX variants.
190 .It Cd WSDISPLAY_COMPAT_RAWKBD
191 Allows to get raw XT keyboard scancodes from PC keyboards as needed
193 .It Cd WSDISPLAY_COMPAT_PCVT
194 Emulates enough of the
197 driver to make X servers work.
198 .It Cd WSDISPLAY_COMPAT_SYSCONS
199 Emulates enough of the
202 driver to make X servers work. Useful with
207 Linux/i386 X servers usually run successfully if the first two options are
208 enabled together with the
210 Linux binary emulation.
212 (To have programs looking for device special files of other console drivers
215 driver entry points, symlinks are a helpful measure.)
217 .Bl -tag -width xxxxxxxx
218 .It Cd options WS_DEFAULT_FG=WSCOL_XXX ,
219 .It Cd options WS_DEFAULT_BG=WSCOL_XXX ,
220 .It Cd options \&WS_DEFAULT_COLATTR="(WSATTR_XXX | WSATTR_YYY)"
222 .It Cd options \&WS_DEFAULT_MONOATTR="(WSATTR_XXX | WSATTR_YYY)"
223 allow to make default console output appear in specific colors and
228 set the foreground / background used on color displays. The
230 arguments are colors as defined in
231 .Pa src/sys/dev/wscons/wsdisplayvar.h .
232 .Dq WS_DEFAULT_COLATTR
234 .Dq WS_DEFAULT_MONOATTR
235 are additional attribute flags used on color or monochrome displays,
237 The arguments are defined in the same header file.
238 Whether the attributes
239 are supported or not depends on the actually used graphics adapter.
240 These options are ignored by the
243 .It Cd options WS_KERNEL_FG=WSCOL_XXX ,
244 .It Cd options WS_KERNEL_BG=WSCOL_XXX ,
245 .It Cd options \&WS_KERNEL_COLATTR="(WSATTR_XXX | WSATTR_YYY)"
247 .It Cd options \&WS_KERNEL_MONOATTR="(WSATTR_XXX | WSATTR_YYY)"
248 allow to make console output originating from the kernel appear differently
249 than output from user level programs (via
254 Their meaning is the same as their
257 .It Cd options WSCOMPAT_USL_SYNCTIMEOUT=nnn
258 The virtual screen switching protocol enabled by
259 .Dq WSDISPLAY_COMPAT_USL
260 uses a somewhat complex handshake protocol to pass control to user programs
261 such as X servers controlling a virtual screen. In order
262 to prevent a non-responsive
263 application from locking the whole console system,
264 a screen switch will be rolled
265 back after a 5 second timeout if the application does not respond.
266 This option can be used to specify in seconds a different timeout value.
267 .It Cd options WSKBD_EVENT_AUTOREPEAT
268 If set, this option enables auto repeat even in event mode.
269 The auto repeat will generate key down events while the key is pressed.
270 .It Cd options WSKBD_USONLY
271 In order to strip down the space usage of wscons,
272 all keymaps except the US english one can be removed from the kernel
273 with this option, which results in a space gain of about 10kB.