]> ncurses.scripts.mit.edu Git - ncurses.git/blob - include/Caps.keys
ncurses 5.9 - patch 20120317
[ncurses.git] / include / Caps.keys
1 ##############################################################################
2 # Copyright (c) 2001-2010,2011 Free Software Foundation, Inc.                #
3 #                                                                            #
4 # Permission is hereby granted, free of charge, to any person obtaining a    #
5 # copy of this software and associated documentation files (the "Software"), #
6 # to deal in the Software without restriction, including without limitation  #
7 # the rights to use, copy, modify, merge, publish, distribute, distribute    #
8 # with modifications, sublicense, and/or sell copies of the Software, and to #
9 # permit persons to whom the Software is furnished to do so, subject to the  #
10 # following conditions:                                                      #
11 #                                                                            #
12 # The above copyright notice and this permission notice shall be included in #
13 # all copies or substantial portions of the Software.                        #
14 #                                                                            #
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
16 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
17 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
18 # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
19 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
20 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
21 # DEALINGS IN THE SOFTWARE.                                                  #
22 #                                                                            #
23 # Except as contained in this notice, the name(s) of the above copyright     #
24 # holders shall not be used in advertising or otherwise to promote the sale, #
25 # use or other dealings in this Software without prior written               #
26 # authorization.                                                             #
27 ##############################################################################
28 #
29 # Author: Thomas Dickey
30 #    and: Ilya Zakharevich
31 #
32 # $Id: Caps.keys,v 1.5 2011/10/15 23:19:52 tom Exp $
33 #
34 # This is an adaptation of ncurses' termcap/terminfo capability table, which
35 # is illustrates an experimental extension to describe alt-, shift- and
36 # control-modifiers applied to function and normal keys, as done on IBM pc's.
37 #
38 # This table is used to generate initializers for tables that drive tic,
39 # infocmp, and the library compilation code used to support the termcap 
40 # compatibility hack.  It is also used to generate the tabular portion of the
41 # terminfo(5) man page; lines beginning with `#%' are passed through to become
42 # the terminfo table.
43 #
44 # This file has three major sections; a standard-capabilities table, two
45 # extension-capability tables, and a section of aliases declarations.
46 # The first two have the same format, as follows:
47 #
48 # FILE FORMAT
49 #
50 # Column 1: terminfo variable name
51 # Column 2: terminfo capability name
52 # Column 3: capability type (boolean, numeric, or string)
53 # Column 4: termcap capability name
54 # Column 5: KEY_xxx name, if any, `-' otherwise
55 # Column 6: value for KEY_xxx name, if any, `-' otherwise
56 # Column 7: Lead with `Y' if capability should be emitted in termcap
57 #           translations, `-' otherwise
58 # Column 8: capability description
59 #
60 # The codes following [Y-] in column 7 describe the versions of termcap which
61 # use the given capability.  This information is not used by the curses library
62 # proper; rather, it's there to help the terminfo maintainer avoid emitting
63 # termcap entry translations that are more than 1023 bytes long (and tank a
64 # lot of old termcap-using programs).  The codes read as follows:
65 #       B = mentioned in the BSD man page for 4.4BSD curses
66 #       C = used by the 4.4BSD curses library
67 #       G = mentioned in the documentation for GNU termcap
68 #       E = used by GNU Emacs
69 #       K = remove this terminfo capability when translating to standard format
70 # The important codes are C and E.  A cap with C or E should be preserved in
71 # translation if possible.  The problem is that preserving all such caps may
72 # lead to some termcap translations being too long.  The termcap maintainer
73 # has a bit of a juggling act to do...potential problem cases are marked with
74 # an asterisk (*).
75 #
76 # The aliases section has the following format:
77 #
78 # Column 1: either `capalias' or `infoalias'
79 # Column 2: name to be aliased
80 # Column 3: what name it should translate to.  The name IGNORE means it
81 #           should be discarded with a warning message.
82 # Column 4: name of the extension set (used for compiler warning messages)
83 # Column 5: capability description (usually an associated terminfo variable)
84 #
85 # HANDLING TERMCAP AND TERMINFO EXTENSIONS
86 #
87 # There are basically five different ways to handle termcap and terminfo
88 # extensions:
89 #
90 # 1. Don't list the capname here, or list it but comment it out (the latter
91 # is preferable; someone might want to handle it in the future).  If you do
92 # this, the capability will be treated as unknown and raise a warning from
93 # the compiler.
94 #
95 # 2. Alias it.  This is appropriate if the capability has the same meaning
96 # as an already-supported one.  The compiler will handle aliasing, emitting
97 # an appropriate informational message whenever an alias fires.
98 #
99 # 3. List it in the standard table.  You almost certainly do *not* want
100 # to do this -- the capabilities in that one, and their order, have been
101 # carefully chosen to be SVr4-binary-compatible when they're written out
102 # as a terminfo object, and breaking this would be bad.  It's up the ncurses
103 # library what to do with the terminfo data after it's read in.
104 #
105 # 4. List it in the aliases table with an IGNORE target field.  If you
106 # do this, the capability will be ignored on input (though the user will
107 # get a warning message about it).
108 #
109 # 5. List it in the extensions table. If you do this, the compiler will
110 # silently accept the capability, but the curses library proper will never
111 # see it (because it won't be written out as part of the terminfo object
112 # format).  It's up to you what you have the compiler do with it.
113 #
114 # There are two opposite reasons to choose option 5.  One is when you want
115 # to eat the capability silently and discard it when doing translations
116 # to terminfo with tic -I.  Some very old obsolete BSD caps like :kn: are
117 # in this class.  Nothing will ever use them again.
118 #
119 # More usually, you want the compiler to try to deduce something from the
120 # capability value that it can use to translate it into your output format.
121 # You'll need to write custom code, probably in postprocess_termcap() or
122 # postprocess_terminfo(), to handle the translation.
123 #
124 # CONTROLLING ENTRY LENGTH 
125 #
126 # Notes on specific elisions made to fit translations within 1023 bytes:
127 #
128 # Machines with IBM PC-like keyboards want to be able to define the following
129 # keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
130 # only environments for End or Home-Down), key_dc, and key_ic.  This is also
131 # the set of keys the `joe' editor will be upset if it can't see.  So don't 
132 # trim those out of the set to be translated to termcap, or various users of
133 # the termcap file will become irate.
134 #
135 # It might look tempting to leave those long init strings out of translations.
136 # We can't do it (yet); 4.4BSD tput and tset use them.
137 #
138 # We retain the sgr capability in translation in spite of the fact that neither
139 # 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
140 # hard to understand without it, and (b) the entries in which it is long tend
141 # to be older types that don't use up a lot of string space on function keys.
142 # The tic(1) translation code will complain and elide it if it makes a critical
143 # difference (there is special code in tic to recognize this situation).
144 #
145 # Yes, BSD tset(1) uses hpa.  We elide hpa/vpa anyway because the motion
146 # optimizer in BSD curses didn't use them.  This omission seems to be the
147 # single most effective one, it shortened the resolved length of all thirteen
148 # problem entries in the 9.9.0 version of the terminfo master below critical.
149 #
150 # It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
151 # translations go back over critical if we do this.  As 4.4BSD curses fades
152 # into history and GNU termcap's application base shrinks towards being GNU 
153 # Emacs only, we'll probably elide out some BSD-only capabilities in order
154 # to buy space for non-essentials Emacs is still using.  Capabilities high
155 # on that hit list: rc, sc, uc.
156 #
157 #############################################################################
158 #
159 # STANDARD CAPABILITIES
160 #
161 #%The following is a complete table of the capabilities included in a
162 #%terminfo description block and available to terminfo-using code.  In each
163 #%line of the table,
164 #%
165 #%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
166 #%accesses the capability.
167 #%
168 #%The \fBcapname\fR is the short name used in the text of the database,
169 #%and is used by a person updating the database.
170 #%Whenever possible, capnames are chosen to be the same as or similar to
171 #%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses 
172 #%identical or very similar names).  Semantics are also intended to match
173 #%those of the specification.
174 #%
175 #%The termcap code is the old
176 #%.B termcap
177 #%capability name (some capabilities are new, and have names which termcap
178 #%did not originate).
179 #%.P
180 #%Capability names have no hard length limit, but an informal limit of 5
181 #%characters has been adopted to keep them short and to allow the tabs in
182 #%the source file
183 #%.B Caps
184 #%to line up nicely.
185 #%
186 #%Finally, the description field attempts to convey the semantics of the
187 #%capability.  You may find some codes in the description field:
188 #%.TP
189 #%(P)
190 #%indicates that padding may be specified
191 #%.TP
192 #%#[1-9]
193 #%in the description field indicates that the string is passed through tparm with
194 #%parms as given (#\fIi\fP).
195 #%.TP
196 #%(P*)
197 #%indicates that padding may vary in proportion to the number of
198 #%lines affected
199 #%.TP
200 #%(#\d\fIi\fP\u)
201 #%indicates the \fIi\fP\uth\d parameter.
202 #%
203 #%.PP
204 #% These are the boolean capabilities:
205 #%
206 #%.na
207 #%.TS H
208 #%center expand;
209 #%c l l c
210 #%c l l c
211 #%lw25 lw6 lw2 lw20.
212 #%\fBVariable   Cap-    TCap    Description\fR
213 #%\fBBooleans   name    Code\fR
214 auto_left_margin                bw      bool    bw      -       -       YB-G-   cub1 wraps from column 0 to last column
215 auto_right_margin               am      bool    am      -       -       YBCGE   terminal has automatic margins
216 no_esc_ctlc                     xsb     bool    xb      -       -       YBCG-   beehive (f1=escape, f2=ctrl C)
217 ceol_standout_glitch            xhp     bool    xs      -       -       YBCGE   standout not erased by overwriting (hp)
218 eat_newline_glitch              xenl    bool    xn      -       -       YBCGE   newline ignored after 80 cols (concept)
219 erase_overstrike                eo      bool    eo      -       -       YBCG-   can erase overstrikes with a blank
220 generic_type                    gn      bool    gn      -       -       YB-G-   generic line type
221 hard_copy                       hc      bool    hc      -       -       YBCG-   hardcopy terminal
222 has_meta_key                    km      bool    km      -       -       YB-GE   Has a meta key (i.e., sets 8th-bit)
223 has_status_line                 hs      bool    hs      -       -       YB-G-   has extra status line
224 insert_null_glitch              in      bool    in      -       -       YBCGE   insert mode distinguishes nulls
225 memory_above                    da      bool    da      -       -       YBCG-   display may be retained above the screen
226 memory_below                    db      bool    db      -       -       YB-GE   display may be retained below the screen
227 move_insert_mode                mir     bool    mi      -       -       YBCGE   safe to move while in insert mode
228 move_standout_mode              msgr    bool    ms      -       -       YBCGE   safe to move while in standout mode
229 over_strike                     os      bool    os      -       -       YBCG-   terminal can overstrike
230 status_line_esc_ok              eslok   bool    es      -       -       YB-G-   escape can be used on the status line
231 dest_tabs_magic_smso            xt      bool    xt      -       -       YBCGE   tabs destructive, magic so char (t1061)
232 tilde_glitch                    hz      bool    hz      -       -       YB-GE   can't print ~'s (hazeltine)
233 transparent_underline           ul      bool    ul      -       -       YBCGE   underline character overstrikes
234 xon_xoff                        xon     bool    xo      -       -       YB---   terminal uses xon/xoff handshaking
235 needs_xon_xoff                  nxon    bool    nx      -       -       -----   padding won't work, xon/xoff required
236 prtr_silent                     mc5i    bool    5i      -       -       -----   printer won't echo on screen
237 hard_cursor                     chts    bool    HC      -       -       -----   cursor is hard to see
238 non_rev_rmcup                   nrrmc   bool    NR      -       -       -----   smcup does not reverse rmcup
239 no_pad_char                     npc     bool    NP      -       -       -----   pad character does not exist
240 non_dest_scroll_region          ndscr   bool    ND      -       -       -----   scrolling region is non-destructive
241 can_change                      ccc     bool    cc      -       -       -----   terminal can re-define existing colors
242 back_color_erase                bce     bool    ut      -       -       -----   screen erased with background color
243 hue_lightness_saturation        hls     bool    hl      -       -       -----   terminal uses only HLS color notation (Tektronix)
244 col_addr_glitch                 xhpa    bool    YA      -       -       -----   only positive motion for hpa/mhpa caps
245 cr_cancels_micro_mode           crxm    bool    YB      -       -       -----   using cr turns off micro mode
246 has_print_wheel                 daisy   bool    YC      -       -       -----   printer needs operator to change character set
247 row_addr_glitch                 xvpa    bool    YD      -       -       -----   only positive motion for vpa/mvpa caps
248 semi_auto_right_margin          sam     bool    YE      -       -       -----   printing in last column causes cr
249 cpi_changes_res                 cpix    bool    YF      -       -       -----   changing character pitch changes resolution
250 lpi_changes_res                 lpix    bool    YG      -       -       -----   changing line pitch changes resolution
251 #%.TE
252 #%.ad
253 #%
254 #%These are the numeric capabilities:
255 #%
256 #%.na
257 #%.TS H
258 #%center expand;
259 #%c l l c
260 #%c l l c
261 #%lw25 lw6 lw2 lw20.
262 #%\fBVariable   Cap-    TCap    Description\fR
263 #%\fBNumeric    name    Code\fR
264 columns                         cols    num     co      -       -       YBCGE   number of columns in a line
265 init_tabs                       it      num     it      -       -       YB-G-   tabs initially every # spaces
266 lines                           lines   num     li      -       -       YBCGE   number of lines on screen or page
267 lines_of_memory                 lm      num     lm      -       -       YB-G-   lines of memory if > line. 0 means varies
268 magic_cookie_glitch             xmc     num     sg      -       -       YBCGE   number of blank characters left by smso or rmso
269 padding_baud_rate               pb      num     pb      -       -       YB-GE   lowest baud rate where padding needed
270 virtual_terminal                vt      num     vt      -       -       YB---   virtual terminal number (CB/unix)
271 width_status_line               wsl     num     ws      -       -       YB-G-   number of columns in status line
272 num_labels                      nlab    num     Nl      -       -       -----   number of labels on screen
273 label_height                    lh      num     lh      -       -       -----   rows in each label
274 label_width                     lw      num     lw      -       -       -----   columns in each label
275 max_attributes                  ma      num     ma      -       -       YBC--   maximum combined attributes terminal can handle
276 maximum_windows                 wnum    num     MW      -       -       -----   maximum number of defineable windows
277 # These came in with SVr4's color support
278 max_colors                      colors  num     Co      -       -       -----   maximum number of colors on screen
279 max_pairs                       pairs   num     pa      -       -       -----   maximum number of color-pairs on the screen
280 no_color_video                  ncv     num     NC      -       -       -----   video attributes that can't be used with colors
281 #%.TE
282 #%.ad
283 #%
284 #%The following numeric capabilities are present in the SVr4.0 term structure,
285 #%but are not yet documented in the man page.  They came in with SVr4's
286 #%printer support.
287 #%
288 #%.na
289 #%.TS H
290 #%center expand;
291 #%c l l c
292 #%c l l c
293 #%lw25 lw6 lw2 lw20.
294 #%\fBVariable   Cap-    TCap    Description\fR
295 #%\fBNumeric    name    Code\fR
296 buffer_capacity                 bufsz   num     Ya      -       -       -----   numbers of bytes buffered before printing
297 dot_vert_spacing                spinv   num     Yb      -       -       -----   spacing of pins vertically in pins per inch
298 dot_horz_spacing                spinh   num     Yc      -       -       -----   spacing of dots horizontally in dots per inch
299 max_micro_address               maddr   num     Yd      -       -       -----   maximum value in micro_..._address
300 max_micro_jump                  mjump   num     Ye      -       -       -----   maximum value in parm_..._micro
301 micro_col_size                  mcs     num     Yf      -       -       -----   character step size when in micro mode
302 micro_line_size                 mls     num     Yg      -       -       -----   line step size when in micro mode
303 number_of_pins                  npins   num     Yh      -       -       -----   numbers of pins in print-head
304 output_res_char                 orc     num     Yi      -       -       -----   horizontal resolution in units per line
305 output_res_line                 orl     num     Yj      -       -       -----   vertical resolution in units per line
306 output_res_horz_inch            orhi    num     Yk      -       -       -----   horizontal resolution in units per inch
307 output_res_vert_inch            orvi    num     Yl      -       -       -----   vertical resolution in units per inch
308 print_rate                      cps     num     Ym      -       -       -----   print rate in characters per second
309 wide_char_size                  widcs   num     Yn      -       -       -----   character step size when in double wide mode
310 buttons                         btns    num     BT      -       -       -----   number of buttons on mouse
311 bit_image_entwining             bitwin  num     Yo      -       -       -----   number of passes for each bit-image row
312 bit_image_type                  bitype  num     Yp      -       -       -----   type of bit-image device
313 #%.TE
314 #%.ad
315 #%
316 #%These are the string capabilities:
317 #%
318 #%.na
319 #%.TS H
320 #%center expand;
321 #%c l l c
322 #%c l l c
323 #%lw25 lw6 lw2 lw20.
324 #%\fBVariable   Cap-    TCap    Description\fR
325 #%\fBString     name    Code\fR
326 back_tab                        cbt     str     bt      -               -       YBCGE   back tab (P)
327 bell                            bel     str     bl      -               -       YB-GE   audible signal (bell) (P)
328 carriage_return                 cr      str     cr      -               -       YBCGE   carriage return (P*) (P*)
329 change_scroll_region            csr     str     cs      -               -       YBCGE   change region to line #1 to line #2 (P)
330 clear_all_tabs                  tbc     str     ct      -               -       YB-G-   clear all tab stops (P)
331 clear_screen                    clear   str     cl      -               -       YBCGE   clear screen and home cursor (P*)
332 clr_eol                         el      str     ce      -               -       YBCGE   clear to end of line (P)
333 clr_eos                         ed      str     cd      -               -       YBCGE   clear to end of screen (P*)
334 column_address                  hpa     str     ch      -               -       -B-GE*  horizontal position #1, absolute (P)
335 command_character               cmdch   str     CC      -               -       YB-G-   terminal settable cmd character in prototype !?
336 cursor_address                  cup     str     cm      -               -       YBCGE   move to row #1 columns #2
337 cursor_down                     cud1    str     do      -               -       YBCGE   down one line
338 cursor_home                     home    str     ho      -               -       YBCGE   home cursor (if no cup)
339 cursor_invisible                civis   str     vi      -               -       YB-G-   make cursor invisible
340 cursor_left                     cub1    str     le      -               -       YBCGE   move left one space
341 cursor_mem_address              mrcup   str     CM      -               -       YB-G-   memory relative cursor addressing, move to row #1 columns #2
342 cursor_normal                   cnorm   str     ve      -               -       YBCGE   make cursor appear normal (undo civis/cvvis)
343 cursor_right                    cuf1    str     nd      -               -       YBCGE   non-destructive space (move right one space)
344 cursor_to_ll                    ll      str     ll      -               -       YBCGE   last line, first column (if no cup)
345 cursor_up                       cuu1    str     up      -               -       YBCGE   up one line
346 cursor_visible                  cvvis   str     vs      -               -       YBCGE   make cursor very visible
347 delete_character                dch1    str     dc      -               -       YBCGE   delete character (P*)
348 delete_line                     dl1     str     dl      -               -       YBCGE   delete line (P*)
349 dis_status_line                 dsl     str     ds      -               -       YB-G-   disable status line
350 down_half_line                  hd      str     hd      -               -       YB-G-   half a line down
351 enter_alt_charset_mode          smacs   str     as      -               -       YB-G-   start alternate character set (P)
352 enter_blink_mode                blink   str     mb      -               -       YB-G-   turn on blinking
353 enter_bold_mode                 bold    str     md      -               -       YB-G-   turn on bold (extra bright) mode
354 enter_ca_mode                   smcup   str     ti      -               -       YBCGE   string to start programs using cup
355 enter_delete_mode               smdc    str     dm      -               -       YBCGE   enter delete mode
356 enter_dim_mode                  dim     str     mh      -               -       YB-G-   turn on half-bright mode
357 enter_insert_mode               smir    str     im      -               -       YBCGE   enter insert mode
358 enter_secure_mode               invis   str     mk      -               -       -B-G-*  turn on blank mode (characters invisible)
359 enter_protected_mode            prot    str     mp      -               -       -B-G-*  turn on protected mode
360 enter_reverse_mode              rev     str     mr      -               -       YB-G-   turn on reverse video mode
361 enter_standout_mode             smso    str     so      -               -       YBCGE   begin standout mode
362 enter_underline_mode            smul    str     us      -               -       YBCGE   begin underline mode
363 erase_chars                     ech     str     ec      -               -       YB-G-   erase #1 characters (P)
364 exit_alt_charset_mode           rmacs   str     ae      -               -       YB-G-   end alternate character set (P)
365 exit_attribute_mode             sgr0    str     me      -               -       YB-GE   turn off all attributes
366 exit_ca_mode                    rmcup   str     te      -               -       YBCGE   strings to end programs using cup
367 exit_delete_mode                rmdc    str     ed      -               -       YBCGE   end delete mode
368 exit_insert_mode                rmir    str     ei      -               -       YBCGE   exit insert mode
369 exit_standout_mode              rmso    str     se      -               -       YBCGE   exit standout mode
370 exit_underline_mode             rmul    str     ue      -               -       YBCGE   exit underline mode
371 flash_screen                    flash   str     vb      -               -       YBCGE   visible bell (may not move cursor)
372 form_feed                       ff      str     ff      -               -       YB-G-   hardcopy terminal page eject (P*)
373 from_status_line                fsl     str     fs      -               -       YB-G-   return from status line
374 init_1string                    is1     str     i1      -               -       YB-G-   initialization string
375 init_2string                    is2     str     is      -               -       YB-G-   initialization string
376 init_3string                    is3     str     i3      -               -       YB-G-   initialization string
377 init_file                       if      str     if      -               -       YB-G-   name of initialization file
378 insert_character                ich1    str     ic      -               -       YBCGE   insert character (P)
379 insert_line                     il1     str     al      -               -       YBCGE   insert line (P*)
380 insert_padding                  ip      str     ip      -               -       YBCGE   insert padding after inserted character
381 key_backspace                   kbs     str     kb      KEY_BACKSPACE   0407    YB-G-   backspace key
382 key_catab                       ktbc    str     ka      KEY_CATAB       0526    -B-G-*  clear-all-tabs key
383 key_clear                       kclr    str     kC      KEY_CLEAR       0515    -B-G-*  clear-screen or erase key
384 key_ctab                        kctab   str     kt      KEY_CTAB        0525    -B-G-*  clear-tab key
385 key_dc                          kdch1   str     kD      KEY_DC          0512    YB-G-   delete-character key
386 key_dl                          kdl1    str     kL      KEY_DL          0510    -B-G-*  delete-line key
387 key_down                        kcud1   str     kd      KEY_DOWN        0402    YBCGE   down-arrow key
388 key_eic                         krmir   str     kM      KEY_EIC         0514    -B-G-*  sent by rmir or smir in insert mode
389 key_eol                         kel     str     kE      KEY_EOL         0517    -B-G-*  clear-to-end-of-line key
390 key_eos                         ked     str     kS      KEY_EOS         0516    -B-G-*  clear-to-end-of-screen key
391 key_f0                          kf0     str     k0      KEY_F(0)        0410    YBCGE   F0 function key
392 key_f1                          kf1     str     k1      KEY_F(1)        -       YBCGE   F1 function key
393 key_f10                         kf10    str     k;      KEY_F(10)       -       ----E   F10 function key
394 key_f2                          kf2     str     k2      KEY_F(2)        -       YBCGE   F2 function key
395 key_f3                          kf3     str     k3      KEY_F(3)        -       YBCGE   F3 function key
396 key_f4                          kf4     str     k4      KEY_F(4)        -       YBCGE   F4 function key
397 key_f5                          kf5     str     k5      KEY_F(5)        -       YBCGE   F5 function key
398 key_f6                          kf6     str     k6      KEY_F(6)        -       YBCGE   F6 function key
399 key_f7                          kf7     str     k7      KEY_F(7)        -       YBCGE   F7 function key
400 key_f8                          kf8     str     k8      KEY_F(8)        -       YBCGE   F8 function key
401 key_f9                          kf9     str     k9      KEY_F(9)        -       YBCGE   F9 function key
402 key_home                        khome   str     kh      KEY_HOME        0406    YBCGE   home key
403 key_ic                          kich1   str     kI      KEY_IC          0513    YB-GE   insert-character key
404 key_il                          kil1    str     kA      KEY_IL          0511    -B-G-*  insert-line key
405 key_left                        kcub1   str     kl      KEY_LEFT        0404    YBCGE   left-arrow key
406 key_ll                          kll     str     kH      KEY_LL          0533    YB-G-   lower-left key (home down)
407 key_npage                       knp     str     kN      KEY_NPAGE       0522    YB-GE   next-page key
408 key_ppage                       kpp     str     kP      KEY_PPAGE       0523    YB-GE   previous-page key
409 key_right                       kcuf1   str     kr      KEY_RIGHT       0405    YBCGE   right-arrow key
410 key_sf                          kind    str     kF      KEY_SF          0520    -B-G-*  scroll-forward key
411 key_sr                          kri     str     kR      KEY_SR          0521    -B-G-*  scroll-backward key
412 key_stab                        khts    str     kT      KEY_STAB        0524    -B-G-*  set-tab key
413 key_up                          kcuu1   str     ku      KEY_UP          0403    YBCGE   up-arrow key
414 keypad_local                    rmkx    str     ke      -               -       YBCGE   leave 'keyboard_transmit' mode
415 keypad_xmit                     smkx    str     ks      -               -       YBCGE   enter 'keyboard_transmit' mode
416 lab_f0                          lf0     str     l0      -               -       -B-G-*  label on function key f0 if not f0
417 lab_f1                          lf1     str     l1      -               -       -B-G-*  label on function key f1 if not f1
418 lab_f10                         lf10    str     la      -               -       -----   label on function key f10 if not f10
419 lab_f2                          lf2     str     l2      -               -       -B-G-*  label on function key f2 if not f2
420 lab_f3                          lf3     str     l3      -               -       -B-G-*  label on function key f3 if not f3
421 lab_f4                          lf4     str     l4      -               -       -B-G-*  label on function key f4 if not f4
422 lab_f5                          lf5     str     l5      -               -       -B-G-*  label on function key f5 if not f5
423 lab_f6                          lf6     str     l6      -               -       -B-G-*  label on function key f6 if not f6
424 lab_f7                          lf7     str     l7      -               -       -B-G-*  label on function key f7 if not f7
425 lab_f8                          lf8     str     l8      -               -       -B-G-*  label on function key f8 if not f8
426 lab_f9                          lf9     str     l9      -               -       -B-G-*  label on function key f9 if not f9
427 meta_off                        rmm     str     mo      -               -       YB-G-*  turn off meta mode
428 meta_on                         smm     str     mm      -               -       YB-G-*  turn on meta mode (8th-bit on)
429 newline                         nel     str     nw      -               -       YB-G-*  newline (behave like cr followed by lf)
430 pad_char                        pad     str     pc      -               -       YBCGE   padding char (instead of null)
431 parm_dch                        dch     str     DC      -               -       YB-GE   delete #1 characters (P*)
432 parm_delete_line                dl      str     DL      -               -       YBCGE   delete #1 lines (P*)
433 parm_down_cursor                cud     str     DO      -               -       YBCGE   down #1 lines (P*)
434 parm_ich                        ich     str     IC      -               -       YB-GE   insert #1 characters (P*)
435 parm_index                      indn    str     SF      -               -       YBCG-   scroll forward #1 lines (P)
436 parm_insert_line                il      str     AL      -               -       YBCGE   insert #1 lines (P*)
437 parm_left_cursor                cub     str     LE      -               -       YBCGE   move #1 characters to the left (P)
438 parm_right_cursor               cuf     str     RI      -               -       YBCGE   move #1 characters to the right (P*)
439 parm_rindex                     rin     str     SR      -               -       YBCG-   scroll back #1 lines (P)
440 parm_up_cursor                  cuu     str     UP      -               -       YBCGE   up #1 lines (P*)
441 pkey_key                        pfkey   str     pk      -               -       -B---   program function key #1 to type string #2
442 pkey_local                      pfloc   str     pl      -               -       -B---   program function key #1 to execute string #2
443 pkey_xmit                       pfx     str     px      -               -       -B---   program function key #1 to transmit string #2
444 print_screen                    mc0     str     ps      -               -       -B-G-*  print contents of screen
445 prtr_off                        mc4     str     pf      -               -       -B-G-*  turn off printer
446 prtr_on                         mc5     str     po      -               -       -B-G-*  turn on printer
447 repeat_char                     rep     str     rp      -               -       YB-GE   repeat char #1 #2 times (P*)
448 reset_1string                   rs1     str     r1      -               -       -B---   reset string
449 reset_2string                   rs2     str     r2      -               -       -B---   reset string
450 reset_3string                   rs3     str     r3      -               -       -B---   reset string
451 reset_file                      rf      str     rf      -               -       -B---   name of reset file
452 restore_cursor                  rc      str     rc      -               -       YBCG-   restore cursor to position of last save_cursor
453 row_address                     vpa     str     cv      -               -       -B-GE*  vertical position #1 absolute (P)
454 save_cursor                     sc      str     sc      -               -       YBCG-   save current cursor position (P)
455 scroll_forward                  ind     str     sf      -               -       YBCGE   scroll text up (P)
456 scroll_reverse                  ri      str     sr      -               -       YBCGE   scroll text down (P)
457 set_attributes                  sgr     str     sa      -               -       YB-G-   define video attributes #1-#9 (PG9)
458 set_tab                         hts     str     st      -               -       YB-G-   set a tab in every row, current columns
459 set_window                      wind    str     wi      -               -       -B-GE   current window is lines #1-#2 cols #3-#4
460 tab                             ht      str     ta      -               -       YBCGE   tab to next 8-space hardware tab stop
461 to_status_line                  tsl     str     ts      -               -       YB-G-   move to status line, column #1
462 underline_char                  uc      str     uc      -               -       YBCG-   underline char and move past it
463 up_half_line                    hu      str     hu      -               -       YB-G-   half a line up
464 init_prog                       iprog   str     iP      -               -       -B---   path name of program for initialization
465 key_a1                          ka1     str     K1      KEY_A1          0534    YB-GE   upper left of keypad
466 key_a3                          ka3     str     K3      KEY_A3          0535    YB-GE   upper right of keypad
467 key_b2                          kb2     str     K2      KEY_B2          0536    YB-GE   center of keypad
468 key_c1                          kc1     str     K4      KEY_C1          0537    YB-GE   lower left of keypad
469 key_c3                          kc3     str     K5      KEY_C3          0540    YB-GE   lower right of keypad
470 prtr_non                        mc5p    str     pO      -               -       -B-G-*  turn on printer for #1 bytes
471 #
472 # SVr1 capabilities stop here.  IBM's version of terminfo is the same as
473 # SVr4 up to this point, but has a different set afterwards.
474 #
475 char_padding                    rmp     str     rP      -               -       -----   like ip but when in insert mode
476 acs_chars                       acsc    str     ac      -               -       -----   graphics charset pairs, based on vt100
477 plab_norm                       pln     str     pn      -               -       -----   program label #1 to show string #2
478 key_btab                        kcbt    str     kB      KEY_BTAB        0541    -----   back-tab key
479 enter_xon_mode                  smxon   str     SX      -               -       -----   turn on xon/xoff handshaking
480 exit_xon_mode                   rmxon   str     RX      -               -       -----   turn off xon/xoff handshaking
481 enter_am_mode                   smam    str     SA      -               -       -----   turn on automatic margins
482 exit_am_mode                    rmam    str     RA      -               -       -----   turn off automatic margins
483 xon_character                   xonc    str     XN      -               -       -----   XON character
484 xoff_character                  xoffc   str     XF      -               -       -----   XOFF character
485 ena_acs                         enacs   str     eA      -               -       -----   enable alternate char set
486 label_on                        smln    str     LO      -               -       -----   turn on soft labels
487 label_off                       rmln    str     LF      -               -       -----   turn off soft labels
488 key_beg                         kbeg    str     @1      KEY_BEG         0542    -----   begin key
489 key_cancel                      kcan    str     @2      KEY_CANCEL      0543    -----   cancel key
490 key_close                       kclo    str     @3      KEY_CLOSE       0544    -----   close key
491 key_command                     kcmd    str     @4      KEY_COMMAND     0545    -----   command key
492 key_copy                        kcpy    str     @5      KEY_COPY        0546    -----   copy key
493 key_create                      kcrt    str     @6      KEY_CREATE      0547    -----   create key
494 key_end                         kend    str     @7      KEY_END         0550    -----   end key
495 key_enter                       kent    str     @8      KEY_ENTER       0527    -----   enter/send key
496 key_exit                        kext    str     @9      KEY_EXIT        0551    -----   exit key
497 key_find                        kfnd    str     @0      KEY_FIND        0552    -----   find key
498 key_help                        khlp    str     %1      KEY_HELP        0553    -----   help key
499 key_mark                        kmrk    str     %2      KEY_MARK        0554    -----   mark key
500 key_message                     kmsg    str     %3      KEY_MESSAGE     0555    -----   message key
501 key_move                        kmov    str     %4      KEY_MOVE        0556    -----   move key
502 key_next                        knxt    str     %5      KEY_NEXT        0557    -----   next key
503 key_open                        kopn    str     %6      KEY_OPEN        0560    -----   open key
504 key_options                     kopt    str     %7      KEY_OPTIONS     0561    -----   options key
505 key_previous                    kprv    str     %8      KEY_PREVIOUS    0562    -----   previous key
506 key_print                       kprt    str     %9      KEY_PRINT       0532    -----   print key
507 key_redo                        krdo    str     %0      KEY_REDO        0563    -----   redo key
508 key_reference                   kref    str     &1      KEY_REFERENCE   0564    -----   reference key
509 key_refresh                     krfr    str     &2      KEY_REFRESH     0565    -----   refresh key
510 key_replace                     krpl    str     &3      KEY_REPLACE     0566    -----   replace key
511 key_restart                     krst    str     &4      KEY_RESTART     0567    -----   restart key
512 key_resume                      kres    str     &5      KEY_RESUME      0570    -----   resume key
513 key_save                        ksav    str     &6      KEY_SAVE        0571    -----   save key
514 key_suspend                     kspd    str     &7      KEY_SUSPEND     0627    -----   suspend key
515 key_undo                        kund    str     &8      KEY_UNDO        0630    -----   undo key
516 key_sbeg                        kBEG    str     &9      KEY_SBEG        0572    -----   shifted begin key
517 key_scancel                     kCAN    str     &0      KEY_SCANCEL     0573    -----   shifted cancel key
518 key_scommand                    kCMD    str     *1      KEY_SCOMMAND    0574    -----   shifted command key
519 key_scopy                       kCPY    str     *2      KEY_SCOPY       0575    -----   shifted copy key
520 key_screate                     kCRT    str     *3      KEY_SCREATE     0576    -----   shifted create key
521 key_sdc                         kDC     str     *4      KEY_SDC         0577    -----   shifted delete-character key
522 key_sdl                         kDL     str     *5      KEY_SDL         0600    -----   shifted delete-line key
523 key_select                      kslt    str     *6      KEY_SELECT      0601    -----   select key
524 key_send                        kEND    str     *7      KEY_SEND        0602    -----   shifted end key
525 key_seol                        kEOL    str     *8      KEY_SEOL        0603    -----   shifted clear-to-end-of-line key
526 key_sexit                       kEXT    str     *9      KEY_SEXIT       0604    -----   shifted exit key
527 key_sfind                       kFND    str     *0      KEY_SFIND       0605    -----   shifted find key
528 key_shelp                       kHLP    str     #1      KEY_SHELP       0606    -----   shifted help key
529 key_shome                       kHOM    str     #2      KEY_SHOME       0607    -----   shifted home key
530 key_sic                         kIC     str     #3      KEY_SIC         0610    -----   shifted insert-character key
531 key_sleft                       kLFT    str     #4      KEY_SLEFT       0611    -----   shifted left-arrow key
532 key_smessage                    kMSG    str     %a      KEY_SMESSAGE    0612    -----   shifted message key
533 key_smove                       kMOV    str     %b      KEY_SMOVE       0613    -----   shifted move key
534 key_snext                       kNXT    str     %c      KEY_SNEXT       0614    -----   shifted next key
535 key_soptions                    kOPT    str     %d      KEY_SOPTIONS    0615    -----   shifted options key
536 key_sprevious                   kPRV    str     %e      KEY_SPREVIOUS   0616    -----   shifted previous key
537 key_sprint                      kPRT    str     %f      KEY_SPRINT      0617    -----   shifted print key
538 key_sredo                       kRDO    str     %g      KEY_SREDO       0620    -----   shifted redo key
539 key_sreplace                    kRPL    str     %h      KEY_SREPLACE    0621    -----   shifted replace key
540 key_sright                      kRIT    str     %i      KEY_SRIGHT      0622    -----   shifted right-arrow key
541 key_srsume                      kRES    str     %j      KEY_SRSUME      0623    -----   shifted resume key
542 key_ssave                       kSAV    str     !1      KEY_SSAVE       0624    -----   shifted save key
543 key_ssuspend                    kSPD    str     !2      KEY_SSUSPEND    0625    -----   shifted suspend key
544 key_sundo                       kUND    str     !3      KEY_SUNDO       0626    -----   shifted undo key
545 req_for_input                   rfi     str     RF      -               -       -----   send next input char (for ptys)
546 key_f11                         kf11    str     F1      KEY_F(11)       -       ----E   F11 function key
547 key_f12                         kf12    str     F2      KEY_F(12)       -       ----E   F12 function key
548 key_f13                         kf13    str     F3      KEY_F(13)       -       ----E   F13 function key
549 key_f14                         kf14    str     F4      KEY_F(14)       -       ----E   F14 function key
550 key_f15                         kf15    str     F5      KEY_F(15)       -       ----E   F15 function key
551 key_f16                         kf16    str     F6      KEY_F(16)       -       ----E   F16 function key
552 key_f17                         kf17    str     F7      KEY_F(17)       -       ----E   F17 function key
553 key_f18                         kf18    str     F8      KEY_F(18)       -       ----E   F18 function key
554 key_f19                         kf19    str     F9      KEY_F(19)       -       ----E   F19 function key
555 key_f20                         kf20    str     FA      KEY_F(20)       -       ----E   F20 function key
556 key_f21                         kf21    str     FB      KEY_F(21)       -       ----E   F21 function key
557 key_f22                         kf22    str     FC      KEY_F(22)       -       ----E   F22 function key
558 key_f23                         kf23    str     FD      KEY_F(23)       -       ----E   F23 function key
559 key_f24                         kf24    str     FE      KEY_F(24)       -       ----E   F24 function key
560 key_f25                         kf25    str     FF      KEY_F(25)       -       ----E   F25 function key
561 key_f26                         kf26    str     FG      KEY_F(26)       -       ----E   F26 function key
562 key_f27                         kf27    str     FH      KEY_F(27)       -       ----E   F27 function key
563 key_f28                         kf28    str     FI      KEY_F(28)       -       ----E   F28 function key
564 key_f29                         kf29    str     FJ      KEY_F(29)       -       ----E   F29 function key
565 key_f30                         kf30    str     FK      KEY_F(30)       -       ----E   F30 function key
566 key_f31                         kf31    str     FL      KEY_F(31)       -       ----E   F31 function key
567 key_f32                         kf32    str     FM      KEY_F(32)       -       ----E   F32 function key
568 key_f33                         kf33    str     FN      KEY_F(33)       -       ----E   F33 function key
569 key_f34                         kf34    str     FO      KEY_F(34)       -       ----E   F34 function key
570 key_f35                         kf35    str     FP      KEY_F(35)       -       ----E   F35 function key
571 key_f36                         kf36    str     FQ      KEY_F(36)       -       ----E   F36 function key
572 key_f37                         kf37    str     FR      KEY_F(37)       -       ----E   F37 function key
573 key_f38                         kf38    str     FS      KEY_F(38)       -       ----E   F38 function key
574 key_f39                         kf39    str     FT      KEY_F(39)       -       ----E   F39 function key
575 key_f40                         kf40    str     FU      KEY_F(40)       -       ----E   F40 function key
576 key_f41                         kf41    str     FV      KEY_F(41)       -       ----E   F41 function key
577 key_f42                         kf42    str     FW      KEY_F(42)       -       ----E   F42 function key
578 key_f43                         kf43    str     FX      KEY_F(43)       -       ----E   F43 function key
579 key_f44                         kf44    str     FY      KEY_F(44)       -       ----E   F44 function key
580 key_f45                         kf45    str     FZ      KEY_F(45)       -       ----E   F45 function key
581 key_f46                         kf46    str     Fa      KEY_F(46)       -       ----E   F46 function key
582 key_f47                         kf47    str     Fb      KEY_F(47)       -       ----E   F47 function key
583 key_f48                         kf48    str     Fc      KEY_F(48)       -       ----E   F48 function key
584 key_f49                         kf49    str     Fd      KEY_F(49)       -       ----E   F49 function key
585 key_f50                         kf50    str     Fe      KEY_F(50)       -       ----E   F50 function key
586 key_f51                         kf51    str     Ff      KEY_F(51)       -       ----E   F51 function key
587 key_f52                         kf52    str     Fg      KEY_F(52)       -       ----E   F52 function key
588 key_f53                         kf53    str     Fh      KEY_F(53)       -       ----E   F53 function key
589 key_f54                         kf54    str     Fi      KEY_F(54)       -       ----E   F54 function key
590 key_f55                         kf55    str     Fj      KEY_F(55)       -       ----E   F55 function key
591 key_f56                         kf56    str     Fk      KEY_F(56)       -       ----E   F56 function key
592 key_f57                         kf57    str     Fl      KEY_F(57)       -       ----E   F57 function key
593 key_f58                         kf58    str     Fm      KEY_F(58)       -       ----E   F58 function key
594 key_f59                         kf59    str     Fn      KEY_F(59)       -       ----E   F59 function key
595 key_f60                         kf60    str     Fo      KEY_F(60)       -       ----E   F60 function key
596 key_f61                         kf61    str     Fp      KEY_F(61)       -       ----E   F61 function key
597 key_f62                         kf62    str     Fq      KEY_F(62)       -       ----E   F62 function key
598 key_f63                         kf63    str     Fr      KEY_F(63)       -       ----E   F63 function key
599 clr_bol                         el1     str     cb      -               -       -----   Clear to beginning of line
600 clear_margins                   mgc     str     MC      -               -       -----   clear right and left soft margins
601 set_left_margin                 smgl    str     ML      -               -       -----   set left soft margin at current column.  See smgl. (ML is not in BSD termcap).
602 set_right_margin                smgr    str     MR      -               -       -----   set right soft margin at current column
603 label_format                    fln     str     Lf      -               -       -----   label format
604 set_clock                       sclk    str     SC      -               -       -----   set clock, #1 hrs #2 mins #3 secs
605 display_clock                   dclk    str     DK      -               -       -----   display clock
606 remove_clock                    rmclk   str     RC      -               -       -----   remove clock
607 create_window                   cwin    str     CW      -               -       -----   define a window #1 from #2,#3 to #4,#5
608 goto_window                     wingo   str     WG      -               -       -----   go to window #1
609 hangup                          hup     str     HU      -               -       -----   hang-up phone
610 dial_phone                      dial    str     DI      -               -       -----   dial number #1
611 quick_dial                      qdial   str     QD      -               -       -----   dial number #1 without checking
612 tone                            tone    str     TO      -               -       -----   select touch tone dialing
613 pulse                           pulse   str     PU      -               -       -----   select pulse dialing
614 flash_hook                      hook    str     fh      -               -       -----   flash switch hook
615 fixed_pause                     pause   str     PA      -               -       -----   pause for 2-3 seconds
616 wait_tone                       wait    str     WA      -               -       -----   wait for dial-tone
617 user0                           u0      str     u0      -               -       -----   User string #0
618 user1                           u1      str     u1      -               -       -----   User string #1
619 user2                           u2      str     u2      -               -       -----   User string #2
620 user3                           u3      str     u3      -               -       -----   User string #3
621 user4                           u4      str     u4      -               -       -----   User string #4
622 user5                           u5      str     u5      -               -       -----   User string #5
623 user6                           u6      str     u6      -               -       -----   User string #6
624 user7                           u7      str     u7      -               -       -----   User string #7
625 user8                           u8      str     u8      -               -       -----   User string #8
626 user9                           u9      str     u9      -               -       -----   User string #9
627 #
628 # NCurses extensions for keys accessible on most PC consoles
629 #
630 key_sup                         kUP     str     !5      KEY_SUP         +       -----   shifted up-arrow key
631 key_sdown                       kDOWN   str     !6      KEY_SDOWN       +       -----   shifted down-arrow key
632 key_sbackspace                  kBS     str     !7      KEY_SBACKSPACE  +       -----   shifted backspace key
633 key_c_delete                    kcdelete str    !8      KEY_C_DELETE    +       -----   control- delete-character key
634 key_c_end                       kcend   str     !9      KEY_C_END       +       -----   control- end key
635 key_c_home                      kchom   str     !0      KEY_C_HOME      +       -----   control- home key
636 key_c_insert                    kcinsert str    !_      KEY_C_INSERT    +       -----   control- insert-character key
637 key_c_left                      kclft   str     %k      KEY_C_LEFT      +       -----   control- left-arrow key
638 key_c_next                      kcnxt   str     %l      KEY_C_NEXT      +       -----   control- next key
639 key_c_previous                  kcprv   str     %m      KEY_C_PREVIOUS  +       -----   control- previous key
640 key_c_print                     kcprt   str     %n      KEY_C_PRINT     +       -----   control- print key
641 key_c_right                     kcrit   str     %o      KEY_C_RIGHT     +       -----   control- right-arrow key
642 key_c_backspace                 kcbs    str     %p      KEY_C_BACKSPACE +       -----   control- backspace key
643 key_c_up                        kcup    str     %q      KEY_C_UP        +       -----   control- up-arrow key
644 key_c_down                      kcdown  str     %r      KEY_C_DOWN      +       -----   control- down-arrow key
645 key_a_delete                    kadelete str    %s      KEY_A_DELETE    +       -----   alt- delete-character key
646 key_a_end                       kaend   str     %t      KEY_A_END       +       -----   alt- end key
647 key_a_home                      kahom   str     %u      KEY_A_HOME      +       -----   alt- home key
648 key_a_insert                    kainsert str    %v      KEY_A_INSERT    +       -----   alt- insert-character key
649 key_a_left                      kalft   str     %w      KEY_A_LEFT      +       -----   alt- left-arrow key
650 key_a_next                      kanxt   str     %x      KEY_A_NEXT      +       -----   alt- next key
651 key_a_previous                  kaprv   str     %y      KEY_A_PREVIOUS  +       -----   alt- previous key
652 key_a_print                     kaprt   str     %z      KEY_A_PRINT     +       -----   alt- print key
653 key_a_right                     karit   str     %!      KEY_A_RIGHT     +       -----   alt- right-arrow key
654 key_a_backspace                 kabs    str     %@      KEY_A_BACKSPACE +       -----   alt- backspace key
655 key_a_up                        kaup    str     %#      KEY_A_UP        +       -----   alt- up-arrow key
656 key_a_down                      kadown  str     %$      KEY_A_DOWN      +       -----   alt- down-arrow key
657 key_a_a                         kaa     str     $a      KEY_A_A         +       -----   alt- a key
658 key_a_b                         kab     str     $b      KEY_A_B         +       -----   alt- b key
659 key_a_c                         kac     str     $c      KEY_A_C         +       -----   alt- c key
660 key_a_d                         kad     str     $d      KEY_A_D         +       -----   alt- d key
661 key_a_e                         kae     str     $e      KEY_A_E         +       -----   alt- e key
662 key_a_f                         kaf     str     $f      KEY_A_F         +       -----   alt- f key
663 key_a_g                         kag     str     $g      KEY_A_G         +       -----   alt- g key
664 key_a_h                         kah     str     $h      KEY_A_H         +       -----   alt- h key
665 key_a_i                         kai     str     $i      KEY_A_I         +       -----   alt- i key
666 key_a_j                         kaj     str     $j      KEY_A_J         +       -----   alt- j key
667 key_a_k                         kak     str     $k      KEY_A_K         +       -----   alt- k key
668 key_a_l                         kal     str     $l      KEY_A_L         +       -----   alt- l key
669 key_a_m                         kam     str     $m      KEY_A_M         +       -----   alt- m key
670 key_a_n                         kan     str     $n      KEY_A_N         +       -----   alt- n key
671 key_a_o                         kao     str     $o      KEY_A_O         +       -----   alt- o key
672 key_a_p                         kap     str     $p      KEY_A_P         +       -----   alt- p key
673 key_a_q                         kaq     str     $q      KEY_A_Q         +       -----   alt- q key
674 key_a_r                         kar     str     $r      KEY_A_R         +       -----   alt- r key
675 key_a_s                         kas     str     $s      KEY_A_S         +       -----   alt- s key
676 key_a_t                         kat     str     $t      KEY_A_T         +       -----   alt- t key
677 key_a_u                         kau     str     $u      KEY_A_U         +       -----   alt- u key
678 key_a_v                         kav     str     $v      KEY_A_V         +       -----   alt- v key
679 key_a_w                         kaw     str     $w      KEY_A_W         +       -----   alt- w key
680 key_a_x                         kax     str     $x      KEY_A_X         +       -----   alt- x key
681 key_a_y                         kay     str     $y      KEY_A_Y         +       -----   alt- y key
682 key_a_z                         kaz     str     $z      KEY_A_Z         +       -----   alt- z key
683 key_a_0                         ka_0    str     $0      KEY_A_0         +       -----   alt- 0 key
684 key_a_1                         ka_1    str     $1      KEY_A_1         +       -----   alt- 1 key
685 key_a_2                         ka_2    str     $2      KEY_A_2         +       -----   alt- 2 key
686 key_a_3                         ka_3    str     $3      KEY_A_3         +       -----   alt- 3 key
687 key_a_4                         ka_4    str     $4      KEY_A_4         +       -----   alt- 4 key
688 key_a_5                         ka_5    str     $5      KEY_A_5         +       -----   alt- 5 key
689 key_a_6                         ka_6    str     $6      KEY_A_6         +       -----   alt- 6 key
690 key_a_7                         ka_7    str     $7      KEY_A_7         +       -----   alt- 7 key
691 key_a_8                         ka_8    str     $8      KEY_A_8         +       -----   alt- 8 key
692 key_a_9                         ka_9    str     $9      KEY_A_9         +       -----   alt- 9 key
693 key_a_backtick                  ka_bt   str     $`      KEY_A_BACKTICK  +       -----   alt- ` key
694 key_a_under                     ka_und  str     $_      KEY_A_UNDER     +       -----   alt- _ key
695 key_a_equals                    ka_eq   str     $=      KEY_A_EQUALS    +       -----   alt- = key
696 key_a_bar                       ka_bsl  str     $|      KEY_A_BAR       +       -----   alt- | key
697 key_a_lbracker                  ka_lbr  str     $[      KEY_A_LBRACKER  +       -----   alt- [ key
698 key_a_rbracker                  ka_rbr  str     $]      KEY_A_RBRACKER  +       -----   alt- ] key
699 key_a_semi                      ka_semi str     $;      KEY_A_SEMI      +       -----   alt- ; key
700 key_a_tick                      ka_tick str     $'      KEY_A_TICK      +       -----   alt- ' key
701 key_a_comma                     ka_com  str     $,      KEY_A_COMMA     +       -----   alt- , key
702 key_a_dot                       ka_dot  str     $.      KEY_A_DOT       +       -----   alt- . key
703 key_a_question                  ka_sla  str     $?      KEY_A_QUESTION  +       -----   alt- ? key
704 key_a_divide                    ka_div  str     $/      KEY_A_DIVIDE    +       -----   alt- keypad / key
705 key_a_multiply                  ka_mul  str     $*      KEY_A_MULTIPLY  +       -----   alt- keypad * key
706 key_a_add                       ka_add  str     $+      KEY_A_ADD       +       -----   alt- keypad + key
707 key_a_subtract                  ka_sub  str     $-      KEY_A_SUBTRACT  +       -----   alt- keypad - key
708 key_a_kenter                    ka_kent str     $<      KEY_A_KENTER    +       -----   alt- keypad enter key
709 key_a_enter                     ka_ent  str     $>      KEY_A_ENTER     +       -----   alt- enter key
710 key_c_at                        kcat    str     %%      KEY_C_AT        +       -----   control- @ key
711 key_c_divide                    kcdiv   str     %/      KEY_C_DIVIDE    +       -----   control- keypad / key
712 key_c_multiply                  kcmul   str     %*      KEY_C_MULTIPLY  +       -----   control- keypad * key
713 key_c_add                       kcadd   str     %+      KEY_C_ADD       +       -----   control- keypad + key
714 key_c_subtract                  kcsub   str     %-      KEY_C_SUBTRACT  +       -----   control- keypad - key
715 #
716 # SVr4 added these capabilities to support color
717 #
718 orig_pair                       op      str     op      -               -       -----   Set default pair to its original value
719 orig_colors                     oc      str     oc      -               -       -----   Set all color pairs to the original ones
720 initialize_color                initc   str     Ic      -               -       -----   initialize color #1 to (#2,#3,#4)
721 initialize_pair                 initp   str     Ip      -               -       -----   Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
722 set_color_pair                  scp     str     sp      -               -       -----   Set current color pair to #1
723 set_foreground                  setf    str     Sf      -               -       -----   Set foreground color #1
724 set_background                  setb    str     Sb      -               -       -----   Set background color #1
725 #
726 # SVr4 added these capabilities to support printers
727 #
728 change_char_pitch               cpi     str     ZA      -               -       -----   Change number of characters per inch to #1
729 change_line_pitch               lpi     str     ZB      -               -       -----   Change number of lines per inch to #1
730 change_res_horz                 chr     str     ZC      -               -       -----   Change horizontal resolution to #1
731 change_res_vert                 cvr     str     ZD      -               -       -----   Change vertical resolution to #1
732 define_char                     defc    str     ZE      -               -       -----   Define a character #1, #2 dots wide, descender #3
733 enter_doublewide_mode           swidm   str     ZF      -               -       -----   Enter double-wide mode
734 enter_draft_quality             sdrfq   str     ZG      -               -       -----   Enter draft-quality mode
735 enter_italics_mode              sitm    str     ZH      -               -       -----   Enter italic mode
736 enter_leftward_mode             slm     str     ZI      -               -       -----   Start leftward carriage motion
737 enter_micro_mode                smicm   str     ZJ      -               -       -----   Start micro-motion mode
738 enter_near_letter_quality       snlq    str     ZK      -               -       -----   Enter NLQ mode
739 enter_normal_quality            snrmq   str     ZL      -               -       -----   Enter normal-quality mode
740 enter_shadow_mode               sshm    str     ZM      -               -       -----   Enter shadow-print mode
741 enter_subscript_mode            ssubm   str     ZN      -               -       -----   Enter subscript mode
742 enter_superscript_mode          ssupm   str     ZO      -               -       -----   Enter superscript mode
743 enter_upward_mode               sum     str     ZP      -               -       -----   Start upward carriage motion
744 exit_doublewide_mode            rwidm   str     ZQ      -               -       -----   End double-wide mode
745 exit_italics_mode               ritm    str     ZR      -               -       -----   End italic mode
746 exit_leftward_mode              rlm     str     ZS      -               -       -----   End left-motion mode
747 exit_micro_mode                 rmicm   str     ZT      -               -       -----   End micro-motion mode
748 exit_shadow_mode                rshm    str     ZU      -               -       -----   End shadow-print mode
749 exit_subscript_mode             rsubm   str     ZV      -               -       -----   End subscript mode
750 exit_superscript_mode           rsupm   str     ZW      -               -       -----   End superscript mode
751 exit_upward_mode                rum     str     ZX      -               -       -----   End reverse character motion
752 micro_column_address            mhpa    str     ZY      -               -       -----   Like column_address in micro mode
753 micro_down                      mcud1   str     ZZ      -               -       -----   Like cursor_down in micro mode
754 micro_left                      mcub1   str     Za      -               -       -----   Like cursor_left in micro mode
755 micro_right                     mcuf1   str     Zb      -               -       -----   Like cursor_right in micro mode
756 micro_row_address               mvpa    str     Zc      -               -       -----   Like row_address #1 in micro mode
757 micro_up                        mcuu1   str     Zd      -               -       -----   Like cursor_up in micro mode
758 order_of_pins                   porder  str     Ze      -               -       -----   Match software bits to print-head pins
759 parm_down_micro                 mcud    str     Zf      -               -       -----   Like parm_down_cursor in micro mode
760 parm_left_micro                 mcub    str     Zg      -               -       -----   Like parm_left_cursor in micro mode
761 parm_right_micro                mcuf    str     Zh      -               -       -----   Like parm_right_cursor in micro mode
762 parm_up_micro                   mcuu    str     Zi      -               -       -----   Like parm_up_cursor in micro mode
763 select_char_set                 scs     str     Zj      -               -       -----   Select character set, #1
764 set_bottom_margin               smgb    str     Zk      -               -       -----   Set bottom margin at current line
765 set_bottom_margin_parm          smgbp   str     Zl      -               -       -----   Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
766 set_left_margin_parm            smglp   str     Zm      -               -       -----   Set left (right) margin at column #1
767 set_right_margin_parm           smgrp   str     Zn      -               -       -----   Set right margin at column #1
768 set_top_margin                  smgt    str     Zo      -               -       -----   Set top margin at current line
769 set_top_margin_parm             smgtp   str     Zp      -               -       -----   Set top (bottom) margin at row #1
770 start_bit_image                 sbim    str     Zq      -               -       -----   Start printing bit image graphics
771 start_char_set_def              scsd    str     Zr      -               -       -----   Start character set definition #1, with #2 characters in the set
772 stop_bit_image                  rbim    str     Zs      -               -       -----   Stop printing bit image graphics
773 stop_char_set_def               rcsd    str     Zt      -               -       -----   End definition of character set #1
774 subscript_characters            subcs   str     Zu      -               -       -----   List of subscriptable characters
775 superscript_characters          supcs   str     Zv      -               -       -----   List of superscriptable characters
776 these_cause_cr                  docr    str     Zw      -               -       -----   Printing any of these characters causes CR
777 zero_motion                     zerom   str     Zx      -               -       -----   No motion for subsequent character
778 #%.TE
779 #%.ad
780 #%
781 #%The following string capabilities are present in the SVr4.0 term structure,
782 #%but were originally not documented in the man page.
783 #%
784 #%.na
785 #%.TS H
786 #%center expand;
787 #%c l l c
788 #%c l l c
789 #%lw25 lw6 lw2 lw18.
790 #%\fBVariable   Cap-    TCap    Description\fR
791 #%\fBString     name    Code\fR
792 char_set_names                  csnm    str     Zy      -               -       -----   Produce #1'th item from list of character set names
793 key_mouse                       kmous   str     Km      KEY_MOUSE       0631    -----   Mouse event has occurred
794 mouse_info                      minfo   str     Mi      -               -       -----   Mouse status information
795 req_mouse_pos                   reqmp   str     RQ      -               -       -----   Request mouse position
796 get_mouse                       getm    str     Gm      -               -       -----   Curses should get button events, parameter #1 not documented.
797 set_a_foreground                setaf   str     AF      -               -       -----   Set foreground color to #1, using ANSI escape
798 set_a_background                setab   str     AB      -               -       -----   Set background color to #1, using ANSI escape
799 pkey_plab                       pfxl    str     xl      -               -       -----   Program function key #1 to type string #2 and show string #3
800 device_type                     devt    str     dv      -               -       -----   Indicate language/codeset support
801 code_set_init                   csin    str     ci      -               -       -----   Init sequence for multiple codesets
802 set0_des_seq                    s0ds    str     s0      -               -       -----   Shift to codeset 0 (EUC set 0, ASCII)
803 set1_des_seq                    s1ds    str     s1      -               -       -----   Shift to codeset 1
804 set2_des_seq                    s2ds    str     s2      -               -       -----   Shift to codeset 2
805 set3_des_seq                    s3ds    str     s3      -               -       -----   Shift to codeset 3
806 set_lr_margin                   smglr   str     ML      -               -       -----   Set both left and right margins to #1, #2.  (ML is not in BSD termcap).
807 set_tb_margin                   smgtb   str     MT      -               -       -----   Sets both top and bottom margins to #1, #2
808 bit_image_repeat                birep   str     Xy      -               -       -----   Repeat bit image cell #1 #2 times
809 bit_image_newline               binel   str     Zz      -               -       -----   Move to next row of the bit image
810 bit_image_carriage_return       bicr    str     Yv      -               -       -----   Move to beginning of same row
811 color_names                     colornm str     Yw      -               -       -----   Give name for color #1
812 define_bit_image_region         defbi   str     Yx      -               -       -----   Define rectangualar bit image region
813 end_bit_image_region            endbi   str     Yy      -               -       -----   End a bit-image region
814 set_color_band          setcolor        str     Yz      -               -       -----   Change to ribbon color #1
815 set_page_length                 slines  str     YZ      -               -       -----   Set page length to #1 lines
816 #
817 # SVr4 added these capabilities for direct PC-clone support
818 #
819 display_pc_char                 dispc   str     S1      -               -       -----   Display PC character #1
820 enter_pc_charset_mode           smpch   str     S2      -               -       -----   Enter PC character display mode
821 exit_pc_charset_mode            rmpch   str     S3      -               -       -----   Exit PC character display mode
822 enter_scancode_mode             smsc    str     S4      -               -       -----   Enter PC scancode mode
823 exit_scancode_mode              rmsc    str     S5      -               -       -----   Exit PC scancode mode
824 pc_term_options                 pctrm   str     S6      -               -       -----   PC terminal options
825 scancode_escape                 scesc   str     S7      -               -       -----   Escape for scancode emulation
826 alt_scancode_esc                scesa   str     S8      -               -       -----   Alternate escape for scancode emulation
827 #%.TE
828 #%.ad
829 #%
830 #%.in .8i
831 #%The XSI Curses standard added these hardcopy capabilities.
832 #%They were used in some post-4.1 versions of System V curses,
833 #%e.g., Solaris 2.5 and IRIX 6.x.
834 #%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
835 #%According to the XSI Curses standard, they have no termcap names.
836 #%If your compiled terminfo entries use these,
837 #%they may not be binary-compatible with System V terminfo
838 #%entries after SVr4.1; beware!
839 #%
840 #%.na
841 #%.TS H
842 #%center expand;
843 #%c l l c
844 #%c l l c
845 #%lw25 lw6 lw2 lw20.
846 #%\fBVariable   Cap-    TCap    Description\fR
847 #%\fBString     name    Code\fR
848 enter_horizontal_hl_mode        ehhlm   str     Xh      -               -       -----   Enter horizontal highlight mode
849 enter_left_hl_mode              elhlm   str     Xl      -               -       -----   Enter left highlight mode
850 enter_low_hl_mode               elohlm  str     Xo      -               -       -----   Enter low highlight mode
851 enter_right_hl_mode             erhlm   str     Xr      -               -       -----   Enter right highlight mode
852 enter_top_hl_mode               ethlm   str     Xt      -               -       -----   Enter top highlight mode
853 enter_vertical_hl_mode          evhlm   str     Xv      -               -       -----   Enter vertical highlight mode
854 set_a_attributes                sgr1    str     sA      -               -       -----   Define second set of video attributes #1-#6
855 set_pglen_inch                  slength str     YI      -               -       -----   Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
856 #%.TE
857 #%.ad
858 #
859 # The magic token below tells the tic compiler-generator code that all the caps
860 # past it should be ignored (not written out) when dumping terminfo objects. It
861 # also tells the man page table generator not to pass through following lines
862 # This means we can have obsolete capabilities and pseudo-capabilities that are
863 # recognized for termcap or terminfo compilation, but not output.
864 #
865 # %%-STOP-HERE-%%
866 #
867 # Don't move this casually!  In fact, don't move it at all unless you're
868 # either doing it to add System V or XPG4 extensions, or have decided you
869 # don't care about SVr4 binary compatibility.
870 #
871 #############################################################################
872 #
873 # TERMCAP EXTENSION CAPABILITIES
874 #
875 # The capabilities below are either obsolete or extensions on certain systems.
876 # They are not used by SVR4 terminfo.  Some are used by captoinfo to translate
877 # termcap sources; the rest are listed for completeness, and in case somebody
878 # cares about them enough to hack in code that will translate them into
879 # terminfo capabilities.
880 #
881 # The first part of the list is from Ross Ridge's `mytinfo' package
882 # (comp.sources.unix, volume 26); the variable names and terminfo names (as
883 # well as the termcap codes) match his list.
884 #
885 # This group of codes is not marked obsolete in 4.4BSD, but have no direct
886 # terminfo equivalents.  The rs capability is specially translated to terminfo
887 # r2, and vice versa, if an entry does not already have an r2.  Similarly,
888 # i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
889 # The ug capability is thrown away, but assumed to be whatever sg is if the
890 # latter is nonzero and we're dumping in termcap format.
891 #
892 termcap_init2                   OTi2    str     i2      -               -       YB---   secondary initialization string
893 termcap_reset                   OTrs    str     rs      -               -       YB-G-   terminal reset string
894 magic_cookie_glitch_ul          OTug    num     ug      -               -       YBCGE   number of blanks left by ul
895 #
896 # Obsolete termcap capabilities.  Some are used for termcap translation.  The
897 # code uses the 'OT' prefix we put on obsolete capabilities to suppress
898 # printing them in terminfo source dumps of compiled entries.
899 #
900 backspaces_with_bs              OTbs    bool    bs      -               -       YBCGE   uses ^H to move left
901 crt_no_scrolling                OTns    bool    ns      -               -       YBCG-   crt cannot scroll
902 no_correctly_working_cr         OTnc    bool    nc      -               -       YBCG-   no way to go to start of line
903 carriage_return_delay           OTdC    num     dC      -               -       YB-G-   pad needed for CR
904 new_line_delay                  OTdN    num     dN      -               -       YB-G-   pad needed for LF
905 linefeed_if_not_lf              OTnl    str     nl      -               -       YBCGE   use to move down
906 backspace_if_not_bs             OTbc    str     bc      -               -       YBCGE   move left, if not ^H
907 #
908 # GNU termcap library extensions.  The GNU termcap file distributed with
909 # Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
910 # BSD termcap file.  The name clash with terminfo MT is resolved by type
911 # info; MT is converted to km.
912 #
913 gnu_has_meta_key                OTMT    bool    MT      -               -       ----E   has meta key
914 # gnu_tab_width                 OTtw    num     tw      -               -       ----E   tab width in spaces
915 #
916 # GNU termcap *does* include the following extended capability,  Only the
917 # now-obsolete Ann Arbor terminals used it.
918 #
919 # gnu_change_scroll_region      OTcS    str     cS      -               -       ---GE   alternate set scrolling region 
920 #
921 # The following comments describe capnames so ancient that I believe no
922 # software uses them any longer.  Some of these have to go because they
923 # clash with terminfo names in ways that cannot be resolved by type
924 # information.
925 #
926 # These mytinfo codes are not used in the 4.4BSD curses code.  They are
927 # marked obsolete in the 4.4BSD manual pages.
928 #
929 # There is one conflict with terminfo; ma is in both.  This conflict is
930 # resolved by type information.
931 #
932 # The `ko' capability is translated by special code.  It should contain a
933 # comma-separated list of capabilities for which there are corresponding keys.
934 # The `kn' code is accepted but ignored.
935 #
936 # The `ma' capability seems to have been designed to map between the rogue(2)
937 # motion keys (including jkhl) and characters emitted by arrow keys on some
938 # primitive pre-ANSI terminals.  It's so obsolete it's fossilized...
939 #
940 # Here is a description of memory_lock_above and memory_unlock:
941 # "You can 'freeze' data on the screen by turning on Memory Lock in a line of
942 # text.  All lines above the cursor's current line become locked in place on
943 # the screen.  Then enter data normally.  When the screen fills up, any
944 # further data entered forces the first line of unfrozen line text to scroll
945 # under the frozen data.  Lines scrolled off the screen are inserted into
946 # memory immediately preceding the first frozen line." (from the HP 700/96
947 # User's manual).  VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
948 #
949 # Applications that use terminfo are supposed to behave as though xr is
950 # always true.
951 #
952 linefeed_is_newline             OTNL    bool    NL      -               -       YB---   move down with \n
953 # even_parity                   OTEP    bool    EP      -               -       -B---   terminal requires even parity
954 # odd_parity                    OTOP    bool    OP      -               -       -B---   terminal requires odd parity
955 # half_duplex                   OTHD    bool    HD      -               -       -B---   terminal is half-duplex
956 # lower_case_only               OTLC    bool    LC      -               -       -B---   terminal has only lower case
957 # upper_case_only               OTUC    bool    UC      -               -       -B---   terminal has only upper case
958 backspace_delay                 OTdB    num     dB      -               -       YB-G-   padding required for ^H
959 # form_feed_delay               OTdF    num     dF      -               -       -B-G-   padding required for ^L
960 horizontal_tab_delay            OTdT    num     dT      -               -       YB-G-   padding required for ^I
961 # vertical_tab_delay            OTdV    num     dV      -               -       -B---   padding required for ^V
962 number_of_function_keys         OTkn    num     kn      -               -       -B-G-   count of function keys
963 other_non_function_keys         OTko    str     ko      -               -       -B-G-   list of self-mapped keycaps
964 arrow_key_map                   OTma    str     ma      -               -       YBC--   map arrow keys rogue(1) motion keys
965 # memory_lock_above             OTml    str     ml      -               -       -B---   lock visible screen memory above the current line
966 # memory_unlock                 OTmu    str     mu      -               -       -B---   unlock visible screen memory above the current line
967 has_hardware_tabs               OTpt    bool    pt      -               -       YB---   has 8-char tabs invoked with ^I
968 return_does_clr_eol             OTxr    bool    xr      -               -       YB---   return clears the line
969 # tek_4025_insert_line          OTxx    bool    xx      -               -       -BC--   Tektronix 4025 insert-line glitch
970 #
971 # mytinfo described this as a termcap capability, but it's not listed in the
972 # 4.4BSD man pages, and not found in the 4.4BSD termcap file.  The ncurses
973 # package, like System V, behaves as though it is always true.
974 #
975 # rind_only_at_top              OTxq    bool    xq      -               -       -----   reverse index only works from top line
976 #
977 # University of Waterloo termcap extensions (as described in mytinfo).
978 # The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
979 # be resolved by a type check.  The descriptions are guesses from what was
980 # in the mytinfo tables. 
981 #
982 # key_interrupt_char            OTki    str     ki      -               -       -----   string set by interrupt key (?)
983 # key_kill_char                 OTkk    str     kk      -               -       -----   string set by kill key (?)
984 # key_suspend_char              OTkz    str     kz      -               -       -----   string set by suspend key (?)
985 # initialization_messy          OTxc    bool    xc      -               -       -----   initialization leaves garbage on the screen (?)
986 # ind_at_bottom_does_cr         OTxl    bool    xl      -               -       -----   index does a carriage return
987 #
988 # Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
989 # SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
990 # check.
991 #
992 # scroll_left                   OTsl1   str     Sl      -               -       -----   scroll screen leftward
993 # scroll_right                  OTsr1   str     Sr      -               -       -----   scroll screen rightward
994 # parm_scroll_left              OTsl    str     SL      -               -       -----   scroll screen leftward #1 characters
995 # parm_scroll_right             OTsr    str     SR      -               -       -----   scroll screen rightward #1 characters
996 #
997 # The mytinfo capabilities end here.
998 #
999 # XENIX extensions:
1000 #
1001 # Xenix defined its own set of forms-drawing capabilities:
1002 #
1003 # cap   IBM ASCII       description             ACS             ASCII
1004 # ---   -----------     --------------------    -------------   ------
1005 # G1    191 \277 M-?    single upper right      ACS_URCORNER
1006 # G2    218 \332 M-Z    single upper left       ACS_ULCORNER
1007 # G3    192 \300 M-@    single lower left       ACS_LLCORNER
1008 # G4    217 \331 M-Y    single lower right      ACS_LRCORNER
1009 # G5    187 \273 M-;    double upper right
1010 # G6    201 \311 M-I    double upper left
1011 # G7    200 \310 M-H    double lower left
1012 # G8    188 \274 M-<    double lower right
1013 # GC    197 \305 M-E    single intersection     ACS_PLUS        _ _
1014 # GD    194 \302 M-B    single down-tick        ACS_TTEE         |
1015 # GH    196 \304 M-D    single horizontal line  ACS_HLINE
1016 # GL    180 \264 M-4    single left tick        ACS_RTEE        -|
1017 # GR    195 \303 M-C    single right tick       ACS_LTEE        |-
1018 # GU    193 \301 M-A    single up tick          ACS_BTEE        _|_
1019 # GV    179 \263 M-3    single vertical line    ACS_VLINE
1020 # Gc    206 \316 M-N    double intersection
1021 # Gd    203 \313 M-K    double down tick
1022 # Gh    205 \315 M-M    double horizontal line
1023 # Gl    204 \204 M-L    double left tick
1024 # Gr    185 \271 M-9    double right tick
1025 # Gu    202 \312 M-J    double up tick
1026 # Gv    186 \272 M-:    double vertical line
1027 #
1028 # The compiler will translate the single-line caps and discard the others
1029 # (via IGNORE aliases further down).  We don't want to do normal pad 
1030 # translation on these, they're often single-character printable ASCII
1031 # strings that happen to be numerics.  There's awk code in parametrized.sh
1032 # that detects the acs_ prefix and uses it to suppress pad translation.
1033 # These terminfo names are invented.
1034 #
1035 acs_ulcorner                    OTG2    str     G2      -               -       -----   single upper left
1036 acs_llcorner                    OTG3    str     G3      -               -       -----   single lower left
1037 acs_urcorner                    OTG1    str     G1      -               -       -----   single upper right
1038 acs_lrcorner                    OTG4    str     G4      -               -       -----   single lower right
1039 acs_ltee                        OTGR    str     GR      -               -       -----   tee pointing right
1040 acs_rtee                        OTGL    str     GL      -               -       -----   tee pointing left
1041 acs_btee                        OTGU    str     GU      -               -       -----   tee pointing up
1042 acs_ttee                        OTGD    str     GD      -               -       -----   tee pointing down
1043 acs_hline                       OTGH    str     GH      -               -       -----   single horizontal line
1044 acs_vline                       OTGV    str     GV      -               -       -----   single vertical line
1045 acs_plus                        OTGC    str     GC      -               -       -----   single intersection
1046 #
1047 #############################################################################
1048 #
1049 # TERMINFO EXTENSION CAPABILITIES
1050 #
1051 # This section is almost all comments.  What it's mainly for is to describe
1052 # what capabilities need to be squeezed out to get down to the XSI Curses
1053 # standard set.  They are flagged with K.
1054 #
1055 # HP extensions
1056 #
1057 # These extensions follow ptr_non (replacing everything after it) in HP
1058 # terminfo files.  Except for memory_lock and memory_unlock, they are
1059 # functionally identical to SVr4 extensions, but they make the binary format
1060 # different.  Grrr....
1061 #
1062 memory_lock                     meml    str     ml      -               -       ----K   lock memory above cursor
1063 memory_unlock                   memu    str     mu      -               -       ----K   unlock memory
1064 #plab_norm                      pln     str     pn      -               -       -----   program label #1 to show string #2
1065 #label_on                       smln    str     LO      -               -       -----   turn on soft labels
1066 #label_off                      rmln    str     LF      -               -       -----   turn off soft labels
1067 #key_f11                        kf11    str     F1      -               -       -----   F11 function key
1068 #key_f12                        kf12    str     F2      -               -       -----   F12 function key
1069 #key_f13                        kf13    str     F3      -               -       -----   F13 function key
1070 #key_f14                        kf14    str     F4      -               -       -----   F14 function key
1071 #key_f15                        kf15    str     F5      -               -       -----   F15 function key
1072 #key_f16                        kf16    str     F6      -               -       -----   F16 function key
1073 #key_f17                        kf17    str     F7      -               -       -----   F17 function key
1074 #key_f18                        kf18    str     F8      -               -       -----   F18 function key
1075 #key_f19                        kf19    str     F9      -               -       -----   F19 function key
1076 #key_f20                        kf20    str     FA      -               -       -----   F20 function key
1077 #key_f21                        kf21    str     FB      -               -       -----   F21 function key
1078 #key_f22                        kf22    str     FC      -               -       -----   F22 function key
1079 #key_f23                        kf23    str     FD      -               -       -----   F23 function key
1080 #key_f24                        kf24    str     FE      -               -       -----   F24 function key
1081 #key_f25                        kf25    str     FF      -               -       -----   F25 function key
1082 #key_f26                        kf26    str     FG      -               -       -----   F26 function key
1083 #key_f27                        kf27    str     FH      -               -       -----   F27 function key
1084 #key_f28                        kf28    str     FI      -               -       -----   F28 function key
1085 #key_f29                        kf29    str     FJ      -               -       -----   F29 function key
1086 #key_f30                        kf30    str     FK      -               -       -----   F30 function key
1087 #key_f31                        kf31    str     FL      -               -       -----   F31 function key
1088 #key_f32                        kf32    str     FM      -               -       -----   F32 function key
1089 #key_f33                        kf33    str     FN      -               -       -----   F33 function key
1090 #key_f34                        kf34    str     FO      -               -       -----   F34 function key
1091 #key_f35                        kf35    str     FP      -               -       -----   F35 function key
1092 #key_f36                        kf36    str     FQ      -               -       -----   F36 function key
1093 #key_f37                        kf37    str     FR      -               -       -----   F37 function key
1094 #key_f38                        kf38    str     FS      -               -       -----   F38 function key
1095 #key_f39                        kf39    str     FT      -               -       -----   F39 function key
1096 #key_f40                        kf40    str     FU      -               -       -----   F40 function key
1097 #key_f41                        kf41    str     FV      -               -       -----   F41 function key
1098 #key_f42                        kf42    str     FW      -               -       -----   F42 function key
1099 #key_f43                        kf43    str     FX      -               -       -----   F43 function key
1100 #key_f44                        kf44    str     FY      -               -       -----   F44 function key
1101 #key_f45                        kf45    str     FZ      -               -       -----   F45 function key
1102 #key_f46                        kf46    str     Fa      -               -       -----   F46 function key
1103 #key_f47                        kf47    str     Fb      -               -       -----   F47 function key
1104 #key_f48                        kf48    str     Fc      -               -       -----   F48 function key
1105 #key_f49                        kf49    str     Fd      -               -       -----   F49 function key
1106 #key_f50                        kf50    str     Fe      -               -       -----   F50 function key
1107 #key_f51                        kf51    str     Ff      -               -       -----   F51 function key
1108 #key_f52                        kf52    str     Fg      -               -       -----   F52 function key
1109 #key_f53                        kf53    str     Fh      -               -       -----   F53 function key
1110 #key_f54                        kf54    str     Fi      -               -       -----   F54 function key
1111 #key_f55                        kf55    str     Fj      -               -       -----   F55 function key
1112 #key_f56                        kf56    str     Fk      -               -       -----   F56 function key
1113 #key_f57                        kf57    str     Fl      -               -       -----   F57 function key
1114 #key_f58                        kf58    str     Fm      -               -       -----   F58 function key
1115 #key_f59                        kf59    str     Fn      -               -       -----   F59 function key
1116 #key_f60                        kf60    str     Fo      -               -       -----   F60 function key
1117 #key_f61                        kf61    str     Fp      -               -       -----   F61 function key
1118 #key_f62                        kf62    str     Fq      -               -       -----   F62 function key
1119 #key_f63                        kf63    str     Fr      -               -       -----   F63 function key
1120 #
1121 # IBM extensions
1122 #
1123 # These extensions follow ptr_non (replacing everything after it) in IBM
1124 # terminfo files.
1125 #
1126 # The places in the box[12] capabilities correspond to acsc characters, here is
1127 # the mapping:
1128 #
1129 #       box1[0]  = ACS_ULCORNER
1130 #       box1[1]  = ACS_HLINE    
1131 #       box1[2]  = ACS_URCORNER
1132 #       box1[3]  = ACS_VLINE
1133 #       box1[4]  = ACS_LRCORNER
1134 #       box1[5]  = ACS_LLCORNER
1135 #       box1[6]  = ACS_TTEE
1136 #       box1[7]  = ACS_RTEE
1137 #       box1[8]  = ACS_BTEE
1138 #       box1[9]  = ACS_LTEE
1139 #       box1[10] = ACS_PLUS
1140 #
1141 # The box2 characters are the double-line versions of these forms graphics.
1142 #
1143 box_chars_1                     box1    str     bx      -               -       ----K   box characters primary set
1144 #box_chars_2                    box2    str     by      -               -       ----K   box characters secondary set
1145 #box_attr_1                     batt1   str     Bx      -               -       ----K   attributes for box1
1146 #box_attr_2                     batt2   str     By      -               -       ----K   attributes for box2
1147 #color_bg_0                     colb0   str     d0      -               -       ----K   background color 0
1148 #color_bg_1                     colb1   str     d1      -               -       ----K   background color 1
1149 #color_bg_2                     colb2   str     d2      -               -       ----K   background color 2
1150 #color_bg_3                     colb3   str     d3      -               -       ----K   background color 3
1151 #color_bg_4                     colb4   str     d4      -               -       ----K   background color 4
1152 #color_bg_5                     colb5   str     d5      -               -       ----K   background color 5
1153 #color_bg_6                     colb6   str     d6      -               -       ----K   background color 6
1154 #color_bg_7                     colb7   str     d7      -               -       ----K   background color 7
1155 #color_fg_0                     colf0   str     c0      -               -       ----K   foreground color 0
1156 #color_fg_1                     colf1   str     c1      -               -       ----K   foreground color 1
1157 #color_fg_2                     colf2   str     c2      -               -       ----K   foreground color 2
1158 #color_fg_3                     colf3   str     c3      -               -       ----K   foreground color 3
1159 #color_fg_4                     colf4   str     c4      -               -       ----K   foreground color 4
1160 #color_fg_5                     colf5   str     c5      -               -       ----K   foreground color 5
1161 #color_fg_6                     colf6   str     c6      -               -       ----K   foreground color 6
1162 #color_fg_7                     colf7   str     c7      -               -       ----K   foreground color 7
1163 #font_0                         font0   str     f0      -               -       -----   select font 0
1164 #font_1                         font1   str     f1      -               -       -----   select font 1
1165 #font_2                         font2   str     f2      -               -       -----   select font 2
1166 #font_3                         font3   str     f3      -               -       -----   select font 3
1167 #font_4                         font4   str     f4      -               -       ----K   select font 4
1168 #font_5                         font5   str     f5      -               -       ----K   select font 5
1169 #font_6                         font6   str     f6      -               -       ----K   select font 6
1170 #font_7                         font7   str     f7      -               -       ----K   select font 7
1171 #key_back_tab                   kbtab   str     k0      -               -       -----   backtab key
1172 #key_do                         kdo     str     ki      -               -       ----K   do request key
1173 #key_command                    kcmd    str     kd      -               -       ----K   command-request key
1174 #key_command_pane               kcpn    str     kW      -               -       ----K   command-pane key
1175 #key_end                        kend    str     kw      -               -       -----   end key
1176 #key_help                       khlp    str     kq      -               -       -----   help key
1177 #key_newline                    knl     str     nl      -               -       ----K   newline key
1178 #key_next_pane                  knpn    str     kv      -               -       ----K   next-pane key
1179 #key_prev_cmd                   kppn    str     kp      -               -       ----K   previous-command key
1180 #key_prev_pane                  kppn    str     kV      -               -       ----K   previous-pane key
1181 #key_quit                       kquit   str     kQ      -               -       ----K   quit key
1182 #key_select                     ksel    str     kU      -               -       -----   select key
1183 #key_scroll_left                kscl    str     kz      -               -       ----K   scroll left
1184 #key_scroll_right               kscr    str     kZ      -               -       ----K   scroll right
1185 #key_tab                        ktab    str     ko      -               -       ----K   tab key
1186 #key_smap_in1                   kmpf1   str     Kv      -               -       ----K   special mapped key 1 input
1187 #key_smap_out1                  kmpt1   str     KV      -               -       ----K   special mapped key 1 output
1188 #key_smap_in2                   kmpf2   str     Kw      -               -       ----K   special mapped key 2 input
1189 #key_smap_out2                  kmpt2   str     KW      -               -       ----K   special mapped key 2 output
1190 #key_smap_in3                   kmpf3   str     Kx      -               -       ----K   special mapped key 3 input
1191 #key_smap_out3                  kmpt3   str     KX      -               -       ----K   special mapped key 3 output
1192 #key_smap_in4                   kmpf4   str     Ky      -               -       ----K   special mapped key 4 input
1193 #key_smap_out4                  kmpt4   str     KY      -               -       ----K   special mapped key 4 output
1194 #key_smap_in5                   kmpf5   str     Kz      -               -       ----K   special mapped key 5 input
1195 #key_smap_out5                  kmpt5   str     KZ      -               -       ----K   special mapped key 5 output
1196 #appl_defined_str               apstr   str     za      -               -       ----K   application-defined string
1197 # The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in
1198 # the IBM manual pages, so the cap name strings are guesses.  The terminfo
1199 # names are almost certainly right, the termcap ones almost certainly wrong.
1200 #key_smap_in6                   kmpf6   str     k!      -               -       ----K   special mapped key 6 input
1201 #key_smap_out6                  kmpt6   str     K@      -               -       ----K   special mapped key 6 output
1202 #key_smap_in7                   kmpf7   str     k#      -               -       ----K   special mapped key 7 input
1203 #key_smap_out7                  kmpt7   str     K$      -               -       ----K   special mapped key 7 output
1204 #key_smap_in8                   kmpf8   str     k%      -               -       ----K   special mapped key 8 input
1205 #key_smap_out8                  kmpt8   str     K^      -               -       ----K   special mapped key 8 output
1206 #key_smap_in9                   kmpf9   str     k&      -               -       ----K   special mapped key 9 input
1207 #key_smap_out9                  kmpt9   str     K*      -               -       ----K   special mapped key 9 output
1208 # Undocumented capabilities end here
1209 #key_sf1                        ksf1    str     S1      -               -       ----K   special function key 1
1210 #key_sf2                        ksf2    str     S2      -               -       ----K   special function key 2
1211 #key_sf3                        ksf3    str     S3      -               -       ----K   special function key 3
1212 #key_sf4                        ksf4    str     S4      -               -       ----K   special function key 4
1213 #key_sf5                        ksf5    str     S5      -               -       ----K   special function key 5
1214 #key_sf6                        ksf6    str     S6      -               -       ----K   special function key 6
1215 #key_sf7                        ksf7    str     S7      -               -       ----K   special function key 7
1216 #key_sf8                        ksf8    str     S8      -               -       ----K   special function key 8
1217 #key_sf9                        ksf9    str     S9      -               -       ----K   special function key 9
1218 #key_sf10                       ksf10   str     SA      -               -       ----K   special function key 10
1219 # AIX version 3 documents different codes for F11, F12 and does not mention
1220 # F13-F64.  AIX version 4 uses the same naming for F0-F63 as above.
1221 #key_f11                        kf11    str     k<      -               -       -----   function key 11
1222 #key_f12                        kf12    str     k>      -               -       -----   function key 12
1223 # Undocumented capabilities end here.
1224 #key_action                     kact    str     kJ      -               -       ----K   sent by action key
1225 # The IBM docs say these capabilities are for table-drawing, and are
1226 # valid only for aixterm descriptions.
1227 #enter_topline_mode             topl    str     tp      -               -       ----K   start top-line mode
1228 #enter_bottom_mode              btml    str     bm      -               -       ----K   start bottom-line mode
1229 #enter_rvert_mode               rvert   str     rv      -               -       ----K   start right-vertical mode
1230 #enter_lvert_mode               lvert   str     lv      -               -       ----K   start left-vertical mode
1231 #
1232 #############################################################################
1233 #
1234 # ALIAS DECLARATIONS
1235 #
1236 # Here we set up aliases for translating extensions into standard terminfo.
1237 #
1238 #---------------------------------- Termcap aliases -------------------------
1239 #
1240 # BSD aliases:
1241 #
1242 # This is a common error in many termcap files.  We'll get notified during
1243 # translation when this (or any other alias) fires.
1244 #
1245 capalias        sb      sr      BSD     scroll text down
1246 #
1247 # AT&T extensions:
1248 #
1249 # The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
1250 # nonstandard capabilities.  Its signature is the KM capability, used to name
1251 # some sort of keymap file.  EE, BO, CI, CV, XS, DS, FL and FE are in this
1252 # set.  Comments in the original, and a little cross-checking with other AT&T
1253 # documentation, seem to establish the following mappings:
1254 #
1255 capalias        BO      mr      AT&T    enter_reverse_mode
1256 capalias        CI      vi      AT&T    cursor_invisible
1257 capalias        CV      ve      AT&T    cursor_normal
1258 capalias        DS      mh      AT&T    enter_dim_mode
1259 #capalias       EE      me      AT&T    exit_attribute_mode     
1260 capalias        FE      LF      AT&T    label_on
1261 capalias        FL      LO      AT&T    label_off
1262 capalias        XS      mk      AT&T    enter_secure_mode
1263 #
1264 # We comment out EE because the conflicting XENIX EE is more common in 
1265 # old entries.
1266 #
1267 # XENIX extensions:
1268 #
1269 # These are the ones we know how to translate directly:
1270 #
1271 capalias        EE      mh      XENIX   exit_attribute_mode     
1272 capalias        GE      ae      XENIX   exit_alt_charset_mode
1273 capalias        GS      as      XENIX   enter_alt_charset_mode
1274 capalias        CF      vi      XENIX   cursor_invis
1275 capalias        CO      ve      XENIX   cursor_normal
1276 capalias        EN      @7      XENIX   key_end
1277 capalias        HM      kh      XENIX   key_home
1278 capalias        LD      kL      XENIX   key_dl
1279 capalias        PD      kN      XENIX   key_npage
1280 capalias        PN      po      XENIX   prtr_off
1281 capalias        PS      pf      XENIX   prtr_on
1282 capalias        PU      kP      XENIX   key_ppage
1283 capalias        RT      @8      XENIX   kent
1284 capalias        UP      ku      XENIX   kcuu1
1285 capalias        G6      IGNORE  XENIX   double-ACS_ULCORNER
1286 capalias        G7      IGNORE  XENIX   double-ACS_LLCORNER
1287 capalias        G5      IGNORE  XENIX   double-ACS_URCORNER
1288 capalias        G8      IGNORE  XENIX   double-ACS_LRCORNER
1289 capalias        Gr      IGNORE  XENIX   double-ACS_LTEE
1290 capalias        Gr      IGNORE  XENIX   double-ACS_RTEE
1291 capalias        Gu      IGNORE  XENIX   double-ACS_BTEE
1292 capalias        Gd      IGNORE  XENIX   double ACS_TTEE
1293 capalias        Gh      IGNORE  XENIX   double-ACS_HLINE
1294 capalias        Gv      IGNORE  XENIX   double-ACS_VLINE
1295 capalias        Gc      IGNORE  XENIX   double-ACS_PLUS
1296 capalias        GG      IGNORE  XENIX   acs-glitch
1297 #
1298 # IBM extensions:
1299 #
1300 capalias        kq      %1      IBM     key_help
1301 #
1302 # Iris extensions:
1303 #
1304 capalias        HS      mh      IRIS    enter_dim_mode
1305 #
1306 # Tektronix extensions:
1307 #
1308 capalias        KA      k;      Tek     key_f10
1309 capalias        KB      F1      Tek     key_f11
1310 capalias        KC      F2      Tek     key_f12
1311 capalias        KD      F3      Tek     key_f13
1312 capalias        KE      F4      Tek     key_f14
1313 capalias        KF      F5      Tek     key_f15
1314 capalias        BC      Sb      Tek     set_background
1315 capalias        FC      Sf      Tek     set_foreground
1316 #
1317 # There are also the following:
1318 #
1319 #       XENIX   XENIX variable name     name clash with terminfo?
1320 #       -----   -------------------     -------------------------
1321 #       CL      key_char_left
1322 #       CR      key_char_right
1323 #       CW      key_change_window
1324 #       HP      ??
1325 #       LF      key_linefeed            label_off
1326 #       NU      key_next_unlocked_cell
1327 #       PL      ??
1328 #       PR      ??
1329 #       RC      key_recalc              remove_clock
1330 #       RF      key_toggle_ref          req_for_input
1331 #       WL      key_word_left
1332 #       WR      key_word_right
1333 #
1334 # If you know what any of the question-marked ones mean, please tell us.
1335 #
1336 #--------------------------------- Terminfo aliases ------------------------
1337 #
1338 # IBM extensions:
1339 #
1340 infoalias       font0   s0ds    IBM     set0_des_seq
1341 infoalias       font1   s1ds    IBM     set1_des_seq
1342 infoalias       font2   s2ds    IBM     set2_des_seq
1343 infoalias       font3   s3ds    IBM     set3_des_seq
1344 infoalias       kbtab   kcbt    IBM     key_backtab
1345 infoalias       ksel    kslt    IBM     key_select
1346 #
1347 # Some others are identical to SVr4/XPG4 capabilities, in particular:
1348 # kcmd, kend, khlp, and kf11...kf63.
1349 #
1350 #############################################################################