Annotation of researchv10dc/man/man5/termcap.5, revision 1.1

1.1     ! root        1: .TH TERMCAP 5
        !             2: .CT 2 comm_term
        !             3: .SH NAME
        !             4: termcap \- terminal capability file
        !             5: .SH DESCRIPTION
        !             6: .I Termcap
        !             7: describes terminals as used, for example, by
        !             8: .IR vi (1)
        !             9: and
        !            10: .IR curses (3)
        !            11: or in the
        !            12: .B TERMCAP
        !            13: environment variable.
        !            14: A
        !            15: .I termcap
        !            16: entry is a line containing fields separated by
        !            17: .LR : .
        !            18: Lines may be broken;
        !            19: .L \e
        !            20: at the end of a line signifies continuation.
        !            21: Empty fields are ignored.
        !            22: .PP
        !            23: The first field for each entry gives names
        !            24: for a terminal separated by
        !            25: .LR | .
        !            26: The first name is conventionally two characters long
        !            27: for the benefit of older systems; the
        !            28: second name is the customary abbreviation; and
        !            29: the last name fully identifies
        !            30: the terminal.
        !            31: .PP
        !            32: There are three types of capability: Boolean for the presence of
        !            33: a feature, numeric for sizes and time delays, and
        !            34: strings for performing operations.
        !            35: Some string fields may be preceded by a number, which
        !            36: specifies padding, a time delay required with the operation.
        !            37: These capabilities are marked
        !            38: `P' or `P*' below.
        !            39: Padding is measured in milliseconds;
        !            40: P* signifies that the padding is proportional to the
        !            41: number of lines (or characters) affected,
        !            42: for example,
        !            43: .L 3.5*
        !            44: specifies 3.5 milliseconds per unit.
        !            45: .de fq
        !            46: \f5\\$1\fR     \\$2    \\$3    \\$4
        !            47: ..
        !            48: .ft B
        !            49: .ta \w'Name 'u +\w'Type 'u     +\w'Pad 'u
        !            50: .nf
        !            51: .PP
        !            52: Name   Type    Pad     Description
        !            53: .ftR
        !            54: .fq ae str  P  "End alternate character set
        !            55: .fq al str  P* "Add new blank line
        !            56: .fq am bool "" "Automatic margin
        !            57: .fq as str  P  "Start alternate character set
        !            58: .fq bc str  "" "Backspace char if not \f5^H\fP
        !            59: .fq bs bool "" "Terminal can backspace
        !            60: .fq bt str  P  "Back tab
        !            61: .fq bw bool "" "Backspace wraps from column 0 to last column
        !            62: .fq CC str  "" "Command character in prototype if terminal settable
        !            63: .fq cd str  P* "Clear to end of display
        !            64: .fq ce str  P  "Clear to end of line
        !            65: .fq ch str  P  "Like \f5cm\fP but horizontal motion only
        !            66: .fq cl str  P* "Clear screen
        !            67: .fq cm str  P  "Cursor motion
        !            68: .fq co num  "" "Number of columns
        !            69: .fq cr str  P* "Carriage return, default \f5^M\fR
        !            70: .fq cs str  P  "Change scrolling region (vt100), like cm
        !            71: .fq cv str  P  "Like ch, but vertical only
        !            72: .fq da bool "" "Display may be retained above
        !            73: .fq dB num  "" "Backspace delay
        !            74: .fq db bool "" "Display may be retained below
        !            75: .fq dC num  "" "Carriage return delay
        !            76: .fq dc str  P* "Delete character
        !            77: .fq dF num  "" "Form feed delay
        !            78: .fq dl str  P* "Delete line
        !            79: .fq dm str  "" "Enter delete mode
        !            80: .fq dN num  "" "Newline delay
        !            81: .fq do str  "" "Down one line
        !            82: .fq dT num  "" "tab delay
        !            83: .fq ed str  "" "End delete mode
        !            84: .fq ei str  "" "End insert mode; give \f5:ei=:\fR if \f5ic\fR
        !            85: .fq eo str  "" "Can erase overstrikes with blank
        !            86: .fq ff str  P* "Hard copy page eject, default \f5^L\fR
        !            87: .fq hc bool "" "Hardcopy terminal
        !            88: .fq hd str  "" "Half line down
        !            89: .fq ho str  "" "Home cursor if no \f5cm\fR
        !            90: .fq hu str  "" "Half line up
        !            91: .fq hz str  "" "Hazeltine, can't print \f5~\fR
        !            92: .fq ic str  P  "Insert character
        !            93: .fq if str  "" "Name of file containing initialization\f5is\fR
        !            94: .fq im bool "" "Enter insert mode; give \f5:im=:\fR if \f5ic\fR
        !            95: .fq in bool "" "Insert mode distinguishes nulls on display
        !            96: .fq ip str  P* "Insert pad after character insert
        !            97: .fq is str  "" "Terminal initialization string
        !            98: .fq k0\fR-\fPk9 str  "" "Other function key codes
        !            99: .fq kb str  "" "Backspace key code
        !           100: .fq kd str  "" "Down arrow key code
        !           101: .fq ke str  "" "Leave keypad transmit mode
        !           102: .fq kh str  "" "Home key code
        !           103: .fq kl str  "" "Left arrow key code
        !           104: .fq kn num  "" "Number of function keys
        !           105: .fq ko str  "" "Termcap entries for other non-function keys
        !           106: .fq kr str  "" "Right arrow key code
        !           107: .fq ks str  "" "Enter keypad transmit mode
        !           108: .fq ku str  "" "Up arrow key code
        !           109: .fq l0\fR-\fP9 str "" "Labels on other function keys
        !           110: .fq li num  "" "Number of lines on screen or page
        !           111: .fq ll str  "" "Last line, first column, if no \f5cm\fR
        !           112: .fq ma str  "" "Arrow key map
        !           113: .fq mi bool "" "Safe to move in insert mode
        !           114: .fq ml str  "" "Memory lock above cursor
        !           115: .fq ms bool "" "Safe to move in standout or underline mode
        !           116: .fq mu str  "" "Turn off memory lock
        !           117: .fq nc bool "" "No correctly working CR (DM2500, H2000)
        !           118: .fq nd str  "" "Nondestructive space (cursor right)
        !           119: .fq nl str  P* "Newline character, default \f5\en\fR
        !           120: .fq ns bool "" "Nonscrolling CRT
        !           121: .fq os bool "" "Terminal overstrikes
        !           122: .fq pc str  "" "Pad character, default NUL
        !           123: .fq pt bool "" "Has hardware tabs (possibly set by \f5is\fR)
        !           124: .fq se str  "" "Leave standout mode
        !           125: .fq sf str  P  "Scroll forward
        !           126: .fq sg num  "" "Number of blanks left by \f5so\fR, \f5se\fR
        !           127: .fq so str  "" "Enter standout mode
        !           128: .fq sr str  P  "Scroll reverse (backward)
        !           129: .fq ta str  P  "Tab, if not \f5^I\fR or if padded
        !           130: .fq tc str  "" "Entry of similar terminal, must be last
        !           131: .fq te str  "" "String to end programs that use \f5cm\fR
        !           132: .fq ti str  "" "String to begin programs that use \f5cm\fR
        !           133: .fq uc str  "" "Underscore one char and move past it
        !           134: .fq ue str  ""  "Leave underscore mode
        !           135: .fq ug num  "" "Number of blanks left by \f5us\fR, \f5ue\fR
        !           136: .fq ul bool "" "Terminal underlines but doesn't overstrike
        !           137: .fq up str  "" "Cursor up one line
        !           138: .fq us str  "" "Enter underscore mode
        !           139: .fq vb str  "" "Visible bell, (may not move cursor)
        !           140: .fq ve str  "" "Leave open/visual mode
        !           141: .fq vs str  "" "Enter open/visual mode
        !           142: .fq xb bool "" "Beehive (\f5f1\fR=escape, \f5f2\fR=\f5^C\fR)
        !           143: .fq xn bool "" "Newline ignored after wrap (Concept)
        !           144: .fq xr bool "" "Return acts like \f5ce \er \en\fR (Delta Data)
        !           145: .fq xs bool "" "Standout not erased by writing over (HP264?)
        !           146: .fq xt bool "" "Tabs are destructive, magic \f5so\fR (Teleray 1061)
        !           147: .fi
        !           148: .PP
        !           149: The following example is one of the
        !           150: more elaborate 
        !           151: .I termcap
        !           152: entries.
        !           153: (Do not believe it; see the file for current facts.)
        !           154: .HP
        !           155: .EX
        !           156: co|c100|concept 100:is=\eEU\eEf\eE7\eE5\eE8\eEl\eENH\eEK\eE\e200\eEo&\e200\eEo\e47\eE:\e
        !           157: :al=3*\eE^R:am:bs:cd=16*\eE^C:ce=16\eE^S:cl=2*^L:cm=\eEa%+ %+ :co#80:\e
        !           158: :dc=16\eE^A:dl=3*\eE^B:ei=\eE\e200:eo:im=\eE^P:in:ip=16*:li#24:mi:\e
        !           159: :nd=\eE=:se=\eEd\eE:so=\eED\eEE:ta=8\et:ul:up=\eE;vb=\eEk\eEk:xn:
        !           160: .EE
        !           161: .PP
        !           162: Among the Boolean capabilities shown for the Concept are
        !           163: automatic margins
        !           164: .LR am :
        !           165: automatic return and linefeed at the end of a line.
        !           166: Numeric capabilities are indicated by
        !           167: .LR # ;
        !           168: .L co#80
        !           169: means the Concept has 80 columns.
        !           170: String capabilities are indicated by
        !           171: .LR = ;
        !           172: to clear to end of line
        !           173: .RL ( ce )
        !           174: on the Concept, issue <escape> <control-C> and pad
        !           175: with 16 milliseconds delay.
        !           176: .PP
        !           177: In strings the
        !           178: .SM ASCII ESC
        !           179: character is represented by
        !           180: .LR \eE 
        !           181: and control characters are represented by 
        !           182: .BI ^ c,
        !           183: where character 
        !           184: .I c
        !           185: has
        !           186: .SM ASCII
        !           187: code 0100 greater than the desired control character.
        !           188: Newline, return, tab, backspace, form feed,
        !           189: .B \e
        !           190: and
        !           191: .B ^
        !           192: are represented by
        !           193: .BR "\en \er \et \eb \ef \e\e \e^" .
        !           194: Backslash
        !           195: .L \e
        !           196: followed by 3 digits specifies a byte in octal.
        !           197: A null character is encoded
        !           198: .LR \e200 :
        !           199: the routines that use
        !           200: .I termcap
        !           201: information mask out the high bit of all bytes.
        !           202: .PP
        !           203: Local cursor motions are undefined if they run off the
        !           204: left or top of the screen; the
        !           205: .I curses
        !           206: routines refrain from issuing such motions.
        !           207: It is assumed that the screen will scroll up upon running
        !           208: off the bottom; this assumption is negated by
        !           209: .LR ns .
        !           210: Capability
        !           211: .L am
        !           212: (automatic margin) describes the handling of the right margin.
        !           213: .PP
        !           214: Cursor addressing is described by capability
        !           215: .LR cm ,
        !           216: which contains 
        !           217: .IR printf (3)-like
        !           218: format codes for line and column positions.
        !           219: The leftmost column is column 0.
        !           220: .IP
        !           221: .nf
        !           222: .fq %d "as in \fIprintf\fR
        !           223: .fq %2 "like \f5%2d\fR
        !           224: .fq %3 "like \f5%3d\fR
        !           225: .fq %. "like \f5%c\fR
        !           226: .fq %+\fIx\fR "adds \fIx\fR before converting
        !           227: .fq %>\fIxy\fR "if value exceeds \fIx\fR, add \fIy\fR, no output
        !           228: .fq %r "reverse order of line and column, no output
        !           229: .fq %i "increment line/column (1-origin)
        !           230: .fq %% "single \f5%\fR
        !           231: .fq %n "exclusive or row and column with 0140 (DM2500)
        !           232: .fq %B "BCD: 16\(**(\fIx/10) + (\fIx\fR%10), no output
        !           233: .fq %D "Reverse coding: \fIx\fR\-2\(**(\fIx\fR%16), no output
        !           234: .fi
        !           235: .PP
        !           236: For example, to go to line 3 column 12, a HP2645 terminal
        !           237: must get
        !           238: .B \eE&a12c03Y
        !           239: padded for 6 milliseconds:
        !           240: .L :cm=6\eE&%r%2c%2Y: .
        !           241: .PP
        !           242: Capability
        !           243: .L al
        !           244: adds an empty line before the line where the cursor is
        !           245: and leaves the cursor on the new line.
        !           246: This will always be done with the cursor at column 0.
        !           247: Capability
        !           248: .L dl
        !           249: deletes the line where the cursor is and is also done
        !           250: with the cursor at column 0.
        !           251: Capabilities
        !           252: .L da
        !           253: and
        !           254: .L db
        !           255: warn that off-screen lines may appear at the top or bottom of
        !           256: the screen upon scrolling or deleting lines.
        !           257: The
        !           258: .I curses
        !           259: routines do not use this feature, but do guard against
        !           260: its effects.
        !           261: .PP
        !           262: Insert-character operations usually affect only
        !           263: the current line and shift
        !           264: characters off the end of the line rigidly.
        !           265: Some terminals, such as the Concept 100, distinguish
        !           266: typed from untyped blanks on the screen, shifting upon insertion
        !           267: only up to an untyped blank, i.e. a space caused by cursor motion;
        !           268: these terminals have capability
        !           269: .L in
        !           270: (insert null).
        !           271: .PP
        !           272: Some terminals have an insertion mode; others require a special
        !           273: sequence to open up a blank position on the current line.
        !           274: Insertion mode is entered and left by
        !           275: .L im
        !           276: and
        !           277: .LR ie ,
        !           278: which should be null strings if there is no insertion mode.
        !           279: String
        !           280: .L ic
        !           281: is sent just before each character to be inserted, and
        !           282: padding
        !           283: .L ip
        !           284: is sent after.
        !           285: Capability
        !           286: .L mi
        !           287: says it is possible to move around without leaving insertion
        !           288: mode.
        !           289: Delete mode works similarly: enter with
        !           290: .LR dm ,
        !           291: leave with
        !           292: .LR de ,
        !           293: and issue
        !           294: .L dc
        !           295: before each character.
        !           296: .PP
        !           297: Highlighting, or `standout' mode is entered by
        !           298: .L so
        !           299: and left by
        !           300: .LR se .
        !           301: Underline mode is entered by
        !           302: .L us
        !           303: and left by
        !           304: .LR ue .
        !           305: Terminals that underline characters individually have capability
        !           306: .LR uc .
        !           307: The visual bell capability
        !           308: .L vb
        !           309: flashes the screen without moving the cursor.
        !           310: .PP
        !           311: A terminal with a keypad that transmits cursor motions
        !           312: may be described by capabilities
        !           313: .L
        !           314: kl kr ku kd kh
        !           315: that give the codes for left, right, up, down, and home.
        !           316: Up to ten function keys may be described by
        !           317: .L k0
        !           318: through
        !           319: .LR k9 .
        !           320: Special labels for the function keys may be given as
        !           321: .L l0
        !           322: through
        !           323: .LR l9 .
        !           324: .PP
        !           325: The initialization string
        !           326: .L is
        !           327: is expected to set tabs if that is necessary.
        !           328: That string may come from a file
        !           329: .RL ( if );
        !           330: if both are present 
        !           331: .L is
        !           332: is done first.
        !           333: .PP
        !           334: The entry for a terminal may be continued by jumping
        !           335: to another entry given by
        !           336: .LR tc .
        !           337: Duplicate capabilities are resolved in favor of the first.
        !           338: .SH FILES
        !           339: .F /etc/termcap
        !           340: .SH SEE ALSO
        !           341: .IR curses (3),
        !           342: .IR termcap (3),
        !           343: .IR vi (1),
        !           344: .IR ul (1)
        !           345: .SH BUGS
        !           346: .I Termcap
        !           347: entries, including 
        !           348: .L tc
        !           349: continuations, are limited to 1024 characters.
        !           350: .br

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.