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