]> ncurses.scripts.mit.edu Git - ncurses.git/blob - include/Caps.uwin
ncurses 6.4 - patch 20240120
[ncurses.git] / include / Caps.uwin
1 ##############################################################################
2 # Copyright 2019-2023,2024 Thomas E. Dickey                                  #
3 # Copyright 2001-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: Thomas Dickey
31 #
32 # $Id: Caps.uwin,v 1.20 2024/01/20 16:51:41 Branden.Robinson Exp $
33 #
34 # This is an adaptation of ncurses' termcap/terminfo capability table, which
35 # is designed to align with U/Win's terminfo.
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 is 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 is up to the ncurses
102 # library what to do with the terminfo data after it is 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 is 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 # FORMATTING THE TABLES
157 #
158 # We manually specify a (minimum) column width for the capability name
159 # and terminfo code columns in the tables to achieve a consistent
160 # arrangement; as used here, tbl(1) cannot know the width required by
161 # one table's data while formatting another's.
162 #
163 # The longest capability names (C variable) is
164 # "hue_lightness_saturation" (24n), and the longest terminfo code is
165 # "colornm" (7n).
166 #
167 # The tables are a tight fit on traditional man(7) implementations that
168 # use a line length of 65n, and the "Description" column has little room
169 # within which the formatter can make breaking or adjustment decisions.
170 # Words like "micro_..._address" and "parm_..._micro" don't break.
171 # Reducing the inter-column gaps to 2 ens gives them enough room.  --GBR
172 #
173 #############################################################################
174 #
175 # STANDARD CAPABILITIES
176 #
177 #%The following is a complete table of the capabilities included in a
178 #%terminfo description block and available to terminfo-using code.
179 #%In each line of the table,
180 #%.bP
181 #%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
182 #%accesses the capability.
183 #%.bP
184 #%The \fBcapname\fR (\fICap-name\fP)
185 #%is the short name used in the text of the database,
186 #%and is used by a person updating the database.
187 #%.IP
188 #%Whenever possible, capnames are chosen to be the same as or similar to
189 #%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
190 #%identical or very similar names).
191 #%Semantics are also intended to match those of the specification.
192 #%.IP
193 #%Capability names have no hard length limit, but an informal limit of 5
194 #%characters has been adopted to keep them short and to allow the tabs in
195 #%the source file
196 #%.B Caps
197 #%to line up nicely.
198 #%.bP
199 #%The \fBtermcap\fP (\fITcap\fP) code is the old capability name
200 #%(some capabilities are new, and have names which termcap did not originate).
201 #%.bP
202 #%Finally, the \fBdescription\fP field attempts to convey the semantics of the
203 #%capability.
204 #%.PP
205 #%You may find some codes in the description field:
206 #%.TP
207 #%(P)
208 #%indicates that padding may be specified
209 #%.TP
210 #%#[1-9]
211 #%in the description field indicates that the string is passed
212 #%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
213 #%.IP
214 #%If no parameters are listed in the description,
215 #%passing the string through \fBtparm\fP(3X) may give unexpected results,
216 #%e.g., if it contains percent (%%) signs.
217 #%.TP
218 #%(P*)
219 #%indicates that padding may vary in proportion to the number of
220 #%lines affected
221 #%.TP
222 #%(#\d\fIi\fP\u)
223 #%indicates the \fIi\fP\uth\d parameter.
224 #%.
225 #%.PP
226 #%.TS
227 #%center;
228 #%Lb        Cb       S   Lb
229 #%Lb        Lb       Lb  Lb
230 #%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
231 #%\&    Code    \&
232 #%Boolean Capability Name       TI      TC      Description
233 #%_
234 auto_left_margin                bw      bool    bw      -       -       YB-G-   cub1 wraps from column 0 to last column
235 auto_right_margin               am      bool    am      -       -       YBCGE   terminal has automatic margins
236 no_esc_ctlc                     xsb     bool    xb      -       -       YBCG-   beehive (f1=escape, f2=ctrl C)
237 ceol_standout_glitch            xhp     bool    xs      -       -       YBCGE   standout not erased by overwriting (hp)
238 eat_newline_glitch              xenl    bool    xn      -       -       YBCGE   newline ignored after 80 cols (concept)
239 erase_overstrike                eo      bool    eo      -       -       YBCG-   can erase overstrikes with a blank
240 generic_type                    gn      bool    gn      -       -       YB-G-   generic line type
241 hard_copy                       hc      bool    hc      -       -       YBCG-   hardcopy terminal
242 has_meta_key                    km      bool    km      -       -       YB-GE   Has a meta key (i.e., sets 8th-bit)
243 has_status_line                 hs      bool    hs      -       -       YB-G-   has extra status line
244 insert_null_glitch              in      bool    in      -       -       YBCGE   insert mode distinguishes nulls
245 memory_above                    da      bool    da      -       -       YBCG-   display may be retained above the screen
246 memory_below                    db      bool    db      -       -       YB-GE   display may be retained below the screen
247 move_insert_mode                mir     bool    mi      -       -       YBCGE   safe to move while in insert mode
248 move_standout_mode              msgr    bool    ms      -       -       YBCGE   safe to move while in standout mode
249 over_strike                     os      bool    os      -       -       YBCG-   terminal can overstrike
250 status_line_esc_ok              eslok   bool    es      -       -       YB-G-   escape can be used on the status line
251 dest_tabs_magic_smso            xt      bool    xt      -       -       YBCGE   tabs destructive, magic so char (t1061)
252 tilde_glitch                    hz      bool    hz      -       -       YB-GE   cannot print ~'s (Hazeltine)
253 transparent_underline           ul      bool    ul      -       -       YBCGE   underline character overstrikes
254 xon_xoff                        xon     bool    xo      -       -       YB---   terminal uses xon/xoff handshaking
255 needs_xon_xoff                  nxon    bool    nx      -       -       -----   padding will not work, xon/xoff required
256 prtr_silent                     mc5i    bool    5i      -       -       -----   printer will not echo on screen
257 hard_cursor                     chts    bool    HC      -       -       -----   cursor is hard to see
258 non_rev_rmcup                   nrrmc   bool    NR      -       -       -----   smcup does not reverse rmcup
259 no_pad_char                     npc     bool    NP      -       -       -----   pad character does not exist
260 non_dest_scroll_region          ndscr   bool    ND      -       -       -----   scrolling region is non-destructive
261 back_color_erase                bce     bool    ut      -       -       -----   screen erased with background color
262 can_change                      ccc     bool    cc      -       -       -----   terminal can re-define existing colors
263 hue_lightness_saturation        hls     bool    hl      -       -       -----   terminal uses only HLS color notation (Tektronix)
264 #%.TE
265 #%.PP
266 #%.
267 #%.TS
268 #%center;
269 #%Lb        Cb       S   Lb
270 #%Lb        Lb       Lb  Lb
271 #%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
272 #%\&    Code    \&
273 #%Numeric Capability Name       TI      TC      Description
274 #%_
275 columns                         cols    num     co      -       -       YBCGE   number of columns in a line
276 init_tabs                       it      num     it      -       -       YB-G-   tabs initially every # spaces
277 lines                           lines   num     li      -       -       YBCGE   number of lines on screen or page
278 lines_of_memory                 lm      num     lm      -       -       YB-G-   lines of memory if > line. 0 means varies
279 magic_cookie_glitch             xmc     num     sg      -       -       YBCGE   number of blank characters left by smso or rmso
280 padding_baud_rate               pb      num     pb      -       -       YB-GE   lowest baud rate where padding needed
281 virtual_terminal                vt      num     vt      -       -       YB---   virtual terminal number (CB/unix)
282 width_status_line               wsl     num     ws      -       -       YB-G-   number of columns in status line
283 num_labels                      nlab    num     Nl      -       -       -----   number of labels on screen
284 label_height                    lh      num     lh      -       -       -----   rows in each label
285 label_width                     lw      num     lw      -       -       -----   columns in each label
286 buttons                         btns    num     BT      -       -       -----   number of buttons on mouse
287 #max_attributes                 ma      num     ma      -       -       YBC--   maximum combined attributes terminal can handle
288 #maximum_windows                wnum    num     MW      -       -       -----   maximum number of defineable windows
289 # These came in with SVr4's color support
290 max_colors                      colors  num     Co      -       -       -----   maximum number of colors on screen
291 max_pairs                       pairs   num     pa      -       -       -----   maximum number of color-pairs on the screen
292 no_color_video                  ncv     num     NC      -       -       -----   video attributes that cannot be used with colors
293 #%.TE
294 #%.PP
295 #%.
296 #%.TS
297 #%center;
298 #%Lb        Cb       S   Lb
299 #%Lb        Lb       Lb  Lb
300 #%Lbw(24n)2 Lbw(7n)2 Lb2 Lx.
301 #%\&    Code    \&
302 #%String Capability Name        TI      TC      Description
303 #%_
304 back_tab                        cbt     str     bt      -               -       YBCGE   back tab (P)
305 bell                            bel     str     bl      -               -       YB-GE   audible signal (bell) (P)
306 carriage_return                 cr      str     cr      -               -       YBCGE   carriage return (P*) (P*)
307 change_scroll_region            csr     str     cs      -               -       YBCGE   change region to line #1 to line #2 (P)
308 clear_all_tabs                  tbc     str     ct      -               -       YB-G-   clear all tab stops (P)
309 clear_screen                    clear   str     cl      -               -       YBCGE   clear screen and home cursor (P*)
310 clr_eol                         el      str     ce      -               -       YBCGE   clear to end of line (P)
311 clr_eos                         ed      str     cd      -               -       YBCGE   clear to end of screen (P*)
312 column_address                  hpa     str     ch      -               -       -B-GE*  horizontal position #1, absolute (P)
313 command_character               cmdch   str     CC      -               -       YB-G-   terminal settable cmd character in prototype !?
314 cursor_address                  cup     str     cm      -               -       YBCGE   move to row #1 columns #2
315 cursor_down                     cud1    str     do      -               -       YBCGE   down one line
316 cursor_home                     home    str     ho      -               -       YBCGE   home cursor (if no cup)
317 cursor_invisible                civis   str     vi      -               -       YB-G-   make cursor invisible
318 cursor_left                     cub1    str     le      -               -       YBCGE   move left one space
319 cursor_mem_address              mrcup   str     CM      -               -       YB-G-   memory relative cursor addressing, move to row #1 columns #2
320 cursor_normal                   cnorm   str     ve      -               -       YBCGE   make cursor appear normal (undo civis/cvvis)
321 cursor_right                    cuf1    str     nd      -               -       YBCGE   non-destructive space (move right one space)
322 cursor_to_ll                    ll      str     ll      -               -       YBCGE   last line, first column (if no cup)
323 cursor_up                       cuu1    str     up      -               -       YBCGE   up one line
324 cursor_visible                  cvvis   str     vs      -               -       YBCGE   make cursor very visible
325 delete_character                dch1    str     dc      -               -       YBCGE   delete character (P*)
326 delete_line                     dl1     str     dl      -               -       YBCGE   delete line (P*)
327 dis_status_line                 dsl     str     ds      -               -       YB-G-   disable status line
328 down_half_line                  hd      str     hd      -               -       YB-G-   half a line down
329 enter_alt_charset_mode          smacs   str     as      -               -       YB-G-   start alternate character set (P)
330 enter_blink_mode                blink   str     mb      -               -       YB-G-   turn on blinking
331 enter_bold_mode                 bold    str     md      -               -       YB-G-   turn on bold (extra bright) mode
332 enter_ca_mode                   smcup   str     ti      -               -       YBCGE   string to start programs using cup
333 enter_delete_mode               smdc    str     dm      -               -       YBCGE   enter delete mode
334 enter_dim_mode                  dim     str     mh      -               -       YB-G-   turn on half-bright mode
335 enter_insert_mode               smir    str     im      -               -       YBCGE   enter insert mode
336 enter_secure_mode               invis   str     mk      -               -       -B-G-*  turn on blank mode (characters invisible)
337 enter_protected_mode            prot    str     mp      -               -       -B-G-*  turn on protected mode
338 enter_reverse_mode              rev     str     mr      -               -       YB-G-   turn on reverse video mode
339 enter_standout_mode             smso    str     so      -               -       YBCGE   begin standout mode
340 enter_underline_mode            smul    str     us      -               -       YBCGE   begin underline mode
341 erase_chars                     ech     str     ec      -               -       YB-G-   erase #1 characters (P)
342 exit_alt_charset_mode           rmacs   str     ae      -               -       YB-G-   end alternate character set (P)
343 exit_attribute_mode             sgr0    str     me      -               -       YB-GE   turn off all attributes
344 exit_ca_mode                    rmcup   str     te      -               -       YBCGE   strings to end programs using cup
345 exit_delete_mode                rmdc    str     ed      -               -       YBCGE   end delete mode
346 exit_insert_mode                rmir    str     ei      -               -       YBCGE   exit insert mode
347 exit_standout_mode              rmso    str     se      -               -       YBCGE   exit standout mode
348 exit_underline_mode             rmul    str     ue      -               -       YBCGE   exit underline mode
349 flash_screen                    flash   str     vb      -               -       YBCGE   visible bell (may not move cursor)
350 form_feed                       ff      str     ff      -               -       YB-G-   hardcopy terminal page eject (P*)
351 from_status_line                fsl     str     fs      -               -       YB-G-   return from status line
352 init_1string                    is1     str     i1      -               -       YB-G-   initialization string
353 init_2string                    is2     str     is      -               -       YB-G-   initialization string
354 init_3string                    is3     str     i3      -               -       YB-G-   initialization string
355 init_file                       if      str     if      -               -       YB-G-   name of initialization file
356 insert_character                ich1    str     ic      -               -       YBCGE   insert character (P)
357 insert_line                     il1     str     al      -               -       YBCGE   insert line (P*)
358 insert_padding                  ip      str     ip      -               -       YBCGE   insert padding after inserted character
359 key_backspace                   kbs     str     kb      KEY_BACKSPACE   0407    YB-G-   backspace key
360 key_catab                       ktbc    str     ka      KEY_CATAB       0526    -B-G-*  clear-all-tabs key
361 key_clear                       kclr    str     kC      KEY_CLEAR       0515    -B-G-*  clear-screen or erase key
362 key_ctab                        kctab   str     kt      KEY_CTAB        0525    -B-G-*  clear-tab key
363 key_dc                          kdch1   str     kD      KEY_DC          0512    YB-G-   delete-character key
364 key_dl                          kdl1    str     kL      KEY_DL          0510    -B-G-*  delete-line key
365 key_down                        kcud1   str     kd      KEY_DOWN        0402    YBCGE   down-arrow key
366 key_eic                         krmir   str     kM      KEY_EIC         0514    -B-G-*  sent by rmir or smir in insert mode
367 key_eol                         kel     str     kE      KEY_EOL         0517    -B-G-*  clear-to-end-of-line key
368 key_eos                         ked     str     kS      KEY_EOS         0516    -B-G-*  clear-to-end-of-screen key
369 key_f0                          kf0     str     k0      KEY_F(0)        0410    YBCGE   F0 function key
370 key_f1                          kf1     str     k1      KEY_F(1)        -       YBCGE   F1 function key
371 key_f10                         kf10    str     k;      KEY_F(10)       -       ----E   F10 function key
372 key_f2                          kf2     str     k2      KEY_F(2)        -       YBCGE   F2 function key
373 key_f3                          kf3     str     k3      KEY_F(3)        -       YBCGE   F3 function key
374 key_f4                          kf4     str     k4      KEY_F(4)        -       YBCGE   F4 function key
375 key_f5                          kf5     str     k5      KEY_F(5)        -       YBCGE   F5 function key
376 key_f6                          kf6     str     k6      KEY_F(6)        -       YBCGE   F6 function key
377 key_f7                          kf7     str     k7      KEY_F(7)        -       YBCGE   F7 function key
378 key_f8                          kf8     str     k8      KEY_F(8)        -       YBCGE   F8 function key
379 key_f9                          kf9     str     k9      KEY_F(9)        -       YBCGE   F9 function key
380 key_home                        khome   str     kh      KEY_HOME        0406    YBCGE   home key
381 key_ic                          kich1   str     kI      KEY_IC          0513    YB-GE   insert-character key
382 key_il                          kil1    str     kA      KEY_IL          0511    -B-G-*  insert-line key
383 key_left                        kcub1   str     kl      KEY_LEFT        0404    YBCGE   left-arrow key
384 key_ll                          kll     str     kH      KEY_LL          0533    YB-G-   lower-left key (home down)
385 key_npage                       knp     str     kN      KEY_NPAGE       0522    YB-GE   next-page key
386 key_ppage                       kpp     str     kP      KEY_PPAGE       0523    YB-GE   previous-page key
387 key_right                       kcuf1   str     kr      KEY_RIGHT       0405    YBCGE   right-arrow key
388 key_sf                          kind    str     kF      KEY_SF          0520    -B-G-*  scroll-forward key
389 key_sr                          kri     str     kR      KEY_SR          0521    -B-G-*  scroll-backward key
390 key_stab                        khts    str     kT      KEY_STAB        0524    -B-G-*  set-tab key
391 key_up                          kcuu1   str     ku      KEY_UP          0403    YBCGE   up-arrow key
392 keypad_local                    rmkx    str     ke      -               -       YBCGE   leave 'keyboard_transmit' mode
393 keypad_xmit                     smkx    str     ks      -               -       YBCGE   enter 'keyboard_transmit' mode
394 lab_f0                          lf0     str     l0      -               -       -B-G-*  label on function key f0 if not f0
395 lab_f1                          lf1     str     l1      -               -       -B-G-*  label on function key f1 if not f1
396 lab_f10                         lf10    str     la      -               -       -----   label on function key f10 if not f10
397 lab_f2                          lf2     str     l2      -               -       -B-G-*  label on function key f2 if not f2
398 lab_f3                          lf3     str     l3      -               -       -B-G-*  label on function key f3 if not f3
399 lab_f4                          lf4     str     l4      -               -       -B-G-*  label on function key f4 if not f4
400 lab_f5                          lf5     str     l5      -               -       -B-G-*  label on function key f5 if not f5
401 lab_f6                          lf6     str     l6      -               -       -B-G-*  label on function key f6 if not f6
402 lab_f7                          lf7     str     l7      -               -       -B-G-*  label on function key f7 if not f7
403 lab_f8                          lf8     str     l8      -               -       -B-G-*  label on function key f8 if not f8
404 lab_f9                          lf9     str     l9      -               -       -B-G-*  label on function key f9 if not f9
405 meta_off                        rmm     str     mo      -               -       YB-G-*  turn off meta mode
406 meta_on                         smm     str     mm      -               -       YB-G-*  turn on meta mode (8th-bit on)
407 newline                         nel     str     nw      -               -       YB-G-*  newline (behave like cr followed by lf)
408 pad_char                        pad     str     pc      -               -       YBCGE   padding char (instead of null)
409 parm_dch                        dch     str     DC      -               -       YB-GE   delete #1 characters (P*)
410 parm_delete_line                dl      str     DL      -               -       YBCGE   delete #1 lines (P*)
411 parm_down_cursor                cud     str     DO      -               -       YBCGE   down #1 lines (P*)
412 parm_ich                        ich     str     IC      -               -       YB-GE   insert #1 characters (P*)
413 parm_index                      indn    str     SF      -               -       YBCG-   scroll forward #1 lines (P)
414 parm_insert_line                il      str     AL      -               -       YBCGE   insert #1 lines (P*)
415 parm_left_cursor                cub     str     LE      -               -       YBCGE   move #1 characters to the left (P)
416 parm_right_cursor               cuf     str     RI      -               -       YBCGE   move #1 characters to the right (P*)
417 parm_rindex                     rin     str     SR      -               -       YBCG-   scroll back #1 lines (P)
418 parm_up_cursor                  cuu     str     UP      -               -       YBCGE   up #1 lines (P*)
419 pkey_key                        pfkey   str     pk      -               -       -B---   program function key #1 to type string #2
420 pkey_local                      pfloc   str     pl      -               -       -B---   program function key #1 to execute string #2
421 pkey_xmit                       pfx     str     px      -               -       -B---   program function key #1 to transmit string #2
422 print_screen                    mc0     str     ps      -               -       -B-G-*  print contents of screen
423 prtr_off                        mc4     str     pf      -               -       -B-G-*  turn off printer
424 prtr_on                         mc5     str     po      -               -       -B-G-*  turn on printer
425 repeat_char                     rep     str     rp      -               -       YB-GE   repeat char #1 #2 times (P*)
426 reset_1string                   rs1     str     r1      -               -       -B---   reset string
427 reset_2string                   rs2     str     r2      -               -       -B---   reset string
428 reset_3string                   rs3     str     r3      -               -       -B---   reset string
429 reset_file                      rf      str     rf      -               -       -B---   name of reset file
430 restore_cursor                  rc      str     rc      -               -       YBCG-   restore cursor to position of last save_cursor
431 row_address                     vpa     str     cv      -               -       -B-GE*  vertical position #1 absolute (P)
432 save_cursor                     sc      str     sc      -               -       YBCG-   save current cursor position (P)
433 scroll_forward                  ind     str     sf      -               -       YBCGE   scroll text up (P)
434 scroll_reverse                  ri      str     sr      -               -       YBCGE   scroll text down (P)
435 set_attributes                  sgr     str     sa      -               -       YB-G-   define video attributes #1-#9 (PG9)
436 set_tab                         hts     str     st      -               -       YB-G-   set a tab in every row, current columns
437 set_window                      wind    str     wi      -               -       -B-GE   current window is lines #1-#2 cols #3-#4
438 tab                             ht      str     ta      -               -       YBCGE   tab to next 8-space hardware tab stop
439 to_status_line                  tsl     str     ts      -               -       YB-G-   move to status line, column #1
440 underline_char                  uc      str     uc      -               -       YBCG-   underline char and move past it
441 up_half_line                    hu      str     hu      -               -       YB-G-   half a line up
442 init_prog                       iprog   str     iP      -               -       -B---   path name of program for initialization
443 key_a1                          ka1     str     K1      KEY_A1          0534    YB-GE   upper left of keypad
444 key_a3                          ka3     str     K3      KEY_A3          0535    YB-GE   upper right of keypad
445 key_b2                          kb2     str     K2      KEY_B2          0536    YB-GE   center of keypad
446 key_c1                          kc1     str     K4      KEY_C1          0537    YB-GE   lower left of keypad
447 key_c3                          kc3     str     K5      KEY_C3          0540    YB-GE   lower right of keypad
448 prtr_non                        mc5p    str     pO      -               -       -B-G-*  turn on printer for #1 bytes
449 #
450 # SVr1 capabilities stop here.  IBM's version of terminfo is the same as
451 # SVr4 up to this point, but has a different set afterwards.
452 #
453 char_padding                    rmp     str     rP      -               -       -----   like ip but when in insert mode
454 acs_chars                       acsc    str     ac      -               -       -----   graphics charset pairs, based on vt100
455 plab_norm                       pln     str     pn      -               -       -----   program label #1 to show string #2
456 key_btab                        kcbt    str     kB      KEY_BTAB        0541    -----   back-tab key
457 enter_xon_mode                  smxon   str     SX      -               -       -----   turn on xon/xoff handshaking
458 exit_xon_mode                   rmxon   str     RX      -               -       -----   turn off xon/xoff handshaking
459 enter_am_mode                   smam    str     SA      -               -       -----   turn on automatic margins
460 exit_am_mode                    rmam    str     RA      -               -       -----   turn off automatic margins
461 xon_character                   xonc    str     XN      -               -       -----   XON character
462 xoff_character                  xoffc   str     XF      -               -       -----   XOFF character
463 ena_acs                         enacs   str     eA      -               -       -----   enable alternate char set
464 label_on                        smln    str     LO      -               -       -----   turn on soft labels
465 label_off                       rmln    str     LF      -               -       -----   turn off soft labels
466 key_beg                         kbeg    str     @1      KEY_BEG         0542    -----   begin key
467 key_cancel                      kcan    str     @2      KEY_CANCEL      0543    -----   cancel key
468 key_close                       kclo    str     @3      KEY_CLOSE       0544    -----   close key
469 key_command                     kcmd    str     @4      KEY_COMMAND     0545    -----   command key
470 key_copy                        kcpy    str     @5      KEY_COPY        0546    -----   copy key
471 key_create                      kcrt    str     @6      KEY_CREATE      0547    -----   create key
472 key_end                         kend    str     @7      KEY_END         0550    -----   end key
473 key_enter                       kent    str     @8      KEY_ENTER       0527    -----   enter/send key
474 key_exit                        kext    str     @9      KEY_EXIT        0551    -----   exit key
475 key_find                        kfnd    str     @0      KEY_FIND        0552    -----   find key
476 key_help                        khlp    str     %1      KEY_HELP        0553    -----   help key
477 key_mark                        kmrk    str     %2      KEY_MARK        0554    -----   mark key
478 key_message                     kmsg    str     %3      KEY_MESSAGE     0555    -----   message key
479 key_move                        kmov    str     %4      KEY_MOVE        0556    -----   move key
480 key_next                        knxt    str     %5      KEY_NEXT        0557    -----   next key
481 key_open                        kopn    str     %6      KEY_OPEN        0560    -----   open key
482 key_options                     kopt    str     %7      KEY_OPTIONS     0561    -----   options key
483 key_previous                    kprv    str     %8      KEY_PREVIOUS    0562    -----   previous key
484 key_print                       kprt    str     %9      KEY_PRINT       0532    -----   print key
485 key_redo                        krdo    str     %0      KEY_REDO        0563    -----   redo key
486 key_reference                   kref    str     &1      KEY_REFERENCE   0564    -----   reference key
487 key_refresh                     krfr    str     &2      KEY_REFRESH     0565    -----   refresh key
488 key_replace                     krpl    str     &3      KEY_REPLACE     0566    -----   replace key
489 key_restart                     krst    str     &4      KEY_RESTART     0567    -----   restart key
490 key_resume                      kres    str     &5      KEY_RESUME      0570    -----   resume key
491 key_save                        ksav    str     &6      KEY_SAVE        0571    -----   save key
492 key_suspend                     kspd    str     &7      KEY_SUSPEND     0627    -----   suspend key
493 key_undo                        kund    str     &8      KEY_UNDO        0630    -----   undo key
494 key_sbeg                        kBEG    str     &9      KEY_SBEG        0572    -----   shifted begin key
495 key_scancel                     kCAN    str     &0      KEY_SCANCEL     0573    -----   shifted cancel key
496 key_scommand                    kCMD    str     *1      KEY_SCOMMAND    0574    -----   shifted command key
497 key_scopy                       kCPY    str     *2      KEY_SCOPY       0575    -----   shifted copy key
498 key_screate                     kCRT    str     *3      KEY_SCREATE     0576    -----   shifted create key
499 key_sdc                         kDC     str     *4      KEY_SDC         0577    -----   shifted delete-character key
500 key_sdl                         kDL     str     *5      KEY_SDL         0600    -----   shifted delete-line key
501 key_select                      kslt    str     *6      KEY_SELECT      0601    -----   select key
502 key_send                        kEND    str     *7      KEY_SEND        0602    -----   shifted end key
503 key_seol                        kEOL    str     *8      KEY_SEOL        0603    -----   shifted clear-to-end-of-line key
504 key_sexit                       kEXT    str     *9      KEY_SEXIT       0604    -----   shifted exit key
505 key_sfind                       kFND    str     *0      KEY_SFIND       0605    -----   shifted find key
506 key_shelp                       kHLP    str     #1      KEY_SHELP       0606    -----   shifted help key
507 key_shome                       kHOM    str     #2      KEY_SHOME       0607    -----   shifted home key
508 key_sic                         kIC     str     #3      KEY_SIC         0610    -----   shifted insert-character key
509 key_sleft                       kLFT    str     #4      KEY_SLEFT       0611    -----   shifted left-arrow key
510 key_smessage                    kMSG    str     %a      KEY_SMESSAGE    0612    -----   shifted message key
511 key_smove                       kMOV    str     %b      KEY_SMOVE       0613    -----   shifted move key
512 key_snext                       kNXT    str     %c      KEY_SNEXT       0614    -----   shifted next key
513 key_soptions                    kOPT    str     %d      KEY_SOPTIONS    0615    -----   shifted options key
514 key_sprevious                   kPRV    str     %e      KEY_SPREVIOUS   0616    -----   shifted previous key
515 key_sprint                      kPRT    str     %f      KEY_SPRINT      0617    -----   shifted print key
516 key_sredo                       kRDO    str     %g      KEY_SREDO       0620    -----   shifted redo key
517 key_sreplace                    kRPL    str     %h      KEY_SREPLACE    0621    -----   shifted replace key
518 key_sright                      kRIT    str     %i      KEY_SRIGHT      0622    -----   shifted right-arrow key
519 key_srsume                      kRES    str     %j      KEY_SRSUME      0623    -----   shifted resume key
520 key_ssave                       kSAV    str     !1      KEY_SSAVE       0624    -----   shifted save key
521 key_ssuspend                    kSPD    str     !2      KEY_SSUSPEND    0625    -----   shifted suspend key
522 key_sundo                       kUND    str     !3      KEY_SUNDO       0626    -----   shifted undo key
523 req_for_input                   rfi     str     RF      -               -       -----   send next input char (for ptys)
524 key_f11                         kf11    str     F1      KEY_F(11)       -       ----E   F11 function key
525 key_f12                         kf12    str     F2      KEY_F(12)       -       ----E   F12 function key
526 key_f13                         kf13    str     F3      KEY_F(13)       -       ----E   F13 function key
527 key_f14                         kf14    str     F4      KEY_F(14)       -       ----E   F14 function key
528 key_f15                         kf15    str     F5      KEY_F(15)       -       ----E   F15 function key
529 key_f16                         kf16    str     F6      KEY_F(16)       -       ----E   F16 function key
530 key_f17                         kf17    str     F7      KEY_F(17)       -       ----E   F17 function key
531 key_f18                         kf18    str     F8      KEY_F(18)       -       ----E   F18 function key
532 key_f19                         kf19    str     F9      KEY_F(19)       -       ----E   F19 function key
533 key_f20                         kf20    str     FA      KEY_F(20)       -       ----E   F20 function key
534 key_f21                         kf21    str     FB      KEY_F(21)       -       ----E   F21 function key
535 key_f22                         kf22    str     FC      KEY_F(22)       -       ----E   F22 function key
536 key_f23                         kf23    str     FD      KEY_F(23)       -       ----E   F23 function key
537 key_f24                         kf24    str     FE      KEY_F(24)       -       ----E   F24 function key
538 key_f25                         kf25    str     FF      KEY_F(25)       -       ----E   F25 function key
539 key_f26                         kf26    str     FG      KEY_F(26)       -       ----E   F26 function key
540 key_f27                         kf27    str     FH      KEY_F(27)       -       ----E   F27 function key
541 key_f28                         kf28    str     FI      KEY_F(28)       -       ----E   F28 function key
542 key_f29                         kf29    str     FJ      KEY_F(29)       -       ----E   F29 function key
543 key_f30                         kf30    str     FK      KEY_F(30)       -       ----E   F30 function key
544 key_f31                         kf31    str     FL      KEY_F(31)       -       ----E   F31 function key
545 key_f32                         kf32    str     FM      KEY_F(32)       -       ----E   F32 function key
546 key_f33                         kf33    str     FN      KEY_F(33)       -       ----E   F33 function key
547 key_f34                         kf34    str     FO      KEY_F(34)       -       ----E   F34 function key
548 key_f35                         kf35    str     FP      KEY_F(35)       -       ----E   F35 function key
549 key_f36                         kf36    str     FQ      KEY_F(36)       -       ----E   F36 function key
550 key_f37                         kf37    str     FR      KEY_F(37)       -       ----E   F37 function key
551 key_f38                         kf38    str     FS      KEY_F(38)       -       ----E   F38 function key
552 key_f39                         kf39    str     FT      KEY_F(39)       -       ----E   F39 function key
553 key_f40                         kf40    str     FU      KEY_F(40)       -       ----E   F40 function key
554 key_f41                         kf41    str     FV      KEY_F(41)       -       ----E   F41 function key
555 key_f42                         kf42    str     FW      KEY_F(42)       -       ----E   F42 function key
556 key_f43                         kf43    str     FX      KEY_F(43)       -       ----E   F43 function key
557 key_f44                         kf44    str     FY      KEY_F(44)       -       ----E   F44 function key
558 key_f45                         kf45    str     FZ      KEY_F(45)       -       ----E   F45 function key
559 key_f46                         kf46    str     Fa      KEY_F(46)       -       ----E   F46 function key
560 key_f47                         kf47    str     Fb      KEY_F(47)       -       ----E   F47 function key
561 key_f48                         kf48    str     Fc      KEY_F(48)       -       ----E   F48 function key
562 key_f49                         kf49    str     Fd      KEY_F(49)       -       ----E   F49 function key
563 key_f50                         kf50    str     Fe      KEY_F(50)       -       ----E   F50 function key
564 key_f51                         kf51    str     Ff      KEY_F(51)       -       ----E   F51 function key
565 key_f52                         kf52    str     Fg      KEY_F(52)       -       ----E   F52 function key
566 key_f53                         kf53    str     Fh      KEY_F(53)       -       ----E   F53 function key
567 key_f54                         kf54    str     Fi      KEY_F(54)       -       ----E   F54 function key
568 key_f55                         kf55    str     Fj      KEY_F(55)       -       ----E   F55 function key
569 key_f56                         kf56    str     Fk      KEY_F(56)       -       ----E   F56 function key
570 key_f57                         kf57    str     Fl      KEY_F(57)       -       ----E   F57 function key
571 key_f58                         kf58    str     Fm      KEY_F(58)       -       ----E   F58 function key
572 key_f59                         kf59    str     Fn      KEY_F(59)       -       ----E   F59 function key
573 key_f60                         kf60    str     Fo      KEY_F(60)       -       ----E   F60 function key
574 key_f61                         kf61    str     Fp      KEY_F(61)       -       ----E   F61 function key
575 key_f62                         kf62    str     Fq      KEY_F(62)       -       ----E   F62 function key
576 key_f63                         kf63    str     Fr      KEY_F(63)       -       ----E   F63 function key
577 clr_bol                         el1     str     cb      -               -       -----   Clear to beginning of line
578 clear_margins                   mgc     str     MC      -               -       -----   clear right and left soft margins
579 set_left_margin                 smgl    str     ML      -               -       -----   set left soft margin at current column.  (ML is not in BSD termcap).
580 set_right_margin                smgr    str     MR      -               -       -----   set right soft margin at current column
581 device_type                     devt    str     dv      -               -       -----   Indicate language/codeset support
582 code_set_init                   csin    str     ci      -               -       -----   Init sequence for multiple codesets
583 set0_des_seq                    s0ds    str     s0      -               -       -----   Shift to codeset 0 (EUC set 0, ASCII)
584 set1_des_seq                    s1ds    str     s1      -               -       -----   Shift to codeset 1
585 set2_des_seq                    s2ds    str     s2      -               -       -----   Shift to codeset 2
586 set3_des_seq                    s3ds    str     s3      -               -       -----   Shift to codeset 3
587 key_mouse                       kmous   str     Km      KEY_MOUSE       0631    -----   Mouse event has occurred
588 mouse_info                      minfo   str     Mi      -               -       -----   Mouse status information
589 req_mouse_pos                   reqmp   str     RQ      -               -       -----   Request mouse position
590 get_mouse                       getm    str     Gm      -               -       -----   Curses should get button events, parameter #1 not documented.
591 release_mouse                   relm    str     Rm      -               -       -----   Curses should release the mouse */
592 color_names                     colornm str     Yw      -               -       -----   Give name for color #1
593 initialize_color                initc   str     Ic      -               -       -----   initialize color #1 to (#2,#3,#4)
594 initialize_pair                 initp   str     Ip      -               -       -----   Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
595 orig_colors                     oc      str     oc      -               -       -----   Set all color pairs to the original ones
596 orig_pair                       op      str     op      -               -       -----   Set default pair to its original value
597 set_a_background                setab   str     AB      -               -       -----   Set background color to #1, using ANSI escape
598 set_a_foreground                setaf   str     AF      -               -       -----   Set foreground color to #1, using ANSI escape
599 set_background                  setb    str     Sb      -               -       -----   Set background color #1
600 set_color_pair                  scp     str     sp      -               -       -----   Set current color pair to #1
601 set_foreground                  setf    str     Sf      -               -       -----   Set foreground color #1
602 #%.TE
603 #%
604 # The magic token below tells the tic compiler-generator code that all the caps
605 # past it should be ignored (not written out) when dumping terminfo objects. It
606 # also tells the man page table generator not to pass through following lines
607 # This means we can have obsolete capabilities and pseudo-capabilities that are
608 # recognized for termcap or terminfo compilation, but not output.
609 #
610 # %%-STOP-HERE-%%
611 #
612 # Don't move this casually!  In fact, don't move it at all unless you're
613 # either doing it to add System V or XPG4 extensions, or have decided you
614 # don't care about SVr4 binary compatibility.
615 #
616 #############################################################################
617 #
618 # TERMCAP EXTENSION CAPABILITIES
619 #
620 # The capabilities below are either obsolete or extensions on certain systems.
621 # They are not used by SVR4 terminfo.  Some are used by captoinfo to translate
622 # termcap sources; the rest are listed for completeness, and in case somebody
623 # cares about them enough to hack in code that will translate them into
624 # terminfo capabilities.
625 #
626 # The first part of the list is from Ross Ridge's `mytinfo' package
627 # (comp.sources.unix, volume 26); the variable names and terminfo names (as
628 # well as the termcap codes) match his list.
629 #
630 # This group of codes is not marked obsolete in 4.4BSD, but have no direct
631 # terminfo equivalents.  The rs capability is specially translated to terminfo
632 # r2, and vice versa, if an entry does not already have an r2.  Similarly,
633 # i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
634 # The ug capability is thrown away, but assumed to be whatever sg is if the
635 # latter is nonzero and we're dumping in termcap format.
636 #
637 termcap_init2                   OTi2    str     i2      -               -       YB---   secondary initialization string
638 termcap_reset                   OTrs    str     rs      -               -       YB-G-   terminal reset string
639 magic_cookie_glitch_ul          OTug    num     ug      -               -       YBCGE   number of blanks left by ul
640 #
641 # Obsolete termcap capabilities.  Some are used for termcap translation.  The
642 # code uses the 'OT' prefix we put on obsolete capabilities to suppress
643 # printing them in terminfo source dumps of compiled entries.
644 #
645 backspaces_with_bs              OTbs    bool    bs      -               -       YBCGE   uses ^H to move left
646 crt_no_scrolling                OTns    bool    ns      -               -       YBCG-   crt cannot scroll
647 no_correctly_working_cr         OTnc    bool    nc      -               -       YBCG-   no way to go to start of line
648 carriage_return_delay           OTdC    num     dC      -               -       YB-G-   pad needed for CR
649 new_line_delay                  OTdN    num     dN      -               -       YB-G-   pad needed for LF
650 linefeed_if_not_lf              OTnl    str     nl      -               -       YBCGE   use to move down
651 backspace_if_not_bs             OTbc    str     bc      -               -       YBCGE   move left, if not ^H
652 #
653 # GNU termcap library extensions.  The GNU termcap file distributed with
654 # Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
655 # BSD termcap file.  The name clash with terminfo MT is resolved by type
656 # info; MT is converted to km.
657 #
658 gnu_has_meta_key                OTMT    bool    MT      -               -       ----E   has meta key
659 # gnu_tab_width                 OTtw    num     tw      -               -       ----E   tab width in spaces
660 #
661 # GNU termcap *does* include the following extended capability,  Only the
662 # now-obsolete Ann Arbor terminals used it.
663 #
664 # gnu_change_scroll_region      OTcS    str     cS      -               -       ---GE   alternate set scrolling region
665 #
666 # The following comments describe capnames so ancient that I believe no
667 # software uses them any longer.  Some of these have to go because they
668 # clash with terminfo names in ways that cannot be resolved by type
669 # information.
670 #
671 # These mytinfo codes are not used in the 4.4BSD curses code.  They are
672 # marked obsolete in the 4.4BSD manual pages.
673 #
674 # There is one conflict with terminfo; ma is in both.  This conflict is
675 # resolved by type information.
676 #
677 # The `ko' capability is translated by special code.  It should contain a
678 # comma-separated list of capabilities for which there are corresponding keys.
679 # The `kn' code is accepted but ignored.
680 #
681 # The `ma' capability was a 4.0BSD feature used by vi version 2.
682 # It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
683 # Besides being obsolete, that interpretation conflicts with max_attributes.
684 #
685 # Here is a description of memory_lock_above and memory_unlock:
686 # "You can 'freeze' data on the screen by turning on Memory Lock in a line of
687 # text.  All lines above the cursor's current line become locked in place on
688 # the screen.  Then enter data normally.  When the screen fills up, any
689 # further data entered forces the first line of unfrozen line text to scroll
690 # under the frozen data.  Lines scrolled off the screen are inserted into
691 # memory immediately preceding the first frozen line." (from the HP 700/96
692 # User's manual).  VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
693 #
694 # Applications that use terminfo are supposed to behave as though xr is
695 # always true.
696 #
697 linefeed_is_newline             OTNL    bool    NL      -               -       YB---   move down with \n
698 # even_parity                   OTEP    bool    EP      -               -       -B---   terminal requires even parity
699 # odd_parity                    OTOP    bool    OP      -               -       -B---   terminal requires odd parity
700 # half_duplex                   OTHD    bool    HD      -               -       -B---   terminal is half-duplex
701 # lower_case_only               OTLC    bool    LC      -               -       -B---   terminal has only lower case
702 # upper_case_only               OTUC    bool    UC      -               -       -B---   terminal has only upper case
703 backspace_delay                 OTdB    num     dB      -               -       YB-G-   padding required for ^H
704 # form_feed_delay               OTdF    num     dF      -               -       -B-G-   padding required for ^L
705 horizontal_tab_delay            OTdT    num     dT      -               -       YB-G-   padding required for ^I
706 # vertical_tab_delay            OTdV    num     dV      -               -       -B---   padding required for ^V
707 number_of_function_keys         OTkn    num     kn      -               -       -B-G-   count of function keys
708 other_non_function_keys         OTko    str     ko      -               -       -B-G-   list of self-mapped keycaps
709 arrow_key_map                   OTma    str     ma      -               -       YBC--   map motion-keys for vi version 2
710 # memory_lock_above             OTml    str     ml      -               -       -B---   lock visible screen memory above the current line
711 # memory_unlock                 OTmu    str     mu      -               -       -B---   unlock visible screen memory above the current line
712 has_hardware_tabs               OTpt    bool    pt      -               -       YB---   has 8-char tabs invoked with ^I
713 return_does_clr_eol             OTxr    bool    xr      -               -       YB---   return clears the line
714 # tek_4025_insert_line          OTxx    bool    xx      -               -       -BC--   Tektronix 4025 insert-line glitch
715 #
716 # mytinfo described this as a termcap capability, but it is not listed in the
717 # 4.4BSD man pages, and not found in the 4.4BSD termcap file.  The ncurses
718 # package, like System V, behaves as though it is always true.
719 #
720 # rind_only_at_top              OTxq    bool    xq      -               -       -----   reverse index only works from top line
721 #
722 # University of Waterloo termcap extensions (as described in mytinfo).
723 # The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
724 # be resolved by a type check.  The descriptions are guesses from what was
725 # in the mytinfo tables.
726 #
727 # key_interrupt_char            OTki    str     ki      -               -       -----   string set by interrupt key (?)
728 # key_kill_char                 OTkk    str     kk      -               -       -----   string set by kill key (?)
729 # key_suspend_char              OTkz    str     kz      -               -       -----   string set by suspend key (?)
730 # initialization_messy          OTxc    bool    xc      -               -       -----   initialization leaves garbage on the screen (?)
731 # ind_at_bottom_does_cr         OTxl    bool    xl      -               -       -----   index does a carriage return
732 #
733 # Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
734 # SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
735 # check.
736 #
737 # scroll_left                   OTsl1   str     Sl      -               -       -----   scroll screen leftward
738 # scroll_right                  OTsr1   str     Sr      -               -       -----   scroll screen rightward
739 # parm_scroll_left              OTsl    str     SL      -               -       -----   scroll screen leftward #1 characters
740 # parm_scroll_right             OTsr    str     SR      -               -       -----   scroll screen rightward #1 characters
741 #
742 # The mytinfo capabilities end here.
743 #
744 # XENIX extensions:
745 #
746 # Xenix defined its own set of forms-drawing capabilities:
747 #
748 # cap   IBM ASCII       description             ACS             ASCII
749 # ---   -----------     --------------------    -------------   ------
750 # G1    191 \277 M-?    single upper right      ACS_URCORNER
751 # G2    218 \332 M-Z    single upper left       ACS_ULCORNER
752 # G3    192 \300 M-@    single lower left       ACS_LLCORNER
753 # G4    217 \331 M-Y    single lower right      ACS_LRCORNER
754 # G5    187 \273 M-;    double upper right
755 # G6    201 \311 M-I    double upper left
756 # G7    200 \310 M-H    double lower left
757 # G8    188 \274 M-<    double lower right
758 # GC    197 \305 M-E    single intersection     ACS_PLUS        _ _
759 # GD    194 \302 M-B    single down-tick        ACS_TTEE         |
760 # GH    196 \304 M-D    single horizontal line  ACS_HLINE
761 # GL    180 \264 M-4    single left tick        ACS_RTEE        -|
762 # GR    195 \303 M-C    single right tick       ACS_LTEE        |-
763 # GU    193 \301 M-A    single up tick          ACS_BTEE        _|_
764 # GV    179 \263 M-3    single vertical line    ACS_VLINE
765 # Gc    206 \316 M-N    double intersection
766 # Gd    203 \313 M-K    double down tick
767 # Gh    205 \315 M-M    double horizontal line
768 # Gl    204 \204 M-L    double left tick
769 # Gr    185 \271 M-9    double right tick
770 # Gu    202 \312 M-J    double up tick
771 # Gv    186 \272 M-:    double vertical line
772 #
773 # The compiler will translate the single-line caps and discard the others
774 # (via IGNORE aliases further down).  We don't want to do normal pad
775 # translation on these, they're often single-character printable ASCII
776 # strings that happen to be numerics.  There's awk code in parametrized.sh
777 # that detects the acs_ prefix and uses it to suppress pad translation.
778 # These terminfo names are invented.
779 #
780 acs_ulcorner                    OTG2    str     G2      -               -       -----   single upper left
781 acs_llcorner                    OTG3    str     G3      -               -       -----   single lower left
782 acs_urcorner                    OTG1    str     G1      -               -       -----   single upper right
783 acs_lrcorner                    OTG4    str     G4      -               -       -----   single lower right
784 acs_ltee                        OTGR    str     GR      -               -       -----   tee pointing right
785 acs_rtee                        OTGL    str     GL      -               -       -----   tee pointing left
786 acs_btee                        OTGU    str     GU      -               -       -----   tee pointing up
787 acs_ttee                        OTGD    str     GD      -               -       -----   tee pointing down
788 acs_hline                       OTGH    str     GH      -               -       -----   single horizontal line
789 acs_vline                       OTGV    str     GV      -               -       -----   single vertical line
790 acs_plus                        OTGC    str     GC      -               -       -----   single intersection
791 #
792 #############################################################################
793 #
794 # TERMINFO EXTENSION CAPABILITIES
795 #
796 # (see Caps-ncurses for the complete set of comments)
797 #
798 memory_lock                     meml    str     ml      -               -       ----K   lock memory above cursor
799 memory_unlock                   memu    str     mu      -               -       ----K   unlock memory
800 box_chars_1                     box1    str     bx      -               -       ----K   box characters primary set
801 #
802 #############################################################################