|
|
1.1 root 1: This is Info file ../info/termcap, produced by Makeinfo-1.49 from the
2: input file termcap.texi.
3:
4: This file documents the termcap library of the GNU system.
5:
6: Copyright (C) 1988 Free Software Foundation, Inc.
7:
8: Permission is granted to make and distribute verbatim copies of this
9: manual provided the copyright notice and this permission notice are
10: preserved on all copies.
11:
12: Permission is granted to copy and distribute modified versions of
13: this manual under the conditions for verbatim copying, provided that
14: the entire resulting derived work is distributed under the terms of a
15: permission notice identical to this one.
16:
17: Permission is granted to copy and distribute translations of this
18: manual into another language, under the above conditions for modified
19: versions, except that this permission notice may be stated in a
20: translation approved by the Foundation.
21:
22:
23: File: termcap, Node: Standout, Next: Underlining, Prev: Insdel Char, Up: Capabilities
24:
25: Standout and Appearance Modes
26: =============================
27:
28: "Appearance modes" are modifications to the ways characters are
29: displayed. Typical appearance modes include reverse video, dim, bright,
30: blinking, underlined, invisible, and alternate character set. Each
31: kind of terminal supports various among these, or perhaps none.
32:
33: For each type of terminal, one appearance mode or combination of
34: them that looks good for highlighted text is chosen as the "standout
35: mode". The capabilities `so' and `se' say how to enter and leave
36: standout mode. Programs that use appearance modes only to highlight
37: some text generally use the standout mode so that they can work on as
38: many terminals as possible. Use of specific appearance modes other
39: than "underlined" and "alternate character set" is rare.
40:
41: Terminals that implement appearance modes fall into two general
42: classes as to how they do it.
43:
44: In some terminals, the presence or absence of any appearance mode is
45: recorded separately for each character position. In these terminals,
46: each graphic character written is given the appearance modes current at
47: the time it is written, and keeps those modes until it is erased or
48: overwritten. There are special commands to turn the appearance modes on
49: or off for characters to be written in the future.
50:
51: In other terminals, the change of appearance modes is represented by
52: a marker that belongs to a certain screen position but affects all
53: following screen positions until the next marker. These markers are
54: traditionally called "magic cookies".
55:
56: The same capabilities (`so', `se', `mb' and so on) for turning
57: appearance modes on and off are used for both magic-cookie terminals
58: and per-character terminals. On magic cookie terminals, these give the
59: commands to write the magic cookies. On per-character terminals, they
60: change the current modes that affect future output and erasure. Some
61: simple applications can use these commands without knowing whether or
62: not they work by means of cookies.
63:
64: However, a program that maintains and updates a display needs to know
65: whether the terminal uses magic cookies, and exactly what their effect
66: is. This information comes from the `sg' capability.
67:
68: The `sg' capability is a numeric capability whose presence indicates
69: that the terminal uses magic cookies for appearance modes. Its value is
70: the number of character positions that a magic cookie occupies. Usually
71: the cookie occupies one or more character positions on the screen, and
72: these character positions are displayed as blank, but in some terminals
73: the cookie has zero width.
74:
75: The `sg' capability describes both the magic cookie to turn standout
76: on and the cookie to turn it off. This makes the assumption that both
77: kinds of cookie have the same width on the screen. If that is not true,
78: the narrower cookie must be "widened" with spaces until it has the same
79: width as the other.
80:
81: On some magic cookie terminals, each line always starts with normal
82: display; in other words, the scope of a magic cookie never extends over
83: more than one line. But on other terminals, one magic cookie affects
84: all the lines below it unless explicitly canceled. Termcap does not
85: define any way to distinguish these two ways magic cookies can work.
86: To be safe, it is best to put a cookie at the beginning of each line.
87:
88: On some per-character terminals, standout mode or other appearance
89: modes may be canceled by moving the cursor. On others, moving the
90: cursor has no effect on the state of the appearance modes. The latter
91: class of terminals are given the flag capability `ms' ("can move in
92: standout"). All programs that might have occasion to move the cursor
93: while appearance modes are turned on must check for this flag; if it is
94: not present, they should reset appearance modes to normal before doing
95: cursor motion.
96:
97: A program that has turned on only standout mode should use `se' to
98: reset the standout mode to normal. A program that has turned on only
99: alternate character set mode should use `ae' to return it to normal. If
100: it is possible that any other appearance modes are turned on, use the
101: `me' capability to return them to normal.
102:
103: Note that the commands to turn on one appearance mode, including `so'
104: and `mb' ... `mr', if used while some other appearance modes are turned
105: on, may combine the two modes on some terminals but may turn off the
106: mode previously enabled on other terminals. This is because some
107: terminals do not have a command to set or clear one appearance mode
108: without changing the others. Programs should not attempt to use
109: appearance modes in combination except with `sa', and when switching
110: from one single mode to another should always turn off the previously
111: enabled mode and then turn on the new desired mode.
112:
113: On some old terminals, the `so' and `se' commands may be the same
114: command, which has the effect of turning standout on if it is off, or
115: off it is on. It is therefore risky for a program to output extra `se'
116: commands for good measure. Fortunately, all these terminals are
117: obsolete.
118:
119: Programs that update displays in which standout-text may be replaced
120: with non-standout text must check for the `xs' flag. In a per-character
121: terminal, this flag says that the only way to remove standout once
122: written is to clear that portion of the line with the `ce' string or
123: something even more powerful (*note Clearing::.); just writing new
124: characters at those screen positions will not change the modes in
125: effect there. In a magic cookie terminal, `xs' says that the only way
126: to remove a cookie is to clear a portion of the line that includes the
127: cookie; writing a different cookie at the same position does not work.
128:
129: Such programs must also check for the `xt' flag, which means that the
130: terminal is a Teleray 1061. On this terminal it is impossible to
131: position the cursor at the front of a magic cookie, so the only two
132: ways to remove a cookie are (1) to delete the line it is on or (2) to
133: position the cursor at least one character before it (possibly on a
134: previous line) and output the `se' string, which on these terminals
135: finds and removes the next `so' magic cookie on the screen. (It may
136: also be possible to remove a cookie which is not at the beginning of a
137: line by clearing that line.) The `xt' capability also has implications
138: for the use of tab characters, but in that regard it is obsolete (*Note
139: Cursor Motion::).
140:
141: `so'
142: String of commands to enter standout mode.
143:
144: `se'
145: String of commands to leave standout mode.
146:
147: `sg'
148: Numeric capability, the width on the screen of the magic cookie.
149: This capability is absent in terminals that record appearance modes
150: character by character.
151:
152: `ms'
153: Flag whose presence means that it is safe to move the cursor while
154: the appearance modes are not in the normal state. If this flag is
155: absent, programs should always reset the appearance modes to
156: normal before moving the cursor.
157:
158: `xs'
159: Flag whose presence means that the only way to reset appearance
160: modes already on the screen is to clear to end of line. On a
161: per-character terminal, you must clear the area where the modes
162: are set. On a magic cookie terminal, you must clear an area
163: containing the cookie. See the discussion above.
164:
165: `xt'
166: Flag whose presence means that the cursor cannot be positioned
167: right in front of a magic cookie, and that `se' is a command to
168: delete the next magic cookie following the cursor. See discussion
169: above.
170:
171: `mb'
172: String of commands to enter blinking mode.
173:
174: `md'
175: String of commands to enter double-bright mode.
176:
177: `mh'
178: String of commands to enter half-bright mode.
179:
180: `mk'
181: String of commands to enter invisible mode.
182:
183: `mp'
184: String of commands to enter protected mode.
185:
186: `mr'
187: String of commands to enter reverse-video mode.
188:
189: `me'
190: String of commands to turn off all appearance modes, including
191: standout mode and underline mode. On some terminals it also turns
192: off alternate character set mode; on others, it may not. This
193: capability must be present if any of `mb' ... `mr' is present.
194:
195: `as'
196: String of commands to turn on alternate character set mode. This
197: mode assigns some or all graphic characters an alternate picture
198: on the screen. There is no standard as to what the alternate
199: pictures look like.
200:
201: `ae'
202: String of commands to turn off alternate character set mode.
203:
204: `sa'
205: String of commands to turn on an arbitrary combination of
206: appearance modes. It accepts 9 parameters, each of which controls
207: a particular kind of appearance mode. A parameter should be 1 to
208: turn its appearance mode on, or zero to turn that mode off. Most
209: terminals do not support the `sa' capability, even among those
210: that do have various appearance modes.
211:
212: The nine parameters are, in order, STANDOUT, UNDERLINE, REVERSE,
213: BLINK, HALF-BRIGHT, DOUBLE-BRIGHT, BLANK, PROTECT, ALT CHAR SET.
214:
215:
216: File: termcap, Node: Underlining, Next: Cursor Visibility, Prev: Standout, Up: Capabilities
217:
218: Underlining
219: ===========
220:
221: Underlining on most terminals is a kind of appearance mode, much like
222: standout mode. Therefore, it may be implemented using magic cookies or
223: as a flag in the terminal whose current state affects each character
224: that is output. *Note Standout::, for a full explanation.
225:
226: The `ug' capability is a numeric capability whose presence indicates
227: that the terminal uses magic cookies for underlining. Its value is the
228: number of character positions that a magic cookie for underlining
229: occupies; it is used for underlining just as `sg' is used for standout.
230: Aside from the simplest applications, it is impossible to use
231: underlining correctly without paying attention to the value of `ug'.
232:
233: `us'
234: String of commands to turn on underline mode or to output a magic
235: cookie to start underlining.
236:
237: `ue'
238: String of commands to turn off underline mode or to output a magic
239: cookie to stop underlining.
240:
241: `ug'
242: Width of magic cookie that represents a change of underline mode;
243: or missing, if the terminal does not use a magic cookie for this.
244:
245: `ms'
246: Flag whose presence means that it is safe to move the cursor while
247: the appearance modes are not in the normal state. Underlining is
248: an appearance mode. If this flag is absent, programs should
249: always turn off underlining before moving the cursor.
250:
251: There are two other, older ways of doing underlining: there can be a
252: command to underline a single character, or the output of `_', the
253: ASCII underscore character, as an overstrike could cause a character to
254: be underlined. New programs need not bother to handle these
255: capabilities unless the author cares strongly about the obscure
256: terminals which support them. However, terminal descriptions should
257: provide these capabilities when appropriate.
258:
259: `uc'
260: String of commands to underline the character under the cursor, and
261: move the cursor right.
262:
263: `ul'
264: Flag whose presence means that the terminal can underline by
265: overstriking an underscore character (`_'); some terminals can do
266: this even though they do not support overstriking in general. An
267: implication of this flag is that when outputting new text to
268: overwrite old text, underscore characters must be treated
269: specially lest they underline the old text instead.
270:
271:
272: File: termcap, Node: Cursor Visibility, Next: Bell, Prev: Underlining, Up: Capabilities
273:
274: Cursor Visibility
275: =================
276:
277: Some terminals have the ability to make the cursor invisible, or to
278: enhance it. Enhancing the cursor is often done by programs that plan
279: to use the cursor to indicate to the user a position of interest that
280: may be anywhere on the screen--for example, the Emacs editor enhances
281: the cursor on entry. Such programs should always restore the cursor to
282: normal on exit.
283:
284: `vs'
285: String of commands to enhance the cursor.
286:
287: `vi'
288: String of commands to make the cursor invisible.
289:
290: `ve'
291: String of commands to return the cursor to normal.
292:
293: If you define either `vs' or `vi', you must also define `ve'.
294:
295:
296: File: termcap, Node: Bell, Next: Keypad, Prev: Cursor Visibility, Up: Capabilities
297:
298: Bell
299: ====
300:
301: Here we describe commands to make the terminal ask for the user to
302: pay attention to it.
303:
304: `bl'
305: String of commands to cause the terminal to make an audible sound.
306: If this capability is absent, the terminal has no way to make a
307: suitable sound.
308:
309: `vb'
310: String of commands to cause the screen to flash to attract
311: attention ("visible bell"). If this capability is absent, the
312: terminal has no way to do such a thing.
313:
314:
315: File: termcap, Node: Keypad, Next: Meta Key, Prev: Bell, Up: Capabilities
316:
317: Keypad and Function Keys
318: ========================
319:
320: Many terminals have arrow and function keys that transmit specific
321: character sequences to the computer. Since the precise sequences used
322: depend on the terminal, termcap defines capabilities used to say what
323: the sequences are. Unlike most termcap string-valued capabilities,
324: these are not strings of commands to be sent to the terminal, rather
325: strings that are received from the terminal.
326:
327: Programs that expect to use keypad keys should check, initially, for
328: a `ks' capability and send it, to make the keypad actually transmit.
329: Such programs should also send the `ke' string when exiting.
330:
331: `ks'
332: String of commands to make the function keys transmit. If this
333: capability is not provided, but the others in this section are,
334: programs may assume that the function keys always transmit.
335:
336: `ke'
337: String of commands to make the function keys work locally. This
338: capability is provided only if `ks' is.
339:
340: `kl'
341: String of input characters sent by typing the left-arrow key. If
342: this capability is missing, you cannot expect the terminal to have
343: a left-arrow key that transmits anything to the computer.
344:
345: `kr'
346: String of input characters sent by typing the right-arrow key.
347:
348: `ku'
349: String of input characters sent by typing the up-arrow key.
350:
351: `kd'
352: String of input characters sent by typing the down-arrow key.
353:
354: `kh'
355: String of input characters sent by typing the "home-position" key.
356:
357: `K1' ... `K5'
358: Strings of input characters sent by the five other keys in a 3-by-3
359: array that includes the arrow keys, if the keyboard has such a
360: 3-by-3 array. Note that one of these keys may be the
361: "home-position" key, in which case one of these capabilities will
362: have the same value as the `kh' key.
363:
364: `k0'
365: String of input characters sent by function key 10 (or 0, if the
366: terminal has one labeled 0).
367:
368: `k1' ... `k9'
369: Strings of input characters sent by function keys 1 through 9,
370: provided for those function keys that exist.
371:
372: `kn'
373: Number: the number of numbered function keys, if there are more
374: than 10.
375:
376: `l0' ... `l9'
377: Strings which are the labels appearing on the keyboard on the keys
378: described by the capabilities `k0' ... `l9'. These capabilities
379: should be left undefined if the labels are `f0' or `f10' and `f1'
380: ... `f9'.
381:
382: `kH'
383: String of input characters sent by the "home down" key, if there is
384: one.
385:
386: `kb'
387: String of input characters sent by the "backspace" key, if there is
388: one.
389:
390: `ka'
391: String of input characters sent by the "clear all tabs" key, if
392: there is one.
393:
394: `kt'
395: String of input characters sent by the "clear tab stop this column"
396: key, if there is one.
397:
398: `kC'
399: String of input characters sent by the "clear screen" key, if
400: there is one.
401:
402: `kD'
403: String of input characters sent by the "delete character" key, if
404: there is one.
405:
406: `kL'
407: String of input characters sent by the "delete line" key, if there
408: is one.
409:
410: `kM'
411: String of input characters sent by the "exit insert mode" key, if
412: there is one.
413:
414: `kE'
415: String of input characters sent by the "clear to end of line" key,
416: if there is one.
417:
418: `kS'
419: String of input characters sent by the "clear to end of screen"
420: key, if there is one.
421:
422: `kI'
423: String of input characters sent by the "insert character" or "enter
424: insert mode" key, if there is one.
425:
426: `kA'
427: String of input characters sent by the "insert line" key, if there
428: is one.
429:
430: `kN'
431: String of input characters sent by the "next page" key, if there is
432: one.
433:
434: `kP'
435: String of input characters sent by the "previous page" key, if
436: there is one.
437:
438: `kF'
439: String of input characters sent by the "scroll forward" key, if
440: there is one.
441:
442: `kR'
443: String of input characters sent by the "scroll reverse" key, if
444: there is one.
445:
446: `kT'
447: String of input characters sent by the "set tab stop in this
448: column" key, if there is one.
449:
450: `ko'
451: String listing the other function keys the terminal has. This is a
452: very obsolete way of describing the same information found in the
453: `kH' ... `kT' keys. The string contains a list of two-character
454: termcap capability names, separated by commas. The meaning is
455: that for each capability name listed, the terminal has a key which
456: sends the string which is the value of that capability. For
457: example, the value `:ko=cl,ll,sf,sr:' says that the terminal has
458: four function keys which mean "clear screen", "home down", "scroll
459: forward" and "scroll reverse".
460:
461:
462: File: termcap, Node: Meta Key, Next: Initialization, Prev: Keypad, Up: Capabilities
463:
464: Meta Key
465: ========
466:
467: A Meta key is a key on the keyboard that modifies each character you
468: type by controlling the 0200 bit. This bit is on if and only if the
469: Meta key is held down when the character is typed. Characters typed
470: using the Meta key are called Meta characters. Emacs uses Meta
471: characters as editing commands.
472:
473: `km'
474: Flag whose presence means that the terminal has a Meta key.
475:
476: `mm'
477: String of commands to enable the functioning of the Meta key.
478:
479: `mo'
480: String of commands to disable the functioning of the Meta key.
481:
482: If the terminal has `km' but does not have `mm' and `mo', it means
483: that the Meta key always functions. If it has `mm' and `mo', it means
484: that the Meta key can be turned on or off. Send the `mm' string to
485: turn it on, and the `mo' string to turn it off. I do not know why one
486: would ever not want it to be on.
487:
488:
489: File: termcap, Node: Initialization, Next: Pad Specs, Prev: Meta Key, Up: Capabilities
490:
491: Initialization
492: ==============
493:
494: `ti'
495: String of commands to put the terminal into whatever special modes
496: are needed or appropriate for programs that move the cursor
497: nonsequentially around the screen. Programs that use termcap to do
498: full-screen display should output this string when they start up.
499:
500: `te'
501: String of commands to undo what is done by the `ti' string.
502: Programs that output the `ti' string on entry should output this
503: string when they exit.
504:
505: `is'
506: String of commands to initialize the terminal for each login
507: session.
508:
509: `if'
510: String which is the name of a file containing the string of
511: commands to initialize the terminal for each session of use.
512: Normally `is' and `if' are not both used.
513:
514: `i1'
515: `i3'
516: Two more strings of commands to initialize the terminal for each
517: login session. The `i1' string (if defined) is output before `is'
518: or `if', and the `i3' string (if defined) is output after.
519:
520: The reason for having three separate initialization strings is to
521: make it easier to define a group of related terminal types with
522: slightly different initializations. Define two or three of the
523: strings in the basic type; then the other types can override one
524: or two of the strings.
525:
526: `rs'
527: String of commands to reset the terminal from any strange mode it
528: may be in. Normally this includes the `is' string (or other
529: commands with the same effects) and more. What would go in the
530: `rs' string but not in the `is' string are annoying or slow
531: commands to bring the terminal back from strange modes that nobody
532: would normally use.
533:
534: `it'
535: Numeric value, the initial spacing between hardware tab stop
536: columns when the terminal is powered up. Programs to initialize
537: the terminal can use this to decide whether there is a need to set
538: the tab stops. If the initial width is 8, well and good; if it is
539: not 8, then the tab stops should be set; if they cannot be set,
540: the kernel is told to convert tabs to spaces, and other programs
541: will observe this and do likewise.
542:
543: `ct'
544: String of commands to clear all tab stops.
545:
546: `st'
547: String of commands to set tab stop at current cursor column on all
548: lines.
549:
550:
551: File: termcap, Node: Pad Specs, Next: Status Line, Prev: Initialization, Up: Capabilities
552:
553: Padding Capabilities
554: ====================
555:
556: There are two terminal capabilities that exist just to explain the
557: proper way to obey the padding specifications in all the command string
558: capabilities. One, `pc', must be obeyed by all termcap-using programs.
559:
560: `pb'
561: Numeric value, the lowest baud rate at which padding is actually
562: needed. Programs may check this and refrain from doing any
563: padding at lower speeds.
564:
565: `pc'
566: String of commands for padding. The first character of this
567: string is to be used as the pad character, instead of using null
568: characters for padding. If `pc' is not provided, use null
569: characters. Every program that uses termcap must look up this
570: capability and use it to set the variable `PC' that is used by
571: `tputs'. *Note Padding::.
572:
573: Some termcap capabilities exist just to specify the amount of
574: padding that the kernel should give to cursor motion commands used in
575: ordinary sequential output.
576:
577: `dC'
578: Numeric value, the number of msec of padding needed for the
579: carriage-return character.
580:
581: `dN'
582: Numeric value, the number of msec of padding needed for the newline
583: (linefeed) character.
584:
585: `dB'
586: Numeric value, the number of msec of padding needed for the
587: backspace character.
588:
589: `dF'
590: Numeric value, the number of msec of padding needed for the
591: formfeed character.
592:
593: `dT'
594: Numeric value, the number of msec of padding needed for the tab
595: character.
596:
597: In some systems, the kernel uses the above capabilities; in other
598: systems, the kernel uses the paddings specified in the string
599: capabilities `cr', `sf', `le', `ff' and `ta'. Descriptions of
600: terminals which require such padding should contain the `dC' ... `dT'
601: capabilities and also specify the appropriate padding in the
602: corresponding string capabilities. Since no modern terminals require
603: padding for ordinary sequential output, you probably won't need to do
604: either of these things.
605:
606:
607: File: termcap, Node: Status Line, Next: Half-Line, Prev: Pad Specs, Up: Capabilities
608:
609: Status Line
610: ===========
611:
612: A "status line" is a line on the terminal that is not used for
613: ordinary display output but instead used for a special message. The
614: intended use is for a continuously updated description of what the
615: user's program is doing, and that is where the name "status line" comes
616: from, but in fact it could be used for anything. The distinguishing
617: characteristic of a status line is that ordinary output to the terminal
618: does not affect it; it changes only if the special status line commands
619: of this section are used.
620:
621: `hs'
622: Flag whose presence means that the terminal has a status line. If
623: a terminal description specifies that there is a status line, it
624: must provide the `ts' and `fs' capabilities.
625:
626: `ts'
627: String of commands to move the terminal cursor into the status
628: line. Usually these commands must specifically record the old
629: cursor position for the sake of the `fs' string.
630:
631: `fs'
632: String of commands to move the cursor back from the status line to
633: its previous position (outside the status line).
634:
635: `es'
636: Flag whose presence means that other display commands work while
637: writing the status line. In other words, one can clear parts of
638: it, insert or delete characters, move the cursor within it using
639: `ch' if there is a `ch' capability, enter and leave standout mode,
640: and so on.
641:
642: `ds'
643: String of commands to disable the display of the status line. This
644: may be absent, if there is no way to disable the status line
645: display.
646:
647: `ws'
648: Numeric value, the width of the status line. If this capability is
649: absent in a terminal that has a status line, it means the status
650: line is the same width as the other lines.
651:
652: Note that the value of `ws' is sometimes as small as 8.
653:
654:
655: File: termcap, Node: Half-Line, Next: Printer, Prev: Status Line, Up: Capabilities
656:
657: Half-Line Motion
658: ================
659:
660: Some terminals have commands for moving the cursor vertically by
661: half-lines, useful for outputting subscripts and superscripts. Mostly
662: it is hardcopy terminals that have such features.
663:
664: `hu'
665: String of commands to move the cursor up half a line. If the
666: terminal is a display, it is your responsibility to avoid moving
667: up past the top line; however, most likely the terminal that
668: supports this is a hardcopy terminal and there is nothing to be
669: concerned about.
670:
671: `hd'
672: String of commands to move the cursor down half a line. If the
673: terminal is a display, it is your responsibility to avoid moving
674: down past the bottom line, etc.
675:
676:
677: File: termcap, Node: Printer, Prev: Half-Line, Up: Capabilities
678:
679: Controlling Printers Attached to Terminals
680: ==========================================
681:
682: Some terminals have attached hardcopy printer ports. They may be
683: able to copy the screen contents to the printer; they may also be able
684: to redirect output to the printer. Termcap does not have anything to
685: tell the program whether the redirected output appears also on the
686: screen; it does on some terminals but not all.
687:
688: `ps'
689: String of commands to cause the contents of the screen to be
690: printed. If it is absent, the screen contents cannot be printed.
691:
692: `po'
693: String of commands to redirect further output to the printer.
694:
695: `pf'
696: String of commands to terminate redirection of output to the
697: printer. This capability must be present in the description if
698: `po' is.
699:
700: `pO'
701: String of commands to redirect output to the printer for next N
702: characters of output, regardless of what they are. Redirection
703: will end automatically after N characters of further output. Until
704: then, nothing that is output can end redirection, not even the
705: `pf' string if there is one. The number N should not be more than
706: 255.
707:
708: One use of this capability is to send non-text byte sequences
709: (such as bit-maps) to the printer.
710:
711: Most terminals with printers do not support all of `ps', `po' and
712: `pO'; any one or two of them may be supported. To make a program that
713: can send output to all kinds of printers, it is necessary to check for
714: all three of these capabilities, choose the most convenient of the ones
715: that are provided, and use it in its own appropriate fashion.
716:
717:
718: File: termcap, Node: Summary, Next: Var Index, Prev: Capabilities, Up: Top
719:
720: Summary of Capability Names
721: ***************************
722:
723: Here are all the terminal capability names in alphabetical order
724: with a brief description of each. For cross references to their
725: definitions, see the index of capability names (*note Cap Index::.).
726:
727: `ae'
728: String to turn off alternate character set mode.
729:
730: `al'
731: String to insert a blank line before the cursor.
732:
733: `AL'
734: String to insert N blank lines before the cursor.
735:
736: `am'
737: Flag: output to last column wraps cursor to next line.
738:
739: `as'
740: String to turn on alternate character set mode.like.
741:
742: `bc'
743: Very obsolete alternative name for the `le' capability.
744:
745: `bl'
746: String to sound the bell.
747:
748: `bs'
749: Obsolete flag: ASCII backspace may be used for leftward motion.
750:
751: `bt'
752: String to move the cursor left to the previous hardware tab stop
753: column.
754:
755: `bw'
756: Flag: `le' at left margin wraps to end of previous line.
757:
758: `CC'
759: String to change terminal's command character.
760:
761: `cd'
762: String to clear the line the cursor is on, and following lines.
763:
764: `ce'
765: String to clear from the cursor to the end of the line.
766:
767: `ch'
768: String to position the cursor at column C in the same line.
769:
770: `cl'
771: String to clear the entire screen and put cursor at upper left
772: corner.
773:
774: `cm'
775: String to position the cursor at line L, column C.
776:
777: `CM'
778: String to position the cursor at line L, column C, relative to
779: display memory.
780:
781: `co'
782: Number: width of the screen.
783:
784: `cr'
785: String to move cursor sideways to left margin.
786:
787: `cs'
788: String to set the scroll region.
789:
790: `cS'
791: Alternate form of string to set the scroll region.
792:
793: `ct'
794: String to clear all tab stops.
795:
796: `cv'
797: String to position the cursor at line L in the same column.
798:
799: `da'
800: Flag: data scrolled off top of screen may be scrolled back.
801:
802: `db'
803: Flag: data scrolled off bottom of screen may be scrolled back.
804:
805: `dB'
806: Obsolete number: msec of padding needed for the backspace
807: character.
808:
809: `dc'
810: String to delete one character position at the cursor.
811:
812: `dC'
813: Obsolete number: msec of padding needed for the carriage-return
814: character.
815:
816: `DC'
817: String to delete N characters starting at the cursor.
818:
819: `dF'
820: Obsolete number: msec of padding needed for the formfeed character.
821:
822: `dl'
823: String to delete the line the cursor is on.
824:
825: `DL'
826: String to delete N lines starting with the cursor's line.
827:
828: `dm'
829: String to enter delete mode.
830:
831: `dN'
832: Obsolete number: msec of padding needed for the newline character.
833:
834: `do'
835: String to move the cursor vertically down one line.
836:
837: `DO'
838: String to move cursor vertically down N lines.
839:
840: `ds'
841: String to disable the display of the status line.
842:
843: `dT'
844: Obsolete number: msec of padding needed for the tab character.
845:
846: `ec'
847: String of commands to clear N characters at cursor.
848:
849: `ed'
850: String to exit delete mode.
851:
852: `ei'
853: String to leave insert mode.
854:
855: `eo'
856: Flag: output of a space can erase an overstrike.
857:
858: `es'
859: Flag: other display commands work while writing the status line.
860:
861: `ff'
862: String to advance to the next page, for a hardcopy terminal.
863:
864: `fs'
865: String to move the cursor back from the status line to its
866: previous position (outside the status line).
867:
868: `gn'
869: Flag: this terminal type is generic, not real.
870:
871: `hc'
872: Flag: hardcopy terminal.
873:
874: `hd'
875: String to move the cursor down half a line.
876:
877: `ho'
878: String to position cursor at upper left corner.
879:
880: `hs'
881: Flag: the terminal has a status line.
882:
883: `hu'
884: String to move the cursor up half a line.
885:
886: `hz'
887: Flag: terminal cannot accept `~' as output.
888:
889: `i1'
890: String to initialize the terminal for each login session.
891:
892: `i3'
893: String to initialize the terminal for each login session.
894:
895: `ic'
896: String to insert one character position at the cursor.
897:
898: `IC'
899: String to insert N character positions at the cursor.
900:
901: `if'
902: String naming a file of commands to initialize the terminal.
903:
904: `im'
905: String to enter insert mode.
906:
907: `in'
908: Flag: outputting a space is different from moving over empty
909: positions.
910:
911: `ip'
912: String to output following an inserted character in insert mode.
913:
914: `is'
915: String to initialize the terminal for each login session.
916:
917: `it'
918: Number: initial spacing between hardware tab stop columns.
919:
920: `k0'
921: String of input sent by function key 0 or 10.
922:
923: `k1 ... k9'
924: Strings of input sent by function keys 1 through 9.
925:
926: `K1 ... K5'
927: Strings sent by the five other keys in 3-by-3 array with arrows.
928:
929: `ka'
930: String of input sent by the "clear all tabs" key.
931:
932: `kA'
933: String of input sent by the "insert line" key.
934:
935: `kb'
936: String of input sent by the "backspace" key.
937:
938: `kC'
939: String of input sent by the "clear screen" key.
940:
941: `kd'
942: String of input sent by typing the down-arrow key.
943:
944: `kD'
945: String of input sent by the "delete character" key.
946:
947: `ke'
948: String to make the function keys work locally.
949:
950: `kE'
951: String of input sent by the "clear to end of line" key.
952:
953: `kF'
954: String of input sent by the "scroll forward" key.
955:
956: `kh'
957: String of input sent by typing the "home-position" key.
958:
959: `kH'
960: String of input sent by the "home down" key.
961:
962: `kI'
963: String of input sent by the "insert character" or "enter insert
964: mode" key.
965:
966: `kl'
967: String of input sent by typing the left-arrow key.
968:
969: `kL'
970: String of input sent by the "delete line" key.
971:
972: `km'
973: Flag: the terminal has a Meta key.
974:
975: `kM'
976: String of input sent by the "exit insert mode" key.
977:
978: `kn'
979: Numeric value, the number of numbered function keys.
980:
981: `kN'
982: String of input sent by the "next page" key.
983:
984: `ko'
985: Very obsolete string listing the terminal's named function keys.
986:
987: `kP'
988: String of input sent by the "previous page" key.
989:
990: `kr'
991: String of input sent by typing the right-arrow key.
992:
993: `kR'
994: String of input sent by the "scroll reverse" key.
995:
996: `ks'
997: String to make the function keys transmit.
998:
999: `kS'
1000: String of input sent by the "clear to end of screen" key.
1001:
1002: `kt'
1003: String of input sent by the "clear tab stop this column" key.
1004:
1005: `kT'
1006: String of input sent by the "set tab stop in this column" key.
1007:
1008: `ku'
1009: String of input sent by typing the up-arrow key.
1010:
1011: `l0'
1012: String on keyboard labelling function key 0 or 10.
1013:
1014: `l1 ... l9'
1015: Strings on keyboard labelling function keys 1 through 9.
1016:
1017: `le'
1018: String to move the cursor left one column.
1019:
1020: `LE'
1021: String to move cursor left N columns.
1022:
1023: `li'
1024: Number: height of the screen.
1025:
1026: `ll'
1027: String to position cursor at lower left corner.
1028:
1029: `lm'
1030: Number: lines of display memory.
1031:
1032: `mb'
1033: String to enter blinking mode.
1034:
1035: `md'
1036: String to enter double-bright mode.
1037:
1038: `me'
1039: String to turn off all appearance modes
1040:
1041: `mh'
1042: String to enter half-bright mode.
1043:
1044: `mi'
1045: Flag: cursor motion in insert mode is safe.
1046:
1047: `mk'
1048: String to enter invisible mode.
1049:
1050: `mm'
1051: String to enable the functioning of the Meta key.
1052:
1053: `mo'
1054: String to disable the functioning of the Meta key.
1055:
1056: `mp'
1057: String to enter protected mode.
1058:
1059: `mr'
1060: String to enter reverse-video mode.
1061:
1062: `ms'
1063: Flag: cursor motion in standout mode is safe.
1064:
1065: `nc'
1066: Obsolete flag: do not use ASCII carriage-return on this terminal.
1067:
1068: `nd'
1069: String to move the cursor right one column.
1070:
1071: `nl'
1072: Obsolete alternative name for the `do' and `sf' capabilities.
1073:
1074: `ns'
1075: Flag: the terminal does not normally scroll for sequential output.
1076:
1077: `nw'
1078: String to move to start of next line, possibly clearing rest of
1079: old line.
1080:
1081: `os'
1082: Flag: terminal can overstrike.
1083:
1084: `pb'
1085: Number: the lowest baud rate at which padding is actually needed.
1086:
1087: `pc'
1088: String containing character for padding.
1089:
1090: `pf'
1091: String to terminate redirection of output to the printer.
1092:
1093: `po'
1094: String to redirect further output to the printer.
1095:
1096: `pO'
1097: String to redirect N characters ofoutput to the printer.
1098:
1099: `ps'
1100: String to print the screen on the attached printer.
1101:
1102: `rc'
1103: String to move to last saved cursor position.
1104:
1105: `RI'
1106: String to move cursor right N columns.
1107:
1108: `rp'
1109: String to output character C repeated N times.
1110:
1111: `rs'
1112: String to reset the terminal from any strange modes.
1113:
1114: `sa'
1115: String to turn on an arbitrary combination of appearance modes.
1116:
1117: `sc'
1118: String to save the current cursor position.
1119:
1120: `se'
1121: String to leave standout mode.
1122:
1123: `sf'
1124: String to scroll the screen one line up.
1125:
1126: `SF'
1127: String to scroll the screen N lines up.
1128:
1129: `sg'
1130: Number: width of magic standout cookie. Absent if magic cookies
1131: are not used.
1132:
1133: `so'
1134: String to enter standout mode.
1135:
1136: `sr'
1137: String to scroll the screen one line down.
1138:
1139: `SR'
1140: String to scroll the screen N line down.
1141:
1142: `st'
1143: String to set tab stop at current cursor column on all lines.
1144: programs.
1145:
1146: `ta'
1147: String to move the cursor right to the next hardware tab stop
1148: column.
1149:
1150: `te'
1151: String to return terminal to settings for sequential output.
1152:
1153: `ti'
1154: String to initialize terminal for random cursor motion.
1155:
1156: `ts'
1157: String to move the terminal cursor into the status line.
1158:
1159: `uc'
1160: String to underline one character and move cursor right.
1161:
1162: `ue'
1163: String to turn off underline mode
1164:
1165: `ug'
1166: Number: width of underlining magic cookie. Absent if underlining
1167: doesn't use magic cookies.
1168:
1169: `ul'
1170: Flag: underline by overstriking with an underscore.
1171:
1172: `up'
1173: String to move the cursor vertically up one line.
1174:
1175: `UP'
1176: String to move cursor vertically up N lines.
1177:
1178: `us'
1179: String to turn on underline mode
1180:
1181: `vb'
1182: String to make the screen flash.
1183:
1184: `ve'
1185: String to return the cursor to normal.
1186:
1187: `vi'
1188: String to make the cursor invisible.
1189:
1190: `vs'
1191: String to enhance the cursor.
1192:
1193: `wi'
1194: String to set the terminal output screen window.
1195:
1196: `ws'
1197: Number: the width of the status line.
1198:
1199: `xb'
1200: Flag: superbee terminal.
1201:
1202: `xn'
1203: Flag: cursor wraps in a strange way.
1204:
1205: `xs'
1206: Flag: clearing a line is the only way to clear the appearance
1207: modes of positions in that line (or, only way to remove magic
1208: cookies on that line).
1209:
1210: `xt'
1211: Flag: Teleray 1061; several strange characteristics.
1212:
1213:
1214: File: termcap, Node: Var Index, Next: Cap Index, Prev: Summary, Up: Top
1215:
1216: Variable and Function Index
1217: ***************************
1218:
1219: * Menu:
1220:
1221: * BC: tgoto.
1222: * ospeed: Output Padding.
1223: * PC: Output Padding.
1224: * tgetent: Find.
1225: * tgetflag: Interrogate.
1226: * tgetnum: Interrogate.
1227: * tgetstr: Interrogate.
1228: * tgoto: tgoto.
1229: * tparam: tparam.
1230: * tputs: Output Padding.
1231: * UP: tgoto.
1232:
1233:
1234: File: termcap, Node: Cap Index, Next: Index, Prev: Var Index, Up: Top
1235:
1236: Capability Index
1237: ****************
1238:
1239: * Menu:
1240:
1241: * ae: Standout.
1242: * AL: Insdel Line.
1243: * al: Insdel Line.
1244: * am: Wrapping.
1245: * as: Standout.
1246: * bc: Cursor Motion.
1247: * bl: Bell.
1248: * bs: Cursor Motion.
1249: * bt: Cursor Motion.
1250: * bw: Cursor Motion.
1251: * CC: Basic.
1252: * cd: Clearing.
1253: * ce: Clearing.
1254: * ch: Cursor Motion.
1255: * cl: Clearing.
1256: * CM: Cursor Motion.
1257: * cm: Cursor Motion.
1258: * co: Screen Size.
1259: * cr: Cursor Motion.
1260: * cs: Scrolling.
1261: * cS: Scrolling.
1262: * ct: Initialization.
1263: * cv: Cursor Motion.
1264: * da: Scrolling.
1265: * dB: Pad Specs.
1266: * db: Scrolling.
1267: * dC: Pad Specs.
1268: * DC: Insdel Char.
1269: * dc: Insdel Char.
1270: * dF: Pad Specs.
1271: * dl: Insdel Line.
1272: * DL: Insdel Line.
1273: * dm: Insdel Char.
1274: * dN: Pad Specs.
1275: * DO: Cursor Motion.
1276: * do: Cursor Motion.
1277: * ds: Status Line.
1278: * dT: Pad Specs.
1279: * ec: Clearing.
1280: * ed: Insdel Char.
1281: * ei: Insdel Char.
1282: * eo: Basic.
1283: * es: Status Line.
1284: * ff: Cursor Motion.
1285: * fs: Status Line.
1286: * gn: Basic.
1287: * hc: Basic.
1288: * hd: Half-Line.
1289: * ho: Cursor Motion.
1290: * hs: Status Line.
1291: * hu: Half-Line.
1292: * hz: Basic.
1293: * i1: Initialization.
1294: * i3: Initialization.
1295: * IC: Insdel Char.
1296: * ic: Insdel Char.
1297: * if: Initialization.
1298: * im: Insdel Char.
1299: * in: Insdel Char.
1300: * ip: Insdel Char.
1301: * is: Initialization.
1302: * it: Initialization.
1303: * K1...K5: Keypad.
1304: * k1...k9: Keypad.
1305: * kA...kT: Keypad.
1306: * ka...ku: Keypad.
1307: * km: Meta Key.
1308: * l0...l9: Keypad.
1309: * le: Cursor Motion.
1310: * LE: Cursor Motion.
1311: * li: Screen Size.
1312: * ll: Cursor Motion.
1313: * lm: Scrolling.
1314: * mb: Standout.
1315: * md: Standout.
1316: * me: Standout.
1317: * mh: Standout.
1318: * mi: Insdel Char.
1319: * mk: Standout.
1320: * mm: Meta Key.
1321: * mo: Meta Key.
1322: * mp: Standout.
1323: * mr: Standout.
1324: * ms: Standout.
1325: * ms: Underlining.
1326: * nc: Cursor Motion.
1327: * nd: Cursor Motion.
1328: * nl: Cursor Motion.
1329: * ns: Scrolling.
1330: * nw: Cursor Motion.
1331: * os: Basic.
1332: * pb: Pad Specs.
1333: * pc: Pad Specs.
1334: * pf: Printer.
1335: * po: Printer.
1336: * pO: Printer.
1337: * ps: Printer.
1338: * rc: Cursor Motion.
1339: * RI: Cursor Motion.
1340: * rp: Basic.
1341: * rs: Initialization.
1342: * sa: Standout.
1343: * sc: Cursor Motion.
1344: * se: Standout.
1345: * sf: Scrolling.
1346: * SF: Scrolling.
1347: * sg: Standout.
1348: * so: Standout.
1349: * SR: Scrolling.
1350: * sr: Scrolling.
1351: * st: Initialization.
1352: * ta: Cursor Motion.
1353: * te: Initialization.
1354: * ti: Initialization.
1355: * ts: Status Line.
1356: * uc: Underlining.
1357: * ue: Underlining.
1358: * ug: Underlining.
1359: * ul: Underlining.
1360: * up: Cursor Motion.
1361: * UP: Cursor Motion.
1362: * us: Underlining.
1363: * vb: Bell.
1364: * ve: Cursor Visibility.
1365: * vi: Cursor Visibility.
1366: * vs: Cursor Visibility.
1367: * wi: Windows.
1368: * ws: Status Line.
1369: * xb: Basic.
1370: * xn: Wrapping.
1371: * xs: Standout.
1372: * xt: Cursor Motion.
1373: * xt: Standout.
1374:
1375:
1376: File: termcap, Node: Index, Prev: Cap Index, Up: Top
1377:
1378: Concept Index
1379: *************
1380:
1381: * Menu:
1382:
1383: * %: Encode Parameters.
1384: * appearance modes: Standout.
1385: * bell: Bell.
1386: * clearing the screen: Clearing.
1387: * command character: Basic.
1388: * cursor motion: Cursor Motion.
1389: * delete character: Insdel Char.
1390: * delete line: Insdel Line.
1391: * delete mode: Insdel Char.
1392: * description format: Format.
1393: * erasing: Clearing.
1394: * generic terminal type: Basic.
1395: * home position: Cursor Motion.
1396: * inheritance: Inheriting.
1397: * initialization: Initialization.
1398: * insert character: Insdel Char.
1399: * insert line: Insdel Line.
1400: * insert mode: Insdel Char.
1401: * line speed: Output Padding.
1402: * magic cookie: Standout.
1403: * meta key: Meta Key.
1404: * names of terminal types: Naming.
1405: * overstrike: Basic.
1406: * padding: Pad Specs.
1407: * padding: Padding.
1408: * parameters: Parameters.
1409: * printer: Printer.
1410: * repeat output: Basic.
1411: * reset: Initialization.
1412: * screen size: Screen Size.
1413: * screen size: Naming.
1414: * screen size: Screen Size.
1415: * scrolling: Scrolling.
1416: * standout: Standout.
1417: * status line: Status Line.
1418: * Superbee: Basic.
1419: * tab stops: Initialization.
1420: * termcap: Introduction.
1421: * terminal flags (kernel): Initialize.
1422: * underlining: Underlining.
1423: * visibility: Cursor Visibility.
1424: * visible bell: Bell.
1425: * window: Windows.
1426: * wrapping: Wrapping.
1427: * wrapping: Naming.
1428:
1429:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.