xref: /dragonfly/contrib/ncurses/include/Caps (revision 0cadad7e49c6219b0de0675ef6a6f44683d177d4)
1##############################################################################
2# Copyright 2019,2020 Thomas E. Dickey                                       #
3# Copyright 1998-2015,2016 Free Software Foundation, Inc.                    #
4#                                                                            #
5# Permission is hereby granted, free of charge, to any person obtaining a    #
6# copy of this software and associated documentation files (the "Software"), #
7# to deal in the Software without restriction, including without limitation  #
8# the rights to use, copy, modify, merge, publish, distribute, distribute    #
9# with modifications, sublicense, and/or sell copies of the Software, and to #
10# permit persons to whom the Software is furnished to do so, subject to the  #
11# following conditions:                                                      #
12#                                                                            #
13# The above copyright notice and this permission notice shall be included in #
14# all copies or substantial portions of the Software.                        #
15#                                                                            #
16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
17# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
18# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
19# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
20# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
21# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
22# DEALINGS IN THE SOFTWARE.                                                  #
23#                                                                            #
24# Except as contained in this notice, the name(s) of the above copyright     #
25# holders shall not be used in advertising or otherwise to promote the sale, #
26# use or other dealings in this Software without prior written               #
27# authorization.                                                             #
28##############################################################################
29#
30# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
31#    and: Eric S. Raymond <esr@snark.thyrsus.com>
32#
33# $Id: Caps,v 1.45 2020/02/02 23:34:34 tom Exp $
34#
35# This is the master termcap/terminfo capability table.
36#
37# This table is used to generate initializers for tables that drive tic,
38# infocmp, and the library compilation code used to support the termcap
39# compatibility hack.  It is also used to generate the tabular portion of the
40# terminfo(5) man page; lines beginning with `#%' are passed through to become
41# the terminfo table.
42#
43# This file has three major sections; a standard-capabilities table, two
44# extension-capability tables, and a section of aliases declarations.
45# The first two have the same format, as follows:
46#
47# FILE FORMAT
48#
49# Column 1: terminfo variable name
50# Column 2: terminfo capability name
51# Column 3: capability type (boolean, numeric, or string)
52# Column 4: termcap capability name
53# Column 5: KEY_xxx name, if any, `-' otherwise
54# Column 6: value for KEY_xxx name, if any, `-' otherwise
55# Column 7: Lead with `Y' if capability should be emitted in termcap
56#           translations, `-' otherwise
57# Column 8: capability description
58#
59# The codes following [Y-] in column 7 describe the versions of termcap which
60# use the given capability.  This information is not used by the curses library
61# proper; rather, it's there to help the terminfo maintainer avoid emitting
62# termcap entry translations that are more than 1023 bytes long (and tank a
63# lot of old termcap-using programs).  The codes read as follows:
64#         B = mentioned in the BSD man page for 4.4BSD curses
65#         C = used by the 4.4BSD curses library
66#         G = mentioned in the documentation for GNU termcap
67#         E = used by GNU Emacs
68#         K = remove this terminfo capability when translating to standard format
69# The important codes are C and E.  A cap with C or E should be preserved in
70# translation if possible.  The problem is that preserving all such caps may
71# lead to some termcap translations being too long.  The termcap maintainer
72# has a bit of a juggling act to do...potential problem cases are marked with
73# an asterisk (*).
74#
75# The aliases section has the following format:
76#
77# Column 1: either `capalias' or `infoalias'
78# Column 2: name to be aliased
79# Column 3: what name it should translate to.  The name IGNORE means it
80#           should be discarded with a warning message.
81# Column 4: name of the extension set (used for compiler warning messages)
82# Column 5: capability description (usually an associated terminfo variable)
83#
84# HANDLING TERMCAP AND TERMINFO EXTENSIONS
85#
86# There are basically five different ways to handle termcap and terminfo
87# extensions:
88#
89# 1. Don't list the capname here, or list it but comment it out (the latter
90# is preferable; someone might want to handle it in the future).  If you do
91# this, the capability will be treated as unknown and raise a warning from
92# the compiler.
93#
94# 2. Alias it.  This is appropriate if the capability has the same meaning
95# as an already-supported one.  The compiler will handle aliasing, emitting
96# an appropriate informational message whenever an alias fires.
97#
98# 3. List it in the standard table.  You almost certainly do *not* want
99# to do this -- the capabilities in that one, and their order, have been
100# carefully chosen to be SVr4-binary-compatible when they're written out
101# as a terminfo object, and breaking this would be bad.  It's up to the ncurses
102# library what to do with the terminfo data after it's read in.
103#
104# 4. List it in the aliases table with an IGNORE target field.  If you
105# do this, the capability will be ignored on input (though the user will
106# get a warning message about it).
107#
108# 5. List it in the extensions table. If you do this, the compiler will
109# silently accept the capability, but the curses library proper will never
110# see it (because it won't be written out as part of the terminfo object
111# format).  It's up to you what you have the compiler do with it.
112#
113# There are two opposite reasons to choose option 5.  One is when you want
114# to eat the capability silently and discard it when doing translations
115# to terminfo with tic -I.  Some very old obsolete BSD caps like :kn: are
116# in this class.  Nothing will ever use them again.
117#
118# More usually, you want the compiler to try to deduce something from the
119# capability value that it can use to translate it into your output format.
120# You'll need to write custom code, probably in postprocess_termcap() or
121# postprocess_terminfo(), to handle the translation.
122#
123# CONTROLLING ENTRY LENGTH
124#
125# Notes on specific elisions made to fit translations within 1023 bytes:
126#
127# Machines with IBM PC-like keyboards want to be able to define the following
128# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
129# only environments for End or Home-Down), key_dc, and key_ic.  This is also
130# the set of keys the `joe' editor will be upset if it can't see.  So don't
131# trim those out of the set to be translated to termcap, or various users of
132# the termcap file will become irate.
133#
134# It might look tempting to leave those long init strings out of translations.
135# We can't do it (yet); 4.4BSD tput and tset use them.
136#
137# We retain the sgr capability in translation in spite of the fact that neither
138# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
139# hard to understand without it, and (b) the entries in which it is long tend
140# to be older types that don't use up a lot of string space on function keys.
141# The tic(1) translation code will complain and elide it if it makes a critical
142# difference (there is special code in tic to recognize this situation).
143#
144# Yes, BSD tset(1) uses hpa.  We elide hpa/vpa anyway because the motion
145# optimizer in BSD curses didn't use them.  This omission seems to be the
146# single most effective one, it shortened the resolved length of all thirteen
147# problem entries in the 9.9.0 version of the terminfo master below critical.
148#
149# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
150# translations go back over critical if we do this.  As 4.4BSD curses fades
151# into history and GNU termcap's application base shrinks towards being GNU
152# Emacs only, we'll probably elide out some BSD-only capabilities in order
153# to buy space for non-essentials Emacs is still using.  Capabilities high
154# on that hit list: rc, sc, uc.
155#
156#############################################################################
157#
158# STANDARD CAPABILITIES
159#
160#%The following is a complete table of the capabilities included in a
161#%terminfo description block and available to terminfo-using code.  In each
162#%line of the table,
163#%
164#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
165#%accesses the capability.
166#%
167#%The \fBcapname\fR is the short name used in the text of the database,
168#%and is used by a person updating the database.
169#%Whenever possible, capnames are chosen to be the same as or similar to
170#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
171#%identical or very similar names).  Semantics are also intended to match
172#%those of the specification.
173#%
174#%The termcap code is the old
175#%.B termcap
176#%capability name (some capabilities are new, and have names which termcap
177#%did not originate).
178#%.P
179#%Capability names have no hard length limit, but an informal limit of 5
180#%characters has been adopted to keep them short and to allow the tabs in
181#%the source file
182#%.B Caps
183#%to line up nicely.
184#%
185#%Finally, the description field attempts to convey the semantics of the
186#%capability.  You may find some codes in the description field:
187#%.TP
188#%(P)
189#%indicates that padding may be specified
190#%.TP
191#%#[1-9]
192#%in the description field indicates that the string is passed through tparm with
193#%parms as given (#\fIi\fP).
194#%.TP
195#%(P*)
196#%indicates that padding may vary in proportion to the number of
197#%lines affected
198#%.TP
199#%(#\d\fIi\fP\u)
200#%indicates the \fIi\fP\uth\d parameter.
201#%
202#%.PP
203#% These are the boolean capabilities:
204#%
205#%.na
206#%.TS H
207#%center expand;
208#%c l l c
209#%c l l c
210#%lw25 lw6 lw2 lw20.
211#%\fBVariable       Cap-      TCap      Description\fR
212#%\fBBooleans       name      Code\fR
213auto_left_margin              bw        bool      bw        -         -         YB-G-     cub1 wraps from column 0 to last column
214auto_right_margin             am        bool      am        -         -         YBCGE     terminal has automatic margins
215no_esc_ctlc                             xsb       bool      xb        -         -         YBCG-     beehive (f1=escape, f2=ctrl C)
216ceol_standout_glitch                    xhp       bool      xs        -         -         YBCGE     standout not erased by overwriting (hp)
217eat_newline_glitch            xenl      bool      xn        -         -         YBCGE     newline ignored after 80 cols (concept)
218erase_overstrike              eo        bool      eo        -         -         YBCG-     can erase overstrikes with a blank
219generic_type                            gn        bool      gn        -         -         YB-G-     generic line type
220hard_copy                     hc        bool      hc        -         -         YBCG-     hardcopy terminal
221has_meta_key                            km        bool      km        -         -         YB-GE     Has a meta key (i.e., sets 8th-bit)
222has_status_line                         hs        bool      hs        -         -         YB-G-     has extra status line
223insert_null_glitch            in        bool      in        -         -         YBCGE     insert mode distinguishes nulls
224memory_above                            da        bool      da        -         -         YBCG-     display may be retained above the screen
225memory_below                            db        bool      db        -         -         YB-GE     display may be retained below the screen
226move_insert_mode              mir       bool      mi        -         -         YBCGE     safe to move while in insert mode
227move_standout_mode            msgr      bool      ms        -         -         YBCGE     safe to move while in standout mode
228over_strike                             os        bool      os        -         -         YBCG-     terminal can overstrike
229status_line_esc_ok            eslok     bool      es        -         -         YB-G-     escape can be used on the status line
230dest_tabs_magic_smso                    xt        bool      xt        -         -         YBCGE     tabs destructive, magic so char (t1061)
231tilde_glitch                            hz        bool      hz        -         -         YB-GE     cannot print ~'s (Hazeltine)
232transparent_underline                   ul        bool      ul        -         -         YBCGE     underline character overstrikes
233xon_xoff                      xon       bool      xo        -         -         YB---     terminal uses xon/xoff handshaking
234needs_xon_xoff                          nxon      bool      nx        -         -         -----     padding will not work, xon/xoff required
235prtr_silent                             mc5i      bool      5i        -         -         -----     printer will not echo on screen
236hard_cursor                             chts      bool      HC        -         -         -----     cursor is hard to see
237non_rev_rmcup                           nrrmc     bool      NR        -         -         -----     smcup does not reverse rmcup
238no_pad_char                             npc       bool      NP        -         -         -----     pad character does not exist
239non_dest_scroll_region                  ndscr     bool      ND        -         -         -----     scrolling region is non-destructive
240can_change                              ccc       bool      cc        -         -         -----     terminal can re-define existing colors
241back_color_erase              bce       bool      ut        -         -         -----     screen erased with background color
242hue_lightness_saturation      hls       bool      hl        -         -         -----     terminal uses only HLS color notation (Tektronix)
243col_addr_glitch                         xhpa      bool      YA        -         -         -----     only positive motion for hpa/mhpa caps
244cr_cancels_micro_mode                   crxm      bool      YB        -         -         -----     using cr turns off micro mode
245has_print_wheel                         daisy     bool      YC        -         -         -----     printer needs operator to change character set
246row_addr_glitch                         xvpa      bool      YD        -         -         -----     only positive motion for vpa/mvpa caps
247semi_auto_right_margin                  sam       bool      YE        -         -         -----     printing in last column causes cr
248cpi_changes_res                         cpix      bool      YF        -         -         -----     changing character pitch changes resolution
249lpi_changes_res                         lpix      bool      YG        -         -         -----     changing line pitch changes resolution
250#%.TE
251#%.ad
252#%
253#%These are the numeric capabilities:
254#%
255#%.na
256#%.TS H
257#%center expand;
258#%c l l c
259#%c l l c
260#%lw25 lw6 lw2 lw20.
261#%\fBVariable       Cap-      TCap      Description\fR
262#%\fBNumeric        name      Code\fR
263columns                                 cols      num       co        -         -         YBCGE     number of columns in a line
264init_tabs                     it        num       it        -         -         YB-G-     tabs initially every # spaces
265lines                                   lines     num       li        -         -         YBCGE     number of lines on screen or page
266lines_of_memory                         lm        num       lm        -         -         YB-G-     lines of memory if > line. 0 means varies
267magic_cookie_glitch           xmc       num       sg        -         -         YBCGE     number of blank characters left by smso or rmso
268padding_baud_rate             pb        num       pb        -         -         YB-GE     lowest baud rate where padding needed
269virtual_terminal              vt        num       vt        -         -         YB---     virtual terminal number (CB/unix)
270width_status_line             wsl       num       ws        -         -         YB-G-     number of columns in status line
271num_labels                              nlab      num       Nl        -         -         -----     number of labels on screen
272label_height                            lh        num       lh        -         -         -----     rows in each label
273label_width                             lw        num       lw        -         -         -----     columns in each label
274max_attributes                          ma        num       ma        -         -         YBC--     maximum combined attributes terminal can handle
275maximum_windows                         wnum      num       MW        -         -         -----     maximum number of definable windows
276# These came in with SVr4's color support
277max_colors                              colors    num       Co        -         -         -----     maximum number of colors on screen
278max_pairs                     pairs     num       pa        -         -         -----     maximum number of color-pairs on the screen
279no_color_video                          ncv       num       NC        -         -         -----     video attributes that cannot be used with colors
280#%.TE
281#%.ad
282#%
283#%The following numeric capabilities are present in the SVr4.0 term structure,
284#%but are not yet documented in the man page.  They came in with SVr4's
285#%printer support.
286#%
287#%.na
288#%.TS H
289#%center expand;
290#%c l l c
291#%c l l c
292#%lw25 lw6 lw2 lw20.
293#%\fBVariable       Cap-      TCap      Description\fR
294#%\fBNumeric        name      Code\fR
295buffer_capacity                         bufsz     num       Ya        -         -         -----     numbers of bytes buffered before printing
296dot_vert_spacing              spinv     num       Yb        -         -         -----     spacing of pins vertically in pins per inch
297dot_horz_spacing              spinh     num       Yc        -         -         -----     spacing of dots horizontally in dots per inch
298max_micro_address             maddr     num       Yd        -         -         -----     maximum value in micro_..._address
299max_micro_jump                          mjump     num       Ye        -         -         -----     maximum value in parm_..._micro
300micro_col_size                          mcs       num       Yf        -         -         -----     character step size when in micro mode
301micro_line_size                         mls       num       Yg        -         -         -----     line step size when in micro mode
302number_of_pins                          npins     num       Yh        -         -         -----     numbers of pins in print-head
303output_res_char                         orc       num       Yi        -         -         -----     horizontal resolution in units per line
304output_res_line                         orl       num       Yj        -         -         -----     vertical resolution in units per line
305output_res_horz_inch                    orhi      num       Yk        -         -         -----     horizontal resolution in units per inch
306output_res_vert_inch                    orvi      num       Yl        -         -         -----     vertical resolution in units per inch
307print_rate                              cps       num       Ym        -         -         -----     print rate in characters per second
308wide_char_size                          widcs     num       Yn        -         -         -----     character step size when in double wide mode
309buttons                                 btns      num       BT        -         -         -----     number of buttons on mouse
310bit_image_entwining           bitwin    num       Yo        -         -         -----     number of passes for each bit-image row
311bit_image_type                          bitype    num       Yp        -         -         -----     type of bit-image device
312#%.TE
313#%.ad
314#%
315#%These are the string capabilities:
316#%
317#%.na
318#%.TS H
319#%center expand;
320#%c l l c
321#%c l l c
322#%lw25 lw6 lw2 lw20.
323#%\fBVariable       Cap-      TCap      Description\fR
324#%\fBString         name      Code\fR
325back_tab                      cbt       str       bt        -                   -         YBCGE     back tab (P)
326bell                                    bel       str       bl        -                   -         YB-GE     audible signal (bell) (P)
327carriage_return                         cr        str       cr        -                   -         YBCGE     carriage return (P*) (P*)
328change_scroll_region                    csr       str       cs        -                   -         YBCGE     change region to line #1 to line #2 (P)
329clear_all_tabs                          tbc       str       ct        -                   -         YB-G-     clear all tab stops (P)
330clear_screen                            clear     str       cl        -                   -         YBCGE     clear screen and home cursor (P*)
331clr_eol                                 el        str       ce        -                   -         YBCGE     clear to end of line (P)
332clr_eos                                 ed        str       cd        -                   -         YBCGE     clear to end of screen (P*)
333column_address                          hpa       str       ch        -                   -         -B-GE*    horizontal position #1, absolute (P)
334command_character             cmdch     str       CC        -                   -         YB-G-     terminal settable cmd character in prototype !?
335cursor_address                          cup       str       cm        -                   -         YBCGE     move to row #1 columns #2
336cursor_down                             cud1      str       do        -                   -         YBCGE     down one line
337cursor_home                             home      str       ho        -                   -         YBCGE     home cursor (if no cup)
338cursor_invisible              civis     str       vi        -                   -         YB-G-     make cursor invisible
339cursor_left                             cub1      str       le        -                   -         YBCGE     move left one space
340cursor_mem_address            mrcup     str       CM        -                   -         YB-G-     memory relative cursor addressing, move to row #1 columns #2
341cursor_normal                           cnorm     str       ve        -                   -         YBCGE     make cursor appear normal (undo civis/cvvis)
342cursor_right                            cuf1      str       nd        -                   -         YBCGE     non-destructive space (move right one space)
343cursor_to_ll                            ll        str       ll        -                   -         YBCGE     last line, first column (if no cup)
344cursor_up                     cuu1      str       up        -                   -         YBCGE     up one line
345cursor_visible                          cvvis     str       vs        -                   -         YBCGE     make cursor very visible
346delete_character              dch1      str       dc        -                   -         YBCGE     delete character (P*)
347delete_line                             dl1       str       dl        -                   -         YBCGE     delete line (P*)
348dis_status_line                         dsl       str       ds        -                   -         YB-G-     disable status line
349down_half_line                          hd        str       hd        -                   -         YB-G-     half a line down
350enter_alt_charset_mode                  smacs     str       as        -                   -         YB-G-     start alternate character set (P)
351enter_blink_mode              blink     str       mb        -                   -         YB-G-     turn on blinking
352enter_bold_mode                         bold      str       md        -                   -         YB-G-     turn on bold (extra bright) mode
353enter_ca_mode                           smcup     str       ti        -                   -         YBCGE     string to start programs using cup
354enter_delete_mode             smdc      str       dm        -                   -         YBCGE     enter delete mode
355enter_dim_mode                          dim       str       mh        -                   -         YB-G-     turn on half-bright mode
356enter_insert_mode             smir      str       im        -                   -         YBCGE     enter insert mode
357enter_secure_mode             invis     str       mk        -                   -         -B-G-*    turn on blank mode (characters invisible)
358enter_protected_mode                    prot      str       mp        -                   -         -B-G-*    turn on protected mode
359enter_reverse_mode            rev       str       mr        -                   -         YB-G-     turn on reverse video mode
360enter_standout_mode           smso      str       so        -                   -         YBCGE     begin standout mode
361enter_underline_mode                    smul      str       us        -                   -         YBCGE     begin underline mode
362erase_chars                             ech       str       ec        -                   -         YB-G-     erase #1 characters (P)
363exit_alt_charset_mode                   rmacs     str       ae        -                   -         YB-G-     end alternate character set (P)
364exit_attribute_mode           sgr0      str       me        -                   -         YB-GE     turn off all attributes
365exit_ca_mode                            rmcup     str       te        -                   -         YBCGE     strings to end programs using cup
366exit_delete_mode              rmdc      str       ed        -                   -         YBCGE     end delete mode
367exit_insert_mode              rmir      str       ei        -                   -         YBCGE     exit insert mode
368exit_standout_mode            rmso      str       se        -                   -         YBCGE     exit standout mode
369exit_underline_mode           rmul      str       ue        -                   -         YBCGE     exit underline mode
370flash_screen                            flash     str       vb        -                   -         YBCGE     visible bell (may not move cursor)
371form_feed                     ff        str       ff        -                   -         YB-G-     hardcopy terminal page eject (P*)
372from_status_line              fsl       str       fs        -                   -         YB-G-     return from status line
373init_1string                            is1       str       i1        -                   -         YB-G-     initialization string
374init_2string                            is2       str       is        -                   -         YB-G-     initialization string
375init_3string                            is3       str       i3        -                   -         YB-G-     initialization string
376init_file                     if        str       if        -                   -         YB-G-     name of initialization file
377insert_character              ich1      str       ic        -                   -         YBCGE     insert character (P)
378insert_line                             il1       str       al        -                   -         YBCGE     insert line (P*)
379insert_padding                          ip        str       ip        -                   -         YBCGE     insert padding after inserted character
380key_backspace                           kbs       str       kb        KEY_BACKSPACE       0407      YB-G-     backspace key
381key_catab                     ktbc      str       ka        KEY_CATAB 0526      -B-G-*    clear-all-tabs key
382key_clear                     kclr      str       kC        KEY_CLEAR 0515      -B-G-*    clear-screen or erase key
383key_ctab                      kctab     str       kt        KEY_CTAB  0525      -B-G-*    clear-tab key
384key_dc                                  kdch1     str       kD        KEY_DC              0512      YB-G-     delete-character key
385key_dl                                  kdl1      str       kL        KEY_DL              0510      -B-G-*    delete-line key
386key_down                      kcud1     str       kd        KEY_DOWN  0402      YBCGE     down-arrow key
387key_eic                                 krmir     str       kM        KEY_EIC             0514      -B-G-*    sent by rmir or smir in insert mode
388key_eol                                 kel       str       kE        KEY_EOL             0517      -B-G-*    clear-to-end-of-line key
389key_eos                                 ked       str       kS        KEY_EOS             0516      -B-G-*    clear-to-end-of-screen key
390key_f0                                  kf0       str       k0        KEY_F(0)  0410      YBCGE     F0 function key
391key_f1                                  kf1       str       k1        KEY_F(1)  -         YBCGE     F1 function key
392key_f10                                 kf10      str       k;        KEY_F(10) -         ----E     F10 function key
393key_f2                                  kf2       str       k2        KEY_F(2)  -         YBCGE     F2 function key
394key_f3                                  kf3       str       k3        KEY_F(3)  -         YBCGE     F3 function key
395key_f4                                  kf4       str       k4        KEY_F(4)  -         YBCGE     F4 function key
396key_f5                                  kf5       str       k5        KEY_F(5)  -         YBCGE     F5 function key
397key_f6                                  kf6       str       k6        KEY_F(6)  -         YBCGE     F6 function key
398key_f7                                  kf7       str       k7        KEY_F(7)  -         YBCGE     F7 function key
399key_f8                                  kf8       str       k8        KEY_F(8)  -         YBCGE     F8 function key
400key_f9                                  kf9       str       k9        KEY_F(9)  -         YBCGE     F9 function key
401key_home                      khome     str       kh        KEY_HOME  0406      YBCGE     home key
402key_ic                                  kich1     str       kI        KEY_IC              0513      YB-GE     insert-character key
403key_il                                  kil1      str       kA        KEY_IL              0511      -B-G-*    insert-line key
404key_left                      kcub1     str       kl        KEY_LEFT  0404      YBCGE     left-arrow key
405key_ll                                  kll       str       kH        KEY_LL              0533      YB-G-     lower-left key (home down)
406key_npage                     knp       str       kN        KEY_NPAGE 0522      YB-GE     next-page key
407key_ppage                     kpp       str       kP        KEY_PPAGE 0523      YB-GE     previous-page key
408key_right                     kcuf1     str       kr        KEY_RIGHT 0405      YBCGE     right-arrow key
409key_sf                                  kind      str       kF        KEY_SF              0520      -B-G-*    scroll-forward key
410key_sr                                  kri       str       kR        KEY_SR              0521      -B-G-*    scroll-backward key
411key_stab                      khts      str       kT        KEY_STAB  0524      -B-G-*    set-tab key
412key_up                                  kcuu1     str       ku        KEY_UP              0403      YBCGE     up-arrow key
413keypad_local                            rmkx      str       ke        -                   -         YBCGE     leave 'keyboard_transmit' mode
414keypad_xmit                             smkx      str       ks        -                   -         YBCGE     enter 'keyboard_transmit' mode
415lab_f0                                  lf0       str       l0        -                   -         -B-G-*    label on function key f0 if not f0
416lab_f1                                  lf1       str       l1        -                   -         -B-G-*    label on function key f1 if not f1
417lab_f10                                 lf10      str       la        -                   -         -----     label on function key f10 if not f10
418lab_f2                                  lf2       str       l2        -                   -         -B-G-*    label on function key f2 if not f2
419lab_f3                                  lf3       str       l3        -                   -         -B-G-*    label on function key f3 if not f3
420lab_f4                                  lf4       str       l4        -                   -         -B-G-*    label on function key f4 if not f4
421lab_f5                                  lf5       str       l5        -                   -         -B-G-*    label on function key f5 if not f5
422lab_f6                                  lf6       str       l6        -                   -         -B-G-*    label on function key f6 if not f6
423lab_f7                                  lf7       str       l7        -                   -         -B-G-*    label on function key f7 if not f7
424lab_f8                                  lf8       str       l8        -                   -         -B-G-*    label on function key f8 if not f8
425lab_f9                                  lf9       str       l9        -                   -         -B-G-*    label on function key f9 if not f9
426meta_off                      rmm       str       mo        -                   -         YB-G-*    turn off meta mode
427meta_on                                 smm       str       mm        -                   -         YB-G-*    turn on meta mode (8th-bit on)
428newline                                 nel       str       nw        -                   -         YB-G-*    newline (behave like cr followed by lf)
429pad_char                      pad       str       pc        -                   -         YBCGE     padding char (instead of null)
430parm_dch                      dch       str       DC        -                   -         YB-GE     delete #1 characters (P*)
431parm_delete_line              dl        str       DL        -                   -         YBCGE     delete #1 lines (P*)
432parm_down_cursor              cud       str       DO        -                   -         YBCGE     down #1 lines (P*)
433parm_ich                      ich       str       IC        -                   -         YB-GE     insert #1 characters (P*)
434parm_index                              indn      str       SF        -                   -         YBCG-     scroll forward #1 lines (P)
435parm_insert_line              il        str       AL        -                   -         YBCGE     insert #1 lines (P*)
436parm_left_cursor              cub       str       LE        -                   -         YBCGE     move #1 characters to the left (P)
437parm_right_cursor             cuf       str       RI        -                   -         YBCGE     move #1 characters to the right (P*)
438parm_rindex                             rin       str       SR        -                   -         YBCG-     scroll back #1 lines (P)
439parm_up_cursor                          cuu       str       UP        -                   -         YBCGE     up #1 lines (P*)
440pkey_key                      pfkey     str       pk        -                   -         -B---     program function key #1 to type string #2
441pkey_local                              pfloc     str       pl        -                   -         -B---     program function key #1 to execute string #2
442pkey_xmit                     pfx       str       px        -                   -         -B---     program function key #1 to transmit string #2
443print_screen                            mc0       str       ps        -                   -         -B-G-*    print contents of screen
444prtr_off                      mc4       str       pf        -                   -         -B-G-*    turn off printer
445prtr_on                                 mc5       str       po        -                   -         -B-G-*    turn on printer
446repeat_char                             rep       str       rp        -                   -         YB-GE     repeat char #1 #2 times (P*)
447reset_1string                           rs1       str       r1        -                   -         -B---     reset string
448reset_2string                           rs2       str       r2        -                   -         -B---     reset string
449reset_3string                           rs3       str       r3        -                   -         -B---     reset string
450reset_file                              rf        str       rf        -                   -         -B---     name of reset file
451restore_cursor                          rc        str       rc        -                   -         YBCG-     restore cursor to position of last save_cursor
452row_address                             vpa       str       cv        -                   -         -B-GE*    vertical position #1 absolute (P)
453save_cursor                             sc        str       sc        -                   -         YBCG-     save current cursor position (P)
454scroll_forward                          ind       str       sf        -                   -         YBCGE     scroll text up (P)
455scroll_reverse                          ri        str       sr        -                   -         YBCGE     scroll text down (P)
456set_attributes                          sgr       str       sa        -                   -         YB-G-     define video attributes #1-#9 (PG9)
457set_tab                                 hts       str       st        -                   -         YB-G-     set a tab in every row, current columns
458set_window                              wind      str       wi        -                   -         -B-GE     current window is lines #1-#2 cols #3-#4
459tab                                     ht        str       ta        -                   -         YBCGE     tab to next 8-space hardware tab stop
460to_status_line                          tsl       str       ts        -                   -         YB-G-     move to status line, column #1
461underline_char                          uc        str       uc        -                   -         YBCG-     underline char and move past it
462up_half_line                            hu        str       hu        -                   -         YB-G-     half a line up
463init_prog                     iprog     str       iP        -                   -         -B---     path name of program for initialization
464key_a1                                  ka1       str       K1        KEY_A1              0534      YB-GE     upper left of keypad
465key_a3                                  ka3       str       K3        KEY_A3              0535      YB-GE     upper right of keypad
466key_b2                                  kb2       str       K2        KEY_B2              0536      YB-GE     center of keypad
467key_c1                                  kc1       str       K4        KEY_C1              0537      YB-GE     lower left of keypad
468key_c3                                  kc3       str       K5        KEY_C3              0540      YB-GE     lower right of keypad
469prtr_non                      mc5p      str       pO        -                   -         -B-G-*    turn on printer for #1 bytes
470#
471# SVr1 capabilities stop here.          IBM's version of terminfo is the same as
472# SVr4 up to this point, but has a different set afterwards.
473#
474char_padding                            rmp       str       rP        -                   -         -----     like ip but when in insert mode
475acs_chars                     acsc      str       ac        -                   -         -----     graphics charset pairs, based on vt100
476plab_norm                     pln       str       pn        -                   -         -----     program label #1 to show string #2
477key_btab                      kcbt      str       kB        KEY_BTAB  0541      -----     back-tab key
478enter_xon_mode                          smxon     str       SX        -                   -         -----     turn on xon/xoff handshaking
479exit_xon_mode                           rmxon     str       RX        -                   -         -----     turn off xon/xoff handshaking
480enter_am_mode                           smam      str       SA        -                   -         -----     turn on automatic margins
481exit_am_mode                            rmam      str       RA        -                   -         -----     turn off automatic margins
482xon_character                           xonc      str       XN        -                   -         -----     XON character
483xoff_character                          xoffc     str       XF        -                   -         -----     XOFF character
484ena_acs                                 enacs     str       eA        -                   -         -----     enable alternate char set
485label_on                      smln      str       LO        -                   -         -----     turn on soft labels
486label_off                     rmln      str       LF        -                   -         -----     turn off soft labels
487key_beg                                 kbeg      str       @1        KEY_BEG             0542      -----     begin key
488key_cancel                              kcan      str       @2        KEY_CANCEL          0543      -----     cancel key
489key_close                     kclo      str       @3        KEY_CLOSE 0544      -----     close key
490key_command                             kcmd      str       @4        KEY_COMMAND         0545      -----     command key
491key_copy                      kcpy      str       @5        KEY_COPY  0546      -----     copy key
492key_create                              kcrt      str       @6        KEY_CREATE          0547      -----     create key
493key_end                                 kend      str       @7        KEY_END             0550      -----     end key
494key_enter                     kent      str       @8        KEY_ENTER 0527      -----     enter/send key
495key_exit                      kext      str       @9        KEY_EXIT  0551      -----     exit key
496key_find                      kfnd      str       @0        KEY_FIND  0552      -----     find key
497key_help                      khlp      str       %1        KEY_HELP  0553      -----     help key
498key_mark                      kmrk      str       %2        KEY_MARK  0554      -----     mark key
499key_message                             kmsg      str       %3        KEY_MESSAGE         0555      -----     message key
500key_move                      kmov      str       %4        KEY_MOVE  0556      -----     move key
501key_next                      knxt      str       %5        KEY_NEXT  0557      -----     next key
502key_open                      kopn      str       %6        KEY_OPEN  0560      -----     open key
503key_options                             kopt      str       %7        KEY_OPTIONS         0561      -----     options key
504key_previous                            kprv      str       %8        KEY_PREVIOUS        0562      -----     previous key
505key_print                     kprt      str       %9        KEY_PRINT 0532      -----     print key
506key_redo                      krdo      str       %0        KEY_REDO  0563      -----     redo key
507key_reference                           kref      str       &1        KEY_REFERENCE       0564      -----     reference key
508key_refresh                             krfr      str       &2        KEY_REFRESH         0565      -----     refresh key
509key_replace                             krpl      str       &3        KEY_REPLACE         0566      -----     replace key
510key_restart                             krst      str       &4        KEY_RESTART         0567      -----     restart key
511key_resume                              kres      str       &5        KEY_RESUME          0570      -----     resume key
512key_save                      ksav      str       &6        KEY_SAVE  0571      -----     save key
513key_suspend                             kspd      str       &7        KEY_SUSPEND         0627      -----     suspend key
514key_undo                      kund      str       &8        KEY_UNDO  0630      -----     undo key
515key_sbeg                      kBEG      str       &9        KEY_SBEG  0572      -----     shifted begin key
516key_scancel                             kCAN      str       &0        KEY_SCANCEL         0573      -----     shifted cancel key
517key_scommand                            kCMD      str       *1        KEY_SCOMMAND        0574      -----     shifted command key
518key_scopy                     kCPY      str       *2        KEY_SCOPY 0575      -----     shifted copy key
519key_screate                             kCRT      str       *3        KEY_SCREATE         0576      -----     shifted create key
520key_sdc                                 kDC       str       *4        KEY_SDC             0577      -----     shifted delete-character key
521key_sdl                                 kDL       str       *5        KEY_SDL             0600      -----     shifted delete-line key
522key_select                              kslt      str       *6        KEY_SELECT          0601      -----     select key
523key_send                      kEND      str       *7        KEY_SEND  0602      -----     shifted end key
524key_seol                      kEOL      str       *8        KEY_SEOL  0603      -----     shifted clear-to-end-of-line key
525key_sexit                     kEXT      str       *9        KEY_SEXIT 0604      -----     shifted exit key
526key_sfind                     kFND      str       *0        KEY_SFIND 0605      -----     shifted find key
527key_shelp                     kHLP      str       #1        KEY_SHELP 0606      -----     shifted help key
528key_shome                     kHOM      str       #2        KEY_SHOME 0607      -----     shifted home key
529key_sic                                 kIC       str       #3        KEY_SIC             0610      -----     shifted insert-character key
530key_sleft                     kLFT      str       #4        KEY_SLEFT 0611      -----     shifted left-arrow key
531key_smessage                            kMSG      str       %a        KEY_SMESSAGE        0612      -----     shifted message key
532key_smove                     kMOV      str       %b        KEY_SMOVE 0613      -----     shifted move key
533key_snext                     kNXT      str       %c        KEY_SNEXT 0614      -----     shifted next key
534key_soptions                            kOPT      str       %d        KEY_SOPTIONS        0615      -----     shifted options key
535key_sprevious                           kPRV      str       %e        KEY_SPREVIOUS       0616      -----     shifted previous key
536key_sprint                              kPRT      str       %f        KEY_SPRINT          0617      -----     shifted print key
537key_sredo                     kRDO      str       %g        KEY_SREDO 0620      -----     shifted redo key
538key_sreplace                            kRPL      str       %h        KEY_SREPLACE        0621      -----     shifted replace key
539key_sright                              kRIT      str       %i        KEY_SRIGHT          0622      -----     shifted right-arrow key
540key_srsume                              kRES      str       %j        KEY_SRSUME          0623      -----     shifted resume key
541key_ssave                     kSAV      str       !1        KEY_SSAVE 0624      -----     shifted save key
542key_ssuspend                            kSPD      str       !2        KEY_SSUSPEND        0625      -----     shifted suspend key
543key_sundo                     kUND      str       !3        KEY_SUNDO 0626      -----     shifted undo key
544req_for_input                           rfi       str       RF        -                   -         -----     send next input char (for ptys)
545key_f11                                 kf11      str       F1        KEY_F(11) -         ----E     F11 function key
546key_f12                                 kf12      str       F2        KEY_F(12) -         ----E     F12 function key
547key_f13                                 kf13      str       F3        KEY_F(13) -         ----E     F13 function key
548key_f14                                 kf14      str       F4        KEY_F(14) -         ----E     F14 function key
549key_f15                                 kf15      str       F5        KEY_F(15) -         ----E     F15 function key
550key_f16                                 kf16      str       F6        KEY_F(16) -         ----E     F16 function key
551key_f17                                 kf17      str       F7        KEY_F(17) -         ----E     F17 function key
552key_f18                                 kf18      str       F8        KEY_F(18) -         ----E     F18 function key
553key_f19                                 kf19      str       F9        KEY_F(19) -         ----E     F19 function key
554key_f20                                 kf20      str       FA        KEY_F(20) -         ----E     F20 function key
555key_f21                                 kf21      str       FB        KEY_F(21) -         ----E     F21 function key
556key_f22                                 kf22      str       FC        KEY_F(22) -         ----E     F22 function key
557key_f23                                 kf23      str       FD        KEY_F(23) -         ----E     F23 function key
558key_f24                                 kf24      str       FE        KEY_F(24) -         ----E     F24 function key
559key_f25                                 kf25      str       FF        KEY_F(25) -         ----E     F25 function key
560key_f26                                 kf26      str       FG        KEY_F(26) -         ----E     F26 function key
561key_f27                                 kf27      str       FH        KEY_F(27) -         ----E     F27 function key
562key_f28                                 kf28      str       FI        KEY_F(28) -         ----E     F28 function key
563key_f29                                 kf29      str       FJ        KEY_F(29) -         ----E     F29 function key
564key_f30                                 kf30      str       FK        KEY_F(30) -         ----E     F30 function key
565key_f31                                 kf31      str       FL        KEY_F(31) -         ----E     F31 function key
566key_f32                                 kf32      str       FM        KEY_F(32) -         ----E     F32 function key
567key_f33                                 kf33      str       FN        KEY_F(33) -         ----E     F33 function key
568key_f34                                 kf34      str       FO        KEY_F(34) -         ----E     F34 function key
569key_f35                                 kf35      str       FP        KEY_F(35) -         ----E     F35 function key
570key_f36                                 kf36      str       FQ        KEY_F(36) -         ----E     F36 function key
571key_f37                                 kf37      str       FR        KEY_F(37) -         ----E     F37 function key
572key_f38                                 kf38      str       FS        KEY_F(38) -         ----E     F38 function key
573key_f39                                 kf39      str       FT        KEY_F(39) -         ----E     F39 function key
574key_f40                                 kf40      str       FU        KEY_F(40) -         ----E     F40 function key
575key_f41                                 kf41      str       FV        KEY_F(41) -         ----E     F41 function key
576key_f42                                 kf42      str       FW        KEY_F(42) -         ----E     F42 function key
577key_f43                                 kf43      str       FX        KEY_F(43) -         ----E     F43 function key
578key_f44                                 kf44      str       FY        KEY_F(44) -         ----E     F44 function key
579key_f45                                 kf45      str       FZ        KEY_F(45) -         ----E     F45 function key
580key_f46                                 kf46      str       Fa        KEY_F(46) -         ----E     F46 function key
581key_f47                                 kf47      str       Fb        KEY_F(47) -         ----E     F47 function key
582key_f48                                 kf48      str       Fc        KEY_F(48) -         ----E     F48 function key
583key_f49                                 kf49      str       Fd        KEY_F(49) -         ----E     F49 function key
584key_f50                                 kf50      str       Fe        KEY_F(50) -         ----E     F50 function key
585key_f51                                 kf51      str       Ff        KEY_F(51) -         ----E     F51 function key
586key_f52                                 kf52      str       Fg        KEY_F(52) -         ----E     F52 function key
587key_f53                                 kf53      str       Fh        KEY_F(53) -         ----E     F53 function key
588key_f54                                 kf54      str       Fi        KEY_F(54) -         ----E     F54 function key
589key_f55                                 kf55      str       Fj        KEY_F(55) -         ----E     F55 function key
590key_f56                                 kf56      str       Fk        KEY_F(56) -         ----E     F56 function key
591key_f57                                 kf57      str       Fl        KEY_F(57) -         ----E     F57 function key
592key_f58                                 kf58      str       Fm        KEY_F(58) -         ----E     F58 function key
593key_f59                                 kf59      str       Fn        KEY_F(59) -         ----E     F59 function key
594key_f60                                 kf60      str       Fo        KEY_F(60) -         ----E     F60 function key
595key_f61                                 kf61      str       Fp        KEY_F(61) -         ----E     F61 function key
596key_f62                                 kf62      str       Fq        KEY_F(62) -         ----E     F62 function key
597key_f63                                 kf63      str       Fr        KEY_F(63) -         ----E     F63 function key
598clr_bol                                 el1       str       cb        -                   -         -----     Clear to beginning of line
599clear_margins                           mgc       str       MC        -                   -         -----     clear right and left soft margins
600set_left_margin                         smgl      str       ML        -                   -         -----     set left soft margin at current column.  See smgl. (ML is not in BSD termcap).
601set_right_margin              smgr      str       MR        -                   -         -----     set right soft margin at current column
602label_format                            fln       str       Lf        -                   -         -----     label format
603set_clock                     sclk      str       SC        -                   -         -----     set clock, #1 hrs #2 mins #3 secs
604display_clock                           dclk      str       DK        -                   -         -----     display clock
605remove_clock                            rmclk     str       RC        -                   -         -----     remove clock
606create_window                           cwin      str       CW        -                   -         -----     define a window #1 from #2,#3 to #4,#5
607goto_window                             wingo     str       WG        -                   -         -----     go to window #1
608hangup                                  hup       str       HU        -                   -         -----     hang-up phone
609dial_phone                              dial      str       DI        -                   -         -----     dial number #1
610quick_dial                              qdial     str       QD        -                   -         -----     dial number #1 without checking
611tone                                    tone      str       TO        -                   -         -----     select touch tone dialing
612pulse                                   pulse     str       PU        -                   -         -----     select pulse dialing
613flash_hook                              hook      str       fh        -                   -         -----     flash switch hook
614fixed_pause                             pause     str       PA        -                   -         -----     pause for 2-3 seconds
615wait_tone                     wait      str       WA        -                   -         -----     wait for dial-tone
616user0                                   u0        str       u0        -                   -         -----     User string #0
617user1                                   u1        str       u1        -                   -         -----     User string #1
618user2                                   u2        str       u2        -                   -         -----     User string #2
619user3                                   u3        str       u3        -                   -         -----     User string #3
620user4                                   u4        str       u4        -                   -         -----     User string #4
621user5                                   u5        str       u5        -                   -         -----     User string #5
622user6                                   u6        str       u6        -                   -         -----     User string #6
623user7                                   u7        str       u7        -                   -         -----     User string #7
624user8                                   u8        str       u8        -                   -         -----     User string #8
625user9                                   u9        str       u9        -                   -         -----     User string #9
626#
627# SVr4 added these capabilities to support color
628#
629orig_pair                     op        str       op        -                   -         -----     Set default pair to its original value
630orig_colors                             oc        str       oc        -                   -         -----     Set all color pairs to the original ones
631initialize_color              initc     str       Ic        -                   -         -----     initialize color #1 to (#2,#3,#4)
632initialize_pair                         initp     str       Ip        -                   -         -----     Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
633set_color_pair                          scp       str       sp        -                   -         -----     Set current color pair to #1
634set_foreground                          setf      str       Sf        -                   -         -----     Set foreground color #1
635set_background                          setb      str       Sb        -                   -         -----     Set background color #1
636#
637# SVr4 added these capabilities to support printers
638#
639change_char_pitch             cpi       str       ZA        -                   -         -----     Change number of characters per inch to #1
640change_line_pitch             lpi       str       ZB        -                   -         -----     Change number of lines per inch to #1
641change_res_horz                         chr       str       ZC        -                   -         -----     Change horizontal resolution to #1
642change_res_vert                         cvr       str       ZD        -                   -         -----     Change vertical resolution to #1
643define_char                             defc      str       ZE        -                   -         -----     Define a character #1, #2 dots wide, descender #3
644enter_doublewide_mode                   swidm     str       ZF        -                   -         -----     Enter double-wide mode
645enter_draft_quality           sdrfq     str       ZG        -                   -         -----     Enter draft-quality mode
646enter_italics_mode            sitm      str       ZH        -                   -         -----     Enter italic mode
647enter_leftward_mode           slm       str       ZI        -                   -         -----     Start leftward carriage motion
648enter_micro_mode              smicm     str       ZJ        -                   -         -----     Start micro-motion mode
649enter_near_letter_quality     snlq      str       ZK        -                   -         -----     Enter NLQ mode
650enter_normal_quality                    snrmq     str       ZL        -                   -         -----     Enter normal-quality mode
651enter_shadow_mode             sshm      str       ZM        -                   -         -----     Enter shadow-print mode
652enter_subscript_mode                    ssubm     str       ZN        -                   -         -----     Enter subscript mode
653enter_superscript_mode                  ssupm     str       ZO        -                   -         -----     Enter superscript mode
654enter_upward_mode             sum       str       ZP        -                   -         -----     Start upward carriage motion
655exit_doublewide_mode                    rwidm     str       ZQ        -                   -         -----     End double-wide mode
656exit_italics_mode             ritm      str       ZR        -                   -         -----     End italic mode
657exit_leftward_mode            rlm       str       ZS        -                   -         -----     End left-motion mode
658exit_micro_mode                         rmicm     str       ZT        -                   -         -----     End micro-motion mode
659exit_shadow_mode              rshm      str       ZU        -                   -         -----     End shadow-print mode
660exit_subscript_mode           rsubm     str       ZV        -                   -         -----     End subscript mode
661exit_superscript_mode                   rsupm     str       ZW        -                   -         -----     End superscript mode
662exit_upward_mode              rum       str       ZX        -                   -         -----     End reverse character motion
663micro_column_address                    mhpa      str       ZY        -                   -         -----     Like column_address in micro mode
664micro_down                              mcud1     str       ZZ        -                   -         -----     Like cursor_down in micro mode
665micro_left                              mcub1     str       Za        -                   -         -----     Like cursor_left in micro mode
666micro_right                             mcuf1     str       Zb        -                   -         -----     Like cursor_right in micro mode
667micro_row_address             mvpa      str       Zc        -                   -         -----     Like row_address #1 in micro mode
668micro_up                      mcuu1     str       Zd        -                   -         -----     Like cursor_up in micro mode
669order_of_pins                           porder    str       Ze        -                   -         -----     Match software bits to print-head pins
670parm_down_micro                         mcud      str       Zf        -                   -         -----     Like parm_down_cursor in micro mode
671parm_left_micro                         mcub      str       Zg        -                   -         -----     Like parm_left_cursor in micro mode
672parm_right_micro              mcuf      str       Zh        -                   -         -----     Like parm_right_cursor in micro mode
673parm_up_micro                           mcuu      str       Zi        -                   -         -----     Like parm_up_cursor in micro mode
674select_char_set                         scs       str       Zj        -                   -         -----     Select character set, #1
675set_bottom_margin             smgb      str       Zk        -                   -         -----     Set bottom margin at current line
676set_bottom_margin_parm                  smgbp     str       Zl        -                   -         -----     Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
677set_left_margin_parm                    smglp     str       Zm        -                   -         -----     Set left (right) margin at column #1
678set_right_margin_parm                   smgrp     str       Zn        -                   -         -----     Set right margin at column #1
679set_top_margin                          smgt      str       Zo        -                   -         -----     Set top margin at current line
680set_top_margin_parm           smgtp     str       Zp        -                   -         -----     Set top (bottom) margin at row #1
681start_bit_image                         sbim      str       Zq        -                   -         -----     Start printing bit image graphics
682start_char_set_def            scsd      str       Zr        -                   -         -----     Start character set definition #1, with #2 characters in the set
683stop_bit_image                          rbim      str       Zs        -                   -         -----     Stop printing bit image graphics
684stop_char_set_def             rcsd      str       Zt        -                   -         -----     End definition of character set #1
685subscript_characters                    subcs     str       Zu        -                   -         -----     List of subscriptable characters
686superscript_characters                  supcs     str       Zv        -                   -         -----     List of superscriptable characters
687these_cause_cr                          docr      str       Zw        -                   -         -----     Printing any of these characters causes CR
688zero_motion                             zerom     str       Zx        -                   -         -----     No motion for subsequent character
689#%.TE
690#%.ad
691#%
692#%The following string capabilities are present in the SVr4.0 term structure,
693#%but were originally not documented in the man page.
694#%
695#%.na
696#%.TS H
697#%center expand;
698#%c l l c
699#%c l l c
700#%lw25 lw6 lw2 lw18.
701#%\fBVariable       Cap-      TCap      Description\fR
702#%\fBString         name      Code\fR
703char_set_names                          csnm      str       Zy        -                   -         -----     Produce #1'th item from list of character set names
704key_mouse                     kmous     str       Km        KEY_MOUSE 0631      -----     Mouse event has occurred
705mouse_info                              minfo     str       Mi        -                   -         -----     Mouse status information
706req_mouse_pos                           reqmp     str       RQ        -                   -         -----     Request mouse position
707get_mouse                     getm      str       Gm        -                   -         -----     Curses should get button events, parameter #1 not documented.
708set_a_foreground              setaf     str       AF        -                   -         -----     Set foreground color to #1, using ANSI escape
709set_a_background              setab     str       AB        -                   -         -----     Set background color to #1, using ANSI escape
710pkey_plab                     pfxl      str       xl        -                   -         -----     Program function key #1 to type string #2 and show string #3
711device_type                             devt      str       dv        -                   -         -----     Indicate language/codeset support
712code_set_init                           csin      str       ci        -                   -         -----     Init sequence for multiple codesets
713set0_des_seq                            s0ds      str       s0        -                   -         -----     Shift to codeset 0 (EUC set 0, ASCII)
714set1_des_seq                            s1ds      str       s1        -                   -         -----     Shift to codeset 1
715set2_des_seq                            s2ds      str       s2        -                   -         -----     Shift to codeset 2
716set3_des_seq                            s3ds      str       s3        -                   -         -----     Shift to codeset 3
717set_lr_margin                           smglr     str       ML        -                   -         -----     Set both left and right margins to #1, #2.  (ML is not in BSD termcap).
718set_tb_margin                           smgtb     str       MT        -                   -         -----     Sets both top and bottom margins to #1, #2
719bit_image_repeat              birep     str       Xy        -                   -         -----     Repeat bit image cell #1 #2 times
720bit_image_newline             binel     str       Zz        -                   -         -----     Move to next row of the bit image
721bit_image_carriage_return     bicr      str       Yv        -                   -         -----     Move to beginning of same row
722color_names                             colornm   str       Yw        -                   -         -----     Give name for color #1
723define_bit_image_region                 defbi     str       Yx        -                   -         -----     Define rectangular bit image region
724end_bit_image_region                    endbi     str       Yy        -                   -         -----     End a bit-image region
725set_color_band                setcolor  str       Yz        -                   -         -----     Change to ribbon color #1
726set_page_length                         slines    str       YZ        -                   -         -----     Set page length to #1 lines
727#
728# SVr4 added these capabilities for direct PC-clone support
729#
730display_pc_char                         dispc     str       S1        -                   -         -----     Display PC character #1
731enter_pc_charset_mode                   smpch     str       S2        -                   -         -----     Enter PC character display mode
732exit_pc_charset_mode                    rmpch     str       S3        -                   -         -----     Exit PC character display mode
733enter_scancode_mode           smsc      str       S4        -                   -         -----     Enter PC scancode mode
734exit_scancode_mode            rmsc      str       S5        -                   -         -----     Exit PC scancode mode
735pc_term_options                         pctrm     str       S6        -                   -         -----     PC terminal options
736scancode_escape                         scesc     str       S7        -                   -         -----     Escape for scancode emulation
737alt_scancode_esc              scesa     str       S8        -                   -         -----     Alternate escape for scancode emulation
738#%.TE
739#%.ad
740#%
741#%.in .8i
742#%The XSI Curses standard added these hardcopy capabilities.
743#%They were used in some post-4.1 versions of System V curses,
744#%e.g., Solaris 2.5 and IRIX 6.x.
745#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
746#%According to the XSI Curses standard, they have no termcap names.
747#%If your compiled terminfo entries use these,
748#%they may not be binary-compatible with System V terminfo
749#%entries after SVr4.1; beware!
750#%
751#%.na
752#%.TS H
753#%center expand;
754#%c l l c
755#%c l l c
756#%lw25 lw6 lw2 lw20.
757#%\fBVariable       Cap-      TCap      Description\fR
758#%\fBString         name      Code\fR
759enter_horizontal_hl_mode      ehhlm     str       Xh        -                   -         -----     Enter horizontal highlight mode
760enter_left_hl_mode            elhlm     str       Xl        -                   -         -----     Enter left highlight mode
761enter_low_hl_mode             elohlm    str       Xo        -                   -         -----     Enter low highlight mode
762enter_right_hl_mode           erhlm     str       Xr        -                   -         -----     Enter right highlight mode
763enter_top_hl_mode             ethlm     str       Xt        -                   -         -----     Enter top highlight mode
764enter_vertical_hl_mode                  evhlm     str       Xv        -                   -         -----     Enter vertical highlight mode
765set_a_attributes              sgr1      str       sA        -                   -         -----     Define second set of video attributes #1-#6
766set_pglen_inch                          slength   str       YI        -                   -         -----     Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
767#%.TE
768#%.ad
769#
770# The magic token below tells the tic compiler-generator code that all the caps
771# past it should be ignored (not written out) when dumping terminfo objects. It
772# also tells the man page table generator not to pass through following lines
773# This means we can have obsolete capabilities and pseudo-capabilities that are
774# recognized for termcap or terminfo compilation, but not output.
775#
776# %%-STOP-HERE-%%
777#
778# Don't move this casually!  In fact, don't move it at all unless you're
779# either doing it to add System V or XPG4 extensions, or have decided you
780# don't care about SVr4 binary compatibility.
781#
782#############################################################################
783#
784# TERMCAP EXTENSION CAPABILITIES
785#
786# The capabilities below are either obsolete or extensions on certain systems.
787# They are not used by SVR4 terminfo.  Some are used by captoinfo to translate
788# termcap sources; the rest are listed for completeness, and in case somebody
789# cares about them enough to hack in code that will translate them into
790# terminfo capabilities.
791#
792# The first part of the list is from Ross Ridge's `mytinfo' package
793# (comp.sources.unix, volume 26); the variable names and terminfo names (as
794# well as the termcap codes) match his list.
795#
796# This group of codes is not marked obsolete in 4.4BSD, but have no direct
797# terminfo equivalents.  The rs capability is specially translated to terminfo
798# r2, and vice versa, if an entry does not already have an r2.  Similarly,
799# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
800# The ug capability is thrown away, but assumed to be whatever sg is if the
801# latter is nonzero and we're dumping in termcap format.
802#
803termcap_init2                           OTi2      str       i2        -                   -         YB---     secondary initialization string
804termcap_reset                           OTrs      str       rs        -                   -         YB-G-     terminal reset string
805magic_cookie_glitch_ul                  OTug      num       ug        -                   -         YBCGE     number of blanks left by ul
806#
807# Obsolete termcap capabilities.  Some are used for termcap translation.  The
808# code uses the 'OT' prefix we put on obsolete capabilities to suppress
809# printing them in terminfo source dumps of compiled entries.
810#
811backspaces_with_bs            OTbs      bool      bs        -                   -         YBCGE     uses ^H to move left
812crt_no_scrolling              OTns      bool      ns        -                   -         YBCG-     crt cannot scroll
813no_correctly_working_cr                 OTnc      bool      nc        -                   -         YBCG-     no way to go to start of line
814carriage_return_delay                   OTdC      num       dC        -                   -         YB-G-     pad needed for CR
815new_line_delay                          OTdN      num       dN        -                   -         YB-G-     pad needed for LF
816linefeed_if_not_lf            OTnl      str       nl        -                   -         YBCGE     use to move down
817backspace_if_not_bs           OTbc      str       bc        -                   -         YBCGE     move left, if not ^H
818#
819# GNU termcap library extensions.  The GNU termcap file distributed with
820# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
821# BSD termcap file.  The name clash with terminfo MT is resolved by type
822# info; MT is converted to km.
823#
824gnu_has_meta_key              OTMT      bool      MT        -                   -         ----E     has meta key
825# gnu_tab_width                         OTtw      num       tw        -                   -         ----E     tab width in spaces
826#
827# GNU termcap *does* include the following extended capability,  Only the
828# now-obsolete Ann Arbor terminals used it.
829#
830# gnu_change_scroll_region    OTcS      str       cS        -                   -         ---GE     alternate set scrolling region
831#
832# The following comments describe capnames so ancient that I believe no
833# software uses them any longer.  Some of these have to go because they
834# clash with terminfo names in ways that cannot be resolved by type
835# information.
836#
837# These mytinfo codes are not used in the 4.4BSD curses code.  They are
838# marked obsolete in the 4.4BSD manual pages.
839#
840# There is one conflict with terminfo; ma is in both.  This conflict is
841# resolved by type information.
842#
843# The `ko' capability is translated by special code.  It should contain a
844# comma-separated list of capabilities for which there are corresponding keys.
845# The `kn' code is accepted but ignored.
846#
847# The `ma' capability was a 4.0BSD feature used by vi version 2.
848# It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
849# Besides being obsolete, that interpretation conflicts with max_attributes.
850#
851# Here is a description of memory_lock_above and memory_unlock:
852# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
853# text.  All lines above the cursor's current line become locked in place on
854# the screen.  Then enter data normally.  When the screen fills up, any
855# further data entered forces the first line of unfrozen line text to scroll
856# under the frozen data.  Lines scrolled off the screen are inserted into
857# memory immediately preceding the first frozen line." (from the HP 700/96
858# User's manual).  VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
859#
860# Applications that use terminfo are supposed to behave as though xr is
861# always true.
862#
863linefeed_is_newline           OTNL      bool      NL        -                   -         YB---     move down with \n
864# even_parity                           OTEP      bool      EP        -                   -         -B---     terminal requires even parity
865# odd_parity                            OTOP      bool      OP        -                   -         -B---     terminal requires odd parity
866# half_duplex                           OTHD      bool      HD        -                   -         -B---     terminal is half-duplex
867# lower_case_only             OTLC      bool      LC        -                   -         -B---     terminal has only lower case
868# upper_case_only             OTUC      bool      UC        -                   -         -B---     terminal has only upper case
869backspace_delay                         OTdB      num       dB        -                   -         YB-G-     padding required for ^H
870# form_feed_delay             OTdF      num       dF        -                   -         -B-G-     padding required for ^L
871horizontal_tab_delay                    OTdT      num       dT        -                   -         YB-G-     padding required for ^I
872# vertical_tab_delay                    OTdV      num       dV        -                   -         -B---     padding required for ^V
873number_of_function_keys                 OTkn      num       kn        -                   -         -B-G-     count of function keys
874other_non_function_keys                 OTko      str       ko        -                   -         -B-G-     list of self-mapped keycaps
875arrow_key_map                           OTma      str       ma        -                   -         YBC--     map motion-keys for vi version 2
876# memory_lock_above           OTml      str       ml        -                   -         -B---     lock visible screen memory above the current line
877# memory_unlock                         OTmu      str       mu        -                   -         -B---     unlock visible screen memory above the current line
878has_hardware_tabs             OTpt      bool      pt        -                   -         YB---     has 8-char tabs invoked with ^I
879return_does_clr_eol           OTxr      bool      xr        -                   -         YB---     return clears the line
880# tek_4025_insert_line                  OTxx      bool      xx        -                   -         -BC--     Tektronix 4025 insert-line glitch
881#
882# mytinfo described this as a termcap capability, but it's not listed in the
883# 4.4BSD man pages, and not found in the 4.4BSD termcap file.  The ncurses
884# package, like System V, behaves as though it is always true.
885#
886# rind_only_at_top            OTxq      bool      xq        -                   -         -----     reverse index only works from top line
887#
888# University of Waterloo termcap extensions (as described in mytinfo).
889# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
890# be resolved by a type check.  The descriptions are guesses from what was
891# in the mytinfo tables.
892#
893# key_interrupt_char                    OTki      str       ki        -                   -         -----     string set by interrupt key (?)
894# key_kill_char                         OTkk      str       kk        -                   -         -----     string set by kill key (?)
895# key_suspend_char            OTkz      str       kz        -                   -         -----     string set by suspend key (?)
896# initialization_messy                  OTxc      bool      xc        -                   -         -----     initialization leaves garbage on the screen (?)
897# ind_at_bottom_does_cr                 OTxl      bool      xl        -                   -         -----     index does a carriage return
898#
899# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
900# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
901# check.
902#
903# scroll_left                           OTsl1     str       Sl        -                   -         -----     scroll screen leftward
904# scroll_right                          OTsr1     str       Sr        -                   -         -----     scroll screen rightward
905# parm_scroll_left            OTsl      str       SL        -                   -         -----     scroll screen leftward #1 characters
906# parm_scroll_right           OTsr      str       SR        -                   -         -----     scroll screen rightward #1 characters
907#
908# The mytinfo capabilities end here.
909#
910# XENIX extensions:
911#
912# Xenix defined its own set of forms-drawing capabilities:
913#
914# cap     IBM ASCII description             ACS             ASCII
915# ---     -----------         --------------------    -------------   ------
916# G1      191 \277 M-?        single upper right            ACS_URCORNER
917# G2      218 \332 M-Z        single upper left   ACS_ULCORNER
918# G3      192 \300 M-@        single lower left   ACS_LLCORNER
919# G4      217 \331 M-Y        single lower right  ACS_LRCORNER
920# G5      187 \273 M-;        double upper right
921# G6      201 \311 M-I        double upper left
922# G7      200 \310 M-H        double lower left
923# G8      188 \274 M-<        double lower right
924# GC      197 \305 M-E        single intersection ACS_PLUS  _ _
925# GD      194 \302 M-B        single down-tick    ACS_TTEE   |
926# GH      196 \304 M-D        single horizontal line        ACS_HLINE
927# GL      180 \264 M-4        single left tick    ACS_RTEE  -|
928# GR      195 \303 M-C        single right tick   ACS_LTEE  |-
929# GU      193 \301 M-A        single up tick                ACS_BTEE  _|_
930# GV      179 \263 M-3        single vertical line          ACS_VLINE
931# Gc      206 \316 M-N        double intersection
932# Gd      203 \313 M-K        double down tick
933# Gh      205 \315 M-M        double horizontal line
934# Gl      204 \204 M-L        double left tick
935# Gr      185 \271 M-9        double right tick
936# Gu      202 \312 M-J        double up tick
937# Gv      186 \272 M-:        double vertical line
938#
939# The compiler will translate the single-line caps and discard the others
940# (via IGNORE aliases further down).  We don't want to do normal pad
941# translation on these, they're often single-character printable ASCII
942# strings that happen to be numerics.  There's awk code in parametrized.sh
943# that detects the acs_ prefix and uses it to suppress pad translation.
944# These terminfo names are invented.
945#
946acs_ulcorner                            OTG2      str       G2        -                   -         -----     single upper left
947acs_llcorner                            OTG3      str       G3        -                   -         -----     single lower left
948acs_urcorner                            OTG1      str       G1        -                   -         -----     single upper right
949acs_lrcorner                            OTG4      str       G4        -                   -         -----     single lower right
950acs_ltee                      OTGR      str       GR        -                   -         -----     tee pointing right
951acs_rtee                      OTGL      str       GL        -                   -         -----     tee pointing left
952acs_btee                      OTGU      str       GU        -                   -         -----     tee pointing up
953acs_ttee                      OTGD      str       GD        -                   -         -----     tee pointing down
954acs_hline                     OTGH      str       GH        -                   -         -----     single horizontal line
955acs_vline                     OTGV      str       GV        -                   -         -----     single vertical line
956acs_plus                      OTGC      str       GC        -                   -         -----     single intersection
957#
958#############################################################################
959#
960# TERMINFO EXTENSION CAPABILITIES
961#
962# (see Caps-ncurses for the complete set of comments)
963#
964memory_lock                             meml      str       ml        -                   -         ----K     lock memory above cursor
965memory_unlock                           memu      str       mu        -                   -         ----K     unlock memory
966box_chars_1                             box1      str       bx        -                   -         ----K     box characters primary set
967#############################################################################
968