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