| 1 | ##############################################################################
|
|---|
| 2 | # Copyright (c) 2001 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.2 2002/04/20 15:43:49 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
|
|---|
|
|---|