CONSOLE.4
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:8k
- .TH CONSOLE 4
- .SH NAME
- console, keyboard, log - system console
- .SH DESCRIPTION
- The TTY device driver manages two devices related to the main user
- interface, the system screen and the keyboard. These two together are
- named "the Console".
- .SS "The Screen"
- The screen of a PC can be managed by a Monochrome Display Adapter, a
- Hercules card, a Color Graphics Adapter, an Enhanced Graphics Adapter,
- or a Video Graphics Array. To the console driver these devices are
- seen as a block of video memory into which characters can be written to
- be displayed, an I/O register that sets the video memory origin to the
- character that is to be displayed on the top-left position of the
- screen, and an I/O register that sets the position of the hardware
- cursor. Each character within video memory is a two-byte word. The low
- byte is the character code, and the high byte is the "attribute byte",
- a set of bits that controls the way the character is displayed,
- character and background colours for a colour card, or
- intensity/underline/reverse video for monochrome.
- .PP
- These are the characteristics of the adapters in text mode:
- .PP
- .RS
- .nf
- .ta +15n +15n
- Adapter Usable memory Mono/Colour
- .ta +1n +15n +15n
- MDA 4K M
- Hercules 4K M
- CGA 16K C
- EGA 32K M or C
- VGA 32K M or C
- .fi
- .RE
- .PP
- MDA and Hercules are the same to the console driver, because the graphics
- mode of the Hercules is of no use to Minix. EGA and VGA are also mostly
- seen as the same in text mode. An EGA adapter is either a monochrome or a
- colour device depending on the screen attached to it. A VGA adapter can run
- in either monochrome or colour (grayscale) mode depending on how the Boot
- Monitor has initialized it.
- .PP
- The driver uses the video origin to avoid copying the screen contents when
- scrolling up or down. Instead, the origin is simply moved one line. This is
- named "hardware scrolling", as opposed to copying memory: "software
- scrolling".
- .PP
- ." .ig " VC - keep around for if virtual consoles become standard.
- The video origin is also used to implement several virtual consoles inside
- the video memory of the adapter. Each virtual console gets a segment of
- video memory. The driver chooses which console to display by moving the
- video origin. Note that an MDA or Hercules adapter can only support one
- console. CGA can support up to four 80x25 consoles, and EGA and VGA can
- have eight. It is best to configure one less console to leave some video
- memory free so that hardware scrolling has some space to work in.
- .PP
- ." ..
- Character codes are used as indices into a display font that is stored in the
- adapter. The default font is the IBM character set, which is an ASCII
- character set in the low 128 codes, and a number of mathematical, greek,
- silly graphics, and accented characters in the upper 128 codes. This font
- is fixed in the MDA, Hercules and CGA adapters, but can be replaced by a
- user selected font for the EGA and VGA adapters.
- .PP
- A number of control characters and escape sequences are implemented by the
- driver. The result is upward compatible with the ANSI standard terminal.
- The
- .BR termcap (5)
- type is
- .BR minix .
- Normal characters written to the console are displayed at the cursor
- position and the cursor is advanced one column to the right. If an entire
- line is filled then the cursor wraps to the first column of the next line
- when the next character must be displayed. The screen is scrolled up if
- needed to start a new line. Some characters have special effects when sent
- to the console. Some even have arguments in the form of comma separated
- decimal numbers. These numbers default to the lowest possible value when
- omitted. The top-left character is at position (1, 1). The following
- control characters and escape sequences are implemented by the console:
- .PP
- .ta +10n +20n
- Sequence Name Function
- .in +31n
- .ti -30n
- ^@ Null Ignored (padding character)
- .ti -30n
- ^G Bell Produce a short tone from the speaker
- .ti -30n
- ^H Backspace Move the cursor back one column, wrapping from the
- left edge up one line to the right edge
- .ti -30n
- ^I Horizontal Tab Move to the next tab stop, with each tab stop at
- columns 1, 9, 25, etc. Wrap to the next line if necessary.
- .ti -30n
- ^J Line Feed Move one line down, scrolling the screen up if
- necessary
- .ti -30n
- ^K Vertical Tab Same as LF
- .ti -30n
- ^L Form Feed Same as LF
- .ti -30n
- ^M Carriage Return Move to column 1
- .ti -30n
- ^[ Escape Start of an escape sequence
- .ti -30n
- ^[M Reverse Index Move one line up, scrolling the screen down if
- necessary
- .ti -30n
- ^[[fInfPA Cursor Up Move the cursor up fInfP lines
- .ti -30n
- ^[[fInfPB Cursor Down Move the cursor down fInfP lines
- .ti -30n
- ^[[fInfPC Cursor Forward Move the cursor right fInfP columns
- .ti -30n
- ^[[fInfPD Cursor Backward Move the cursor left fInfP columns
- .ti -30n
- ^[[fImfP;fInfPH Cursor Position Move the cursor to line fImfP,
- column fInfP
- .ti -30n
- ^[[fIsfPJ Erase in Display Clear characters as follows:
- .br
- fIsfP = 0: From cursor to end of screen
- .br
- fIsfP = 1: From start of screen to cursor
- .br
- fIsfP = 2: Entire screen
- .ti -30n
- ^[[fIsfPK Erase in Line Clear characters as follows:
- .br
- fIsfP = 0: From cursor to end of line
- .br
- fIsfP = 1: From start of line to cursor
- .br
- fIsfP = 2: Entire line
- .ti -30n
- ^[[fInfPL Insert Lines Insert fInfP blank lines
- .ti -30n
- ^[[fInfPM Delete Lines Delete fInfP lines
- .ti -30n
- ^[[fInfP@ Insert Characters Insert fInfP blank characters
- .ti -30n
- ^[[fInfPP Delete Characters Delete fInfP characters
- .ti -30n
- ^[[fInfPm Character Attribute Set character attribute as follows:
- .br
- fInfP = 0: Normal (default) attribute
- .br
- fInfP = 1: Bold (mono) / Yellow (colour)
- .br
- fInfP = 4: Underline (M) / Light green (C)
- .br
- fInfP = 5: Blinking (M) / Magenta (C)
- .br
- fInfP = 7: Reverse Video
- .br
- fInfP = 30: Black foreground colour
- .br
- fInfP = 31: Red
- .br
- fInfP = 32: Green
- .br
- fInfP = 33: Orange
- .br
- fInfP = 34: Blue
- .br
- fInfP = 35: Magenta
- .br
- fInfP = 36: Light blue
- .br
- fInfP = 37: White
- .br
- fInfP = 40 - 47: Same for background colour
- .in -31n
- .PP
- The console device implements the following ioctl to copy a font into
- font memory on EGA and VGA adapters:
- .PP
- .RS
- .BI "ioctl(" fd ", TIOCSFON, u8_t " font "[256][32]);"
- .RE
- .PP
- Font memory consists of 256 character definitions of 32 lines per character
- and 8 pixels per line. The first line is the topmost line of the character.
- The leftmost pixel is lit if the most significant bit of a line is set, etc.
- The 80x25 video mode used by Minix has an 8x16 character cell, which means
- that only the first 16 lines of a character are displayed.
- .SS "The Keyboard"
- The keyboard produces key codes for each key that is pressed. These keys
- are transformed into character codes or sequences according to the current
- keyboard translation table. The format of this table is described in
- .BR keymap (5).
- The character codes can be read from the console device unless they map to
- special hotkeys. The hotkeys are as follows:
- .PP
- .ta +17n
- Name Key Function
- .in +18n
- .ti -17n
- CTRL-ALT-DEL Send an abort signal to process 1 (init). Init then
- halts the system
- .ti -17n
- CTRL-ALT-KP-. Likewise for keypad period
- .ti -17n
- F1 Process table dump
- .ti -17n
- F2 Show memory map
- .ti -17n
- F3 Toggle software/hardware scrolling
- .ti -17n
- F5 Show network statistics
- .ti -17n
- CTRL-F7 Send a quit signal to all processes connected to the console
- .ti -17n
- CTRL-F8 Send an interrupt signal
- .ti -17n
- CTRL-F9 Send a kill signal. If CTRL-F8 or CTRL-F7 don't get 'em,
- then this surely will. These keys are for disaster recovery. You would
- normally use DEL and CTRL-e to send interrupt and quit signals.
- ." .ig VC
- .ti -17n
- ALT-F1 Select virtual console 0 (/dev/console)
- .ti -17n
- ALT-F2 Select virtual console 1 (/dev/ttyc1)
- .ti -17n
- ALT-F(fInfP+1) Select virtual console fInfP
- (/dev/ttycfInfP)
- .ti -17n
- ALT-Left Select previous virtual console
- .ti -17n
- ALT-Right Select next virtual console
- ." ..
- .in -18n
- .PP
- ."XXX
- The keyboard map is set with the
- .B KIOCSMAP
- ioctl whose precise details are currently hidden in the
- .B loadkeys
- utility.
- .SS "Log device"
- The
- .B log
- device can be used by processes to print debug messages onto the console.
- The console is a terminal type device, so it is taken from processes when a
- session leader exits. This does not happen with the log device.
- .SH "SEE ALSO"
- .BR tty (4),
- .BR loadkeys (1),
- .BR keymap (5),
- .BR boot (8).
- .SH NOTES
- Output processing turns Line Feeds into CR LF sequences. Don't let this
- surprise you. Either turn off output processing or use one of the synonyms
- for LF.
- .SH AUTHOR
- Kees J. Bot (kjb@cs.vu.nl)
- ." minor editing of man page by asw 07.08.96