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