1 /* @(#)caplist.c	1.10 12/04/27 Copyright 2000-2012 J. Schilling */
2 /*
3  *	The list of capabilities for the termcap command
4  *
5  *	Copyright (c) 2000-2012 J. Schilling
6  */
7 /*
8  * The contents of this file are subject to the terms of the
9  * Common Development and Distribution License, Version 1.0 only
10  * (the "License").  You may not use this file except in compliance
11  * with the License.
12  *
13  * See the file CDDL.Schily.txt in this distribution for details.
14  * A copy of the CDDL is also available via the Internet at
15  * http://www.opensource.org/licenses/cddl1.txt
16  *
17  * When distributing Covered Code, include this CDDL HEADER in each
18  * file and include the License file CDDL.Schily.txt from this distribution.
19  */
20 
21 /*
22  * Termcap Terminfo	Terminfo variable		Comment
23  * name    name		name
24  */
25 
26 /*
27  * Boolean capabilities:
28  */
29 { "--",	"--",		"BOOL",				"--" },
30 { "bw",	"bw",		"auto_left_margin",		"cursor_left wraps from column 0 to last column" },
31 { "am",	"am",		"auto_right_margin",		"terminal has automatic margins" },
32 { "xb",	"xsb",		"no_esc_ctlc",			"beehive (f1=escape, f2=ctrl C)" },
33 { "xs",	"xhp",		"ceol_standout_glitch",		"standout not erased by overwriting (hp)" },
34 { "xn",	"xenl",		"eat_newline_glitch",		"newline ignored after 80 cols (concept)" },
35 { "eo",	"eo",		"erase_overstrike",		"can erase overstrikes with a blank" },
36 { "gn",	"gn",		"generic_type",			"generic line type" },
37 { "hc",	"hc",		"hard_copy",			"hardcopy terminal" },
38 { "km",	"km",		"has_meta_key",			"Has a meta key, sets msb high" },
39 { "hs",	"hs",		"has_status_line",		"has extra status line" },
40 { "in",	"in",		"insert_null_glitch",		"insert mode distinguishes nulls" },
41 { "da",	"da",		"memory_above",			"display may be retained above the screen" },
42 { "db",	"db",		"memory_below",			"display may be retained below the screen" },
43 { "mi",	"mir",		"move_insert_mode",		"safe to move while in insert mode" },
44 { "ms",	"msgr",		"move_standout_mode",		"safe to move while in standout mode" },
45 { "os",	"os",		"over_strike",			"terminal can overstrike" },
46 { "es",	"eslok",	"status_line_esc_ok",		"escape can be used on the status line" },
47 { "xt",	"xt",		"dest_tabs_magic_smso",		"tabs destructive, magic so char (t1061)" },
48 { "hz",	"hz",		"tilde_glitch",			"can't print ~'s (hazeltine)" },
49 { "ul",	"ul",		"transparent_underline",	"underline character overstrikes" },
50 { "xo",	"xon",		"xon_xoff",			"terminal uses xon/xoff handshaking" },
51 { "nx",	"nxon",		"needs_xon_xoff",		"padding won't work, xon/xoff required" },
52 { "5i",	"mc5i",		"prtr_silent",			"printer won't echo on screen" },
53 { "HC",	"chts",		"hard_cursor",			"cursor is hard to see" },
54 { "NR",	"nrrmc",	"non_rev_rmcup",		"enter_ca_mode does not reverse exit_ca_mode" },
55 { "NP",	"npc",		"no_pad_char",			"pad character does not exist" },
56 { "ND",	"ndscr",	"non_dest_scroll_region",	"scrolling region is non-destructive" },
57 { "cc",	"ccc",		"can_change",			"terminal can re-define existing colors" },
58 { "ut",	"bce",		"back_color_erase",		"screen erased with background color" },
59 { "hl",	"hls",		"hue_lightness_saturation",	"terminal uses only HLS color notation (tektronix)" },
60 { "YA",	"xhpa",		"col_addr_glitch",		"only positive motion for column address and micro_column_address caps" },
61 { "YB",	"crxm",		"cr_cancels_micro_mode",	"using cr turns off micro mode" },
62 { "YC",	"daisy",	"has_print_wheel",		"printer needs operator to change character set" },
63 { "YD",	"xvpa",		"row_addr_glitch",		"only positive motion for row_address and micro_row_address caps" },
64 { "YE",	"sam",		"semi_auto_right_margin",	"printing in last column causes cr" },
65 { "YF",	"cpix",		"cpi_changes_res",		"changing character pitch changes resolution" },
66 { "YG",	"lpix",		"lpi_changes_res",		"changing line pitch changes resolution" },
67 
68 /*
69  * Numeric capabilities:
70  */
71 { "--",	"--",		"INT",				"--" },
72 { "co",	"cols",		"columns",			"number of columns in a line" },
73 { "it",	"it",		"init_tabs",			"tabs initially every # spaces" },
74 { "li",	"lines",	"lines",			"number of lines on screen or page" },
75 { "lm",	"lm",		"lines_of_memory",		"lines of memory if > line. 0 => varies" },
76 { "sg",	"xmc",		"magic_cookie_glitch",		"number of blank chars left by enter_standout_mode or exit_standout_mode" },
77 { "pb",	"pb",		"padding_baud_rate",		"lowest baud rate where padding needed" },
78 { "vt",	"vt",		"virtual_terminal",		"virtual terminal number (CB/unix)" },
79 { "ws",	"wsl",		"width_status_line",		"columns in status line" },
80 { "Nl",	"nlab",		"num_labels",			"number of labels on screen" },
81 { "lh",	"lh",		"label_height",			"rows in each label" },
82 { "lw",	"lw",		"label_width",			"columns in each label" },
83 { "ma",	"ma",		"max_attributes",		"maximum combined attributes terminal can handle" },
84 { "MW",	"wnum",		"maximum_windows",		"maximum number of definable windows" },
85 { "ug",	"ug",		"magic_cookie_glitch_ul",	"number of blanks left by underline" },
86 
87 	/*
88 	 * These came in with SVr4's color support
89 	 */
90 { "Co",	"colors",	"max_colors",			"maximum numbers of colors on screen" },
91 { "pa",	"pairs",	"max_pairs",			"maximum number of color-pairs on the screen" },
92 { "NC",	"ncv",		"no_color_video",		"video attributes that can't be used with colors" },
93 
94 	/*
95 	 * The following numeric capabilities are present in the SVr4.0 term
96 	 * structure, but are not yet documented in the man page.
97 	 * They came in with SVr4's printer support.
98 	 */
99 { "Ya",	"bufsz",	"buffer_capacity",		"numbers of bytes buffered before printing" },
100 { "Yb",	"spinv",	"dot_vert_spacing",		"spacing of pins vertically in pins per inch" },
101 { "Yc",	"spinh",	"dot_horz_spacing",		"spacing of dots horizontally in dots per inch" },
102 { "Yd",	"maddr",	"max_micro_address",		"maximum value in micro_..._address" },
103 { "Ye",	"mjump",	"max_micro_jump",		"maximum value in parm_..._micro" },
104 { "Yf",	"mcs",		"micro_char_size",		"character size when in micro mode" },
105 { "Yg",	"mls",		"micro_line_size",		"line size when in micro mode" },
106 { "Yh",	"npins",	"number_of_pins",		"numbers of pins in print-head" },
107 { "Yi",	"orc",		"output_res_char",		"horizontal resolution in units per line" },
108 { "Yj",	"orl",		"output_res_line",		"vertical resolution in units per line" },
109 { "Yk",	"orhi",		"output_res_horz_inch",		"horizontal resolution in units per inch" },
110 { "Yl",	"orvi",		"output_res_vert_inch",		"vertical resolution in units per inch" },
111 { "Ym",	"cps",		"print_rate",			"print rate in chars per second" },
112 { "Yn",	"widcs",	"wide_char_size",		"character step size when in double wide mode" },
113 { "BT",	"btns",		"buttons",			"number of buttons on mouse" },
114 { "Yo",	"bitwin",	"bit_image_entwining",		"number of passed for each bit-image row" },
115 { "Yp",	"bitype",	"bit_image_type",		"type of bit-image device" },
116 
117 /*
118  * String capabilities:
119  */
120 { "--",	"--",		"STRING",			"--" },
121 { "bt",	"cbt",		"back_tab",			"back tab (P)" },
122 { "bl",	"bel",		"bell",				"audible signal (bell) (P)" },
123 { "cr",	"cr",		"carriage_return",		"carriage return (P*)" },
124 { "cs",	"csr",		"change_scroll_region",		"change scrolling region to line #1 to line #2 (NP)" },
125 { "ct",	"tbc",		"clear_all_tabs",		"clear all tab stops (P)" },
126 { "cl",	"clear",	"clear_screen",			"clear screen and home cursor (P*)" },
127 { "ce",	"el",		"clr_eol",			"clear to end of line (P)" },
128 { "cd",	"ed",		"clr_eos",			"clear to end of screen (P*)" },
129 { "ch",	"hpa",		"column_address",		"horizontal position #1, absolute (NP)" },
130 { "CC",	"cmdch",	"command_character",		"terminal settable cmd character in prototype" },
131 { "cm",	"cup",		"cursor_address",		"move to row #1 column #2 (NP)" },
132 { "do",	"cud1",		"cursor_down",			"down one line" },
133 { "ho",	"home",		"cursor_home",			"home cursor" },
134 { "vi",	"civis",	"cursor_invisible",		"make cursor invisible" },
135 { "le",	"cub1",		"cursor_left",			"move left one space" },
136 { "CM",	"mrcup",	"cursor_mem_address",		"memory relative cursor addressing to row #1 column #2 (N)" },
137 { "ve",	"cnorm",	"cursor_normal",		"make cursor appear normal (undo cursor_invisible/cursor_visible)" },
138 { "nd",	"cuf1",		"cursor_right",			"move right one space" },
139 { "ll",	"ll",		"cursor_to_ll",			"last line, first column" },
140 { "up",	"cuu1",		"cursor_up",			"up one line" },
141 { "vs",	"cvvis",	"cursor_visible",		"make cursor very visible" },
142 { "dc",	"dch1",		"delete_character",		"delete character (P*)" },
143 { "dl",	"dl1",		"delete_line",			"delete line (P*)" },
144 { "ds",	"dsl",		"dis_status_line",		"disable status line" },
145 { "hd",	"hd",		"down_half_line",		"half a line down" },
146 { "as",	"smacs",	"enter_alt_charset_mode",	"start alternate character set (P)" },
147 { "mb",	"blink",	"enter_blink_mode",		"turn on blinking" },
148 { "md",	"bold",		"enter_bold_mode",		"turn on bold (extra bright) mode" },
149 { "ti",	"smcup",	"enter_ca_mode",		"string to start programs using cursor_address" },
150 { "dm",	"smdc",		"enter_delete_mode",		"enter delete mode" },
151 { "mh",	"dim",		"enter_dim_mode",		"turn on half-bright mode" },
152 { "im",	"smir",		"enter_insert_mode",		"enter insert mode" },
153 { "mk",	"invis",	"enter_secure_mode",		"turn on blank mode (characters invisible)" },
154 { "mp",	"prot",		"enter_protected_mode",		"turn on protected mode" },
155 { "mr",	"rev",		"enter_reverse_mode",		"turn on reverse video mode" },
156 { "so",	"smso",		"enter_standout_mode",		"begin standout mode" },
157 { "us",	"smul",		"enter_underline_mode",		"begin underline mode" },
158 { "ec",	"ech",		"erase_chars",			"erase #1 characters (NP)" },
159 { "ae",	"rmacs",	"exit_alt_charset_mode",	"end alternate character set (P)" },
160 { "me",	"sgr0",		"exit_attribute_mode",		"turn off all attributes" },
161 { "te",	"rmcup",	"exit_ca_mode",			"strings to end programs using cursor_address" },
162 { "ed",	"rmdc",		"exit_delete_mode",		"end delete mode" },
163 { "ei",	"rmir",		"exit_insert_mode",		"exit insert mode" },
164 { "se",	"rmso",		"exit_standout_mode",		"exit standout mode" },
165 { "ue",	"rmul",		"exit_underline_mode",		"exit underline mode" },
166 { "vb",	"flash",	"flash_screen",			"visible bell (must not move cursor)" },
167 { "ff",	"ff",		"form_feed",			"hardcopy terminal page eject (P*)" },
168 { "fs",	"fsl",		"from_status_line",		"return from status line" },
169 { "i1",	"is1",		"init_1string",			"initialization string" },
170 { "is",	"is2",		"init_2string",			"initialization string" },
171 { "i3",	"is3",		"init_3string",			"initialization string" },
172 { "if",	"if",		"init_file",			"name of file containing initialization string" },
173 { "ic",	"ich1",		"insert_character",		"insert character (P)" },
174 { "al",	"il1",		"insert_line",			"insert line (P*)" },
175 { "ip",	"ip",		"insert_padding",		"insert padding after inserted character" },
176 { "kb",	"kbs",		"key_backspace",		"backspace key" },
177 { "ka",	"ktbc",		"key_catab",			"clear-all-tabs key" },
178 { "kC",	"kclr",		"key_clear",			"clear-screen or erase key" },
179 { "kt",	"kctab",	"key_ctab",			"clear-tab key" },
180 { "kD",	"kdch1",	"key_dc",			"delete-character key" },
181 { "kL",	"kdl1",		"key_dl",			"delete-line key" },
182 { "kd",	"kcud1",	"key_down",			"down-arrow key" },
183 { "kM",	"krmir",	"key_eic",			"sent by rmir or smir in insert mode" },
184 { "kE",	"kel",		"key_eol",			"clear-to-end-of-line key" },
185 { "kS",	"ked",		"key_eos",			"clear-to-end-of-screen key" },
186 { "k0",	"kf0",		"key_f0",			"F0 function key" },
187 { "k1",	"kf1",		"key_f1",			"F1 function key" },
188 { "k;",	"kf10",		"key_f10",			"F10 function key" },
189 { "k2",	"kf2",		"key_f2",			"F2 function key" },
190 { "k3",	"kf3",		"key_f3",			"F3 function key" },
191 { "k4",	"kf4",		"key_f4",			"F4 function key" },
192 { "k5",	"kf5",		"key_f5",			"F5 function key" },
193 { "k6",	"kf6",		"key_f6",			"F6 function key" },
194 { "k7",	"kf7",		"key_f7",			"F7 function key" },
195 { "k8",	"kf8",		"key_f8",			"F8 function key" },
196 { "k9",	"kf9",		"key_f9",			"F9 function key" },
197 { "kh",	"khome",	"key_home",			"home key" },
198 { "kI",	"kich1",	"key_ic",			"insert-character key" },
199 { "kA",	"kil1",		"key_il",			"insert-line key" },
200 { "kl",	"kcub1",	"key_left",			"left-arrow key" },
201 { "kH",	"kll",		"key_ll",			"last-line key" },
202 { "kN",	"knp",		"key_npage",			"next-page key" },
203 { "kP",	"kpp",		"key_ppage",			"prev-page key" },
204 { "kr",	"kcuf1",	"key_right",			"right-arrow key" },
205 { "kF",	"kind",		"key_sf",			"scroll-forward key" },
206 { "kR",	"kri",		"key_sr",			"scroll-backward key" },
207 { "kT",	"khts",		"key_stab",			"set-tab key" },
208 { "ku",	"kcuu1",	"key_up",			"up-arrow key" },
209 { "ke",	"rmkx",		"keypad_local",			"leave 'keyboard_transmit' mode" },
210 { "ks",	"smkx",		"keypad_xmit",			"enter 'keyboard_transmit' mode" },
211 { "l0",	"lf0",		"lab_f0",			"label on function key f0 if not f0" },
212 { "l1",	"lf1",		"lab_f1",			"label on function key f1 if not f1" },
213 { "la",	"lf10",		"lab_f10",			"label on function key f10 if not f10" },
214 { "l2",	"lf2",		"lab_f2",			"label on function key f2 if not f2" },
215 { "l3",	"lf3",		"lab_f3",			"label on function key f3 if not f3" },
216 { "l4",	"lf4",		"lab_f4",			"label on function key f4 if not f4" },
217 { "l5",	"lf5",		"lab_f5",			"label on function key f5 if not f5" },
218 { "l6",	"lf6",		"lab_f6",			"label on function key f6 if not f6" },
219 { "l7",	"lf7",		"lab_f7",			"label on function key f7 if not f7" },
220 { "l8",	"lf8",		"lab_f8",			"label on function key f8 if not f8" },
221 { "l9",	"lf9",		"lab_f9",			"label on function key f9 if not f9" },
222 { "mo",	"rmm",		"meta_off",			"turn off meta mode" },
223 { "mm",	"smm",		"meta_on",			"turn on meta mode (8th-bit on)" },
224 { "nw",	"nel",		"newline",			"newline (behave like cr followed by lf)" },
225 { "pc",	"pad",		"pad_char",			"padding char (instead of null)" },
226 { "DC",	"dch",		"parm_dch",			"delete #1 chars (NP*)" },
227 { "DL",	"dl",		"parm_delete_line",		"delete #1 lines (NP*)" },
228 { "DO",	"cud",		"parm_down_cursor",		"down #1 lines (NP*)" },
229 { "IC",	"ich",		"parm_ich",			"insert #1 chars (NP*)" },
230 { "SF",	"indn",		"parm_index",			"scroll forward #1 lines (NP)" },
231 { "AL",	"il",		"parm_insert_line",		"insert #1 lines (NP*)" },
232 { "LE",	"cub",		"parm_left_cursor",		"move #1 chars to the left (NP)" },
233 { "RI",	"cuf",		"parm_right_cursor",		"move #1 chars to the right (NP*)" },
234 { "SR",	"rin",		"parm_rindex",			"scroll back #1 lines (NP)" },
235 { "UP",	"cuu",		"parm_up_cursor",		"up #1 lines (NP*)" },
236 { "pk",	"pfkey",	"pkey_key",			"program function key #1 to type string #2" },
237 { "pl",	"pfloc",	"pkey_local",			"program function key #1 to execute string #2" },
238 { "px",	"pfx",		"pkey_xmit",			"program function key #1 to transmit string #2" },
239 { "ps",	"mc0",		"print_screen",			"print contents of screen" },
240 { "pf",	"mc4",		"prtr_off",			"turn off printer" },
241 { "po",	"mc5",		"prtr_on",			"turn on printer" },
242 { "rp",	"rep",		"repeat_char",			"repeat char #1 #2 times (NP*)" },
243 { "r1",	"rs1",		"reset_1string",		"reset string (reset terminal completely)" },
244 { "r2",	"rs2",		"reset_2string",		"reset string (reset terminal completely)" },
245 { "r3",	"rs3",		"reset_3string",		"reset string (reset terminal completely)" },
246 { "rf",	"rf",		"reset_file",			"name of file containing reset string" },
247 { "rc",	"rc",		"restore_cursor",		"restore cursor to last position of save_cursor" },
248 { "cv",	"vpa",		"row_address",			"vertical position #1 absolute (NP)" },
249 { "sc",	"sc",		"save_cursor",			"save current cursor position (P)" },
250 { "sf",	"ind",		"scroll_forward",		"scroll text up (P)" },
251 { "sr",	"ri",		"scroll_reverse",		"scroll text down (P)" },
252 { "sa",	"sgr",		"set_attributes",		"define video attributes #1-#9 (PG9) (NP)" },
253 { "st",	"hts",		"set_tab",			"set a tab in every row, current columns" },
254 { "wi",	"wind",		"set_window",			"set current window to lines #1-#2 cols #3-#4 (N)" },
255 { "ta",	"ht",		"tab",				"tab to next 8-space hardware tab stop" },
256 { "ts",	"tsl",		"to_status_line",		"move to status line col #1 (N)" },
257 { "uc",	"uc",		"underline_char",		"underline char and move past it" },
258 { "hu",	"hu",		"up_half_line",			"half a line up" },
259 { "iP",	"iprog",	"init_prog",			"path name of program for initialization" },
260 { "K1",	"ka1",		"key_a1",			"upper left of keypad" },
261 { "K3",	"ka3",		"key_a3",			"upper right of keypad" },
262 { "K2",	"kb2",		"key_b2",			"center of keypad" },
263 { "K4",	"kc1",		"key_c1",			"lower left of keypad" },
264 { "K5",	"kc3",		"key_c3",			"lower right of keypad" },
265 { "pO",	"mc5p",		"prtr_non",			"turn on printer for #1 bytes (N)" },
266 { "i2",	"i2",		"termcap_init2",		"secondary initialization string" },
267 { "rs",	"rs",		"termcap_reset",		"terminal reset string (reset terminal completely)" },
268 
269 	/*
270 	 * SVr1 capabilities stop here.  IBM's version of terminfo is the same as
271 	 * SVr4 up to this point, but has a different set afterwards.
272 	 */
273 { "rP",	"rmp",		"char_padding",			"like insert_padding but when in replace mode" },
274 { "ac",	"acsc",		"acs_chars",			"graphics charset pairs - def=vt100" },
275 { "pn",	"pln",		"plab_norm",			"program label #1 to show string #2 (NP)" },
276 { "kB",	"kcbt",		"key_btab",			"back-tab key" },
277 { "SX",	"smxon",	"enter_xon_mode",		"turn on xon/xoff handshaking" },
278 { "RX",	"rmxon",	"exit_xon_mode",		"turn off xon/xoff handshaking" },
279 { "SA",	"smam",		"enter_am_mode",		"turn on automatic margins" },
280 { "RA",	"rmam",		"exit_am_mode",			"turn off automatic margins" },
281 { "XN",	"xonc",		"xon_character",		"XON character" },
282 { "XF",	"xoffc",	"xoff_character",		"XOFF character" },
283 { "eA",	"enacs",	"ena_acs",			"enable alternate (graphic) char set" },
284 { "LO",	"smln",		"label_on",			"turn on soft labels" },
285 { "LF",	"rmln",		"label_off",			"turn off soft labels" },
286 { "@1",	"kbeg",		"key_beg",			"begin key" },
287 { "@2",	"kcan",		"key_cancel",			"cancel key" },
288 { "@3",	"kclo",		"key_close",			"close key" },
289 { "@4",	"kcmd",		"key_command",			"command key" },
290 { "@5",	"kcpy",		"key_copy",			"copy key" },
291 { "@6",	"kcrt",		"key_create",			"create key" },
292 { "@7",	"kend",		"key_end",			"end key" },
293 { "@8",	"kent",		"key_enter",			"enter/send key" },
294 { "@9",	"kext",		"key_exit",			"exit key" },
295 { "@0",	"kfnd",		"key_find",			"find key" },
296 { "%1",	"khlp",		"key_help",			"help key" },
297 { "%2",	"kmrk",		"key_mark",			"mark key" },
298 { "%3",	"kmsg",		"key_message",			"message key" },
299 { "%4",	"kmov",		"key_move",			"move key" },
300 { "%5",	"knxt",		"key_next",			"next key" },
301 { "%6",	"kopn",		"key_open",			"open key" },
302 { "%7",	"kopt",		"key_options",			"options key" },
303 { "%8",	"kprv",		"key_previous",			"previous key" },
304 { "%9",	"kprt",		"key_print",			"print key" },
305 { "%0",	"krdo",		"key_redo",			"redo key" },
306 { "&1",	"kref",		"key_reference",		"reference key" },
307 { "&2",	"krfr",		"key_refresh",			"refresh key" },
308 { "&3",	"krpl",		"key_replace",			"replace key" },
309 { "&4",	"krst",		"key_restart",			"restart key" },
310 { "&5",	"kres",		"key_resume",			"resume key" },
311 { "&6",	"ksav",		"key_save",			"save key" },
312 { "&7",	"kspd",		"key_suspend",			"suspend key" },
313 { "&8",	"kund",		"key_undo",			"undo key" },
314 { "&9",	"kBEG",		"key_sbeg",			"shifted begin key" },
315 { "&0",	"kCAN",		"key_scancel",			"shifted cancel key" },
316 { "*1",	"kCMD",		"key_scommand",			"shifted command key" },
317 { "*2",	"kCPY",		"key_scopy",			"shifted copy key" },
318 { "*3",	"kCRT",		"key_screate",			"shifted create key" },
319 { "*4",	"kDC",		"key_sdc",			"shifted delete-char key" },
320 { "*5",	"kDL",		"key_sdl",			"shifted delete-line key" },
321 { "*6",	"kslt",		"key_select",			"select key" },
322 { "*7",	"kEND",		"key_send",			"shifted end key" },
323 { "*8",	"kEOL",		"key_seol",			"shifted clear-to-end-of-line key" },
324 { "*9",	"kEXT",		"key_sexit",			"shifted exit key" },
325 { "*0",	"kFND",		"key_sfind",			"shifted find key" },
326 { "#1",	"kHLP",		"key_shelp",			"shifted help key" },
327 { "#2",	"kHOM",		"key_shome",			"shifted home key" },
328 { "#3",	"kIC",		"key_sic",			"shifted input key" },
329 { "#4",	"kLFT",		"key_sleft",			"shifted left-arrow key" },
330 { "%a",	"kMSG",		"key_smessage",			"shifted message key" },
331 { "%b",	"kMOV",		"key_smove",			"shifted move key" },
332 { "%c",	"kNXT",		"key_snext",			"shifted next key" },
333 { "%d",	"kOPT",		"key_soptions",			"shifted options key" },
334 { "%e",	"kPRV",		"key_sprevious",		"shifted previous key" },
335 { "%f",	"kPRT",		"key_sprint",			"shifted print key" },
336 { "%g",	"kRDO",		"key_sredo",			"shifted redo key" },
337 { "%h",	"kRPL",		"key_sreplace",			"shifted replace key" },
338 { "%i",	"kRIT",		"key_sright",			"shifted right-arrow key" },
339 { "%j",	"kRES",		"key_srsume",			"shifted resume key" },
340 { "!1",	"kSAV",		"key_ssave",			"shifted save key" },
341 { "!2",	"kSPD",		"key_ssuspend",			"shifted suspend key" },
342 { "!3",	"kUND",		"key_sundo",			"shifted undo key" },
343 { "RF",	"rfi",		"req_for_input",		"send next input char (for ptys)" },
344 { "F1",	"kf11",		"key_f11",			"F11 function key" },
345 { "F2",	"kf12",		"key_f12",			"F12 function key" },
346 { "F3",	"kf13",		"key_f13",			"F13 function key" },
347 { "F4",	"kf14",		"key_f14",			"F14 function key" },
348 { "F5",	"kf15",		"key_f15",			"F15 function key" },
349 { "F6",	"kf16",		"key_f16",			"F16 function key" },
350 { "F7",	"kf17",		"key_f17",			"F17 function key" },
351 { "F8",	"kf18",		"key_f18",			"F18 function key" },
352 { "F9",	"kf19",		"key_f19",			"F19 function key" },
353 { "FA",	"kf20",		"key_f20",			"F20 function key" },
354 { "FB",	"kf21",		"key_f21",			"F21 function key" },
355 { "FC",	"kf22",		"key_f22",			"F22 function key" },
356 { "FD",	"kf23",		"key_f23",			"F23 function key" },
357 { "FE",	"kf24",		"key_f24",			"F24 function key" },
358 { "FF",	"kf25",		"key_f25",			"F25 function key" },
359 { "FG",	"kf26",		"key_f26",			"F26 function key" },
360 { "FH",	"kf27",		"key_f27",			"F27 function key" },
361 { "FI",	"kf28",		"key_f28",			"F28 function key" },
362 { "FJ",	"kf29",		"key_f29",			"F29 function key" },
363 { "FK",	"kf30",		"key_f30",			"F30 function key" },
364 { "FL",	"kf31",		"key_f31",			"F31 function key" },
365 { "FM",	"kf32",		"key_f32",			"F32 function key" },
366 { "FN",	"kf33",		"key_f33",			"F33 function key" },
367 { "FO",	"kf34",		"key_f34",			"F34 function key" },
368 { "FP",	"kf35",		"key_f35",			"F35 function key" },
369 { "FQ",	"kf36",		"key_f36",			"F36 function key" },
370 { "FR",	"kf37",		"key_f37",			"F37 function key" },
371 { "FS",	"kf38",		"key_f38",			"F38 function key" },
372 { "FT",	"kf39",		"key_f39",			"F39 function key" },
373 { "FU",	"kf40",		"key_f40",			"F40 function key" },
374 { "FV",	"kf41",		"key_f41",			"F41 function key" },
375 { "FW",	"kf42",		"key_f42",			"F42 function key" },
376 { "FX",	"kf43",		"key_f43",			"F43 function key" },
377 { "FY",	"kf44",		"key_f44",			"F44 function key" },
378 { "FZ",	"kf45",		"key_f45",			"F45 function key" },
379 { "Fa",	"kf46",		"key_f46",			"F46 function key" },
380 { "Fb",	"kf47",		"key_f47",			"F47 function key" },
381 { "Fc",	"kf48",		"key_f48",			"F48 function key" },
382 { "Fd",	"kf49",		"key_f49",			"F49 function key" },
383 { "Fe",	"kf50",		"key_f50",			"F50 function key" },
384 { "Ff",	"kf51",		"key_f51",			"F51 function key" },
385 { "Fg",	"kf52",		"key_f52",			"F52 function key" },
386 { "Fh",	"kf53",		"key_f53",			"F53 function key" },
387 { "Fi",	"kf54",		"key_f54",			"F54 function key" },
388 { "Fj",	"kf55",		"key_f55",			"F55 function key" },
389 { "Fk",	"kf56",		"key_f56",			"F56 function key" },
390 { "Fl",	"kf57",		"key_f57",			"F57 function key" },
391 { "Fm",	"kf58",		"key_f58",			"F58 function key" },
392 { "Fn",	"kf59",		"key_f59",			"F59 function key" },
393 { "Fo",	"kf60",		"key_f60",			"F60 function key" },
394 { "Fp",	"kf61",		"key_f61",			"F61 function key" },
395 { "Fq",	"kf62",		"key_f62",			"F62 function key" },
396 { "Fr",	"kf63",		"key_f63",			"F63 function key" },
397 { "cb",	"el1",		"clr_bol",			"Clear to beginning of line" },
398 { "MC",	"mgc",		"clear_margins",		"clear right and left soft margins" },
399 { "ML",	"smgl",		"set_left_margin",		"set left soft margin" },
400 { "MR",	"smgr",		"set_right_margin",		"set right soft margin" },
401 { "Lf",	"fln",		"label_format",			"label format" },
402 { "SC",	"sclk",		"set_clock",			"set clock, #1 hrs #2 mins #3 secs" },
403 { "DK",	"dclk",		"display_clock",		"display clock at (#1,#2)" },
404 { "RC",	"rmclk",	"remove_clock",			"remove clock" },
405 { "CW",	"cwin",		"create_window",		"define a window #1 from #2, #3 to #4, #5" },
406 { "WG",	"wingo",	"goto_window",			"go to window #1" },
407 { "HU",	"hup",		"hangup",			"hang-up phone" },
408 { "DI",	"dial",		"dial_phone",			"dial number #1" },
409 { "QD",	"qdial",	"quick_dial",			"dial number #1 without checking" },
410 { "TO",	"tone",		"tone",				"select touch tone dialing" },
411 { "PU",	"pulse",	"pulse",			"select pulse dialing" },
412 { "fh",	"hook",		"flash_hook",			"flash switch hook" },
413 { "PA",	"pause",	"fixed_pause",			"pause for 2-3 seconds" },
414 { "WA",	"wait",		"wait_tone",			"wait for dial-tone" },
415 { "u0",	"u0",		"user0",			"User string #0" },
416 { "u1",	"u1",		"user1",			"User string #1" },
417 { "u2",	"u2",		"user2",			"User string #2" },
418 { "u3",	"u3",		"user3",			"User string #3" },
419 { "u4",	"u4",		"user4",			"User string #4" },
420 { "u5",	"u5",		"user5",			"User string #5" },
421 { "u6",	"u6",		"user6",			"User string #6" },
422 { "u7",	"u7",		"user7",			"User string #7" },
423 { "u8",	"u8",		"user8",			"User string #8" },
424 { "u9",	"u9",		"user9",			"User string #9" },
425 
426 	/*
427 	 * SVr4 added these capabilities to support color
428 	 */
429 { "op",	"op",		"orig_pair",			"Set default pair to its original value" },
430 { "oc",	"oc",		"orig_colors",			"Set all color pairs to the original ones" },
431 { "Ic",	"initc",	"initialize_color",		"initialize color #1 to (#2,#3,#4)" },
432 { "Ip",	"initp",	"initialize_pair",		"Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)" },
433 { "sp",	"scp",		"set_color_pair",		"Set current color pair to #1" },
434 { "Sf",	"setf",		"set_foreground",		"Set foreground color #1" },
435 { "Sb",	"setb",		"set_background",		"Set background color #1" },
436 
437 	/*
438 	 * SVr4 added these capabilities to support printers
439 	 */
440 { "ZA",	"cpi",		"change_char_pitch",		"Change number of characters per inch" },
441 { "ZB",	"lpi",		"change_line_pitch",		"Change number of lines per inch" },
442 { "ZC",	"chr",		"change_res_horz",		"Change horizontal resolution" },
443 { "ZD",	"cvr",		"change_res_vert",		"Change vertical resolution" },
444 { "ZE",	"defc",		"define_char",			"Define a character" },
445 { "ZF",	"swidm",	"enter_doublewide_mode",	"Enter double-wide mode" },
446 { "ZG",	"sdrfq",	"enter_draft_quality",		"Enter draft-quality mode" },
447 { "ZH",	"sitm",		"enter_italics_mode",		"Enter italic mode" },
448 { "ZI",	"slm",		"enter_leftward_mode",		"Start leftward carriage motion" },
449 { "ZJ",	"smicm",	"enter_micro_mode",		"Start micro-motion mode" },
450 { "ZK",	"snlq",		"enter_near_letter_quality",	"Enter NLQ mode" },
451 { "ZL",	"snrmq",	"enter_normal_quality",		"Enter normal-quality mode" },
452 { "ZM",	"sshm",		"enter_shadow_mode",		"Enter shadow-print mode" },
453 { "ZN",	"ssubm",	"enter_subscript_mode",		"Enter subscript mode" },
454 { "ZO",	"ssupm",	"enter_superscript_mode",	"Enter superscript mode" },
455 { "ZP",	"sum",		"enter_upward_mode",		"Start upward carriage motion" },
456 { "ZQ",	"rwidm",	"exit_doublewide_mode",		"End double-wide mode" },
457 { "ZR",	"ritm",		"exit_italics_mode",		"End italic mode" },
458 { "ZS",	"rlm",		"exit_leftward_mode",		"End left-motion mode" },
459 { "ZT",	"rmicm",	"exit_micro_mode",		"End micro-motion mode" },
460 { "ZU",	"rshm",		"exit_shadow_mode",		"End shadow-print mode" },
461 { "ZV",	"rsubm",	"exit_subscript_mode",		"End subscript mode" },
462 { "ZW",	"rsupm",	"exit_superscript_mode",	"End superscript mode" },
463 { "ZX",	"rum",		"exit_upward_mode",		"End reverse character motion" },
464 { "ZY",	"mhpa",		"micro_column_address",		"Like column_address in micro mode" },
465 { "ZZ",	"mcud1",	"micro_down",			"Like cursor_down in micro mode" },
466 { "Za",	"mcub1",	"micro_left",			"Like cursor_left in micro mode" },
467 { "Zb",	"mcuf1",	"micro_right",			"Like cursor_right in micro mode" },
468 { "Zc",	"mvpa",		"micro_row_address",		"Like row_address in micro mode" },
469 { "Zd",	"mcuu1",	"micro_up",			"Like cursor_up in micro mode" },
470 { "Ze",	"porder",	"order_of_pins",		"Match software bits to print-head pins" },
471 { "Zf",	"mcud",		"parm_down_micro",		"Like parm_down_cursor in micro mode" },
472 { "Zg",	"mcub",		"parm_left_micro",		"Like parm_left_cursor in micro mode" },
473 { "Zh",	"mcuf",		"parm_right_micro",		"Like parm_right_cursor in micro mode" },
474 { "Zi",	"mcuu",		"parm_up_micro",		"Like parm_up_cursor in micro mode" },
475 { "Zj",	"scs",		"select_char_set",		"Select character set" },
476 { "Zk",	"smgb",		"set_bottom_margin",		"Set bottom margin at current line" },
477 { "Zl",	"smgbp",	"set_bottom_margin_parm",	"Set bottom margin at line #1 or #2 lines from bottom" },
478 { "Zm",	"smglp",	"set_left_margin_parm",		"Set left (right) margin at column #1 (#2)" },
479 { "Zn",	"smgrp",	"set_right_margin_parm",	"Set right margin at column #1" },
480 { "Zo",	"smgt",		"set_top_margin",		"Set top margin at current line" },
481 { "Zp",	"smgtp",	"set_top_margin_parm",		"Set top (bottom) margin at row #1 (#2)" },
482 { "Zq",	"sbim",		"start_bit_image",		"Start printing bit image graphics" },
483 { "Zr",	"scsd",		"start_char_set_def",		"Start character set definition" },
484 { "Zs",	"rbim",		"stop_bit_image",		"Stop printing bit image graphics" },
485 { "Zt",	"rcsd",		"stop_char_set_def",		"End definition of character aet" },
486 { "Zu",	"subcs",	"subscript_characters",		"List of subscriptable characters" },
487 { "Zv",	"supcs",	"superscript_characters",	"List of superscriptable characters" },
488 { "Zw",	"docr",		"these_cause_cr",		"Printing any of these chars causes CR" },
489 { "Zx",	"zerom",	"zero_motion",			"No motion for subsequent character" },
490 
491 	/*
492 	 * The following string capabilities are present in the SVr4.0 term
493 	 * structure, but are not documented in the man page.
494 	 */
495 { "Zy",	"csnm",		"char_set_names",		"List of character set names" },
496 { "Km",	"kmous",	"key_mouse",			"Mouse event has occurred" },
497 { "Mi",	"minfo",	"mouse_info",			"Mouse status information" },
498 { "RQ",	"reqmp",	"req_mouse_pos",		"Request mouse position" },
499 { "Gm",	"getm",		"get_mouse",			"Curses should get button events" },
500 { "AF",	"setaf",	"set_a_foreground",		"Set ANSI foreground color" },
501 { "AB",	"setab",	"set_a_background",		"Set ANSI background color" },
502 { "xl",	"pfxl",		"pkey_plab",			"Program function key #1 to type string #2 and show string #3" },
503 { "dv",	"devt",		"device_type",			"Indicate language/codeset support" },
504 { "ci",	"csin",		"code_set_init",		"Init sequence for multiple codesets" },
505 { "s0",	"s0ds",		"set0_des_seq",			"Shift to code set 0 (EUC set 0, ASCII)" },
506 { "s1",	"s1ds",		"set1_des_seq",			"Shift to code set 1" },
507 { "s2",	"s2ds",		"set2_des_seq",			"Shift to code set 2" },
508 { "s3",	"s3ds",		"set3_des_seq",			"Shift to code set 3" },
509 /*
510  *  See above "ML", "smgl" -> "set_left_margin"
511  */
512 { "ML",	"smglr",	"set_lr_margin",		"Set both left and right margins to #1, #2" },
513 { "MT",	"smgtb",	"set_tb_margin",		"Sets both top and bottom margins to #1, #2" },
514 { "Xy",	"birep",	"bit_image_repeat",		"Repeat bit image cell #1 #2 times" },
515 { "Zz",	"binel",	"bit_image_newline",		"Move to next row of the bit image" },
516 { "Yv",	"bicr",		"bit_image_carriage_return",	"Move to beginning of same row" },
517 { "Yw",	"colornm",	"color_names",			"Give name for color #1" },
518 { "Yx",	"defbi",	"define_bit_image_region",	"Define rectangular bit image region" },
519 { "Yy",	"endbi",	"end_bit_image_region",		"End a bit-image region" },
520 { "Yz",	"setcolor",	"set_color_band",		"Change to ribbon color #1" },
521 { "YZ",	"slines",	"set_page_length",		"Set page length to #1 lines" },
522 
523 	/*
524 	 * SVr4 added these capabilities for direct PC-clone support
525 	 */
526 { "S1",	"dispc",	"display_pc_char",		"Display PC character" },
527 { "S2",	"smpch",	"enter_pc_charset_mode",	"Enter PC character display mode" },
528 { "S3",	"rmpch",	"exit_pc_charset_mode",		"Exit PC character display mode" },
529 { "S4",	"smsc",		"enter_scancode_mode",		"Enter PC scancode mode" },
530 { "S5",	"rmsc",		"exit_scancode_mode",		"Exit PC scancode mode" },
531 { "S6",	"pctrm",	"pc_term_options",		"PC terminal options" },
532 { "S7",	"scesc",	"scancode_escape",		"Escape for scancode emulation" },
533 { "S8",	"scesa",	"alt_scancode_esc",		"Alternate escape for scancode emulation" },
534 
535 	/*
536 	 * The XSI Curses standard added these.
537 	 */
538 { "Xh",	"Xh",		"enter_horizontal_hl_mode",	"Enter horizontal highlight mode" },
539 { "Xl",	"Xl",		"enter_left_hl_mode",		"Enter left highlight mode" },
540 { "Xo",	"Xo",		"enter_low_hl_mode",		"Enter low highlight mode" },
541 { "Xr",	"Xr",		"enter_right_hl_mode",		"Enter right highlight mode" },
542 { "Xt",	"Xt",		"enter_top_hl_mode",		"Enter top highlight mode" },
543 { "Xv",	"Xv",		"enter_vertical_hl_mode",	"Enter vertical highlight mode" },
544 
545 #ifdef	SVSV_adds
546 	/*
547 	 * Defined on SVr4 but not used
548 	 */
549 { "??",	"sgr1"		"set_a_attributes",		"Define second set of attributes #1-#6" },
550 { "YI",	"slength",	"set_pglen_inch",		"Set page length to #1/100 of an inch" },
551 #endif
552 
553 	/*
554 	 * Obsolete termcap capabilities.
555 	 * (see current BSD man pages)
556 	 * New software should not rely on them at all.
557 	 */
558 { "--",	"--",		"OBSOLETE",			"--" },
559 { "--",	"--",		"BOOL",				"--" },
560 { "NL",	"NL",		"linefeed_is_newline",		"move down with ^J" },
561 { "EP",	"EP",		"even_parity",			"terminal requires even parity" },
562 { "OP",	"OP",		"odd_parity",			"terminal requires odd parity" },
563 { "HD",	"HD",		"half_duplex",			"terminal is half-duplex" },
564 { "LC",	"LC",		"lower_case_only",		"terminal has only lower case" },
565 { "UC",	"UC",		"upper_case_only",		"terminal has only upper case" },
566 { "pt",	"pt",		"has_hardware_tabs",		"has 8-char tabs invoked with ^I" },
567 { "xr",	"xr",		"return_does_clr_eol",		"return clears to end of line" },
568 { "xx",	"xx",		"tek_4025_insert_line",		"Tektronix 4025 insert-line glitch" },
569 { "bs",	"bs",		"backspaces_with_bs",		"uses ^H to move left" },
570 { "ns",	"ns",		"crt_no_scrolling",		"crt cannot scroll" },
571 { "nc",	"nc",		"no_correctly_working_cr",	"no way to go to start of line" },
572 
573 { "--",	"--",		"OBSOLETE",			"--" },
574 { "--",	"--",		"INT",				"--" },
575 { "dB",	"dB",		"backspace_delay",		"ms of padding required for ^H" },
576 { "dF",	"dF",		"form_feed_delay",		"ms of padding required for ^L" },
577 { "dT",	"dT",		"horizontal_tab_delay",		"ms of padding required for ^I" },
578 { "dV",	"dV",		"vertical_tab_delay",		"ms of padding required for ^K" },
579 { "kn",	"kn",		"number_of_function_keys",	"count of function keys" },
580 { "dC",	"dC",		"carriage_return_delay",	"ms of padding required for CR" },
581 { "dN",	"dN",		"new_line_delay",		"ms of padding required for LF" },
582 
583 { "--",	"--",		"OBSOLETE",			"--" },
584 { "--",	"--",		"STRING",			"--" },
585 { "ko",	"ko",		"other_non_function_keys",	"list of self-mapped keycaps" },
586 /*
587  * See above "ma", "ma" -> max_attributes
588  */
589 { "ma",	"ma",		"arrow_key_map",		"map arrow keys rogue(1) motion keys" },
590 { "ml",	"ml",		"memory_lock_above",		"lock visible screen memory above the current line" },
591 { "mu",	"mu",		"memory_unlock",		"unlock visible screen memory above the current line" },
592 { "nl",	"nl",		"linefeed_if_not_lf",		"use to move down" },
593 { "bc",	"bc",		"backspace_if_not_bs",		"move left, if not ^H" },
594 
595 { "--",	"--",		"COMMENT",			"--" },
596 { "..",	"..",		"unknown",			"unknown entries" },
597 { "..",	"..",		"commented_out",		"commented out entries" },
598 
599 	/*
600 	 * This must be last...
601 	 */
602 { "--",	"--",		"CURIOUS",			"--" },
603 { "--",	"--",		"STRING",			"--" },
604 { "--",	"--",		"TC",				"--" },
605 { "tc",	"use",		"similar_terminal",		"similar terminal" },
606