restore pcvt(4) man page
Reviewed by: core
This commit is contained in:
parent
cc85444017
commit
77ca8b20d8
@ -1,11 +1,11 @@
|
||||
# $Id: Makefile,v 1.91 1998/12/27 12:52:39 phk Exp $
|
||||
# $Id: Makefile,v 1.92 1998/12/27 13:06:36 phk Exp $
|
||||
|
||||
MAN4= adv.4 adw.4 aha.4 ahb.4 ahc.4 aic.4 alog.4 apm.4 ar.4 asc.4 bktr.4 \
|
||||
bt.4 cs.4 cx.4 cy.4 de.4 \
|
||||
dgb.4 dpt.4 ed.4 el.4 en.4 ep.4 ex.4 fdc.4 fe.4 fxp.4 gsc.4 ie.4 \
|
||||
io.4 joy.4 keyboard.4 labpc.4 le.4 lnc.4 lp.4 lpt.4 matcd.4 mcd.4 \
|
||||
mem.4 meteor.4 mouse.4 mse.4 mtio.4 mx.4 ncr.4 npx.4 \
|
||||
pcf.4 pcm.4 perfmon.4 pn.4 pnp.4 ppc.4 psm.4 \
|
||||
pcf.4 pcm.4 pcvt.4 perfmon.4 pn.4 pnp.4 ppc.4 psm.4 \
|
||||
rdp.4 rl.4 sb.4 scd.4 screen.4 si.4 sio.4 \
|
||||
spkr.4 sr.4 sysmouse.4 tl.4 tw.4 tx.4 vr.4 vx.4 \
|
||||
wb.4 wd.4 wfd.4 wl.4 wt.4 xl.4 ze.4 zp.4
|
||||
@ -58,6 +58,7 @@ MLINKS+= ncr.4 ../ncr.4
|
||||
MLINKS+= npx.4 ../npx.4
|
||||
MLINKS+= pcf.4 ../pcf.4
|
||||
MLINKS+= pcm.4 ../pcm.4
|
||||
MLINKS+= pcvt.4 vt.4 pcvt.4 ../pcvt.4 pcvt.4 ../vt.4
|
||||
MLINKS+= perfmon.4 ../perfmon.4
|
||||
MLINKS+= pn.4 ../pn.4
|
||||
MLINKS+= pnp.4 ../pnp.4
|
||||
|
910
share/man/man4/man4.i386/pcvt.4
Normal file
910
share/man/man4/man4.i386/pcvt.4
Normal file
@ -0,0 +1,910 @@
|
||||
.\"
|
||||
.\" Copyright (c) 1992, 1995 Hellmuth Michaelis, Brian Dunford-Shore,
|
||||
.\" Joerg Wunsch and Holger Veit.
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by Hellmuth Michaelis,
|
||||
.\" Brian Dunford-Shore, Joerg Wunsch and Holger Veit.
|
||||
.\" 4. The name authors may not be used to endorse or promote products
|
||||
.\" derived from this software without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)pcvt.4, 3.20, Last Edit-Date: [Sun Apr 2 18:23:39 1995]
|
||||
.\" $Id: pcvt.4,v 1.12 1998/10/22 14:29:03 bde Exp $
|
||||
.\"
|
||||
.\" Man page pcvt(4) created after pcvt_ioctl.h on 13-Jan-93
|
||||
.\" by Joerg Wunsch
|
||||
.\"
|
||||
.\" updated for rel 2.10 (-hm)
|
||||
.\" updated for rel 2.20 (-hm)
|
||||
.\" updated for rel 3.00 (-jw)
|
||||
.\" updated for final rel 3.00 (-hm)
|
||||
.\" removed references to 386BSD (-hm)
|
||||
.\"
|
||||
.Dd February 27, 1994
|
||||
.Dt PCVT 4 i386
|
||||
.Sh NAME
|
||||
.Nm pcvt ,
|
||||
.Nm vt
|
||||
.Nd PC console virtual screen system
|
||||
.Sh SYNOPSIS
|
||||
options
|
||||
.Do
|
||||
.Em PCVT_FREEBSD = version
|
||||
|
|
||||
.Em PCVT_NETBSD = version
|
||||
.Dc
|
||||
.br
|
||||
.Op options Dq Em PCVT_NSCREENS = number
|
||||
.br
|
||||
.Op options Dq Em PCVT_XXXX
|
||||
.Po
|
||||
see
|
||||
.Sx Configuration
|
||||
below
|
||||
.Pc
|
||||
.Pp
|
||||
.Cd "device vt0 at isa? port IO_KBD tty irq 1"
|
||||
.Sh DESCRIPTION
|
||||
.Ss Overview
|
||||
The
|
||||
.Nm pcvt
|
||||
driver provides a virtual screen system with several additional
|
||||
features not available in historic console drivers.
|
||||
Besides the ability of handling
|
||||
multiple virtual screens,
|
||||
the probably most important is an emulation of a wide range
|
||||
of DEC VT-220
|
||||
.if t \(tm
|
||||
.if n (TM)
|
||||
functionality. See
|
||||
.Sx Features
|
||||
for a detailed description.
|
||||
|
||||
.Ss Features
|
||||
.Bl -bullet
|
||||
.It
|
||||
Almost full DEC VT220
|
||||
.if t \(tm
|
||||
.if n (TM)
|
||||
functionality
|
||||
.Po
|
||||
moving towards VT320
|
||||
.if t \(tm
|
||||
.if n (TM)
|
||||
.Pc
|
||||
.It
|
||||
Completely independent virtual terminals for MDA/HGC/CGA/EGA and VGA
|
||||
.It
|
||||
25, 28, 35, 40, 43 or 50x80 screen resolution for each virtual screen
|
||||
.It
|
||||
Fully remappable keyboard to support national keyboards
|
||||
.It
|
||||
All VT220 character sets plus ISO Latin-1 and DEC technical supported
|
||||
.It
|
||||
VT220 downloadable character set supported when run on EGA/VGA
|
||||
.It
|
||||
VT220 user defined keys for each virtual terminal
|
||||
.It
|
||||
Optional function key label support
|
||||
.if t \('a
|
||||
.if n 'a
|
||||
la Hewlett-Packard
|
||||
.It
|
||||
Display function codes functionality
|
||||
.It
|
||||
Support for MDA, CGA, EGA and VGA display adaptors
|
||||
.It
|
||||
Support for 132 column operation on VGA chipsets
|
||||
.It
|
||||
X Window Support for XFree86 >= 1.2 using the pccons model, or
|
||||
for XFree86 >= 2.0 using the syscons model
|
||||
.Po
|
||||
requires
|
||||
.Em PCVT_USL_VT_COMPAT
|
||||
to be configured
|
||||
.Pc
|
||||
.El
|
||||
|
||||
What it cannot:
|
||||
.Bl -bullet
|
||||
.It
|
||||
No double wide/high characters
|
||||
.It
|
||||
No softscroll
|
||||
.It
|
||||
No inverse background
|
||||
.It
|
||||
No VT220 printer output support
|
||||
.It
|
||||
No VT52 support at all
|
||||
.It
|
||||
No 8-bit controls
|
||||
.It
|
||||
Only limited AT-keyboard
|
||||
.Pq 84 keys
|
||||
support
|
||||
.Pq yet
|
||||
.It
|
||||
Help you to make money...
|
||||
.El
|
||||
|
||||
.Ss Configuration
|
||||
The
|
||||
.Nm pcvt
|
||||
console driver is currently available for the Intel-based BSD operating
|
||||
systems
|
||||
.Tn NetBSD/i386
|
||||
(release 0.9 or higher),
|
||||
and
|
||||
.Tn FreeBSD
|
||||
(release 1.0-GAMMA or higher) .
|
||||
In order to get the appropriate system support, one of the options
|
||||
.Em PCVT_NETBSD ,
|
||||
or
|
||||
.Em PCVT_FREEBSD
|
||||
must be defined in the system's config file
|
||||
.Pq see Xr config 8 .
|
||||
In addition, for the
|
||||
.Tn FreeBSD
|
||||
and
|
||||
.Tn NetBSD
|
||||
operating systems, it is necessary to set this option to the operating
|
||||
system's version number.
|
||||
For
|
||||
.Tn FreeBSD
|
||||
this version number must be expressed as a 3-digit number.
|
||||
E.\& g., if you are running the 1.0 release
|
||||
.Pq which is actually version 1.0.2 ,
|
||||
you should define
|
||||
|
||||
.Em PCVT_FREEBSD = 102
|
||||
|
||||
For
|
||||
.Em NetBSD
|
||||
this version number must be expressed as 9 if you are running NetBSD 0.9
|
||||
and anything greater than 9 for NetBSD-current (pre 1.0). It is recommended
|
||||
to use (as with
|
||||
.Tn FreeBSD )
|
||||
100 for
|
||||
.Nx 1.0
|
||||
and 999 for
|
||||
.Tn NetBSD-current.
|
||||
E.g., if you are running the
|
||||
.Nx 1.0
|
||||
release, you should define
|
||||
|
||||
.Em PCVT_NETBSD = 100
|
||||
|
||||
The
|
||||
.Nm pcvt
|
||||
driver has been designed to be highly configurable in order to satisfy
|
||||
everyone's needs. The preferred way for those configurations is to
|
||||
provide appropriate
|
||||
.Em options
|
||||
lines within the config file, possibly overriding the built-in default
|
||||
values. Therefore it is possible to compile several distinct kernels
|
||||
with different driver behaviour on a single machine.
|
||||
|
||||
The following list gives a short overview of the available configuration
|
||||
options. Refer to the file
|
||||
.Pa i386/isa/pcvt/pcvt_hdr.h
|
||||
in the kernel source tree for detailed documentation.
|
||||
|
||||
Note: the following conventions apply to all the Boolean options.
|
||||
If an option is given with no value, a value of 1
|
||||
.Pq activated
|
||||
is substituted. If an option value is given as 0, this options is
|
||||
deactivated. Any other value is substituted by 1, too. If an option
|
||||
is omitted, a built-in default is assumed.
|
||||
|
||||
.Bl -tag -width indent -compact
|
||||
|
||||
.It Em PCVT_NSCREENS
|
||||
Defines the number of virtual screens.
|
||||
.br
|
||||
Default: 8
|
||||
|
||||
.It Em PCVT_VT220KEYB
|
||||
If activated, a keyboard layout resembling a DEC VT200 (TM) is generated.
|
||||
If deactivated, a mixture between VT220 and HP is used. See the files
|
||||
.Pa Keyboard.VT
|
||||
and
|
||||
.Pa Keyboard.HP
|
||||
in the
|
||||
.Nm pcvt
|
||||
documentation directory for a full description.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.It Em PCVT_SCREENSAVER
|
||||
Enables the builtin screensaver feature.
|
||||
.br
|
||||
Default: on
|
||||
|
||||
.It Em PCVT_PRETTYSCRNS
|
||||
If enabled, a blinking-star screensaver is used. If disabled, the screen
|
||||
is simply blanked
|
||||
.Pq which might be useful for energy-saving monitors .
|
||||
.br
|
||||
Default: on
|
||||
|
||||
.It Em PCVT_CTRL_ALT_DEL
|
||||
If enabled, the key combination
|
||||
.Aq Em Ctrl
|
||||
.Aq Em Alt
|
||||
.Aq Em Del
|
||||
invokes a CPU reset.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.It Em PCVT_USEKBDSEC
|
||||
Do NOT override a security lock for the keyboard.
|
||||
.br
|
||||
Default: on
|
||||
|
||||
.It Em PCVT_24LINESDEF
|
||||
If enabled, the 25-line modi
|
||||
.Po
|
||||
VT emulation with 25 lines, and HP emulation with 28 lines
|
||||
.Pc
|
||||
default to 24 lines only to provide a better compatibility to the
|
||||
original DEV VT220 (TM). Thus it should be possible to use the
|
||||
terminal information for those terminals without further changes.
|
||||
Note that this is a startup option; it is possible to toggle between
|
||||
the 24- and 25-lines' display by the
|
||||
.Xr scon 1
|
||||
utility.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.It Em PCVT_EMU_MOUSE
|
||||
Emulate a three-button mouse via the keypad. Useful for notebooks when
|
||||
running XFree86. See
|
||||
.Sx Mouse emulation
|
||||
below.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.It Em PCVT_META_ESC
|
||||
If enabled, a sequence composed of
|
||||
.Aq Em esc ,
|
||||
followed by the normal key code is emitted if a key is pressed with the
|
||||
.Aq Em Alt
|
||||
key modifier. If disabled, then normal key code with the value
|
||||
.Em 0x80
|
||||
added is sent.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.El
|
||||
|
||||
Note that there are further options available which are mainly used for
|
||||
debugging purposes or as a workaround for hardware problems. They are
|
||||
found in
|
||||
.Pa i386/isa/pcvt/pcvt_hdr.h
|
||||
along with their documentation.
|
||||
|
||||
.Ss Internal Functions
|
||||
The functionality described below may be accessed via
|
||||
.Xr ioctl 2
|
||||
system calls with a file descriptor opened on a device node
|
||||
related to the
|
||||
.Nm pcvt
|
||||
driver.
|
||||
To make use of them, a program should contain the following line:
|
||||
|
||||
|
||||
.Dl #include <machine/pcvt_ioctl.h>
|
||||
|
||||
Any parameter definitions cited below can be found in that file.
|
||||
|
||||
|
||||
.Em Keyboard related functions
|
||||
|
||||
Three functions are related to basic keyboard hardware:
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDRESET
|
||||
reset keyboard, set defaults;
|
||||
.It KBDGTPMAT
|
||||
get current typematic value, parameter is a pointer to int where
|
||||
the values is stored to;
|
||||
.It KBDSTPMAT
|
||||
set current typematic value, similar to above command.
|
||||
.El
|
||||
|
||||
Symbolic values are available for the appropriate constants.
|
||||
To specify the initial typematic delay time, they are
|
||||
KBD_TPD250 for 250 ms through
|
||||
KBD_TPD1000 for 1000 ms, in steps of 250 ms. The typematic repeat
|
||||
rates are
|
||||
KBD_TPM300, specifying 30.0 characters per second through
|
||||
KBD_TPM20 for 2.0 characters per second. The intermediate values
|
||||
are: 30.0, 26.7, 24.0, 21.8, 20.0, 18.5, 17.1, 16.0, 15.0, 13.3,
|
||||
12.0, 10.9, 10.0, 9.2, 8.6, 8.0, 7.5, 6.7, 6.0, 5.5, 5.0, 4.6, 4.3,
|
||||
4.0, 3.7, 3.3, 3.0, 2.7, 2.5, 2.3, 2.1, 2.0 characters per second.
|
||||
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDGREPSW
|
||||
get key repetition switch, and
|
||||
.It KBDSREPSW
|
||||
set key repetition switch
|
||||
.El
|
||||
|
||||
again take a pointer to int as argument. They manipulate the
|
||||
drivers internal keyboard repetition flag, possible values are:
|
||||
KBD_REPEATOFF or KBD_REPEATON.
|
||||
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDGLEDS
|
||||
get LED state, and
|
||||
.It KBDSLEDS
|
||||
set LED state manipulate the keyboard indicators, but do not influence
|
||||
the drivers idea of lock key state.
|
||||
.El
|
||||
|
||||
The int where the argument points to
|
||||
may have the values
|
||||
KBD_SCROLLLOCK, KBD_NUMLOCK, KBD_CAPSLOCK, which may be used in any
|
||||
conjunction.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDGLOCK
|
||||
gets state of SCROLL,NUM,CAPS, and
|
||||
.It KBDSLOCK
|
||||
sets state of SCROLL,NUM,CAPS + LEDs
|
||||
.El
|
||||
|
||||
should be used in a same manner to get/set the drivers internal
|
||||
LED flags.
|
||||
|
||||
|
||||
.Em Keyboard remapping
|
||||
|
||||
One important feature of the
|
||||
.Nm pcvt
|
||||
driver is its ability to overload the built in key definition.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDGCKEY
|
||||
get current key values,
|
||||
.It KBDSCKEY
|
||||
set new key assignment values, and
|
||||
.It KBDGOKEY
|
||||
get original key assignment values
|
||||
.El
|
||||
|
||||
arrange those functions. The take a pointer to a
|
||||
.Em struct kbd_ovlkey
|
||||
as argument as described below. In addition,
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDRMKEY
|
||||
removes a key assignment, taking a pointer to an int as argument which
|
||||
contains the affected key number;
|
||||
.It KBDDEFAULT
|
||||
removes all key assignments.
|
||||
.El
|
||||
.Bd -literal
|
||||
struct kbd_ovlkey /* complete definition of a key */
|
||||
{
|
||||
u_short keynum; /* the key itself */
|
||||
u_short type; /* type of key, see below */
|
||||
u_char subu; /* subtype, ignored on write */
|
||||
char unshift[KBDMAXOVLKEYSIZE+1]; /* emitted string, unshifted */
|
||||
u_char subs; /* subtype, ignored on write */
|
||||
char shift[KBDMAXOVLKEYSIZE+1]; /* emitted string, shifted */
|
||||
u_char subc; /* subtype, ignored on write */
|
||||
char ctrl[KBDMAXOVLKEYSIZE+1]; /* emitted string, control */
|
||||
u_char suba; /* subtype, ignored on write */
|
||||
char altgr[KBDMAXOVLKEYSIZE+1]; /* emitted string, altgr */
|
||||
};
|
||||
.Ed
|
||||
|
||||
The appropriate values for the
|
||||
.Em type
|
||||
field are:
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBD_NONE
|
||||
no function, key is disabled,
|
||||
.It KBD_SHIFT
|
||||
keyboard shift,
|
||||
.It KBD_META
|
||||
alternate shift, sets bit8 to ASCII code,
|
||||
.It KBD_NUM
|
||||
numeric shift, keypad numeric / application mode,
|
||||
.It KBD_CTL
|
||||
control code generation,
|
||||
.It KBD_CAPS
|
||||
caps shift - swaps case of letter,
|
||||
.It KBD_ASCII
|
||||
ASCII code generating key,
|
||||
.It KBD_SCROLL
|
||||
stop output,
|
||||
.It KBD_FUNC
|
||||
function key,
|
||||
.It KBD_KP
|
||||
keypad keys,
|
||||
.It KBD_BREAK
|
||||
ignored,
|
||||
.It KBD_ALTGR
|
||||
AltGr translation feature,
|
||||
.It KBD_SHFTLOCK
|
||||
shift lock,
|
||||
.It KBD_CURSOR
|
||||
cursor keys, and
|
||||
.It KBD_RETURN
|
||||
.Dq Return
|
||||
or
|
||||
.Dq Enter
|
||||
keys.
|
||||
.El
|
||||
|
||||
The
|
||||
.Em subtype
|
||||
field contains one of the values
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBD_SUBT_STR
|
||||
key is bound to a string, or
|
||||
.It KBD_SUBT_FNC
|
||||
key is bound to a function.
|
||||
.El
|
||||
|
||||
.Em Mouse emulation
|
||||
|
||||
The mouse emulator
|
||||
.Pq if configured in
|
||||
fakes a three-button mouse using the Mouse Systems protocol. The first
|
||||
.Nm pcvt
|
||||
device node not used by a virtual screen is the mouse device. I.\& e.,
|
||||
for the default value of 8 virtual screens,
|
||||
.Pa /dev/ttyv0
|
||||
through
|
||||
.Pa /dev/ttyv7
|
||||
would refer to the virtual screens, and
|
||||
.Pa /dev/ttyv8
|
||||
were the mouse emulator device. The mouse emulation is turned on by
|
||||
pressing the
|
||||
.Aq Em NumLock
|
||||
key. The pointer is moved by the numerical keypad keys, into the
|
||||
obvious directions. The pointer is initially moved in single steps,
|
||||
and is accelerated after an adjustable time
|
||||
.Pq default: 500 ms
|
||||
by about 6 times. The mouse buttons are emulated by three normal
|
||||
keys, by default the function keys
|
||||
.Aq Em \&F1 ,
|
||||
.Aq Em \&F2 ,
|
||||
and
|
||||
.Aq Em \&F3 .
|
||||
There are two selectable flavors available: normal and
|
||||
.Dq sticky
|
||||
buttons. Normal buttons behave as expected.
|
||||
.Dq Sticky
|
||||
buttons are notified as button-press on the first keypress. They
|
||||
.Dq stick
|
||||
until the key is pressed again
|
||||
.Pq or another button-emulating key instead .
|
||||
Button presses and releases are notified to the user by a simple
|
||||
.Dq pling ,
|
||||
or
|
||||
.Dq plong ,
|
||||
respectively, generated from the PC's built-in speaker.
|
||||
|
||||
The following commands control the emulation.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDMOUSEGET
|
||||
get the current definitions, and
|
||||
.It KBDMOUSESET
|
||||
set new definitions.
|
||||
.El
|
||||
|
||||
Both accept a
|
||||
.Li struct mousedefs *
|
||||
as the third argument to the ioctl call:
|
||||
.Bd -literal
|
||||
struct mousedefs {
|
||||
int leftbutton; /* (PC) scan code for "left button" key */
|
||||
int middlebutton; /* (PC) scan code for "mid button" key */
|
||||
int rightbutton; /* (PC) scan code for "right button" key */
|
||||
int stickybuttons; /* if true, the buttons are "sticky" */
|
||||
int acceltime; /* timeout in microseconds to start pointer */
|
||||
/* movement acceleration */
|
||||
/* defaults to: scan(F1), scan(F2), scan(F3), false, 500000 */
|
||||
};
|
||||
.Ed
|
||||
|
||||
|
||||
.Em Downloadable character set interface
|
||||
|
||||
EGA and VGA video adaptors provide the capability of downloadable
|
||||
software fonts. Since the
|
||||
.Sq native character set
|
||||
of any IBM-compatible PC video board does not allow the full interpretation
|
||||
of DEC multinational character set or ISO Latin-1
|
||||
.Pq ISO 8859-1 ,
|
||||
this might be very useful for a U**X environment.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGASETFONTATTR
|
||||
set font attr, and
|
||||
.It VGAGETFONTATTR
|
||||
get font attr
|
||||
.El
|
||||
|
||||
are used to manipulate the drivers information about a downloaded
|
||||
font. The take a pointer to a
|
||||
.Em struct vgafontattr
|
||||
as argument:
|
||||
.Bd -literal
|
||||
struct vgafontattr {
|
||||
int character_set; /* VGA character set */
|
||||
int font_loaded; /* Mark font loaded or unloaded */
|
||||
int screen_size; /* Character rows per screen */
|
||||
int character_scanlines; /* Scanlines per character - 1 */
|
||||
int screen_scanlines; /* Scanlines per screen - 1 byte */
|
||||
};
|
||||
.Ed
|
||||
|
||||
Each character of each font is to be downloaded with
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGALOADCHAR
|
||||
load vga char,
|
||||
.El
|
||||
|
||||
taking a pointer to
|
||||
.Em struct vgaloadchar
|
||||
as its argument:
|
||||
.Bd -literal
|
||||
struct vgaloadchar {
|
||||
int character_set; /* VGA character set to load into */
|
||||
int character; /* Character to load */
|
||||
int character_scanlines; /* Scanlines per character */
|
||||
u_char char_table[32]; /* VGA character shape table */
|
||||
};
|
||||
.Ed
|
||||
|
||||
The field
|
||||
.Em character_set
|
||||
takes the values
|
||||
CH_SET0, CH_SET1, CH_SET2, CH_SET3 on EGA's or VGA's. Since VGA's
|
||||
might have up to eight simultaneously loaded fonts, they can take
|
||||
CH_SET4, CH_SET5, CH_SET6, or CH_SET7, too.
|
||||
|
||||
Note that there's a dependence between the font size
|
||||
and a possible screen height
|
||||
.Pq in character rows ,
|
||||
depending on the video adaptor used:
|
||||
.Bd -literal
|
||||
Screen size (rows) on: EGA VGA
|
||||
Font size
|
||||
|
||||
8 x 8 43 50
|
||||
8 x 10 35 40
|
||||
8 x 14 25 28
|
||||
8 x 16 not 25
|
||||
applicable
|
||||
.Ed
|
||||
|
||||
|
||||
.Em General screen manipulation commands
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGACURSOR
|
||||
sets cursor shape,
|
||||
.El
|
||||
|
||||
taking a pointer to the following structure as argument:
|
||||
.Bd -literal
|
||||
struct cursorshape {
|
||||
int screen_no; /* screen number for which to set, */
|
||||
/* or -1 to set on current active screen */
|
||||
int start; /* top scanline, range 0... Character Height - 1 */
|
||||
int end; /* end scanline, range 0... Character Height - 1 */
|
||||
};
|
||||
.Ed
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGASETSCREEN
|
||||
set screen info, and
|
||||
.It VGAGETSCREEN
|
||||
get screen info,
|
||||
.El
|
||||
|
||||
provide an interface to some general driver internal variables
|
||||
which might modify the behaviour of the screens,
|
||||
or which might simply be used to force the driver to switch
|
||||
to one certain screen. Their argument is a pointer to the structure:
|
||||
.Bd -literal
|
||||
struct screeninfo {
|
||||
int adaptor_type; /* type of video adaptor installed */
|
||||
/* read only, ignored on write (yet!) */
|
||||
int totalfonts; /* no of downloadable fonts */
|
||||
/* read only, ignored on write */
|
||||
int totalscreens; /* no of virtual screens */
|
||||
/* read only, ignored on write */
|
||||
int screen_no; /* screen number, this was got from */
|
||||
/* on write, if -1, apply pure_vt_mode */
|
||||
/* and/or screen_size to current screen*/
|
||||
/* else to screen_no supplied */
|
||||
int current_screen; /* screen number, which is displayed. */
|
||||
/* on write, if -1, make this screen */
|
||||
/* the current screen, else set current*/
|
||||
/* displayed screen to parameter */
|
||||
int pure_vt_mode; /* flag, pure VT mode or HP/VT mode */
|
||||
/* on write, if -1, no change */
|
||||
int screen_size; /* screen size */
|
||||
/* on write, if -1, no change */
|
||||
int force_24lines; /* force 24 lines if 25 lines VT mode */
|
||||
/* or 28 lines HP mode to get pure */
|
||||
/* VT220 screen size */
|
||||
/* on write, if -1, no change */
|
||||
int vga_family; /* if adaptor_type = VGA, this reflects*/
|
||||
/* the chipset family after a read */
|
||||
/* nothing happenes on write ... */
|
||||
int vga_type; /* if adaptor_type = VGA, this reflects*/
|
||||
/* the chipset after a read */
|
||||
/* nothing happenes on write ... */
|
||||
int vga_132; /* set to 1 if driver has support for */
|
||||
/* 132 column operation for chipset */
|
||||
/* currently ignored on write */
|
||||
};
|
||||
.Ed
|
||||
|
||||
Its field
|
||||
.Em pure_vt_mode
|
||||
may take the values M_HPVT for a mixed VTxxx and HP Mode, with function
|
||||
key labels and a status line, or M_PUREVT for only VTxxx sequences
|
||||
recognized, with no labels.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGASETCOLMS
|
||||
sets the number of columns for the current screen,
|
||||
.El
|
||||
|
||||
its parameter is a pointer to an integer containing either a value of 80,
|
||||
or a value of 132. Note that setting the number of columns to 132 is
|
||||
only supported on VGA adaptors. Any unsupported numbers cause the ioctl
|
||||
to fail with
|
||||
.Em errno
|
||||
.Pq see Xr intro 2
|
||||
being set to
|
||||
.Em EINVAL .
|
||||
|
||||
.Em VGA color palette interface
|
||||
|
||||
Only on VGA adaptors, there's a color palette register at the output.
|
||||
It is responsible for the red, green and blue output voltage provided
|
||||
for each of the 256 internal color codes, each lying in the range of
|
||||
0 through 63 (with 63 representing the brightest value for a base color).
|
||||
Thus, these adaptors map each color code to a color of a
|
||||
.Dq palette
|
||||
out of 262144 colors. The commands
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGAREADPEL
|
||||
read VGA palette entry, and
|
||||
.It VGAWRITEPEL
|
||||
write VGA palette entry
|
||||
.El
|
||||
|
||||
establish an interface to these palette registers. Their argument is
|
||||
a pointer to:
|
||||
.Bd -literal
|
||||
struct vgapel {
|
||||
unsigned idx; /* index into palette, 0 .. 255 valid */
|
||||
unsigned r, g, b; /* RGB values, masked by VGA_PMASK (63) */
|
||||
};
|
||||
.Ed
|
||||
|
||||
|
||||
.Em Driver identification
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGAPCVTID
|
||||
returns information if the current compiled in driver is pcvt and it's
|
||||
major and minor revision numbers. the call is taking a pointer to the
|
||||
following structure as argument:
|
||||
.El
|
||||
|
||||
.Bd -literal
|
||||
struct pcvtid {
|
||||
#define PCVTIDNAMELN 16 /* driver id - string length */
|
||||
char name[PCVTIDNAMELN]; /* driver name, == PCVTIDSTR */
|
||||
#define PCVTIDNAME "pcvt" /* driver id - string */
|
||||
int rmajor; /* revision number, major */
|
||||
#define PCVTIDMAJOR 3
|
||||
int rminor; /* revision number, minor */
|
||||
#define PCVTIDMINOR 00
|
||||
};
|
||||
.Ed
|
||||
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGAPCVTINFO
|
||||
returns information if the current compiled in driver is pcvt and it's
|
||||
compile time options. the call is taking a pointer to the following
|
||||
structure as argument:
|
||||
.El
|
||||
|
||||
.Bd -literal
|
||||
struct pcvtinfo {
|
||||
u_int opsys; /* PCVT_xxx(x)BSD */
|
||||
#define CONF_UNKNOWNOPSYS 0
|
||||
#define CONF_386BSD 1 /* unsupported !!! */
|
||||
#define CONF_NETBSD 2
|
||||
#define CONF_FREEBSD 3
|
||||
u_int opsysrel; /* Release for NetBSD/FreeBSD */
|
||||
u_int nscreens; /* PCVT_NSCREENS */
|
||||
u_int scanset; /* PCVT_SCANSET */
|
||||
u_int updatefast; /* PCVT_UPDATEFAST */
|
||||
u_int updateslow; /* PCVT_UPDATESLOW */
|
||||
u_int sysbeepf; /* PCVT_SYSBEEPF */
|
||||
u_int pcburst; /* PCVT_PCBURST */
|
||||
u_int kbd_fifo_sz; /* PCVT_KBD_FIFO_SZ */
|
||||
|
||||
/* config booleans */
|
||||
|
||||
u_long compile_opts; /* PCVT_xxxxxxxxxxxxxxx */
|
||||
};
|
||||
.Ed
|
||||
|
||||
|
||||
.Em Screen saver
|
||||
|
||||
Depending on the configuration of a
|
||||
.Nm pcvt
|
||||
driver, their might be a simple screen saver available. It is controlled
|
||||
by the command
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGASCREENSAVER
|
||||
set timeout for screen saver in seconds; 0 turns it off,
|
||||
.El
|
||||
|
||||
taking a pointer to an integer as argument. Despite of its command name,
|
||||
this is available on
|
||||
.Em any
|
||||
kind of adaptor if configured in by the
|
||||
.Xr config 8
|
||||
option
|
||||
.Dq PCVT_SCREENSAVER
|
||||
|
||||
.Em Compatibility commands for USL-style VT's
|
||||
|
||||
Release 3.00 of this
|
||||
.Nm pcvt
|
||||
driver supports a subset of the USL-style commands used to control
|
||||
the virtual terminal interface. This feature is mainly intended to
|
||||
allow
|
||||
.Em XFree86 ,
|
||||
release 2.0 or higher, to switch between virtual screens even when
|
||||
running an X server. They are ugly with respect to the implied semantics
|
||||
.Pq i.\& e., they break Berkeley semantics
|
||||
and are therefore not recommended for common use. See the file
|
||||
.Pa i386/include/pcvt_ioctl.h
|
||||
for their documentation.
|
||||
|
||||
.Sh FILES
|
||||
.Bl -tag -width /usr/include/machine/pcvt_ioctl.h
|
||||
.It Pa /usr/include/machine/pcvt_ioctl.h
|
||||
Definitions for
|
||||
.Xr ioctl 2
|
||||
function calls
|
||||
.It Pa /dev/ttyv?
|
||||
.It Pa /dev/console
|
||||
Device nodes to access the
|
||||
.Nm pcvt
|
||||
driver
|
||||
.It Pa i386/isa/pcvt/pcvt_hdr.h
|
||||
.Pq relative to the kernel source tree
|
||||
Documents the various compile-time options to tailor
|
||||
.Nm pcvt .
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm pcvt
|
||||
driver has been developed for and contributed to 386BSD release 0.1. Since
|
||||
release 3.00 explicit support is provided for NetBSD 0.9. It is expected
|
||||
that no further development on pcvt is done for 386BSD 0.1 after release 3.00,
|
||||
in fact, 386BSD support was dropped with release 3.20.
|
||||
.Sh AUTHORS
|
||||
Written by
|
||||
.An Hellmuth Michaelis Aq hm@hcshh.hcs.de
|
||||
with much help from
|
||||
.An Brian Dunford-Shore Aq brian@morpheus.wustl.edu
|
||||
.br
|
||||
.if n Joerg Wunsch
|
||||
.if t J\(:org Wunsch
|
||||
.Aq joerg_wunsch@uriah.sax.de
|
||||
.br
|
||||
This driver is based on several people's previous
|
||||
work, notably by
|
||||
.An William Jolitz'
|
||||
and
|
||||
.An Don Ahn's
|
||||
historic
|
||||
.Xr pccons 4
|
||||
implementation
|
||||
.br
|
||||
.Aq ljolitz@cardio.ucsf.edu
|
||||
.br
|
||||
.An Holger Veit Aq veit@first.gmd.de
|
||||
.Sh SEE ALSO
|
||||
.Xr intro 2 ,
|
||||
.Xr ioctl 2 ,
|
||||
.Xr keyboard 4 ,
|
||||
.Xr screen 4 ,
|
||||
.Xr config 8 ,
|
||||
.Xr ispcvt 8
|
||||
.Sh BUGS
|
||||
Certainly existent. See the file
|
||||
.Pa BugList
|
||||
in the Documentation directory for an up-to-date list.
|
||||
|
||||
.Ss Tested Video Boards
|
||||
.Bd -literal
|
||||
Manufacturer Chipset Monitor
|
||||
|
||||
2theMax (?) ET4000 VGA Color
|
||||
Video7 Inc. Video 7 VGA Color
|
||||
Diamond Stealth VRAM S3 NEC 3FGx
|
||||
Trident TVGA 8800CS NEC 3D
|
||||
Data General C&T P82C604 VGA Color
|
||||
NoName Hercules W86855AF Mono
|
||||
Kyocera (Mainboard) WD90C11 Sony Color
|
||||
unknown ET3000 NEC 3D
|
||||
.Ed
|
||||
|
||||
.Ss Tested Keyboards
|
||||
.Bd -literal
|
||||
Manufacturer Type Layout
|
||||
|
||||
Cherry MF II US
|
||||
Cherry/Tandon MF II German
|
||||
Hewlett-Packard MF II US
|
||||
Hewlett-Packard MF II German
|
||||
Tatung AT German
|
||||
.Ed
|
||||
|
||||
There is absolutely NO support for the ancient PC-keyboards
|
||||
.Pq they had 83 keys .
|
||||
|
||||
There is only limited support for AT-keyboards
|
||||
.Bo
|
||||
they have 84 keys, and a separate numeric keypad,
|
||||
they don't have F11/F12 keys
|
||||
.Bc
|
||||
because the emulator needs F9 through F12 for control functions, and due to
|
||||
the current design of the keyboard driver there is no
|
||||
.Pq full
|
||||
support for national keyboards because
|
||||
of the lack of an ALtGr key.
|
||||
|
||||
MF-keyboards are fully supported, 101- and 102-key versions.
|
910
share/man/man4/pcvt.4
Normal file
910
share/man/man4/pcvt.4
Normal file
@ -0,0 +1,910 @@
|
||||
.\"
|
||||
.\" Copyright (c) 1992, 1995 Hellmuth Michaelis, Brian Dunford-Shore,
|
||||
.\" Joerg Wunsch and Holger Veit.
|
||||
.\"
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by Hellmuth Michaelis,
|
||||
.\" Brian Dunford-Shore, Joerg Wunsch and Holger Veit.
|
||||
.\" 4. The name authors may not be used to endorse or promote products
|
||||
.\" derived from this software without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)pcvt.4, 3.20, Last Edit-Date: [Sun Apr 2 18:23:39 1995]
|
||||
.\" $Id: pcvt.4,v 1.12 1998/10/22 14:29:03 bde Exp $
|
||||
.\"
|
||||
.\" Man page pcvt(4) created after pcvt_ioctl.h on 13-Jan-93
|
||||
.\" by Joerg Wunsch
|
||||
.\"
|
||||
.\" updated for rel 2.10 (-hm)
|
||||
.\" updated for rel 2.20 (-hm)
|
||||
.\" updated for rel 3.00 (-jw)
|
||||
.\" updated for final rel 3.00 (-hm)
|
||||
.\" removed references to 386BSD (-hm)
|
||||
.\"
|
||||
.Dd February 27, 1994
|
||||
.Dt PCVT 4 i386
|
||||
.Sh NAME
|
||||
.Nm pcvt ,
|
||||
.Nm vt
|
||||
.Nd PC console virtual screen system
|
||||
.Sh SYNOPSIS
|
||||
options
|
||||
.Do
|
||||
.Em PCVT_FREEBSD = version
|
||||
|
|
||||
.Em PCVT_NETBSD = version
|
||||
.Dc
|
||||
.br
|
||||
.Op options Dq Em PCVT_NSCREENS = number
|
||||
.br
|
||||
.Op options Dq Em PCVT_XXXX
|
||||
.Po
|
||||
see
|
||||
.Sx Configuration
|
||||
below
|
||||
.Pc
|
||||
.Pp
|
||||
.Cd "device vt0 at isa? port IO_KBD tty irq 1"
|
||||
.Sh DESCRIPTION
|
||||
.Ss Overview
|
||||
The
|
||||
.Nm pcvt
|
||||
driver provides a virtual screen system with several additional
|
||||
features not available in historic console drivers.
|
||||
Besides the ability of handling
|
||||
multiple virtual screens,
|
||||
the probably most important is an emulation of a wide range
|
||||
of DEC VT-220
|
||||
.if t \(tm
|
||||
.if n (TM)
|
||||
functionality. See
|
||||
.Sx Features
|
||||
for a detailed description.
|
||||
|
||||
.Ss Features
|
||||
.Bl -bullet
|
||||
.It
|
||||
Almost full DEC VT220
|
||||
.if t \(tm
|
||||
.if n (TM)
|
||||
functionality
|
||||
.Po
|
||||
moving towards VT320
|
||||
.if t \(tm
|
||||
.if n (TM)
|
||||
.Pc
|
||||
.It
|
||||
Completely independent virtual terminals for MDA/HGC/CGA/EGA and VGA
|
||||
.It
|
||||
25, 28, 35, 40, 43 or 50x80 screen resolution for each virtual screen
|
||||
.It
|
||||
Fully remappable keyboard to support national keyboards
|
||||
.It
|
||||
All VT220 character sets plus ISO Latin-1 and DEC technical supported
|
||||
.It
|
||||
VT220 downloadable character set supported when run on EGA/VGA
|
||||
.It
|
||||
VT220 user defined keys for each virtual terminal
|
||||
.It
|
||||
Optional function key label support
|
||||
.if t \('a
|
||||
.if n 'a
|
||||
la Hewlett-Packard
|
||||
.It
|
||||
Display function codes functionality
|
||||
.It
|
||||
Support for MDA, CGA, EGA and VGA display adaptors
|
||||
.It
|
||||
Support for 132 column operation on VGA chipsets
|
||||
.It
|
||||
X Window Support for XFree86 >= 1.2 using the pccons model, or
|
||||
for XFree86 >= 2.0 using the syscons model
|
||||
.Po
|
||||
requires
|
||||
.Em PCVT_USL_VT_COMPAT
|
||||
to be configured
|
||||
.Pc
|
||||
.El
|
||||
|
||||
What it cannot:
|
||||
.Bl -bullet
|
||||
.It
|
||||
No double wide/high characters
|
||||
.It
|
||||
No softscroll
|
||||
.It
|
||||
No inverse background
|
||||
.It
|
||||
No VT220 printer output support
|
||||
.It
|
||||
No VT52 support at all
|
||||
.It
|
||||
No 8-bit controls
|
||||
.It
|
||||
Only limited AT-keyboard
|
||||
.Pq 84 keys
|
||||
support
|
||||
.Pq yet
|
||||
.It
|
||||
Help you to make money...
|
||||
.El
|
||||
|
||||
.Ss Configuration
|
||||
The
|
||||
.Nm pcvt
|
||||
console driver is currently available for the Intel-based BSD operating
|
||||
systems
|
||||
.Tn NetBSD/i386
|
||||
(release 0.9 or higher),
|
||||
and
|
||||
.Tn FreeBSD
|
||||
(release 1.0-GAMMA or higher) .
|
||||
In order to get the appropriate system support, one of the options
|
||||
.Em PCVT_NETBSD ,
|
||||
or
|
||||
.Em PCVT_FREEBSD
|
||||
must be defined in the system's config file
|
||||
.Pq see Xr config 8 .
|
||||
In addition, for the
|
||||
.Tn FreeBSD
|
||||
and
|
||||
.Tn NetBSD
|
||||
operating systems, it is necessary to set this option to the operating
|
||||
system's version number.
|
||||
For
|
||||
.Tn FreeBSD
|
||||
this version number must be expressed as a 3-digit number.
|
||||
E.\& g., if you are running the 1.0 release
|
||||
.Pq which is actually version 1.0.2 ,
|
||||
you should define
|
||||
|
||||
.Em PCVT_FREEBSD = 102
|
||||
|
||||
For
|
||||
.Em NetBSD
|
||||
this version number must be expressed as 9 if you are running NetBSD 0.9
|
||||
and anything greater than 9 for NetBSD-current (pre 1.0). It is recommended
|
||||
to use (as with
|
||||
.Tn FreeBSD )
|
||||
100 for
|
||||
.Nx 1.0
|
||||
and 999 for
|
||||
.Tn NetBSD-current.
|
||||
E.g., if you are running the
|
||||
.Nx 1.0
|
||||
release, you should define
|
||||
|
||||
.Em PCVT_NETBSD = 100
|
||||
|
||||
The
|
||||
.Nm pcvt
|
||||
driver has been designed to be highly configurable in order to satisfy
|
||||
everyone's needs. The preferred way for those configurations is to
|
||||
provide appropriate
|
||||
.Em options
|
||||
lines within the config file, possibly overriding the built-in default
|
||||
values. Therefore it is possible to compile several distinct kernels
|
||||
with different driver behaviour on a single machine.
|
||||
|
||||
The following list gives a short overview of the available configuration
|
||||
options. Refer to the file
|
||||
.Pa i386/isa/pcvt/pcvt_hdr.h
|
||||
in the kernel source tree for detailed documentation.
|
||||
|
||||
Note: the following conventions apply to all the Boolean options.
|
||||
If an option is given with no value, a value of 1
|
||||
.Pq activated
|
||||
is substituted. If an option value is given as 0, this options is
|
||||
deactivated. Any other value is substituted by 1, too. If an option
|
||||
is omitted, a built-in default is assumed.
|
||||
|
||||
.Bl -tag -width indent -compact
|
||||
|
||||
.It Em PCVT_NSCREENS
|
||||
Defines the number of virtual screens.
|
||||
.br
|
||||
Default: 8
|
||||
|
||||
.It Em PCVT_VT220KEYB
|
||||
If activated, a keyboard layout resembling a DEC VT200 (TM) is generated.
|
||||
If deactivated, a mixture between VT220 and HP is used. See the files
|
||||
.Pa Keyboard.VT
|
||||
and
|
||||
.Pa Keyboard.HP
|
||||
in the
|
||||
.Nm pcvt
|
||||
documentation directory for a full description.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.It Em PCVT_SCREENSAVER
|
||||
Enables the builtin screensaver feature.
|
||||
.br
|
||||
Default: on
|
||||
|
||||
.It Em PCVT_PRETTYSCRNS
|
||||
If enabled, a blinking-star screensaver is used. If disabled, the screen
|
||||
is simply blanked
|
||||
.Pq which might be useful for energy-saving monitors .
|
||||
.br
|
||||
Default: on
|
||||
|
||||
.It Em PCVT_CTRL_ALT_DEL
|
||||
If enabled, the key combination
|
||||
.Aq Em Ctrl
|
||||
.Aq Em Alt
|
||||
.Aq Em Del
|
||||
invokes a CPU reset.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.It Em PCVT_USEKBDSEC
|
||||
Do NOT override a security lock for the keyboard.
|
||||
.br
|
||||
Default: on
|
||||
|
||||
.It Em PCVT_24LINESDEF
|
||||
If enabled, the 25-line modi
|
||||
.Po
|
||||
VT emulation with 25 lines, and HP emulation with 28 lines
|
||||
.Pc
|
||||
default to 24 lines only to provide a better compatibility to the
|
||||
original DEV VT220 (TM). Thus it should be possible to use the
|
||||
terminal information for those terminals without further changes.
|
||||
Note that this is a startup option; it is possible to toggle between
|
||||
the 24- and 25-lines' display by the
|
||||
.Xr scon 1
|
||||
utility.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.It Em PCVT_EMU_MOUSE
|
||||
Emulate a three-button mouse via the keypad. Useful for notebooks when
|
||||
running XFree86. See
|
||||
.Sx Mouse emulation
|
||||
below.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.It Em PCVT_META_ESC
|
||||
If enabled, a sequence composed of
|
||||
.Aq Em esc ,
|
||||
followed by the normal key code is emitted if a key is pressed with the
|
||||
.Aq Em Alt
|
||||
key modifier. If disabled, then normal key code with the value
|
||||
.Em 0x80
|
||||
added is sent.
|
||||
.br
|
||||
Default: off
|
||||
|
||||
.El
|
||||
|
||||
Note that there are further options available which are mainly used for
|
||||
debugging purposes or as a workaround for hardware problems. They are
|
||||
found in
|
||||
.Pa i386/isa/pcvt/pcvt_hdr.h
|
||||
along with their documentation.
|
||||
|
||||
.Ss Internal Functions
|
||||
The functionality described below may be accessed via
|
||||
.Xr ioctl 2
|
||||
system calls with a file descriptor opened on a device node
|
||||
related to the
|
||||
.Nm pcvt
|
||||
driver.
|
||||
To make use of them, a program should contain the following line:
|
||||
|
||||
|
||||
.Dl #include <machine/pcvt_ioctl.h>
|
||||
|
||||
Any parameter definitions cited below can be found in that file.
|
||||
|
||||
|
||||
.Em Keyboard related functions
|
||||
|
||||
Three functions are related to basic keyboard hardware:
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDRESET
|
||||
reset keyboard, set defaults;
|
||||
.It KBDGTPMAT
|
||||
get current typematic value, parameter is a pointer to int where
|
||||
the values is stored to;
|
||||
.It KBDSTPMAT
|
||||
set current typematic value, similar to above command.
|
||||
.El
|
||||
|
||||
Symbolic values are available for the appropriate constants.
|
||||
To specify the initial typematic delay time, they are
|
||||
KBD_TPD250 for 250 ms through
|
||||
KBD_TPD1000 for 1000 ms, in steps of 250 ms. The typematic repeat
|
||||
rates are
|
||||
KBD_TPM300, specifying 30.0 characters per second through
|
||||
KBD_TPM20 for 2.0 characters per second. The intermediate values
|
||||
are: 30.0, 26.7, 24.0, 21.8, 20.0, 18.5, 17.1, 16.0, 15.0, 13.3,
|
||||
12.0, 10.9, 10.0, 9.2, 8.6, 8.0, 7.5, 6.7, 6.0, 5.5, 5.0, 4.6, 4.3,
|
||||
4.0, 3.7, 3.3, 3.0, 2.7, 2.5, 2.3, 2.1, 2.0 characters per second.
|
||||
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDGREPSW
|
||||
get key repetition switch, and
|
||||
.It KBDSREPSW
|
||||
set key repetition switch
|
||||
.El
|
||||
|
||||
again take a pointer to int as argument. They manipulate the
|
||||
drivers internal keyboard repetition flag, possible values are:
|
||||
KBD_REPEATOFF or KBD_REPEATON.
|
||||
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDGLEDS
|
||||
get LED state, and
|
||||
.It KBDSLEDS
|
||||
set LED state manipulate the keyboard indicators, but do not influence
|
||||
the drivers idea of lock key state.
|
||||
.El
|
||||
|
||||
The int where the argument points to
|
||||
may have the values
|
||||
KBD_SCROLLLOCK, KBD_NUMLOCK, KBD_CAPSLOCK, which may be used in any
|
||||
conjunction.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDGLOCK
|
||||
gets state of SCROLL,NUM,CAPS, and
|
||||
.It KBDSLOCK
|
||||
sets state of SCROLL,NUM,CAPS + LEDs
|
||||
.El
|
||||
|
||||
should be used in a same manner to get/set the drivers internal
|
||||
LED flags.
|
||||
|
||||
|
||||
.Em Keyboard remapping
|
||||
|
||||
One important feature of the
|
||||
.Nm pcvt
|
||||
driver is its ability to overload the built in key definition.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDGCKEY
|
||||
get current key values,
|
||||
.It KBDSCKEY
|
||||
set new key assignment values, and
|
||||
.It KBDGOKEY
|
||||
get original key assignment values
|
||||
.El
|
||||
|
||||
arrange those functions. The take a pointer to a
|
||||
.Em struct kbd_ovlkey
|
||||
as argument as described below. In addition,
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDRMKEY
|
||||
removes a key assignment, taking a pointer to an int as argument which
|
||||
contains the affected key number;
|
||||
.It KBDDEFAULT
|
||||
removes all key assignments.
|
||||
.El
|
||||
.Bd -literal
|
||||
struct kbd_ovlkey /* complete definition of a key */
|
||||
{
|
||||
u_short keynum; /* the key itself */
|
||||
u_short type; /* type of key, see below */
|
||||
u_char subu; /* subtype, ignored on write */
|
||||
char unshift[KBDMAXOVLKEYSIZE+1]; /* emitted string, unshifted */
|
||||
u_char subs; /* subtype, ignored on write */
|
||||
char shift[KBDMAXOVLKEYSIZE+1]; /* emitted string, shifted */
|
||||
u_char subc; /* subtype, ignored on write */
|
||||
char ctrl[KBDMAXOVLKEYSIZE+1]; /* emitted string, control */
|
||||
u_char suba; /* subtype, ignored on write */
|
||||
char altgr[KBDMAXOVLKEYSIZE+1]; /* emitted string, altgr */
|
||||
};
|
||||
.Ed
|
||||
|
||||
The appropriate values for the
|
||||
.Em type
|
||||
field are:
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBD_NONE
|
||||
no function, key is disabled,
|
||||
.It KBD_SHIFT
|
||||
keyboard shift,
|
||||
.It KBD_META
|
||||
alternate shift, sets bit8 to ASCII code,
|
||||
.It KBD_NUM
|
||||
numeric shift, keypad numeric / application mode,
|
||||
.It KBD_CTL
|
||||
control code generation,
|
||||
.It KBD_CAPS
|
||||
caps shift - swaps case of letter,
|
||||
.It KBD_ASCII
|
||||
ASCII code generating key,
|
||||
.It KBD_SCROLL
|
||||
stop output,
|
||||
.It KBD_FUNC
|
||||
function key,
|
||||
.It KBD_KP
|
||||
keypad keys,
|
||||
.It KBD_BREAK
|
||||
ignored,
|
||||
.It KBD_ALTGR
|
||||
AltGr translation feature,
|
||||
.It KBD_SHFTLOCK
|
||||
shift lock,
|
||||
.It KBD_CURSOR
|
||||
cursor keys, and
|
||||
.It KBD_RETURN
|
||||
.Dq Return
|
||||
or
|
||||
.Dq Enter
|
||||
keys.
|
||||
.El
|
||||
|
||||
The
|
||||
.Em subtype
|
||||
field contains one of the values
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBD_SUBT_STR
|
||||
key is bound to a string, or
|
||||
.It KBD_SUBT_FNC
|
||||
key is bound to a function.
|
||||
.El
|
||||
|
||||
.Em Mouse emulation
|
||||
|
||||
The mouse emulator
|
||||
.Pq if configured in
|
||||
fakes a three-button mouse using the Mouse Systems protocol. The first
|
||||
.Nm pcvt
|
||||
device node not used by a virtual screen is the mouse device. I.\& e.,
|
||||
for the default value of 8 virtual screens,
|
||||
.Pa /dev/ttyv0
|
||||
through
|
||||
.Pa /dev/ttyv7
|
||||
would refer to the virtual screens, and
|
||||
.Pa /dev/ttyv8
|
||||
were the mouse emulator device. The mouse emulation is turned on by
|
||||
pressing the
|
||||
.Aq Em NumLock
|
||||
key. The pointer is moved by the numerical keypad keys, into the
|
||||
obvious directions. The pointer is initially moved in single steps,
|
||||
and is accelerated after an adjustable time
|
||||
.Pq default: 500 ms
|
||||
by about 6 times. The mouse buttons are emulated by three normal
|
||||
keys, by default the function keys
|
||||
.Aq Em \&F1 ,
|
||||
.Aq Em \&F2 ,
|
||||
and
|
||||
.Aq Em \&F3 .
|
||||
There are two selectable flavors available: normal and
|
||||
.Dq sticky
|
||||
buttons. Normal buttons behave as expected.
|
||||
.Dq Sticky
|
||||
buttons are notified as button-press on the first keypress. They
|
||||
.Dq stick
|
||||
until the key is pressed again
|
||||
.Pq or another button-emulating key instead .
|
||||
Button presses and releases are notified to the user by a simple
|
||||
.Dq pling ,
|
||||
or
|
||||
.Dq plong ,
|
||||
respectively, generated from the PC's built-in speaker.
|
||||
|
||||
The following commands control the emulation.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It KBDMOUSEGET
|
||||
get the current definitions, and
|
||||
.It KBDMOUSESET
|
||||
set new definitions.
|
||||
.El
|
||||
|
||||
Both accept a
|
||||
.Li struct mousedefs *
|
||||
as the third argument to the ioctl call:
|
||||
.Bd -literal
|
||||
struct mousedefs {
|
||||
int leftbutton; /* (PC) scan code for "left button" key */
|
||||
int middlebutton; /* (PC) scan code for "mid button" key */
|
||||
int rightbutton; /* (PC) scan code for "right button" key */
|
||||
int stickybuttons; /* if true, the buttons are "sticky" */
|
||||
int acceltime; /* timeout in microseconds to start pointer */
|
||||
/* movement acceleration */
|
||||
/* defaults to: scan(F1), scan(F2), scan(F3), false, 500000 */
|
||||
};
|
||||
.Ed
|
||||
|
||||
|
||||
.Em Downloadable character set interface
|
||||
|
||||
EGA and VGA video adaptors provide the capability of downloadable
|
||||
software fonts. Since the
|
||||
.Sq native character set
|
||||
of any IBM-compatible PC video board does not allow the full interpretation
|
||||
of DEC multinational character set or ISO Latin-1
|
||||
.Pq ISO 8859-1 ,
|
||||
this might be very useful for a U**X environment.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGASETFONTATTR
|
||||
set font attr, and
|
||||
.It VGAGETFONTATTR
|
||||
get font attr
|
||||
.El
|
||||
|
||||
are used to manipulate the drivers information about a downloaded
|
||||
font. The take a pointer to a
|
||||
.Em struct vgafontattr
|
||||
as argument:
|
||||
.Bd -literal
|
||||
struct vgafontattr {
|
||||
int character_set; /* VGA character set */
|
||||
int font_loaded; /* Mark font loaded or unloaded */
|
||||
int screen_size; /* Character rows per screen */
|
||||
int character_scanlines; /* Scanlines per character - 1 */
|
||||
int screen_scanlines; /* Scanlines per screen - 1 byte */
|
||||
};
|
||||
.Ed
|
||||
|
||||
Each character of each font is to be downloaded with
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGALOADCHAR
|
||||
load vga char,
|
||||
.El
|
||||
|
||||
taking a pointer to
|
||||
.Em struct vgaloadchar
|
||||
as its argument:
|
||||
.Bd -literal
|
||||
struct vgaloadchar {
|
||||
int character_set; /* VGA character set to load into */
|
||||
int character; /* Character to load */
|
||||
int character_scanlines; /* Scanlines per character */
|
||||
u_char char_table[32]; /* VGA character shape table */
|
||||
};
|
||||
.Ed
|
||||
|
||||
The field
|
||||
.Em character_set
|
||||
takes the values
|
||||
CH_SET0, CH_SET1, CH_SET2, CH_SET3 on EGA's or VGA's. Since VGA's
|
||||
might have up to eight simultaneously loaded fonts, they can take
|
||||
CH_SET4, CH_SET5, CH_SET6, or CH_SET7, too.
|
||||
|
||||
Note that there's a dependence between the font size
|
||||
and a possible screen height
|
||||
.Pq in character rows ,
|
||||
depending on the video adaptor used:
|
||||
.Bd -literal
|
||||
Screen size (rows) on: EGA VGA
|
||||
Font size
|
||||
|
||||
8 x 8 43 50
|
||||
8 x 10 35 40
|
||||
8 x 14 25 28
|
||||
8 x 16 not 25
|
||||
applicable
|
||||
.Ed
|
||||
|
||||
|
||||
.Em General screen manipulation commands
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGACURSOR
|
||||
sets cursor shape,
|
||||
.El
|
||||
|
||||
taking a pointer to the following structure as argument:
|
||||
.Bd -literal
|
||||
struct cursorshape {
|
||||
int screen_no; /* screen number for which to set, */
|
||||
/* or -1 to set on current active screen */
|
||||
int start; /* top scanline, range 0... Character Height - 1 */
|
||||
int end; /* end scanline, range 0... Character Height - 1 */
|
||||
};
|
||||
.Ed
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGASETSCREEN
|
||||
set screen info, and
|
||||
.It VGAGETSCREEN
|
||||
get screen info,
|
||||
.El
|
||||
|
||||
provide an interface to some general driver internal variables
|
||||
which might modify the behaviour of the screens,
|
||||
or which might simply be used to force the driver to switch
|
||||
to one certain screen. Their argument is a pointer to the structure:
|
||||
.Bd -literal
|
||||
struct screeninfo {
|
||||
int adaptor_type; /* type of video adaptor installed */
|
||||
/* read only, ignored on write (yet!) */
|
||||
int totalfonts; /* no of downloadable fonts */
|
||||
/* read only, ignored on write */
|
||||
int totalscreens; /* no of virtual screens */
|
||||
/* read only, ignored on write */
|
||||
int screen_no; /* screen number, this was got from */
|
||||
/* on write, if -1, apply pure_vt_mode */
|
||||
/* and/or screen_size to current screen*/
|
||||
/* else to screen_no supplied */
|
||||
int current_screen; /* screen number, which is displayed. */
|
||||
/* on write, if -1, make this screen */
|
||||
/* the current screen, else set current*/
|
||||
/* displayed screen to parameter */
|
||||
int pure_vt_mode; /* flag, pure VT mode or HP/VT mode */
|
||||
/* on write, if -1, no change */
|
||||
int screen_size; /* screen size */
|
||||
/* on write, if -1, no change */
|
||||
int force_24lines; /* force 24 lines if 25 lines VT mode */
|
||||
/* or 28 lines HP mode to get pure */
|
||||
/* VT220 screen size */
|
||||
/* on write, if -1, no change */
|
||||
int vga_family; /* if adaptor_type = VGA, this reflects*/
|
||||
/* the chipset family after a read */
|
||||
/* nothing happenes on write ... */
|
||||
int vga_type; /* if adaptor_type = VGA, this reflects*/
|
||||
/* the chipset after a read */
|
||||
/* nothing happenes on write ... */
|
||||
int vga_132; /* set to 1 if driver has support for */
|
||||
/* 132 column operation for chipset */
|
||||
/* currently ignored on write */
|
||||
};
|
||||
.Ed
|
||||
|
||||
Its field
|
||||
.Em pure_vt_mode
|
||||
may take the values M_HPVT for a mixed VTxxx and HP Mode, with function
|
||||
key labels and a status line, or M_PUREVT for only VTxxx sequences
|
||||
recognized, with no labels.
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGASETCOLMS
|
||||
sets the number of columns for the current screen,
|
||||
.El
|
||||
|
||||
its parameter is a pointer to an integer containing either a value of 80,
|
||||
or a value of 132. Note that setting the number of columns to 132 is
|
||||
only supported on VGA adaptors. Any unsupported numbers cause the ioctl
|
||||
to fail with
|
||||
.Em errno
|
||||
.Pq see Xr intro 2
|
||||
being set to
|
||||
.Em EINVAL .
|
||||
|
||||
.Em VGA color palette interface
|
||||
|
||||
Only on VGA adaptors, there's a color palette register at the output.
|
||||
It is responsible for the red, green and blue output voltage provided
|
||||
for each of the 256 internal color codes, each lying in the range of
|
||||
0 through 63 (with 63 representing the brightest value for a base color).
|
||||
Thus, these adaptors map each color code to a color of a
|
||||
.Dq palette
|
||||
out of 262144 colors. The commands
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGAREADPEL
|
||||
read VGA palette entry, and
|
||||
.It VGAWRITEPEL
|
||||
write VGA palette entry
|
||||
.El
|
||||
|
||||
establish an interface to these palette registers. Their argument is
|
||||
a pointer to:
|
||||
.Bd -literal
|
||||
struct vgapel {
|
||||
unsigned idx; /* index into palette, 0 .. 255 valid */
|
||||
unsigned r, g, b; /* RGB values, masked by VGA_PMASK (63) */
|
||||
};
|
||||
.Ed
|
||||
|
||||
|
||||
.Em Driver identification
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGAPCVTID
|
||||
returns information if the current compiled in driver is pcvt and it's
|
||||
major and minor revision numbers. the call is taking a pointer to the
|
||||
following structure as argument:
|
||||
.El
|
||||
|
||||
.Bd -literal
|
||||
struct pcvtid {
|
||||
#define PCVTIDNAMELN 16 /* driver id - string length */
|
||||
char name[PCVTIDNAMELN]; /* driver name, == PCVTIDSTR */
|
||||
#define PCVTIDNAME "pcvt" /* driver id - string */
|
||||
int rmajor; /* revision number, major */
|
||||
#define PCVTIDMAJOR 3
|
||||
int rminor; /* revision number, minor */
|
||||
#define PCVTIDMINOR 00
|
||||
};
|
||||
.Ed
|
||||
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGAPCVTINFO
|
||||
returns information if the current compiled in driver is pcvt and it's
|
||||
compile time options. the call is taking a pointer to the following
|
||||
structure as argument:
|
||||
.El
|
||||
|
||||
.Bd -literal
|
||||
struct pcvtinfo {
|
||||
u_int opsys; /* PCVT_xxx(x)BSD */
|
||||
#define CONF_UNKNOWNOPSYS 0
|
||||
#define CONF_386BSD 1 /* unsupported !!! */
|
||||
#define CONF_NETBSD 2
|
||||
#define CONF_FREEBSD 3
|
||||
u_int opsysrel; /* Release for NetBSD/FreeBSD */
|
||||
u_int nscreens; /* PCVT_NSCREENS */
|
||||
u_int scanset; /* PCVT_SCANSET */
|
||||
u_int updatefast; /* PCVT_UPDATEFAST */
|
||||
u_int updateslow; /* PCVT_UPDATESLOW */
|
||||
u_int sysbeepf; /* PCVT_SYSBEEPF */
|
||||
u_int pcburst; /* PCVT_PCBURST */
|
||||
u_int kbd_fifo_sz; /* PCVT_KBD_FIFO_SZ */
|
||||
|
||||
/* config booleans */
|
||||
|
||||
u_long compile_opts; /* PCVT_xxxxxxxxxxxxxxx */
|
||||
};
|
||||
.Ed
|
||||
|
||||
|
||||
.Em Screen saver
|
||||
|
||||
Depending on the configuration of a
|
||||
.Nm pcvt
|
||||
driver, their might be a simple screen saver available. It is controlled
|
||||
by the command
|
||||
|
||||
.Bl -tag -width 20n -offset indent -compact
|
||||
.It VGASCREENSAVER
|
||||
set timeout for screen saver in seconds; 0 turns it off,
|
||||
.El
|
||||
|
||||
taking a pointer to an integer as argument. Despite of its command name,
|
||||
this is available on
|
||||
.Em any
|
||||
kind of adaptor if configured in by the
|
||||
.Xr config 8
|
||||
option
|
||||
.Dq PCVT_SCREENSAVER
|
||||
|
||||
.Em Compatibility commands for USL-style VT's
|
||||
|
||||
Release 3.00 of this
|
||||
.Nm pcvt
|
||||
driver supports a subset of the USL-style commands used to control
|
||||
the virtual terminal interface. This feature is mainly intended to
|
||||
allow
|
||||
.Em XFree86 ,
|
||||
release 2.0 or higher, to switch between virtual screens even when
|
||||
running an X server. They are ugly with respect to the implied semantics
|
||||
.Pq i.\& e., they break Berkeley semantics
|
||||
and are therefore not recommended for common use. See the file
|
||||
.Pa i386/include/pcvt_ioctl.h
|
||||
for their documentation.
|
||||
|
||||
.Sh FILES
|
||||
.Bl -tag -width /usr/include/machine/pcvt_ioctl.h
|
||||
.It Pa /usr/include/machine/pcvt_ioctl.h
|
||||
Definitions for
|
||||
.Xr ioctl 2
|
||||
function calls
|
||||
.It Pa /dev/ttyv?
|
||||
.It Pa /dev/console
|
||||
Device nodes to access the
|
||||
.Nm pcvt
|
||||
driver
|
||||
.It Pa i386/isa/pcvt/pcvt_hdr.h
|
||||
.Pq relative to the kernel source tree
|
||||
Documents the various compile-time options to tailor
|
||||
.Nm pcvt .
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm pcvt
|
||||
driver has been developed for and contributed to 386BSD release 0.1. Since
|
||||
release 3.00 explicit support is provided for NetBSD 0.9. It is expected
|
||||
that no further development on pcvt is done for 386BSD 0.1 after release 3.00,
|
||||
in fact, 386BSD support was dropped with release 3.20.
|
||||
.Sh AUTHORS
|
||||
Written by
|
||||
.An Hellmuth Michaelis Aq hm@hcshh.hcs.de
|
||||
with much help from
|
||||
.An Brian Dunford-Shore Aq brian@morpheus.wustl.edu
|
||||
.br
|
||||
.if n Joerg Wunsch
|
||||
.if t J\(:org Wunsch
|
||||
.Aq joerg_wunsch@uriah.sax.de
|
||||
.br
|
||||
This driver is based on several people's previous
|
||||
work, notably by
|
||||
.An William Jolitz'
|
||||
and
|
||||
.An Don Ahn's
|
||||
historic
|
||||
.Xr pccons 4
|
||||
implementation
|
||||
.br
|
||||
.Aq ljolitz@cardio.ucsf.edu
|
||||
.br
|
||||
.An Holger Veit Aq veit@first.gmd.de
|
||||
.Sh SEE ALSO
|
||||
.Xr intro 2 ,
|
||||
.Xr ioctl 2 ,
|
||||
.Xr keyboard 4 ,
|
||||
.Xr screen 4 ,
|
||||
.Xr config 8 ,
|
||||
.Xr ispcvt 8
|
||||
.Sh BUGS
|
||||
Certainly existent. See the file
|
||||
.Pa BugList
|
||||
in the Documentation directory for an up-to-date list.
|
||||
|
||||
.Ss Tested Video Boards
|
||||
.Bd -literal
|
||||
Manufacturer Chipset Monitor
|
||||
|
||||
2theMax (?) ET4000 VGA Color
|
||||
Video7 Inc. Video 7 VGA Color
|
||||
Diamond Stealth VRAM S3 NEC 3FGx
|
||||
Trident TVGA 8800CS NEC 3D
|
||||
Data General C&T P82C604 VGA Color
|
||||
NoName Hercules W86855AF Mono
|
||||
Kyocera (Mainboard) WD90C11 Sony Color
|
||||
unknown ET3000 NEC 3D
|
||||
.Ed
|
||||
|
||||
.Ss Tested Keyboards
|
||||
.Bd -literal
|
||||
Manufacturer Type Layout
|
||||
|
||||
Cherry MF II US
|
||||
Cherry/Tandon MF II German
|
||||
Hewlett-Packard MF II US
|
||||
Hewlett-Packard MF II German
|
||||
Tatung AT German
|
||||
.Ed
|
||||
|
||||
There is absolutely NO support for the ancient PC-keyboards
|
||||
.Pq they had 83 keys .
|
||||
|
||||
There is only limited support for AT-keyboards
|
||||
.Bo
|
||||
they have 84 keys, and a separate numeric keypad,
|
||||
they don't have F11/F12 keys
|
||||
.Bc
|
||||
because the emulator needs F9 through F12 for control functions, and due to
|
||||
the current design of the keyboard driver there is no
|
||||
.Pq full
|
||||
support for national keyboards because
|
||||
of the lack of an ALtGr key.
|
||||
|
||||
MF-keyboards are fully supported, 101- and 102-key versions.
|
Loading…
Reference in New Issue
Block a user