197049Speter############################################################################## 2262685Sdelphij# Copyright (c) 2001-2011,2013 Free Software Foundation, Inc. # 397049Speter# # 497049Speter# Permission is hereby granted, free of charge, to any person obtaining a # 597049Speter# copy of this software and associated documentation files (the "Software"), # 697049Speter# to deal in the Software without restriction, including without limitation # 797049Speter# the rights to use, copy, modify, merge, publish, distribute, distribute # 897049Speter# with modifications, sublicense, and/or sell copies of the Software, and to # 997049Speter# permit persons to whom the Software is furnished to do so, subject to the # 1097049Speter# following conditions: # 1197049Speter# # 1297049Speter# The above copyright notice and this permission notice shall be included in # 1397049Speter# all copies or substantial portions of the Software. # 1497049Speter# # 1597049Speter# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 1697049Speter# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # 1797049Speter# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # 1897049Speter# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # 1997049Speter# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # 2097049Speter# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # 2197049Speter# DEALINGS IN THE SOFTWARE. # 2297049Speter# # 2397049Speter# Except as contained in this notice, the name(s) of the above copyright # 2497049Speter# holders shall not be used in advertising or otherwise to promote the sale, # 2597049Speter# use or other dealings in this Software without prior written # 2697049Speter# authorization. # 2797049Speter############################################################################## 2897049Speter# 2997049Speter# Author: Thomas Dickey 3097049Speter# and: Ilya Zakharevich 3197049Speter# 32262685Sdelphij# $Id: Caps.keys,v 1.7 2013/07/20 17:59:24 tom Exp $ 3397049Speter# 3497049Speter# This is an adaptation of ncurses' termcap/terminfo capability table, which 3597049Speter# is illustrates an experimental extension to describe alt-, shift- and 3697049Speter# control-modifiers applied to function and normal keys, as done on IBM pc's. 3797049Speter# 3897049Speter# This table is used to generate initializers for tables that drive tic, 3997049Speter# infocmp, and the library compilation code used to support the termcap 4097049Speter# compatibility hack. It is also used to generate the tabular portion of the 4197049Speter# terminfo(5) man page; lines beginning with `#%' are passed through to become 4297049Speter# the terminfo table. 4397049Speter# 4497049Speter# This file has three major sections; a standard-capabilities table, two 4597049Speter# extension-capability tables, and a section of aliases declarations. 4697049Speter# The first two have the same format, as follows: 4797049Speter# 4897049Speter# FILE FORMAT 4997049Speter# 5097049Speter# Column 1: terminfo variable name 5197049Speter# Column 2: terminfo capability name 5297049Speter# Column 3: capability type (boolean, numeric, or string) 5397049Speter# Column 4: termcap capability name 5497049Speter# Column 5: KEY_xxx name, if any, `-' otherwise 5597049Speter# Column 6: value for KEY_xxx name, if any, `-' otherwise 5697049Speter# Column 7: Lead with `Y' if capability should be emitted in termcap 5797049Speter# translations, `-' otherwise 5897049Speter# Column 8: capability description 5997049Speter# 6097049Speter# The codes following [Y-] in column 7 describe the versions of termcap which 6197049Speter# use the given capability. This information is not used by the curses library 6297049Speter# proper; rather, it's there to help the terminfo maintainer avoid emitting 6397049Speter# termcap entry translations that are more than 1023 bytes long (and tank a 6497049Speter# lot of old termcap-using programs). The codes read as follows: 6597049Speter# B = mentioned in the BSD man page for 4.4BSD curses 6697049Speter# C = used by the 4.4BSD curses library 6797049Speter# G = mentioned in the documentation for GNU termcap 6897049Speter# E = used by GNU Emacs 6997049Speter# K = remove this terminfo capability when translating to standard format 7097049Speter# The important codes are C and E. A cap with C or E should be preserved in 7197049Speter# translation if possible. The problem is that preserving all such caps may 7297049Speter# lead to some termcap translations being too long. The termcap maintainer 7397049Speter# has a bit of a juggling act to do...potential problem cases are marked with 7497049Speter# an asterisk (*). 7597049Speter# 7697049Speter# The aliases section has the following format: 7797049Speter# 7897049Speter# Column 1: either `capalias' or `infoalias' 7997049Speter# Column 2: name to be aliased 8097049Speter# Column 3: what name it should translate to. The name IGNORE means it 8197049Speter# should be discarded with a warning message. 8297049Speter# Column 4: name of the extension set (used for compiler warning messages) 8397049Speter# Column 5: capability description (usually an associated terminfo variable) 8497049Speter# 8597049Speter# HANDLING TERMCAP AND TERMINFO EXTENSIONS 8697049Speter# 8797049Speter# There are basically five different ways to handle termcap and terminfo 8897049Speter# extensions: 8997049Speter# 9097049Speter# 1. Don't list the capname here, or list it but comment it out (the latter 9197049Speter# is preferable; someone might want to handle it in the future). If you do 9297049Speter# this, the capability will be treated as unknown and raise a warning from 9397049Speter# the compiler. 9497049Speter# 9597049Speter# 2. Alias it. This is appropriate if the capability has the same meaning 9697049Speter# as an already-supported one. The compiler will handle aliasing, emitting 9797049Speter# an appropriate informational message whenever an alias fires. 9897049Speter# 9997049Speter# 3. List it in the standard table. You almost certainly do *not* want 10097049Speter# to do this -- the capabilities in that one, and their order, have been 10197049Speter# carefully chosen to be SVr4-binary-compatible when they're written out 10297049Speter# as a terminfo object, and breaking this would be bad. It's up the ncurses 10397049Speter# library what to do with the terminfo data after it's read in. 10497049Speter# 10597049Speter# 4. List it in the aliases table with an IGNORE target field. If you 10697049Speter# do this, the capability will be ignored on input (though the user will 10797049Speter# get a warning message about it). 10897049Speter# 10997049Speter# 5. List it in the extensions table. If you do this, the compiler will 11097049Speter# silently accept the capability, but the curses library proper will never 11197049Speter# see it (because it won't be written out as part of the terminfo object 11297049Speter# format). It's up to you what you have the compiler do with it. 11397049Speter# 11497049Speter# There are two opposite reasons to choose option 5. One is when you want 11597049Speter# to eat the capability silently and discard it when doing translations 11697049Speter# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are 11797049Speter# in this class. Nothing will ever use them again. 11897049Speter# 11997049Speter# More usually, you want the compiler to try to deduce something from the 12097049Speter# capability value that it can use to translate it into your output format. 12197049Speter# You'll need to write custom code, probably in postprocess_termcap() or 12297049Speter# postprocess_terminfo(), to handle the translation. 12397049Speter# 12497049Speter# CONTROLLING ENTRY LENGTH 12597049Speter# 12697049Speter# Notes on specific elisions made to fit translations within 1023 bytes: 12797049Speter# 12897049Speter# Machines with IBM PC-like keyboards want to be able to define the following 12997049Speter# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap- 13097049Speter# only environments for End or Home-Down), key_dc, and key_ic. This is also 13197049Speter# the set of keys the `joe' editor will be upset if it can't see. So don't 13297049Speter# trim those out of the set to be translated to termcap, or various users of 13397049Speter# the termcap file will become irate. 13497049Speter# 13597049Speter# It might look tempting to leave those long init strings out of translations. 13697049Speter# We can't do it (yet); 4.4BSD tput and tset use them. 13797049Speter# 13897049Speter# We retain the sgr capability in translation in spite of the fact that neither 13997049Speter# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are 14097049Speter# hard to understand without it, and (b) the entries in which it is long tend 14197049Speter# to be older types that don't use up a lot of string space on function keys. 14297049Speter# The tic(1) translation code will complain and elide it if it makes a critical 14397049Speter# difference (there is special code in tic to recognize this situation). 14497049Speter# 14597049Speter# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion 14697049Speter# optimizer in BSD curses didn't use them. This omission seems to be the 14797049Speter# single most effective one, it shortened the resolved length of all thirteen 14897049Speter# problem entries in the 9.9.0 version of the terminfo master below critical. 14997049Speter# 15097049Speter# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap 15197049Speter# translations go back over critical if we do this. As 4.4BSD curses fades 15297049Speter# into history and GNU termcap's application base shrinks towards being GNU 15397049Speter# Emacs only, we'll probably elide out some BSD-only capabilities in order 15497049Speter# to buy space for non-essentials Emacs is still using. Capabilities high 15597049Speter# on that hit list: rc, sc, uc. 15697049Speter# 15797049Speter############################################################################# 15897049Speter# 15997049Speter# STANDARD CAPABILITIES 16097049Speter# 16197049Speter#%The following is a complete table of the capabilities included in a 16297049Speter#%terminfo description block and available to terminfo-using code. In each 16397049Speter#%line of the table, 16497049Speter#% 16597049Speter#%The \fBvariable\fR is the name by which the programmer (at the terminfo level) 16697049Speter#%accesses the capability. 16797049Speter#% 16897049Speter#%The \fBcapname\fR is the short name used in the text of the database, 16997049Speter#%and is used by a person updating the database. 17097049Speter#%Whenever possible, capnames are chosen to be the same as or similar to 17197049Speter#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses 17297049Speter#%identical or very similar names). Semantics are also intended to match 17397049Speter#%those of the specification. 17497049Speter#% 17597049Speter#%The termcap code is the old 17697049Speter#%.B termcap 17797049Speter#%capability name (some capabilities are new, and have names which termcap 17897049Speter#%did not originate). 17997049Speter#%.P 18097049Speter#%Capability names have no hard length limit, but an informal limit of 5 18197049Speter#%characters has been adopted to keep them short and to allow the tabs in 18297049Speter#%the source file 18397049Speter#%.B Caps 18497049Speter#%to line up nicely. 18597049Speter#% 18697049Speter#%Finally, the description field attempts to convey the semantics of the 18797049Speter#%capability. You may find some codes in the description field: 18897049Speter#%.TP 18997049Speter#%(P) 19097049Speter#%indicates that padding may be specified 19197049Speter#%.TP 19297049Speter#%#[1-9] 19397049Speter#%in the description field indicates that the string is passed through tparm with 19497049Speter#%parms as given (#\fIi\fP). 19597049Speter#%.TP 19697049Speter#%(P*) 19797049Speter#%indicates that padding may vary in proportion to the number of 19897049Speter#%lines affected 19997049Speter#%.TP 20097049Speter#%(#\d\fIi\fP\u) 20197049Speter#%indicates the \fIi\fP\uth\d parameter. 20297049Speter#% 20397049Speter#%.PP 20497049Speter#% These are the boolean capabilities: 20597049Speter#% 20697049Speter#%.na 20797049Speter#%.TS H 20897049Speter#%center expand; 20997049Speter#%c l l c 21097049Speter#%c l l c 21197049Speter#%lw25 lw6 lw2 lw20. 21297049Speter#%\fBVariable Cap- TCap Description\fR 21397049Speter#%\fBBooleans name Code\fR 21497049Speterauto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column 21597049Speterauto_right_margin am bool am - - YBCGE terminal has automatic margins 21697049Speterno_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C) 21797049Speterceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp) 21897049Spetereat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept) 21997049Spetererase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank 22097049Spetergeneric_type gn bool gn - - YB-G- generic line type 22197049Speterhard_copy hc bool hc - - YBCG- hardcopy terminal 22297049Speterhas_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit) 22397049Speterhas_status_line hs bool hs - - YB-G- has extra status line 22497049Speterinsert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls 22597049Spetermemory_above da bool da - - YBCG- display may be retained above the screen 22697049Spetermemory_below db bool db - - YB-GE display may be retained below the screen 22797049Spetermove_insert_mode mir bool mi - - YBCGE safe to move while in insert mode 22897049Spetermove_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode 22997049Speterover_strike os bool os - - YBCG- terminal can overstrike 23097049Speterstatus_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line 23197049Speterdest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061) 232262685Sdelphijtilde_glitch hz bool hz - - YB-GE cannot print ~'s (hazeltine) 23397049Spetertransparent_underline ul bool ul - - YBCGE underline character overstrikes 23497049Speterxon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking 235262685Sdelphijneeds_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required 236262685Sdelphijprtr_silent mc5i bool 5i - - ----- printer will not echo on screen 23797049Speterhard_cursor chts bool HC - - ----- cursor is hard to see 23897049Speternon_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup 23997049Speterno_pad_char npc bool NP - - ----- pad character does not exist 24097049Speternon_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive 24197049Spetercan_change ccc bool cc - - ----- terminal can re-define existing colors 24297049Speterback_color_erase bce bool ut - - ----- screen erased with background color 24397049Speterhue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix) 24497049Spetercol_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps 24597049Spetercr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode 24697049Speterhas_print_wheel daisy bool YC - - ----- printer needs operator to change character set 24797049Speterrow_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps 24897049Spetersemi_auto_right_margin sam bool YE - - ----- printing in last column causes cr 24997049Spetercpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution 25097049Speterlpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution 25197049Speter#%.TE 25297049Speter#%.ad 25397049Speter#% 25497049Speter#%These are the numeric capabilities: 25597049Speter#% 25697049Speter#%.na 25797049Speter#%.TS H 25897049Speter#%center expand; 25997049Speter#%c l l c 26097049Speter#%c l l c 26197049Speter#%lw25 lw6 lw2 lw20. 26297049Speter#%\fBVariable Cap- TCap Description\fR 26397049Speter#%\fBNumeric name Code\fR 26497049Spetercolumns cols num co - - YBCGE number of columns in a line 26597049Speterinit_tabs it num it - - YB-G- tabs initially every # spaces 26697049Speterlines lines num li - - YBCGE number of lines on screen or page 26797049Speterlines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies 26897049Spetermagic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso 26997049Speterpadding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed 27097049Spetervirtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix) 27197049Speterwidth_status_line wsl num ws - - YB-G- number of columns in status line 27297049Speternum_labels nlab num Nl - - ----- number of labels on screen 27397049Speterlabel_height lh num lh - - ----- rows in each label 27497049Speterlabel_width lw num lw - - ----- columns in each label 27597049Spetermax_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle 27697049Spetermaximum_windows wnum num MW - - ----- maximum number of defineable windows 27797049Speter# These came in with SVr4's color support 27897049Spetermax_colors colors num Co - - ----- maximum number of colors on screen 27997049Spetermax_pairs pairs num pa - - ----- maximum number of color-pairs on the screen 280262685Sdelphijno_color_video ncv num NC - - ----- video attributes that cannot be used with colors 28197049Speter#%.TE 28297049Speter#%.ad 28397049Speter#% 28497049Speter#%The following numeric capabilities are present in the SVr4.0 term structure, 28597049Speter#%but are not yet documented in the man page. They came in with SVr4's 28697049Speter#%printer support. 28797049Speter#% 28897049Speter#%.na 28997049Speter#%.TS H 29097049Speter#%center expand; 29197049Speter#%c l l c 29297049Speter#%c l l c 29397049Speter#%lw25 lw6 lw2 lw20. 29497049Speter#%\fBVariable Cap- TCap Description\fR 29597049Speter#%\fBNumeric name Code\fR 29697049Speterbuffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing 29797049Speterdot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch 29897049Speterdot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch 29997049Spetermax_micro_address maddr num Yd - - ----- maximum value in micro_..._address 30097049Spetermax_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro 30197049Spetermicro_col_size mcs num Yf - - ----- character step size when in micro mode 30297049Spetermicro_line_size mls num Yg - - ----- line step size when in micro mode 30397049Speternumber_of_pins npins num Yh - - ----- numbers of pins in print-head 30497049Speteroutput_res_char orc num Yi - - ----- horizontal resolution in units per line 30597049Speteroutput_res_line orl num Yj - - ----- vertical resolution in units per line 30697049Speteroutput_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch 30797049Speteroutput_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch 30897049Speterprint_rate cps num Ym - - ----- print rate in characters per second 30997049Speterwide_char_size widcs num Yn - - ----- character step size when in double wide mode 31097049Speterbuttons btns num BT - - ----- number of buttons on mouse 31197049Speterbit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row 31297049Speterbit_image_type bitype num Yp - - ----- type of bit-image device 31397049Speter#%.TE 31497049Speter#%.ad 31597049Speter#% 31697049Speter#%These are the string capabilities: 31797049Speter#% 31897049Speter#%.na 31997049Speter#%.TS H 32097049Speter#%center expand; 32197049Speter#%c l l c 32297049Speter#%c l l c 32397049Speter#%lw25 lw6 lw2 lw20. 32497049Speter#%\fBVariable Cap- TCap Description\fR 32597049Speter#%\fBString name Code\fR 32697049Speterback_tab cbt str bt - - YBCGE back tab (P) 32797049Speterbell bel str bl - - YB-GE audible signal (bell) (P) 32897049Spetercarriage_return cr str cr - - YBCGE carriage return (P*) (P*) 32997049Speterchange_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P) 33097049Speterclear_all_tabs tbc str ct - - YB-G- clear all tab stops (P) 33197049Speterclear_screen clear str cl - - YBCGE clear screen and home cursor (P*) 33297049Speterclr_eol el str ce - - YBCGE clear to end of line (P) 33397049Speterclr_eos ed str cd - - YBCGE clear to end of screen (P*) 33497049Spetercolumn_address hpa str ch - - -B-GE* horizontal position #1, absolute (P) 33597049Spetercommand_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !? 33697049Spetercursor_address cup str cm - - YBCGE move to row #1 columns #2 33797049Spetercursor_down cud1 str do - - YBCGE down one line 33897049Spetercursor_home home str ho - - YBCGE home cursor (if no cup) 33997049Spetercursor_invisible civis str vi - - YB-G- make cursor invisible 34097049Spetercursor_left cub1 str le - - YBCGE move left one space 34197049Spetercursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2 34297049Spetercursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis) 34397049Spetercursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space) 34497049Spetercursor_to_ll ll str ll - - YBCGE last line, first column (if no cup) 34597049Spetercursor_up cuu1 str up - - YBCGE up one line 34697049Spetercursor_visible cvvis str vs - - YBCGE make cursor very visible 34797049Speterdelete_character dch1 str dc - - YBCGE delete character (P*) 34897049Speterdelete_line dl1 str dl - - YBCGE delete line (P*) 34997049Speterdis_status_line dsl str ds - - YB-G- disable status line 35097049Speterdown_half_line hd str hd - - YB-G- half a line down 35197049Speterenter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P) 35297049Speterenter_blink_mode blink str mb - - YB-G- turn on blinking 35397049Speterenter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode 35497049Speterenter_ca_mode smcup str ti - - YBCGE string to start programs using cup 35597049Speterenter_delete_mode smdc str dm - - YBCGE enter delete mode 35697049Speterenter_dim_mode dim str mh - - YB-G- turn on half-bright mode 35797049Speterenter_insert_mode smir str im - - YBCGE enter insert mode 35897049Speterenter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible) 35997049Speterenter_protected_mode prot str mp - - -B-G-* turn on protected mode 36097049Speterenter_reverse_mode rev str mr - - YB-G- turn on reverse video mode 36197049Speterenter_standout_mode smso str so - - YBCGE begin standout mode 36297049Speterenter_underline_mode smul str us - - YBCGE begin underline mode 36397049Spetererase_chars ech str ec - - YB-G- erase #1 characters (P) 36497049Speterexit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P) 36597049Speterexit_attribute_mode sgr0 str me - - YB-GE turn off all attributes 36697049Speterexit_ca_mode rmcup str te - - YBCGE strings to end programs using cup 36797049Speterexit_delete_mode rmdc str ed - - YBCGE end delete mode 36897049Speterexit_insert_mode rmir str ei - - YBCGE exit insert mode 36997049Speterexit_standout_mode rmso str se - - YBCGE exit standout mode 37097049Speterexit_underline_mode rmul str ue - - YBCGE exit underline mode 37197049Speterflash_screen flash str vb - - YBCGE visible bell (may not move cursor) 37297049Speterform_feed ff str ff - - YB-G- hardcopy terminal page eject (P*) 37397049Speterfrom_status_line fsl str fs - - YB-G- return from status line 37497049Speterinit_1string is1 str i1 - - YB-G- initialization string 37597049Speterinit_2string is2 str is - - YB-G- initialization string 37697049Speterinit_3string is3 str i3 - - YB-G- initialization string 37797049Speterinit_file if str if - - YB-G- name of initialization file 37897049Speterinsert_character ich1 str ic - - YBCGE insert character (P) 37997049Speterinsert_line il1 str al - - YBCGE insert line (P*) 38097049Speterinsert_padding ip str ip - - YBCGE insert padding after inserted character 38197049Speterkey_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key 38297049Speterkey_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key 38397049Speterkey_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key 38497049Speterkey_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key 38597049Speterkey_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key 38697049Speterkey_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key 38797049Speterkey_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key 38897049Speterkey_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode 38997049Speterkey_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key 39097049Speterkey_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key 39197049Speterkey_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key 39297049Speterkey_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key 39397049Speterkey_f10 kf10 str k; KEY_F(10) - ----E F10 function key 39497049Speterkey_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key 39597049Speterkey_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key 39697049Speterkey_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key 39797049Speterkey_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key 39897049Speterkey_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key 39997049Speterkey_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key 40097049Speterkey_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key 40197049Speterkey_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key 40297049Speterkey_home khome str kh KEY_HOME 0406 YBCGE home key 40397049Speterkey_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key 40497049Speterkey_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key 40597049Speterkey_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key 40697049Speterkey_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down) 40797049Speterkey_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key 40897049Speterkey_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key 40997049Speterkey_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key 41097049Speterkey_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key 41197049Speterkey_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key 41297049Speterkey_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key 41397049Speterkey_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key 41497049Speterkeypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode 41597049Speterkeypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode 41697049Speterlab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0 41797049Speterlab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1 41897049Speterlab_f10 lf10 str la - - ----- label on function key f10 if not f10 41997049Speterlab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2 42097049Speterlab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3 42197049Speterlab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4 42297049Speterlab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5 42397049Speterlab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6 42497049Speterlab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7 42597049Speterlab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8 42697049Speterlab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9 42797049Spetermeta_off rmm str mo - - YB-G-* turn off meta mode 42897049Spetermeta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on) 42997049Speternewline nel str nw - - YB-G-* newline (behave like cr followed by lf) 43097049Speterpad_char pad str pc - - YBCGE padding char (instead of null) 43197049Speterparm_dch dch str DC - - YB-GE delete #1 characters (P*) 43297049Speterparm_delete_line dl str DL - - YBCGE delete #1 lines (P*) 43397049Speterparm_down_cursor cud str DO - - YBCGE down #1 lines (P*) 43497049Speterparm_ich ich str IC - - YB-GE insert #1 characters (P*) 43597049Speterparm_index indn str SF - - YBCG- scroll forward #1 lines (P) 43697049Speterparm_insert_line il str AL - - YBCGE insert #1 lines (P*) 43797049Speterparm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P) 43897049Speterparm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*) 43997049Speterparm_rindex rin str SR - - YBCG- scroll back #1 lines (P) 44097049Speterparm_up_cursor cuu str UP - - YBCGE up #1 lines (P*) 44197049Speterpkey_key pfkey str pk - - -B--- program function key #1 to type string #2 44297049Speterpkey_local pfloc str pl - - -B--- program function key #1 to execute string #2 44397049Speterpkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2 44497049Speterprint_screen mc0 str ps - - -B-G-* print contents of screen 44597049Speterprtr_off mc4 str pf - - -B-G-* turn off printer 44697049Speterprtr_on mc5 str po - - -B-G-* turn on printer 44797049Speterrepeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*) 44897049Speterreset_1string rs1 str r1 - - -B--- reset string 44997049Speterreset_2string rs2 str r2 - - -B--- reset string 45097049Speterreset_3string rs3 str r3 - - -B--- reset string 45197049Speterreset_file rf str rf - - -B--- name of reset file 45297049Speterrestore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor 45397049Speterrow_address vpa str cv - - -B-GE* vertical position #1 absolute (P) 45497049Spetersave_cursor sc str sc - - YBCG- save current cursor position (P) 45597049Speterscroll_forward ind str sf - - YBCGE scroll text up (P) 45697049Speterscroll_reverse ri str sr - - YBCGE scroll text down (P) 45797049Speterset_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9) 45897049Speterset_tab hts str st - - YB-G- set a tab in every row, current columns 45997049Speterset_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4 46097049Spetertab ht str ta - - YBCGE tab to next 8-space hardware tab stop 46197049Speterto_status_line tsl str ts - - YB-G- move to status line, column #1 46297049Speterunderline_char uc str uc - - YBCG- underline char and move past it 46397049Speterup_half_line hu str hu - - YB-G- half a line up 46497049Speterinit_prog iprog str iP - - -B--- path name of program for initialization 46597049Speterkey_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad 46697049Speterkey_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad 46797049Speterkey_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad 46897049Speterkey_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad 46997049Speterkey_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad 47097049Speterprtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes 47197049Speter# 47297049Speter# SVr1 capabilities stop here. IBM's version of terminfo is the same as 47397049Speter# SVr4 up to this point, but has a different set afterwards. 47497049Speter# 47597049Speterchar_padding rmp str rP - - ----- like ip but when in insert mode 47697049Speteracs_chars acsc str ac - - ----- graphics charset pairs, based on vt100 47797049Speterplab_norm pln str pn - - ----- program label #1 to show string #2 47897049Speterkey_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key 47997049Speterenter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking 48097049Speterexit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking 48197049Speterenter_am_mode smam str SA - - ----- turn on automatic margins 48297049Speterexit_am_mode rmam str RA - - ----- turn off automatic margins 48397049Speterxon_character xonc str XN - - ----- XON character 48497049Speterxoff_character xoffc str XF - - ----- XOFF character 48597049Speterena_acs enacs str eA - - ----- enable alternate char set 48697049Speterlabel_on smln str LO - - ----- turn on soft labels 48797049Speterlabel_off rmln str LF - - ----- turn off soft labels 48897049Speterkey_beg kbeg str @1 KEY_BEG 0542 ----- begin key 48997049Speterkey_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key 49097049Speterkey_close kclo str @3 KEY_CLOSE 0544 ----- close key 49197049Speterkey_command kcmd str @4 KEY_COMMAND 0545 ----- command key 49297049Speterkey_copy kcpy str @5 KEY_COPY 0546 ----- copy key 49397049Speterkey_create kcrt str @6 KEY_CREATE 0547 ----- create key 49497049Speterkey_end kend str @7 KEY_END 0550 ----- end key 49597049Speterkey_enter kent str @8 KEY_ENTER 0527 ----- enter/send key 49697049Speterkey_exit kext str @9 KEY_EXIT 0551 ----- exit key 49797049Speterkey_find kfnd str @0 KEY_FIND 0552 ----- find key 49897049Speterkey_help khlp str %1 KEY_HELP 0553 ----- help key 49997049Speterkey_mark kmrk str %2 KEY_MARK 0554 ----- mark key 50097049Speterkey_message kmsg str %3 KEY_MESSAGE 0555 ----- message key 50197049Speterkey_move kmov str %4 KEY_MOVE 0556 ----- move key 50297049Speterkey_next knxt str %5 KEY_NEXT 0557 ----- next key 50397049Speterkey_open kopn str %6 KEY_OPEN 0560 ----- open key 50497049Speterkey_options kopt str %7 KEY_OPTIONS 0561 ----- options key 50597049Speterkey_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key 50697049Speterkey_print kprt str %9 KEY_PRINT 0532 ----- print key 50797049Speterkey_redo krdo str %0 KEY_REDO 0563 ----- redo key 50897049Speterkey_reference kref str &1 KEY_REFERENCE 0564 ----- reference key 50997049Speterkey_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key 51097049Speterkey_replace krpl str &3 KEY_REPLACE 0566 ----- replace key 51197049Speterkey_restart krst str &4 KEY_RESTART 0567 ----- restart key 51297049Speterkey_resume kres str &5 KEY_RESUME 0570 ----- resume key 51397049Speterkey_save ksav str &6 KEY_SAVE 0571 ----- save key 51497049Speterkey_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key 51597049Speterkey_undo kund str &8 KEY_UNDO 0630 ----- undo key 51697049Speterkey_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key 51797049Speterkey_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key 51897049Speterkey_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key 51997049Speterkey_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key 52097049Speterkey_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key 52197049Speterkey_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key 52297049Speterkey_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key 52397049Speterkey_select kslt str *6 KEY_SELECT 0601 ----- select key 52497049Speterkey_send kEND str *7 KEY_SEND 0602 ----- shifted end key 52597049Speterkey_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key 52697049Speterkey_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key 52797049Speterkey_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key 52897049Speterkey_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key 52997049Speterkey_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key 53097049Speterkey_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key 53197049Speterkey_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key 53297049Speterkey_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key 53397049Speterkey_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key 53497049Speterkey_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key 53597049Speterkey_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key 53697049Speterkey_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key 53797049Speterkey_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key 53897049Speterkey_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key 53997049Speterkey_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key 54097049Speterkey_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key 54197049Speterkey_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key 54297049Speterkey_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key 54397049Speterkey_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key 54497049Speterkey_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key 54597049Speterreq_for_input rfi str RF - - ----- send next input char (for ptys) 54697049Speterkey_f11 kf11 str F1 KEY_F(11) - ----E F11 function key 54797049Speterkey_f12 kf12 str F2 KEY_F(12) - ----E F12 function key 54897049Speterkey_f13 kf13 str F3 KEY_F(13) - ----E F13 function key 54997049Speterkey_f14 kf14 str F4 KEY_F(14) - ----E F14 function key 55097049Speterkey_f15 kf15 str F5 KEY_F(15) - ----E F15 function key 55197049Speterkey_f16 kf16 str F6 KEY_F(16) - ----E F16 function key 55297049Speterkey_f17 kf17 str F7 KEY_F(17) - ----E F17 function key 55397049Speterkey_f18 kf18 str F8 KEY_F(18) - ----E F18 function key 55497049Speterkey_f19 kf19 str F9 KEY_F(19) - ----E F19 function key 55597049Speterkey_f20 kf20 str FA KEY_F(20) - ----E F20 function key 55697049Speterkey_f21 kf21 str FB KEY_F(21) - ----E F21 function key 55797049Speterkey_f22 kf22 str FC KEY_F(22) - ----E F22 function key 55897049Speterkey_f23 kf23 str FD KEY_F(23) - ----E F23 function key 55997049Speterkey_f24 kf24 str FE KEY_F(24) - ----E F24 function key 56097049Speterkey_f25 kf25 str FF KEY_F(25) - ----E F25 function key 56197049Speterkey_f26 kf26 str FG KEY_F(26) - ----E F26 function key 56297049Speterkey_f27 kf27 str FH KEY_F(27) - ----E F27 function key 56397049Speterkey_f28 kf28 str FI KEY_F(28) - ----E F28 function key 56497049Speterkey_f29 kf29 str FJ KEY_F(29) - ----E F29 function key 56597049Speterkey_f30 kf30 str FK KEY_F(30) - ----E F30 function key 56697049Speterkey_f31 kf31 str FL KEY_F(31) - ----E F31 function key 56797049Speterkey_f32 kf32 str FM KEY_F(32) - ----E F32 function key 56897049Speterkey_f33 kf33 str FN KEY_F(33) - ----E F33 function key 56997049Speterkey_f34 kf34 str FO KEY_F(34) - ----E F34 function key 57097049Speterkey_f35 kf35 str FP KEY_F(35) - ----E F35 function key 57197049Speterkey_f36 kf36 str FQ KEY_F(36) - ----E F36 function key 57297049Speterkey_f37 kf37 str FR KEY_F(37) - ----E F37 function key 57397049Speterkey_f38 kf38 str FS KEY_F(38) - ----E F38 function key 57497049Speterkey_f39 kf39 str FT KEY_F(39) - ----E F39 function key 57597049Speterkey_f40 kf40 str FU KEY_F(40) - ----E F40 function key 57697049Speterkey_f41 kf41 str FV KEY_F(41) - ----E F41 function key 57797049Speterkey_f42 kf42 str FW KEY_F(42) - ----E F42 function key 57897049Speterkey_f43 kf43 str FX KEY_F(43) - ----E F43 function key 57997049Speterkey_f44 kf44 str FY KEY_F(44) - ----E F44 function key 58097049Speterkey_f45 kf45 str FZ KEY_F(45) - ----E F45 function key 58197049Speterkey_f46 kf46 str Fa KEY_F(46) - ----E F46 function key 58297049Speterkey_f47 kf47 str Fb KEY_F(47) - ----E F47 function key 58397049Speterkey_f48 kf48 str Fc KEY_F(48) - ----E F48 function key 58497049Speterkey_f49 kf49 str Fd KEY_F(49) - ----E F49 function key 58597049Speterkey_f50 kf50 str Fe KEY_F(50) - ----E F50 function key 58697049Speterkey_f51 kf51 str Ff KEY_F(51) - ----E F51 function key 58797049Speterkey_f52 kf52 str Fg KEY_F(52) - ----E F52 function key 58897049Speterkey_f53 kf53 str Fh KEY_F(53) - ----E F53 function key 58997049Speterkey_f54 kf54 str Fi KEY_F(54) - ----E F54 function key 59097049Speterkey_f55 kf55 str Fj KEY_F(55) - ----E F55 function key 59197049Speterkey_f56 kf56 str Fk KEY_F(56) - ----E F56 function key 59297049Speterkey_f57 kf57 str Fl KEY_F(57) - ----E F57 function key 59397049Speterkey_f58 kf58 str Fm KEY_F(58) - ----E F58 function key 59497049Speterkey_f59 kf59 str Fn KEY_F(59) - ----E F59 function key 59597049Speterkey_f60 kf60 str Fo KEY_F(60) - ----E F60 function key 59697049Speterkey_f61 kf61 str Fp KEY_F(61) - ----E F61 function key 59797049Speterkey_f62 kf62 str Fq KEY_F(62) - ----E F62 function key 59897049Speterkey_f63 kf63 str Fr KEY_F(63) - ----E F63 function key 59997049Speterclr_bol el1 str cb - - ----- Clear to beginning of line 60097049Speterclear_margins mgc str MC - - ----- clear right and left soft margins 60197049Speterset_left_margin smgl str ML - - ----- set left soft margin at current column. See smgl. (ML is not in BSD termcap). 60297049Speterset_right_margin smgr str MR - - ----- set right soft margin at current column 60397049Speterlabel_format fln str Lf - - ----- label format 60497049Speterset_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs 60597049Speterdisplay_clock dclk str DK - - ----- display clock 60697049Speterremove_clock rmclk str RC - - ----- remove clock 60797049Spetercreate_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5 60897049Spetergoto_window wingo str WG - - ----- go to window #1 60997049Speterhangup hup str HU - - ----- hang-up phone 61097049Speterdial_phone dial str DI - - ----- dial number #1 61197049Speterquick_dial qdial str QD - - ----- dial number #1 without checking 61297049Spetertone tone str TO - - ----- select touch tone dialing 61397049Speterpulse pulse str PU - - ----- select pulse dialing 61497049Speterflash_hook hook str fh - - ----- flash switch hook 61597049Speterfixed_pause pause str PA - - ----- pause for 2-3 seconds 61697049Speterwait_tone wait str WA - - ----- wait for dial-tone 61797049Speteruser0 u0 str u0 - - ----- User string #0 61897049Speteruser1 u1 str u1 - - ----- User string #1 61997049Speteruser2 u2 str u2 - - ----- User string #2 62097049Speteruser3 u3 str u3 - - ----- User string #3 62197049Speteruser4 u4 str u4 - - ----- User string #4 62297049Speteruser5 u5 str u5 - - ----- User string #5 62397049Speteruser6 u6 str u6 - - ----- User string #6 62497049Speteruser7 u7 str u7 - - ----- User string #7 62597049Speteruser8 u8 str u8 - - ----- User string #8 62697049Speteruser9 u9 str u9 - - ----- User string #9 62797049Speter# 62897049Speter# NCurses extensions for keys accessible on most PC consoles 62997049Speter# 63097049Speterkey_sup kUP str !5 KEY_SUP + ----- shifted up-arrow key 63197049Speterkey_sdown kDOWN str !6 KEY_SDOWN + ----- shifted down-arrow key 63297049Speterkey_sbackspace kBS str !7 KEY_SBACKSPACE + ----- shifted backspace key 63397049Speterkey_c_delete kcdelete str !8 KEY_C_DELETE + ----- control- delete-character key 63497049Speterkey_c_end kcend str !9 KEY_C_END + ----- control- end key 63597049Speterkey_c_home kchom str !0 KEY_C_HOME + ----- control- home key 63697049Speterkey_c_insert kcinsert str !_ KEY_C_INSERT + ----- control- insert-character key 63797049Speterkey_c_left kclft str %k KEY_C_LEFT + ----- control- left-arrow key 63897049Speterkey_c_next kcnxt str %l KEY_C_NEXT + ----- control- next key 63997049Speterkey_c_previous kcprv str %m KEY_C_PREVIOUS + ----- control- previous key 64097049Speterkey_c_print kcprt str %n KEY_C_PRINT + ----- control- print key 64197049Speterkey_c_right kcrit str %o KEY_C_RIGHT + ----- control- right-arrow key 64297049Speterkey_c_backspace kcbs str %p KEY_C_BACKSPACE + ----- control- backspace key 64397049Speterkey_c_up kcup str %q KEY_C_UP + ----- control- up-arrow key 64497049Speterkey_c_down kcdown str %r KEY_C_DOWN + ----- control- down-arrow key 64597049Speterkey_a_delete kadelete str %s KEY_A_DELETE + ----- alt- delete-character key 64697049Speterkey_a_end kaend str %t KEY_A_END + ----- alt- end key 64797049Speterkey_a_home kahom str %u KEY_A_HOME + ----- alt- home key 64897049Speterkey_a_insert kainsert str %v KEY_A_INSERT + ----- alt- insert-character key 64997049Speterkey_a_left kalft str %w KEY_A_LEFT + ----- alt- left-arrow key 65097049Speterkey_a_next kanxt str %x KEY_A_NEXT + ----- alt- next key 65197049Speterkey_a_previous kaprv str %y KEY_A_PREVIOUS + ----- alt- previous key 65297049Speterkey_a_print kaprt str %z KEY_A_PRINT + ----- alt- print key 65397049Speterkey_a_right karit str %! KEY_A_RIGHT + ----- alt- right-arrow key 65497049Speterkey_a_backspace kabs str %@ KEY_A_BACKSPACE + ----- alt- backspace key 65597049Speterkey_a_up kaup str %# KEY_A_UP + ----- alt- up-arrow key 65697049Speterkey_a_down kadown str %$ KEY_A_DOWN + ----- alt- down-arrow key 65797049Speterkey_a_a kaa str $a KEY_A_A + ----- alt- a key 65897049Speterkey_a_b kab str $b KEY_A_B + ----- alt- b key 65997049Speterkey_a_c kac str $c KEY_A_C + ----- alt- c key 66097049Speterkey_a_d kad str $d KEY_A_D + ----- alt- d key 66197049Speterkey_a_e kae str $e KEY_A_E + ----- alt- e key 66297049Speterkey_a_f kaf str $f KEY_A_F + ----- alt- f key 66397049Speterkey_a_g kag str $g KEY_A_G + ----- alt- g key 66497049Speterkey_a_h kah str $h KEY_A_H + ----- alt- h key 66597049Speterkey_a_i kai str $i KEY_A_I + ----- alt- i key 66697049Speterkey_a_j kaj str $j KEY_A_J + ----- alt- j key 66797049Speterkey_a_k kak str $k KEY_A_K + ----- alt- k key 66897049Speterkey_a_l kal str $l KEY_A_L + ----- alt- l key 66997049Speterkey_a_m kam str $m KEY_A_M + ----- alt- m key 67097049Speterkey_a_n kan str $n KEY_A_N + ----- alt- n key 67197049Speterkey_a_o kao str $o KEY_A_O + ----- alt- o key 67297049Speterkey_a_p kap str $p KEY_A_P + ----- alt- p key 67397049Speterkey_a_q kaq str $q KEY_A_Q + ----- alt- q key 67497049Speterkey_a_r kar str $r KEY_A_R + ----- alt- r key 67597049Speterkey_a_s kas str $s KEY_A_S + ----- alt- s key 67697049Speterkey_a_t kat str $t KEY_A_T + ----- alt- t key 67797049Speterkey_a_u kau str $u KEY_A_U + ----- alt- u key 67897049Speterkey_a_v kav str $v KEY_A_V + ----- alt- v key 67997049Speterkey_a_w kaw str $w KEY_A_W + ----- alt- w key 68097049Speterkey_a_x kax str $x KEY_A_X + ----- alt- x key 68197049Speterkey_a_y kay str $y KEY_A_Y + ----- alt- y key 68297049Speterkey_a_z kaz str $z KEY_A_Z + ----- alt- z key 68397049Speterkey_a_0 ka_0 str $0 KEY_A_0 + ----- alt- 0 key 68497049Speterkey_a_1 ka_1 str $1 KEY_A_1 + ----- alt- 1 key 68597049Speterkey_a_2 ka_2 str $2 KEY_A_2 + ----- alt- 2 key 68697049Speterkey_a_3 ka_3 str $3 KEY_A_3 + ----- alt- 3 key 68797049Speterkey_a_4 ka_4 str $4 KEY_A_4 + ----- alt- 4 key 68897049Speterkey_a_5 ka_5 str $5 KEY_A_5 + ----- alt- 5 key 68997049Speterkey_a_6 ka_6 str $6 KEY_A_6 + ----- alt- 6 key 69097049Speterkey_a_7 ka_7 str $7 KEY_A_7 + ----- alt- 7 key 69197049Speterkey_a_8 ka_8 str $8 KEY_A_8 + ----- alt- 8 key 69297049Speterkey_a_9 ka_9 str $9 KEY_A_9 + ----- alt- 9 key 69397049Speterkey_a_backtick ka_bt str $` KEY_A_BACKTICK + ----- alt- ` key 69497049Speterkey_a_under ka_und str $_ KEY_A_UNDER + ----- alt- _ key 69597049Speterkey_a_equals ka_eq str $= KEY_A_EQUALS + ----- alt- = key 69697049Speterkey_a_bar ka_bsl str $| KEY_A_BAR + ----- alt- | key 69797049Speterkey_a_lbracker ka_lbr str $[ KEY_A_LBRACKER + ----- alt- [ key 69897049Speterkey_a_rbracker ka_rbr str $] KEY_A_RBRACKER + ----- alt- ] key 69997049Speterkey_a_semi ka_semi str $; KEY_A_SEMI + ----- alt- ; key 70097049Speterkey_a_tick ka_tick str $' KEY_A_TICK + ----- alt- ' key 70197049Speterkey_a_comma ka_com str $, KEY_A_COMMA + ----- alt- , key 70297049Speterkey_a_dot ka_dot str $. KEY_A_DOT + ----- alt- . key 70397049Speterkey_a_question ka_sla str $? KEY_A_QUESTION + ----- alt- ? key 70497049Speterkey_a_divide ka_div str $/ KEY_A_DIVIDE + ----- alt- keypad / key 70597049Speterkey_a_multiply ka_mul str $* KEY_A_MULTIPLY + ----- alt- keypad * key 70697049Speterkey_a_add ka_add str $+ KEY_A_ADD + ----- alt- keypad + key 70797049Speterkey_a_subtract ka_sub str $- KEY_A_SUBTRACT + ----- alt- keypad - key 70897049Speterkey_a_kenter ka_kent str $< KEY_A_KENTER + ----- alt- keypad enter key 70997049Speterkey_a_enter ka_ent str $> KEY_A_ENTER + ----- alt- enter key 71097049Speterkey_c_at kcat str %% KEY_C_AT + ----- control- @ key 71197049Speterkey_c_divide kcdiv str %/ KEY_C_DIVIDE + ----- control- keypad / key 71297049Speterkey_c_multiply kcmul str %* KEY_C_MULTIPLY + ----- control- keypad * key 71397049Speterkey_c_add kcadd str %+ KEY_C_ADD + ----- control- keypad + key 71497049Speterkey_c_subtract kcsub str %- KEY_C_SUBTRACT + ----- control- keypad - key 71597049Speter# 71697049Speter# SVr4 added these capabilities to support color 71797049Speter# 71897049Speterorig_pair op str op - - ----- Set default pair to its original value 71997049Speterorig_colors oc str oc - - ----- Set all color pairs to the original ones 72097049Speterinitialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4) 72197049Speterinitialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7) 72297049Speterset_color_pair scp str sp - - ----- Set current color pair to #1 72397049Speterset_foreground setf str Sf - - ----- Set foreground color #1 72497049Speterset_background setb str Sb - - ----- Set background color #1 72597049Speter# 72697049Speter# SVr4 added these capabilities to support printers 72797049Speter# 72897049Speterchange_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1 72997049Speterchange_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1 73097049Speterchange_res_horz chr str ZC - - ----- Change horizontal resolution to #1 73197049Speterchange_res_vert cvr str ZD - - ----- Change vertical resolution to #1 73297049Speterdefine_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3 73397049Speterenter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode 73497049Speterenter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode 73597049Speterenter_italics_mode sitm str ZH - - ----- Enter italic mode 73697049Speterenter_leftward_mode slm str ZI - - ----- Start leftward carriage motion 73797049Speterenter_micro_mode smicm str ZJ - - ----- Start micro-motion mode 73897049Speterenter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode 73997049Speterenter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode 74097049Speterenter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode 74197049Speterenter_subscript_mode ssubm str ZN - - ----- Enter subscript mode 74297049Speterenter_superscript_mode ssupm str ZO - - ----- Enter superscript mode 74397049Speterenter_upward_mode sum str ZP - - ----- Start upward carriage motion 74497049Speterexit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode 74597049Speterexit_italics_mode ritm str ZR - - ----- End italic mode 74697049Speterexit_leftward_mode rlm str ZS - - ----- End left-motion mode 74797049Speterexit_micro_mode rmicm str ZT - - ----- End micro-motion mode 74897049Speterexit_shadow_mode rshm str ZU - - ----- End shadow-print mode 74997049Speterexit_subscript_mode rsubm str ZV - - ----- End subscript mode 75097049Speterexit_superscript_mode rsupm str ZW - - ----- End superscript mode 75197049Speterexit_upward_mode rum str ZX - - ----- End reverse character motion 75297049Spetermicro_column_address mhpa str ZY - - ----- Like column_address in micro mode 75397049Spetermicro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode 75497049Spetermicro_left mcub1 str Za - - ----- Like cursor_left in micro mode 75597049Spetermicro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode 75697049Spetermicro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode 75797049Spetermicro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode 75897049Speterorder_of_pins porder str Ze - - ----- Match software bits to print-head pins 75997049Speterparm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode 76097049Speterparm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode 76197049Speterparm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode 76297049Speterparm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode 76397049Speterselect_char_set scs str Zj - - ----- Select character set, #1 76497049Speterset_bottom_margin smgb str Zk - - ----- Set bottom margin at current line 76597049Speterset_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom 76697049Speterset_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1 76797049Speterset_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1 76897049Speterset_top_margin smgt str Zo - - ----- Set top margin at current line 76997049Speterset_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1 77097049Speterstart_bit_image sbim str Zq - - ----- Start printing bit image graphics 77197049Speterstart_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set 77297049Speterstop_bit_image rbim str Zs - - ----- Stop printing bit image graphics 77397049Speterstop_char_set_def rcsd str Zt - - ----- End definition of character set #1 77497049Spetersubscript_characters subcs str Zu - - ----- List of subscriptable characters 77597049Spetersuperscript_characters supcs str Zv - - ----- List of superscriptable characters 77697049Speterthese_cause_cr docr str Zw - - ----- Printing any of these characters causes CR 77797049Speterzero_motion zerom str Zx - - ----- No motion for subsequent character 77897049Speter#%.TE 77997049Speter#%.ad 78097049Speter#% 78197049Speter#%The following string capabilities are present in the SVr4.0 term structure, 78297049Speter#%but were originally not documented in the man page. 78397049Speter#% 78497049Speter#%.na 78597049Speter#%.TS H 78697049Speter#%center expand; 78797049Speter#%c l l c 78897049Speter#%c l l c 78997049Speter#%lw25 lw6 lw2 lw18. 79097049Speter#%\fBVariable Cap- TCap Description\fR 79197049Speter#%\fBString name Code\fR 79297049Speterchar_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names 79397049Speterkey_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred 79497049Spetermouse_info minfo str Mi - - ----- Mouse status information 79597049Speterreq_mouse_pos reqmp str RQ - - ----- Request mouse position 79697049Speterget_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented. 79797049Speterset_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape 79897049Speterset_a_background setab str AB - - ----- Set background color to #1, using ANSI escape 79997049Speterpkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3 80097049Speterdevice_type devt str dv - - ----- Indicate language/codeset support 80197049Spetercode_set_init csin str ci - - ----- Init sequence for multiple codesets 80297049Speterset0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII) 80397049Speterset1_des_seq s1ds str s1 - - ----- Shift to codeset 1 80497049Speterset2_des_seq s2ds str s2 - - ----- Shift to codeset 2 80597049Speterset3_des_seq s3ds str s3 - - ----- Shift to codeset 3 80697049Speterset_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap). 80797049Speterset_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2 80897049Speterbit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times 80997049Speterbit_image_newline binel str Zz - - ----- Move to next row of the bit image 81097049Speterbit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row 81197049Spetercolor_names colornm str Yw - - ----- Give name for color #1 81297049Speterdefine_bit_image_region defbi str Yx - - ----- Define rectangualar bit image region 81397049Speterend_bit_image_region endbi str Yy - - ----- End a bit-image region 81497049Speterset_color_band setcolor str Yz - - ----- Change to ribbon color #1 81597049Speterset_page_length slines str YZ - - ----- Set page length to #1 lines 81697049Speter# 81797049Speter# SVr4 added these capabilities for direct PC-clone support 81897049Speter# 81997049Speterdisplay_pc_char dispc str S1 - - ----- Display PC character #1 82097049Speterenter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode 82197049Speterexit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode 82297049Speterenter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode 82397049Speterexit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode 82497049Speterpc_term_options pctrm str S6 - - ----- PC terminal options 82597049Speterscancode_escape scesc str S7 - - ----- Escape for scancode emulation 82697049Speteralt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation 82797049Speter#%.TE 82897049Speter#%.ad 82997049Speter#% 83097049Speter#%.in .8i 831262685Sdelphij#%The XSI Curses standard added these hardcopy capabilities. 832262685Sdelphij#%They were used in some post-4.1 versions of System V curses, 833262685Sdelphij#%e.g., Solaris 2.5 and IRIX 6.x. 834262685Sdelphij#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented. 835262685Sdelphij#%According to the XSI Curses standard, they have no termcap names. 836262685Sdelphij#%If your compiled terminfo entries use these, 837262685Sdelphij#%they may not be binary-compatible with System V terminfo 83897049Speter#%entries after SVr4.1; beware! 83997049Speter#% 84097049Speter#%.na 84197049Speter#%.TS H 84297049Speter#%center expand; 84397049Speter#%c l l c 84497049Speter#%c l l c 84597049Speter#%lw25 lw6 lw2 lw20. 84697049Speter#%\fBVariable Cap- TCap Description\fR 84797049Speter#%\fBString name Code\fR 84897049Speterenter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode 84997049Speterenter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode 85097049Speterenter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode 85197049Speterenter_right_hl_mode erhlm str Xr - - ----- Enter right highlight mode 85297049Speterenter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode 85397049Speterenter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode 85497049Speterset_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6 855262685Sdelphijset_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap). 85697049Speter#%.TE 85797049Speter#%.ad 85897049Speter# 85997049Speter# The magic token below tells the tic compiler-generator code that all the caps 86097049Speter# past it should be ignored (not written out) when dumping terminfo objects. It 86197049Speter# also tells the man page table generator not to pass through following lines 86297049Speter# This means we can have obsolete capabilities and pseudo-capabilities that are 86397049Speter# recognized for termcap or terminfo compilation, but not output. 86497049Speter# 86597049Speter# %%-STOP-HERE-%% 86697049Speter# 86797049Speter# Don't move this casually! In fact, don't move it at all unless you're 86897049Speter# either doing it to add System V or XPG4 extensions, or have decided you 86997049Speter# don't care about SVr4 binary compatibility. 87097049Speter# 87197049Speter############################################################################# 87297049Speter# 87397049Speter# TERMCAP EXTENSION CAPABILITIES 87497049Speter# 87597049Speter# The capabilities below are either obsolete or extensions on certain systems. 87697049Speter# They are not used by SVR4 terminfo. Some are used by captoinfo to translate 87797049Speter# termcap sources; the rest are listed for completeness, and in case somebody 87897049Speter# cares about them enough to hack in code that will translate them into 87997049Speter# terminfo capabilities. 88097049Speter# 88197049Speter# The first part of the list is from Ross Ridge's `mytinfo' package 88297049Speter# (comp.sources.unix, volume 26); the variable names and terminfo names (as 88397049Speter# well as the termcap codes) match his list. 88497049Speter# 88597049Speter# This group of codes is not marked obsolete in 4.4BSD, but have no direct 88697049Speter# terminfo equivalents. The rs capability is specially translated to terminfo 88797049Speter# r2, and vice versa, if an entry does not already have an r2. Similarly, 88897049Speter# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2). 88997049Speter# The ug capability is thrown away, but assumed to be whatever sg is if the 89097049Speter# latter is nonzero and we're dumping in termcap format. 89197049Speter# 89297049Spetertermcap_init2 OTi2 str i2 - - YB--- secondary initialization string 89397049Spetertermcap_reset OTrs str rs - - YB-G- terminal reset string 89497049Spetermagic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul 89597049Speter# 89697049Speter# Obsolete termcap capabilities. Some are used for termcap translation. The 89797049Speter# code uses the 'OT' prefix we put on obsolete capabilities to suppress 89897049Speter# printing them in terminfo source dumps of compiled entries. 89997049Speter# 90097049Speterbackspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left 90197049Spetercrt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll 90297049Speterno_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line 90397049Spetercarriage_return_delay OTdC num dC - - YB-G- pad needed for CR 90497049Speternew_line_delay OTdN num dN - - YB-G- pad needed for LF 90597049Speterlinefeed_if_not_lf OTnl str nl - - YBCGE use to move down 90697049Speterbackspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H 90797049Speter# 90897049Speter# GNU termcap library extensions. The GNU termcap file distributed with 90997049Speter# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the 91097049Speter# BSD termcap file. The name clash with terminfo MT is resolved by type 91197049Speter# info; MT is converted to km. 91297049Speter# 91397049Spetergnu_has_meta_key OTMT bool MT - - ----E has meta key 91497049Speter# gnu_tab_width OTtw num tw - - ----E tab width in spaces 91597049Speter# 91697049Speter# GNU termcap *does* include the following extended capability, Only the 91797049Speter# now-obsolete Ann Arbor terminals used it. 91897049Speter# 91997049Speter# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region 92097049Speter# 92197049Speter# The following comments describe capnames so ancient that I believe no 92297049Speter# software uses them any longer. Some of these have to go because they 92397049Speter# clash with terminfo names in ways that cannot be resolved by type 92497049Speter# information. 92597049Speter# 92697049Speter# These mytinfo codes are not used in the 4.4BSD curses code. They are 92797049Speter# marked obsolete in the 4.4BSD manual pages. 92897049Speter# 92997049Speter# There is one conflict with terminfo; ma is in both. This conflict is 93097049Speter# resolved by type information. 93197049Speter# 93297049Speter# The `ko' capability is translated by special code. It should contain a 93397049Speter# comma-separated list of capabilities for which there are corresponding keys. 93497049Speter# The `kn' code is accepted but ignored. 93597049Speter# 93697049Speter# The `ma' capability seems to have been designed to map between the rogue(2) 93797049Speter# motion keys (including jkhl) and characters emitted by arrow keys on some 93897049Speter# primitive pre-ANSI terminals. It's so obsolete it's fossilized... 93997049Speter# 94097049Speter# Here is a description of memory_lock_above and memory_unlock: 94197049Speter# "You can 'freeze' data on the screen by turning on Memory Lock in a line of 94297049Speter# text. All lines above the cursor's current line become locked in place on 94397049Speter# the screen. Then enter data normally. When the screen fills up, any 94497049Speter# further data entered forces the first line of unfrozen line text to scroll 94597049Speter# under the frozen data. Lines scrolled off the screen are inserted into 94697049Speter# memory immediately preceding the first frozen line." (from the HP 700/96 94797049Speter# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l. 94897049Speter# 94997049Speter# Applications that use terminfo are supposed to behave as though xr is 95097049Speter# always true. 95197049Speter# 95297049Speterlinefeed_is_newline OTNL bool NL - - YB--- move down with \n 95397049Speter# even_parity OTEP bool EP - - -B--- terminal requires even parity 95497049Speter# odd_parity OTOP bool OP - - -B--- terminal requires odd parity 95597049Speter# half_duplex OTHD bool HD - - -B--- terminal is half-duplex 95697049Speter# lower_case_only OTLC bool LC - - -B--- terminal has only lower case 95797049Speter# upper_case_only OTUC bool UC - - -B--- terminal has only upper case 95897049Speterbackspace_delay OTdB num dB - - YB-G- padding required for ^H 95997049Speter# form_feed_delay OTdF num dF - - -B-G- padding required for ^L 96097049Speterhorizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I 96197049Speter# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V 96297049Speternumber_of_function_keys OTkn num kn - - -B-G- count of function keys 96397049Speterother_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps 96497049Speterarrow_key_map OTma str ma - - YBC-- map arrow keys rogue(1) motion keys 96597049Speter# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line 96697049Speter# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line 96797049Speterhas_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I 96897049Speterreturn_does_clr_eol OTxr bool xr - - YB--- return clears the line 96997049Speter# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch 97097049Speter# 97197049Speter# mytinfo described this as a termcap capability, but it's not listed in the 97297049Speter# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses 97397049Speter# package, like System V, behaves as though it is always true. 97497049Speter# 97597049Speter# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line 97697049Speter# 97797049Speter# University of Waterloo termcap extensions (as described in mytinfo). 97897049Speter# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot 97997049Speter# be resolved by a type check. The descriptions are guesses from what was 98097049Speter# in the mytinfo tables. 98197049Speter# 98297049Speter# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?) 98397049Speter# key_kill_char OTkk str kk - - ----- string set by kill key (?) 98497049Speter# key_suspend_char OTkz str kz - - ----- string set by suspend key (?) 98597049Speter# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?) 98697049Speter# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return 98797049Speter# 98897049Speter# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package. 98997049Speter# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type 99097049Speter# check. 99197049Speter# 99297049Speter# scroll_left OTsl1 str Sl - - ----- scroll screen leftward 99397049Speter# scroll_right OTsr1 str Sr - - ----- scroll screen rightward 99497049Speter# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters 99597049Speter# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters 99697049Speter# 99797049Speter# The mytinfo capabilities end here. 99897049Speter# 99997049Speter# XENIX extensions: 100097049Speter# 100197049Speter# Xenix defined its own set of forms-drawing capabilities: 100297049Speter# 100397049Speter# cap IBM ASCII description ACS ASCII 100497049Speter# --- ----------- -------------------- ------------- ------ 100597049Speter# G1 191 \277 M-? single upper right ACS_URCORNER 100697049Speter# G2 218 \332 M-Z single upper left ACS_ULCORNER 100797049Speter# G3 192 \300 M-@ single lower left ACS_LLCORNER 100897049Speter# G4 217 \331 M-Y single lower right ACS_LRCORNER 100997049Speter# G5 187 \273 M-; double upper right 101097049Speter# G6 201 \311 M-I double upper left 101197049Speter# G7 200 \310 M-H double lower left 101297049Speter# G8 188 \274 M-< double lower right 101397049Speter# GC 197 \305 M-E single intersection ACS_PLUS _ _ 101497049Speter# GD 194 \302 M-B single down-tick ACS_TTEE | 101597049Speter# GH 196 \304 M-D single horizontal line ACS_HLINE 101697049Speter# GL 180 \264 M-4 single left tick ACS_RTEE -| 101797049Speter# GR 195 \303 M-C single right tick ACS_LTEE |- 101897049Speter# GU 193 \301 M-A single up tick ACS_BTEE _|_ 101997049Speter# GV 179 \263 M-3 single vertical line ACS_VLINE 102097049Speter# Gc 206 \316 M-N double intersection 102197049Speter# Gd 203 \313 M-K double down tick 102297049Speter# Gh 205 \315 M-M double horizontal line 102397049Speter# Gl 204 \204 M-L double left tick 102497049Speter# Gr 185 \271 M-9 double right tick 102597049Speter# Gu 202 \312 M-J double up tick 102697049Speter# Gv 186 \272 M-: double vertical line 102797049Speter# 102897049Speter# The compiler will translate the single-line caps and discard the others 102997049Speter# (via IGNORE aliases further down). We don't want to do normal pad 103097049Speter# translation on these, they're often single-character printable ASCII 103197049Speter# strings that happen to be numerics. There's awk code in parametrized.sh 103297049Speter# that detects the acs_ prefix and uses it to suppress pad translation. 103397049Speter# These terminfo names are invented. 103497049Speter# 103597049Speteracs_ulcorner OTG2 str G2 - - ----- single upper left 103697049Speteracs_llcorner OTG3 str G3 - - ----- single lower left 103797049Speteracs_urcorner OTG1 str G1 - - ----- single upper right 103897049Speteracs_lrcorner OTG4 str G4 - - ----- single lower right 103997049Speteracs_ltee OTGR str GR - - ----- tee pointing right 104097049Speteracs_rtee OTGL str GL - - ----- tee pointing left 104197049Speteracs_btee OTGU str GU - - ----- tee pointing up 104297049Speteracs_ttee OTGD str GD - - ----- tee pointing down 104397049Speteracs_hline OTGH str GH - - ----- single horizontal line 104497049Speteracs_vline OTGV str GV - - ----- single vertical line 104597049Speteracs_plus OTGC str GC - - ----- single intersection 104697049Speter# 104797049Speter############################################################################# 104897049Speter# 104997049Speter# TERMINFO EXTENSION CAPABILITIES 105097049Speter# 105197049Speter# This section is almost all comments. What it's mainly for is to describe 105297049Speter# what capabilities need to be squeezed out to get down to the XSI Curses 105397049Speter# standard set. They are flagged with K. 105497049Speter# 105597049Speter# HP extensions 105697049Speter# 105797049Speter# These extensions follow ptr_non (replacing everything after it) in HP 105897049Speter# terminfo files. Except for memory_lock and memory_unlock, they are 105997049Speter# functionally identical to SVr4 extensions, but they make the binary format 106097049Speter# different. Grrr.... 106197049Speter# 1062166124Srafanmemory_lock meml str ml - - ----K lock memory above cursor 1063166124Srafanmemory_unlock memu str mu - - ----K unlock memory 106497049Speter#plab_norm pln str pn - - ----- program label #1 to show string #2 106597049Speter#label_on smln str LO - - ----- turn on soft labels 106697049Speter#label_off rmln str LF - - ----- turn off soft labels 106797049Speter#key_f11 kf11 str F1 - - ----- F11 function key 106897049Speter#key_f12 kf12 str F2 - - ----- F12 function key 106997049Speter#key_f13 kf13 str F3 - - ----- F13 function key 107097049Speter#key_f14 kf14 str F4 - - ----- F14 function key 107197049Speter#key_f15 kf15 str F5 - - ----- F15 function key 107297049Speter#key_f16 kf16 str F6 - - ----- F16 function key 107397049Speter#key_f17 kf17 str F7 - - ----- F17 function key 107497049Speter#key_f18 kf18 str F8 - - ----- F18 function key 107597049Speter#key_f19 kf19 str F9 - - ----- F19 function key 107697049Speter#key_f20 kf20 str FA - - ----- F20 function key 107797049Speter#key_f21 kf21 str FB - - ----- F21 function key 107897049Speter#key_f22 kf22 str FC - - ----- F22 function key 107997049Speter#key_f23 kf23 str FD - - ----- F23 function key 108097049Speter#key_f24 kf24 str FE - - ----- F24 function key 108197049Speter#key_f25 kf25 str FF - - ----- F25 function key 108297049Speter#key_f26 kf26 str FG - - ----- F26 function key 108397049Speter#key_f27 kf27 str FH - - ----- F27 function key 108497049Speter#key_f28 kf28 str FI - - ----- F28 function key 108597049Speter#key_f29 kf29 str FJ - - ----- F29 function key 108697049Speter#key_f30 kf30 str FK - - ----- F30 function key 108797049Speter#key_f31 kf31 str FL - - ----- F31 function key 108897049Speter#key_f32 kf32 str FM - - ----- F32 function key 108997049Speter#key_f33 kf33 str FN - - ----- F33 function key 109097049Speter#key_f34 kf34 str FO - - ----- F34 function key 109197049Speter#key_f35 kf35 str FP - - ----- F35 function key 109297049Speter#key_f36 kf36 str FQ - - ----- F36 function key 109397049Speter#key_f37 kf37 str FR - - ----- F37 function key 109497049Speter#key_f38 kf38 str FS - - ----- F38 function key 109597049Speter#key_f39 kf39 str FT - - ----- F39 function key 109697049Speter#key_f40 kf40 str FU - - ----- F40 function key 109797049Speter#key_f41 kf41 str FV - - ----- F41 function key 109897049Speter#key_f42 kf42 str FW - - ----- F42 function key 109997049Speter#key_f43 kf43 str FX - - ----- F43 function key 110097049Speter#key_f44 kf44 str FY - - ----- F44 function key 110197049Speter#key_f45 kf45 str FZ - - ----- F45 function key 110297049Speter#key_f46 kf46 str Fa - - ----- F46 function key 110397049Speter#key_f47 kf47 str Fb - - ----- F47 function key 110497049Speter#key_f48 kf48 str Fc - - ----- F48 function key 110597049Speter#key_f49 kf49 str Fd - - ----- F49 function key 110697049Speter#key_f50 kf50 str Fe - - ----- F50 function key 110797049Speter#key_f51 kf51 str Ff - - ----- F51 function key 110897049Speter#key_f52 kf52 str Fg - - ----- F52 function key 110997049Speter#key_f53 kf53 str Fh - - ----- F53 function key 111097049Speter#key_f54 kf54 str Fi - - ----- F54 function key 111197049Speter#key_f55 kf55 str Fj - - ----- F55 function key 111297049Speter#key_f56 kf56 str Fk - - ----- F56 function key 111397049Speter#key_f57 kf57 str Fl - - ----- F57 function key 111497049Speter#key_f58 kf58 str Fm - - ----- F58 function key 111597049Speter#key_f59 kf59 str Fn - - ----- F59 function key 111697049Speter#key_f60 kf60 str Fo - - ----- F60 function key 111797049Speter#key_f61 kf61 str Fp - - ----- F61 function key 111897049Speter#key_f62 kf62 str Fq - - ----- F62 function key 111997049Speter#key_f63 kf63 str Fr - - ----- F63 function key 112097049Speter# 112197049Speter# IBM extensions 112297049Speter# 112397049Speter# These extensions follow ptr_non (replacing everything after it) in IBM 112497049Speter# terminfo files. 112597049Speter# 112697049Speter# The places in the box[12] capabilities correspond to acsc characters, here is 112797049Speter# the mapping: 112897049Speter# 112997049Speter# box1[0] = ACS_ULCORNER 113097049Speter# box1[1] = ACS_HLINE 113197049Speter# box1[2] = ACS_URCORNER 113297049Speter# box1[3] = ACS_VLINE 113397049Speter# box1[4] = ACS_LRCORNER 113497049Speter# box1[5] = ACS_LLCORNER 113597049Speter# box1[6] = ACS_TTEE 113697049Speter# box1[7] = ACS_RTEE 113797049Speter# box1[8] = ACS_BTEE 113897049Speter# box1[9] = ACS_LTEE 113997049Speter# box1[10] = ACS_PLUS 114097049Speter# 114197049Speter# The box2 characters are the double-line versions of these forms graphics. 114297049Speter# 114397049Speterbox_chars_1 box1 str bx - - ----K box characters primary set 114497049Speter#box_chars_2 box2 str by - - ----K box characters secondary set 114597049Speter#box_attr_1 batt1 str Bx - - ----K attributes for box1 114697049Speter#box_attr_2 batt2 str By - - ----K attributes for box2 114797049Speter#color_bg_0 colb0 str d0 - - ----K background color 0 114897049Speter#color_bg_1 colb1 str d1 - - ----K background color 1 114997049Speter#color_bg_2 colb2 str d2 - - ----K background color 2 115097049Speter#color_bg_3 colb3 str d3 - - ----K background color 3 115197049Speter#color_bg_4 colb4 str d4 - - ----K background color 4 115297049Speter#color_bg_5 colb5 str d5 - - ----K background color 5 115397049Speter#color_bg_6 colb6 str d6 - - ----K background color 6 115497049Speter#color_bg_7 colb7 str d7 - - ----K background color 7 115597049Speter#color_fg_0 colf0 str c0 - - ----K foreground color 0 115697049Speter#color_fg_1 colf1 str c1 - - ----K foreground color 1 115797049Speter#color_fg_2 colf2 str c2 - - ----K foreground color 2 115897049Speter#color_fg_3 colf3 str c3 - - ----K foreground color 3 115997049Speter#color_fg_4 colf4 str c4 - - ----K foreground color 4 116097049Speter#color_fg_5 colf5 str c5 - - ----K foreground color 5 116197049Speter#color_fg_6 colf6 str c6 - - ----K foreground color 6 116297049Speter#color_fg_7 colf7 str c7 - - ----K foreground color 7 116397049Speter#font_0 font0 str f0 - - ----- select font 0 116497049Speter#font_1 font1 str f1 - - ----- select font 1 116597049Speter#font_2 font2 str f2 - - ----- select font 2 116697049Speter#font_3 font3 str f3 - - ----- select font 3 116797049Speter#font_4 font4 str f4 - - ----K select font 4 116897049Speter#font_5 font5 str f5 - - ----K select font 5 116997049Speter#font_6 font6 str f6 - - ----K select font 6 117097049Speter#font_7 font7 str f7 - - ----K select font 7 117197049Speter#key_back_tab kbtab str k0 - - ----- backtab key 117297049Speter#key_do kdo str ki - - ----K do request key 117397049Speter#key_command kcmd str kd - - ----K command-request key 117497049Speter#key_command_pane kcpn str kW - - ----K command-pane key 117597049Speter#key_end kend str kw - - ----- end key 117697049Speter#key_help khlp str kq - - ----- help key 117797049Speter#key_newline knl str nl - - ----K newline key 117897049Speter#key_next_pane knpn str kv - - ----K next-pane key 117997049Speter#key_prev_cmd kppn str kp - - ----K previous-command key 118097049Speter#key_prev_pane kppn str kV - - ----K previous-pane key 118197049Speter#key_quit kquit str kQ - - ----K quit key 118297049Speter#key_select ksel str kU - - ----- select key 118397049Speter#key_scroll_left kscl str kz - - ----K scroll left 118497049Speter#key_scroll_right kscr str kZ - - ----K scroll right 118597049Speter#key_tab ktab str ko - - ----K tab key 118697049Speter#key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input 118797049Speter#key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output 118897049Speter#key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input 118997049Speter#key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output 119097049Speter#key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input 119197049Speter#key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output 119297049Speter#key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input 119397049Speter#key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output 119497049Speter#key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input 119597049Speter#key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output 119697049Speter#appl_defined_str apstr str za - - ----K application-defined string 119797049Speter# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in 119897049Speter# the IBM manual pages, so the cap name strings are guesses. The terminfo 119997049Speter# names are almost certainly right, the termcap ones almost certainly wrong. 120097049Speter#key_smap_in6 kmpf6 str k! - - ----K special mapped key 6 input 120197049Speter#key_smap_out6 kmpt6 str K@ - - ----K special mapped key 6 output 120297049Speter#key_smap_in7 kmpf7 str k# - - ----K special mapped key 7 input 120397049Speter#key_smap_out7 kmpt7 str K$ - - ----K special mapped key 7 output 120497049Speter#key_smap_in8 kmpf8 str k% - - ----K special mapped key 8 input 120597049Speter#key_smap_out8 kmpt8 str K^ - - ----K special mapped key 8 output 120697049Speter#key_smap_in9 kmpf9 str k& - - ----K special mapped key 9 input 120797049Speter#key_smap_out9 kmpt9 str K* - - ----K special mapped key 9 output 120897049Speter# Undocumented capabilities end here 120997049Speter#key_sf1 ksf1 str S1 - - ----K special function key 1 121097049Speter#key_sf2 ksf2 str S2 - - ----K special function key 2 121197049Speter#key_sf3 ksf3 str S3 - - ----K special function key 3 121297049Speter#key_sf4 ksf4 str S4 - - ----K special function key 4 121397049Speter#key_sf5 ksf5 str S5 - - ----K special function key 5 121497049Speter#key_sf6 ksf6 str S6 - - ----K special function key 6 121597049Speter#key_sf7 ksf7 str S7 - - ----K special function key 7 121697049Speter#key_sf8 ksf8 str S8 - - ----K special function key 8 121797049Speter#key_sf9 ksf9 str S9 - - ----K special function key 9 121897049Speter#key_sf10 ksf10 str SA - - ----K special function key 10 121997049Speter# AIX version 3 documents different codes for F11, F12 and does not mention 122097049Speter# F13-F64. AIX version 4 uses the same naming for F0-F63 as above. 122197049Speter#key_f11 kf11 str k< - - ----- function key 11 122297049Speter#key_f12 kf12 str k> - - ----- function key 12 122397049Speter# Undocumented capabilities end here. 122497049Speter#key_action kact str kJ - - ----K sent by action key 122597049Speter# The IBM docs say these capabilities are for table-drawing, and are 122697049Speter# valid only for aixterm descriptions. 122797049Speter#enter_topline_mode topl str tp - - ----K start top-line mode 122897049Speter#enter_bottom_mode btml str bm - - ----K start bottom-line mode 122997049Speter#enter_rvert_mode rvert str rv - - ----K start right-vertical mode 123097049Speter#enter_lvert_mode lvert str lv - - ----K start left-vertical mode 123197049Speter# 123297049Speter############################################################################# 123397049Speter# 123497049Speter# ALIAS DECLARATIONS 123597049Speter# 123697049Speter# Here we set up aliases for translating extensions into standard terminfo. 123797049Speter# 123897049Speter#---------------------------------- Termcap aliases ------------------------- 123997049Speter# 124097049Speter# BSD aliases: 124197049Speter# 124297049Speter# This is a common error in many termcap files. We'll get notified during 124397049Speter# translation when this (or any other alias) fires. 124497049Speter# 124597049Spetercapalias sb sr BSD scroll text down 124697049Speter# 124797049Speter# AT&T extensions: 124897049Speter# 124997049Speter# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of 125097049Speter# nonstandard capabilities. Its signature is the KM capability, used to name 125197049Speter# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this 125297049Speter# set. Comments in the original, and a little cross-checking with other AT&T 125397049Speter# documentation, seem to establish the following mappings: 125497049Speter# 125597049Spetercapalias BO mr AT&T enter_reverse_mode 125697049Spetercapalias CI vi AT&T cursor_invisible 125797049Spetercapalias CV ve AT&T cursor_normal 125897049Spetercapalias DS mh AT&T enter_dim_mode 125997049Speter#capalias EE me AT&T exit_attribute_mode 126097049Spetercapalias FE LF AT&T label_on 126197049Spetercapalias FL LO AT&T label_off 126297049Spetercapalias XS mk AT&T enter_secure_mode 126397049Speter# 126497049Speter# We comment out EE because the conflicting XENIX EE is more common in 126597049Speter# old entries. 126697049Speter# 126797049Speter# XENIX extensions: 126897049Speter# 126997049Speter# These are the ones we know how to translate directly: 127097049Speter# 127197049Spetercapalias EE mh XENIX exit_attribute_mode 127297049Spetercapalias GE ae XENIX exit_alt_charset_mode 127397049Spetercapalias GS as XENIX enter_alt_charset_mode 127497049Spetercapalias CF vi XENIX cursor_invis 127597049Spetercapalias CO ve XENIX cursor_normal 127697049Spetercapalias EN @7 XENIX key_end 127797049Spetercapalias HM kh XENIX key_home 127897049Spetercapalias LD kL XENIX key_dl 127997049Spetercapalias PD kN XENIX key_npage 128097049Spetercapalias PN po XENIX prtr_off 128197049Spetercapalias PS pf XENIX prtr_on 128297049Spetercapalias PU kP XENIX key_ppage 128397049Spetercapalias RT @8 XENIX kent 128497049Spetercapalias UP ku XENIX kcuu1 128597049Spetercapalias G6 IGNORE XENIX double-ACS_ULCORNER 128697049Spetercapalias G7 IGNORE XENIX double-ACS_LLCORNER 128797049Spetercapalias G5 IGNORE XENIX double-ACS_URCORNER 128897049Spetercapalias G8 IGNORE XENIX double-ACS_LRCORNER 128997049Spetercapalias Gr IGNORE XENIX double-ACS_LTEE 129097049Spetercapalias Gr IGNORE XENIX double-ACS_RTEE 129197049Spetercapalias Gu IGNORE XENIX double-ACS_BTEE 129297049Spetercapalias Gd IGNORE XENIX double ACS_TTEE 129397049Spetercapalias Gh IGNORE XENIX double-ACS_HLINE 129497049Spetercapalias Gv IGNORE XENIX double-ACS_VLINE 129597049Spetercapalias Gc IGNORE XENIX double-ACS_PLUS 129697049Spetercapalias GG IGNORE XENIX acs-glitch 129797049Speter# 129897049Speter# IBM extensions: 129997049Speter# 130097049Spetercapalias kq %1 IBM key_help 130197049Speter# 130297049Speter# Iris extensions: 130397049Speter# 130497049Spetercapalias HS mh IRIS enter_dim_mode 130597049Speter# 130697049Speter# Tektronix extensions: 130797049Speter# 130897049Spetercapalias KA k; Tek key_f10 130997049Spetercapalias KB F1 Tek key_f11 131097049Spetercapalias KC F2 Tek key_f12 131197049Spetercapalias KD F3 Tek key_f13 131297049Spetercapalias KE F4 Tek key_f14 131397049Spetercapalias KF F5 Tek key_f15 131497049Spetercapalias BC Sb Tek set_background 131597049Spetercapalias FC Sf Tek set_foreground 131697049Speter# 131797049Speter# There are also the following: 131897049Speter# 131997049Speter# XENIX XENIX variable name name clash with terminfo? 132097049Speter# ----- ------------------- ------------------------- 132197049Speter# CL key_char_left 132297049Speter# CR key_char_right 132397049Speter# CW key_change_window 132497049Speter# HP ?? 132597049Speter# LF key_linefeed label_off 132697049Speter# NU key_next_unlocked_cell 132797049Speter# PL ?? 132897049Speter# PR ?? 132997049Speter# RC key_recalc remove_clock 133097049Speter# RF key_toggle_ref req_for_input 133197049Speter# WL key_word_left 133297049Speter# WR key_word_right 133397049Speter# 133497049Speter# If you know what any of the question-marked ones mean, please tell us. 133597049Speter# 133697049Speter#--------------------------------- Terminfo aliases ------------------------ 133797049Speter# 133897049Speter# IBM extensions: 133997049Speter# 134097049Speterinfoalias font0 s0ds IBM set0_des_seq 134197049Speterinfoalias font1 s1ds IBM set1_des_seq 134297049Speterinfoalias font2 s2ds IBM set2_des_seq 134397049Speterinfoalias font3 s3ds IBM set3_des_seq 134497049Speterinfoalias kbtab kcbt IBM key_backtab 134597049Speterinfoalias ksel kslt IBM key_select 134697049Speter# 134797049Speter# Some others are identical to SVr4/XPG4 capabilities, in particular: 134897049Speter# kcmd, kend, khlp, and kf11...kf63. 134997049Speter# 135097049Speter############################################################################# 1351