diff options
author | phk <phk@FreeBSD.org> | 1998-12-27 12:52:46 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1998-12-27 12:52:46 +0000 |
commit | eb15c87aad94ce69d22c6cbaf4c91c7678b3f397 (patch) | |
tree | ccc8377c79b41e897bf40d83561b0f8e19fa8f8a /share | |
parent | 2225f39db313f8cdb0b0f115337955924684df79 (diff) | |
download | FreeBSD-src-eb15c87aad94ce69d22c6cbaf4c91c7678b3f397.zip FreeBSD-src-eb15c87aad94ce69d22c6cbaf4c91c7678b3f397.tar.gz |
Pre 3.0 branch cleanup casualty #4: pcvt
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man4/man4.i386/Makefile | 5 | ||||
-rw-r--r-- | share/man/man4/man4.i386/pcvt.4 | 910 | ||||
-rw-r--r-- | share/man/man4/pcvt.4 | 910 |
3 files changed, 2 insertions, 1823 deletions
diff --git a/share/man/man4/man4.i386/Makefile b/share/man/man4/man4.i386/Makefile index 3e91492..f976e26 100644 --- a/share/man/man4/man4.i386/Makefile +++ b/share/man/man4/man4.i386/Makefile @@ -1,11 +1,11 @@ -# $Id: Makefile,v 1.89 1998/12/22 09:36:29 joerg Exp $ +# $Id: Makefile,v 1.90 1998/12/27 12:44:49 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 nca.4 ncr.4 npx.4 \ - pcf.4 pcm.4 pcvt.4 perfmon.4 pn.4 pnp.4 ppc.4 psm.4 \ + pcf.4 pcm.4 perfmon.4 pn.4 pnp.4 ppc.4 psm.4 \ rdp.4 rl.4 sb.4 scd.4 screen.4 sea.4 si.4 sio.4 \ spkr.4 sr.4 sysmouse.4 tl.4 tw.4 tx.4 uha.4 vr.4 vx.4 \ wb.4 wd.4 wfd.4 wl.4 wt.4 xl.4 ze.4 zp.4 @@ -59,7 +59,6 @@ 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 diff --git a/share/man/man4/man4.i386/pcvt.4 b/share/man/man4/man4.i386/pcvt.4 deleted file mode 100644 index 144675a..0000000 --- a/share/man/man4/man4.i386/pcvt.4 +++ /dev/null @@ -1,910 +0,0 @@ -.\" -.\" 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.11 1998/08/26 02:46:24 jkoshy 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. diff --git a/share/man/man4/pcvt.4 b/share/man/man4/pcvt.4 deleted file mode 100644 index 144675a..0000000 --- a/share/man/man4/pcvt.4 +++ /dev/null @@ -1,910 +0,0 @@ -.\" -.\" 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.11 1998/08/26 02:46:24 jkoshy 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. |