pcvt cleanup. Update the pcvt(4) manpage to reflect current state.

This commit is contained in:
Hellmuth Michaelis 2000-03-26 12:41:37 +00:00
parent 0dc1442459
commit c5ee9e177f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=58598

View File

@ -30,46 +30,27 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" Last Edit-Date: [Sun Jan 9 09:43:04 2000]
.\" Last Edit-Date: [Sun Mar 26 14:39:08 2000]
.\"
.\" $FreeBSD$
.\"
.\" Man page pcvt(4) created after pcvt_ioctl.h on 13-Jan-93
.\" by Joerg Wunsch
.\"
.Dd January 9, 2000
.Dd March 26, 2000
.Dt PCVT 4
.Sh NAME
.Nm pcvt ,
.Nm vt
.Nd PC console virtual screen system
.Nd VT220 virtual screen system console
.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?"
.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
driver provides a virtual screen handling system.
Probably most important is an emulation of a wide range
of DEC VT-220
.if t \(tm
.if n (TM)
@ -83,7 +64,6 @@ The
driver requires the keyboard driver
.Nm atkbd
to be also configured in the kernel.
.Ss Features
.Bl -bullet
.It
@ -112,20 +92,19 @@ VT220 user defined keys for each virtual terminal
Optional function key label support
.if t \('a
.if n 'a
la Hewlett-Packard
la Hewlett-Packard terminals
.It
Display function codes functionality
.It
Support for MDA, CGA, EGA and VGA display adaptors
.It
Support for 132 column operation on VGA chipsets
Support for 132 column operation on some VGA chipsets
.It
X Window Support for XFree86 >= 1.2 using the pccons model, or
for XFree86 >= 2.0 using the syscons model
X Window Support for XFree86
.Po
requires
.Em PCVT_USL_VT_COMPAT
to be configured
.Em XSERVER
to be defined
.Pc
.El
@ -147,86 +126,34 @@ No 8-bit controls
Only limited AT-keyboard
.Pq 84 keys
support
.Pq yet
.It
Help you to make money...
.El
.Ss Scrollback
Each virtual
.Nm
virtual terminal now has 8 pages of memory attached which are used as a
scrollback buffer (definition of SCROLLBACK_PAGES).
.Pp
virtual terminal has 8 pages of memory attached which are used as a
scrollback buffer.
By using
.Em SHIFT-PageUp
and
.Em SHIFT-PageDown
it is possible to scroll the screen back and forward.
.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
console driver is available for the Intel-based FreeBSD operating
system.
It 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
.Pa i386/isa/pcvt/pcvt_conf.h
in the kernel source tree for detailed documentation.
Note: the following conventions apply to all the Boolean options.
@ -301,16 +228,6 @@ 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 ,
@ -322,16 +239,13 @@ If disabled, then normal key code with the value
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
They are found in
.Pa i386/isa/pcvt/pcvt_conf.h
along with their documentation.
.Ss Internal Functions
The functionality described below may be accessed via
.Xr ioctl 2
@ -341,12 +255,10 @@ related to the
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:
@ -507,79 +419,6 @@ key is bound to a string, or
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
@ -733,10 +572,9 @@ sets the number of columns for the current screen,
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
Note that setting the number of columns to 132 is only supported on
some VGA adaptors.
Any unsupported numbers cause the ioctl to fail with
.Em errno
.Pq see Xr intro 2
being set to
@ -847,18 +685,15 @@ option
.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
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
This feature is mainly intended to allow
.Em XFree86
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.
.Pq i.\& e., they break Berkeley semantics.
See the file
.Pa i386/include/pcvt_ioctl.h
for their documentation.
@ -874,39 +709,37 @@ function calls
Device nodes to access the
.Nm pcvt
driver
.It Pa i386/isa/pcvt/pcvt_hdr.h
.It Pa i386/isa/pcvt/pcvt_conf.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.
driver has been developed for and contributed to 386BSD 0.1.
Since then
.Nm pcvt
has become a standard part of FreeBSD, NetBSD and OpenBSD.
Since FreeBSD 5.0,
.Nm pcvt
is FreeBSD specific with support for NetBSD and OpenBSD removed to
ease further maintenance.
.Sh AUTHORS
Written by
.An Hellmuth Michaelis Aq hm@hcs.de
.An Hellmuth Michaelis Aq hm@freebsd.org
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
.An Joerg Wunsch Aq joerg@freebsd.org
.Pp
This driver is based on several people's previous work, notably
the historic
.Xr pccons 4
implementation
implementation by
.An William Jolitz and Don Ahn Aq ljolitz@cardio.ucsf.edu
.br
.Aq ljolitz@cardio.ucsf.edu
.br
.An Holger Veit Aq veit@first.gmd.de
and the keyboard mapping code from
.An Holger Veit Aq veit@first.gmd.de.
.Sh SEE ALSO
.Xr cursor 1 ,
.Xr loadfont 1 ,
@ -915,52 +748,7 @@ implementation
.Xr ioctl 2 ,
.Xr atkbd 4 ,
.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.
At least one left.