TERMINFO(5) NetBSD File Formats Manual TERMINFO(5)
NAME
terminfo -- terminal capability definition
DESCRIPTION
terminfo describes the capabilities of terminals, used by programs such as vi(1), rogue(6) and libraries such as curses(3). The terminfo source described here needs to be compiled with tic(1) to be of any use. Entries in terminfo consist of a number of comma separated fields. White space after each comma is ignored. Embedded commas must be escaped by using a backslash. Lines beginning with `#' in the first column are treated as comments. Blank lines are ignored. The header line must begin in column one and end with a comma. Inside the header line are terminal name and aliases, separated by vertical bars, the last one being the long description of the terminal. Capability lines then follow, starting on column two and ending with a comma. Each capability is listed by its name, followed by its value if applicable. Booleans have no values, numeric values are prefixed by `#' and strings are prefixed by `='. Numbers can range from 0 to 32767 and string values can be up to 1000 characters long. This implementation supports strings upto 32767 characters long, including the NUL termina- tor. Some escapes are available for strings - both \E and \e map to the ESC character, ^X maps to a control-X for any appropriate X, and the sequences \n, \r, \t, \b and \f map to linefeed, return, tab, backspace, and formfeed respectively. Any character can be escaped in octal, such as \072. If you need to encode a NUL character, it should be escaped as \200. A delay in milliseconds may appear anywhere in a string capability, pre- fixed with a dollar sign and enclosed by angled brackets, such as $<5>. String Parameters String capabilities sometimes require parameters. Normally this just involves replacing the parameter with a supplied variable; however, there are cases where the variable needs to be manipulated or used in condi- tional expressions. A stack is also provided for simple pop and push operations. The below % encodings have the following meanings: %% outputs % %[[:]flags][width[.precision]][doxXs] flags are ``[-+#]''. Prefix with `:' to avoid interpreting ``%-'' as an operator. %c pop a parameter and print the character representation of it. %s pop a parameter and print the string representation of it. %p[1-9] push the parameter [1-9]. %P[a-z] pop a parameter and push it to dynamic variable [a-z]. %g[a-z] push the dynamic variable [a-z]. %P[A-Z] pop a parameter and push it to static variable [a-z]. %g[A-Z] push the dynamic variable [A-Z]. Static variables persist over tparm() whereas dynamic variables do not. %'c' char constant c. %{nn} integer constant nn. %l push the string length of the previously popped parameter. %+ %- %* %/ %m arithmetic: pop two parameters and push the result. %& %| %^ bit operations: pop two parameters and push the result. %! %~ unary operations: pop two parameters and push the result. %i add 1 to parameters 1 and 2. %? expr %t then %e else %; If expr equates to zero then control passes to the optional else part. Boolean Capabilities Long name Code TC auto_left_margin bw bw auto_right_margin am am back_color_erase bce ut can_change ccc cc ceol_standout_glitch xhp xs col_addr_glitch xhpa YA cpi_changes_res cpix YF cr_cancels_micro_mode crxm YB dest_tabs_magic_smso xt xt eat_newline_glitch xenl xn erase_overstrike eo eo generic_type gn gn hard_copy hc hc hard_cursor chts HC has_meta_key km km has_print_wheel daisy YC has_status_line hs hs hue_light_saturation hls hl insert_null_glitch in in lpi_changes_yes lpix YG memory_above da da memory_below db db move_insert_mode mir mi move_standout_mode msgr ms needs_xon_xoff nxon nx no_esc_ctlc xsb xb no_pad_char npc NP non_dest_scroll_region ndscr ND non_rev_rmcup nrrmc NR over_strike os os prtr_silent mc5i 5i row_addr_glitch xvpa YD semi_auto_right_margin sam YE status_line_esc_ok eslok es tilde_glitch hz hz transparent_underline ul ul xon_xoff xon xo Numeric Capabilities Long name Code TC bit_image_entwining bitwin Yo bit_image_type bitype Yp buffer_capacity bufsz Ya buttons btns BT columns cols co dot_horz_spacing spinh Yc dot_vert_spacing spinv Yb init_tabs it it label_height lh lh label_width lw lw lines lines li lines_of_memory lm lm magic_cookie_glitch xmc sg max_attributes ma ma max_colors colors Co max_micro_address maddr Yd max_micro_jump mjump Ye max_pairs pairs pa maximum_windows wnum MW micro_col_size mcs Yf micro_line_size mls Yg no_color_video ncv NC num_labels nlab Nl number_of_pins npins Yh output_res_char orc Yi output_res_horz_inch orhi Yk output_res_line orl Yj output_res_vert_inch orvi Yl padding_baud_rate pb pb print_rate cps Ym virtual_terminal vt vt wide_char_size widcs Yn width_status_line wsl ws String Capabilities Long name Code TC acs_chars acsc ac alt_scancode_esc scesa S8 back_tab cbt bt bell bel bl bit_image_carriage_return bicr Yv bit_image_newline binel Zz bit_image_repeat birep Xy carriage_return cr cr change_char_pitch cpi ZA change_line_pitch lpi ZB change_res_horz chr ZC change_res_vert cvr ZD change_scroll_region csr cs char_padding rmp rP char_set_names csnm Zy clear_all_tabs tbc ct clear_margins mgc MC clear_screen clear cl clr_bol el1 cb clr_eol el ce clr_eos ed cd code_set_init csin ci color_names colornm Yw column_address hpa ch command_character cmdch CC create_window cwin cursor_address cup cm cursor_down cud1 do cursor_home home ho cursor_invisible civis vi cursor_left cub1 le cursor_mem_address mrcup CM cursor_normal cnorm ve cursor_right cuf1 nd cursor_to_ll ll ll cursor_up cuu1 up cursor_visible cvvis vs define_bit_image_region defbi Yx define_char defc ZE delete_character dch1 dc delete_line dl1 dl device_type devt dv dial_phone dial DI dis_status_line dsl ds display_clock dclk DK display_pc_char dispc S1 down_half_time hd hd ena_acs enacs eA end_bit_image_region endbi Yy enter_alt_charset_mode smacs as enter_am_mode smam SA enter_blink_mode blink mb enter_bold_mode bold md enter_ca_mode smcup ti enter_delete_mode smdc dm enter_dim_mode dim mh enter_doublewide_mode swidm ZF enter_draft_quality sdrfq ZG enter_horizontal_hl_mode ehhlm Xh enter_insert_mode smir im enter_italics_mode sitm ZH enter_left_hl_mode elhlm Xl enter_leftward_mode slm ZI enter_low_hl_mode elohlm Xo enter_micro_mode smicm ZJ enter_near_quality_letter snlq ZK enter_normal_quality snrmq ZL enter_pc_charset_mode smpch S2 enter_protected_mode prot mp enter_reverse_mode rev mr enter_right_hl_mode erhlm Xr enter_scancode_mode smsc S4 enter_secure_mode invis mk enter_shadow_mode sshm ZM enter_standout_mode smso so enter_subscript_mode ssubm ZN enter_superscript_mode ssupm ZO enter_top_hl_mode ethlm Xt enter_underline_mode smul us enter_upward_mode sum ZP enter_vertical_hl_mode evhlm Xv enter_xon_mode smxon SX erase_chars ech ec exit_alt_charset_mode rmacs ae exit_am_mode rmam RA exit_attribute_mode sgr0 me exit_ca_mode rmcup te exit_delete_mode rmdc ed exit_doublewide_mode rwidm ZQ exit_insert_mode rmir ei exit_italics_mode ritm ZR exit_leftward_mode rlm ZS exit_micro_mode rmicm ZT exit_pc_charset_mode rmpch S3 exit_scancode_mode rmsc S5 exit_shadow_mode rshm ZU exit_standout_mode rmso se exit_subscript_mode rsubm ZV exit_superscript_mode rsupm ZW exit_underline_mode rmul ue exit_upward_mode rum ZX exit_xon_mode rmxon RX fixed_pause pause PA flash_hook hook fh flash_screen flash vb form_feed ff ff from_status_line fsl fs get_mouse getm Gm goto_window wingo WG hangup hup HU init_1string is1 i1 init_2string is2 i2 init_3string is3 i3 init_file if if init_prog iprog iP initialize_color initc Ic initialize_pair initp Ip insert_character ich1 ic insert_line il1 al insert_padding ip ip key_a1 ka1 K1 key_a3 ka3 K3 key_b2 kb2 K2 key_backspace kbs kb key_beg kbeg @1 key_btab kcbt kB key_c1 kc1 K4 key_c3 kc3 K5 key_cancel kcan @2 key_catab ktbc ka key_clear kclr kC key_close kclo @3 key_command kcmd @4 key_copy kcpy @5 key_create kcrt @6 key_ctab kctab kt key_dc kdch1 kD key_dl kdl1 kL key_down kcud1 kd key_eic krmir kM key_end kend @7 key_enter kent @8 key_eol kel kE key_eos ked kS key_exit kext @9 key_f0 kf0 k0 key_f1 kf1 k1 key_f10 kf10 k; key_f11 kf11 F1 key_f12 kf12 F2 key_f13 kf13 F3 key_f14 kf14 F4 key_f15 kf15 F5 key_f16 kf16 F6 key_f17 kf17 F7 key_f18 kf18 F8 key_f19 kf19 F9 key_f2 kf2 k2 key_f20 kf20 FA key_f21 kf21 FB key_f22 kf22 FC key_f23 kf23 FD key_f24 kf24 FE key_f25 kf25 FF key_f26 kf26 FG key_f27 kf27 FH key_f28 kf28 FI key_f29 kf29 FJ key_f3 kf3 k3 key_f30 kf30 FK key_f31 kf31 FL key_f32 kf32 FM key_f33 kf33 FN key_f34 kf34 FO key_f35 kf35 FP key_f36 kf36 FQ key_f37 kf37 FR key_f38 kf38 FS key_f39 kf39 FT key_f4 kf4 k4 key_f40 kf40 FU key_f41 kf41 FV key_f42 kf42 FW key_f43 kf43 FX key_f44 kf44 FY key_f45 kf45 FZ key_f46 kf46 Fa key_f47 kf47 Fb key_f48 kf48 Fc key_f49 kf49 Fd key_f5 kf5 k5 key_f50 kf50 Fe key_f51 kf51 Ff key_f52 kf52 Fg key_f53 kf53 Fh key_f54 kf54 Fi key_f55 kf55 Fj key_f56 kf56 Fk key_f57 kf57 Fl key_f58 kf58 Fm key_f59 kf59 Fn key_f6 kf6 k6 key_f60 kf60 Fo key_f61 kf61 Fp key_f62 kf62 Fq key_f63 kf63 Fr key_f7 kf7 k7 key_f8 kf8 k8 key_f9 kf9 k9 key_find kfnd @0 key_help khlp %1 key_home khome kh key_ic kich1 kI key_il kil1 kA key_left kcub1 kl key_ll kll kH key_mark kmrk %2 key_message kmsg %3 key_mouse kmous Km key_move kmov %4 key_next knxt %5 key_npage knp kN key_open kopn %6 key_options kopt %7 key_ppage kpp kP key_previous kprv %8 key_print kprt %9 key_redo krdo %0 key_reference kref &1 key_refresh krfr &2 key_replace krpl &3 key_restart krst &4 key_resume kres &5 key_right kcuf1 kr key_save ksav &6 key_sbeg kBEG &9 key_scancel kCAN &0 key_scommand kCMD *1 key_scopy kCPY *2 key_screate kCRT *3 key_sdc kDC *4 key_sdl kDL *5 key_select kslt *6 key_send kEND *7 key_seol kEOL *8 key_sexit kEXT *9 key_sf kind kF key_sfind kFND *0 key_shelp kHLP #1 key_shome kHOM #2 key_sic kIC #3 key_sleft kLFT #4 key_smessage kMSG %a key_smove kMOV %b key_snext kNXT %c key_soptions kOPT %d key_sprevious kPRV %e key_sprint kPRT %f key_sr kri kR key_sredo kRDO %g key_sreplace kRPL %h key_sright kRIT %i key_srsume kRES %j key_ssave kSAV !1 key_ssuspend kSPD !2 key_stab khts kT key_sundo kUND !3 key_suspend kspd &7 key_undo kund &8 key_up kcuu1 ku keypad_local rmkx ke keypad_xmit smkx ks lab_f0 lf0 l0 lab_f1 lf1 l1 lab_f10 lf10 la lab_f2 lf2 l2 lab_f3 lf3 l3 lab_f4 lf4 l4 lab_f5 lf5 l5 lab_f6 lf6 l6 lab_f7 lf7 l7 lab_f8 lf8 l8 lab_f9 lf9 l9 label_format fln Lf label_off rmln LF label_on smln LO meta_off rmm mo meta_on smm mm micro_column_address mhpa ZY micro_down mcud1 ZZ micro_left mcub1 Za micro_right mcuf1 Zb micro_row_address mvpa Zc micro_up mcuu1 Zd mouse_info minfo Mi newline nel nw order_of_pins porder Ze orig_colors oc oc orig_pair op op pad_char pad pc parm_dch dch DC parm_delete_line dl DL parm_down_cursor cud DO parm_down_micro mcud Zf parm_ich ich IC parm_index indn SF parm_insert_line il AL parm_left_cursor cub LE parm_left_micro mcub Zg parm_right_cursor cuf RI parm_right_micro mcuf Zh parm_rindex rin SR parm_up_cursor cuu UP parm_up_micro mcuu Zi pc_term_options pctrm S6 pkey_key pfkey pk pkey_local pfloc pl pkey_norm pln pn pkey_plab pfxl xl pkey_xmit pfx px print_screen mc0 ps ptr_non mc5p pO ptr_off mc4 pf ptr_on mc5 po pulse pulse PU quick_dial qdial QD remove_clock rmclk RC repeat_char rep rp req_for_input rfi RF req_mouse_pos reqmp RQ reset_1string rs1 r1 reset_2string rs2 r2 reset_3string rs3 r3 reset_file rf rf restore_cursor rc rc row_address vpa cv save_cursor sc sc scancode_escape scesc S7 scroll_forward ind sf scroll_reverse ri sr select_char_set scs Zj set0_des_seq s0ds s0 set1_des_seq s1ds s1 set2_des_seq s2ds s2 set3_des_seq s3ds s3 set_a_attributes sgr1 sA set_a_background setab AB set_a_foreground setaf AF set_attributes sgr sa set_background setb Sb set_bottom_margin smgb Zk set_bottom_margin_parm smgbp Zl set_clock sclk SC set_color_band setcolor set_color_pair scp sp set_foreground setf Sf set_left_margin smgl ML set_left_margin_parm smglp Zm set_lr_margin smglr set_page_length slines Yz set_pglen_inch slength sL set_right_margin smgr MR set_right_margin_parm smgrp Zn set_tab hts st set_tb_margin smgtb MT set_top_margin smgt Zo set_top_margin_parm smgtp Zp set_window wind wi start_bit_image sbim Zq start_char_set_def scsd Zr stop_bit_image rbim Zs stop_char_set_def rcsd Zt subscript_characters subcs Zu superscript_characters supcs Zv tab ht ta these_cause_cr docr Zw to_status_line tsl ts tone tone TO underline_char uc uc up_half_line hu hu user0 u0 u0 user1 u1 u1 user2 u2 u2 user3 u3 u3 user4 u4 u4 user5 u5 u5 user6 u6 u6 user7 u7 u7 user8 u8 u8 user9 u9 u9 wait_tone wait WA xoff_character xoffc XF xon_character xonc XN zero_motion zerom Zx A Sample Entry vt100|dec vt100 (w/advanced video), am, xenl, msgr, mc5i, xon, cols#80, it#8, lines#24, vt#3, acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, cr=^M, csr=\E[%i%p1%d;%p2%dr, tbc=\E[3g, clear=\E[H\E[J$<50>, el1=\E[1K$<3>, el=\E[K$<3>, ed=\E[J$<50>, cup=\E[%i%p1%d;%p2%dH$<5>, cud1=^J, home=\E[H, cub1=^H, cuf1=\E[C$<2>, cuu1=\E[A$<2>, enacs=\E(B\E)0, smacs=^N, smam=\E[?7h, blink=\E[5m$<2>, bold=\E[1m$<2>, rev=\E[7m$<2>, smso=\E[7m$<2>, smul=\E[4m$<2>, rmacs=^O, rmam=\E[?7l, sgr0=\E[m017$<2>, rmso=\E[m$<2>, rmul=\E[m$<2>, ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcud1=\EOB, kent=\EOM, kf0=\EOy, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, kf10=\EOx, kcub1=\EOD, kcuf1=\EOC, kcuu1=\EOA, rmkx=\E[?1l\E>, smkx=\E[?1h\E=, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, cud=\E[%p1%dB, cub=\E[%p1%dD, cuf=\E[%p1%dC, cuu=\E[%p1%dA, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, rc=\E8, sc=\E7, ind=^J, ri=\EM$<5>, sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t016%e017%;$<2>, hts=\EH, ht=^I, Fetching Compiled Descriptions This implementation uses hashed databases managed by cdb(5) instead of directories. To maintain compatability with other implementations, .cdb is appended to each file checked. If the environment variable TERMINFO is available, does not begin with (`/'), can be compiled with the above rules and whose name matches TERM then it is used. If the environment variable TERMCAP is available and does not begin with a slash (`/') then it will be translated into terminfo and compiled as above. If its name matches TERM then it is used. If the environment variable TERMINFO is available and begins with a slash (`/') then only this file is searched. Otherwise terminfo will first look for $HOME/.terminfo, followed by /usr/share/misc/terminfo unless TERMINFO_DIRS is available. If a matching description is not found then a small embedded database is searched, which currently holds descriptions for ansi, dumb, vt100, vt220, wsvt25, and xterm.
FILES
$HOME/.terminfo.cdb Database of terminal descriptions for per- sonal use. /usr/share/misc/terminfo File containing terminal descriptions. /usr/share/misc/terminfo.cdb Database of terminal descriptions.
SEE ALSO
infocmp(1), tic(1), tput(1), curses(3), cdb(5)
STANDARDS
terminfo complies with the X/Open Curses Issue 4, Version 2 (``XCURSES4.2'') standard. Extensions to the standard are noted in tic(1).
AUTHORS
Roy Marples <roy@NetBSD.org> NetBSD 6.0.2 June 6, 2012 NetBSD 6.0.2
Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.