terminfo(4) — File Formats
NAME
terminfo − Describes terminals by capability
DESCRIPTION
A terminfo file is a database that describes the capabilities and method of operation of various terminals. The database includes definitions of initialization sequences, padding requirements, cursor positioning, and other command sequences that control specific terminals.
Before a terminfo source file can be used, it must be compiled using the tic command. The compiled terminfo entries are placed into subdirectories of the /usr/lib/terminfo directory. This directory may be redefined with the TERMINFO environment variable. See the EXAMPLES section for more information on using the TERMINFO environment variable.
Each terminfo file entry consists of a number of fields separated by commas. Any white space between commas is ignored. The first field for each terminal supplies the names the terminal is known by, separated by vertical bars (|). The first name given is the most common abbreviation for the terminal, the last name given is a long name fully identifying the terminal, and all others are synonyms for the terminal name. All names except the last are in lowercase and do not contain any white space.
The fields following the terminal name supply the capabilities of the terminal. Although capability names have no absolute length limit, an informal limit of 5 characters is adopted to keep them short and to allow the tabs in the source file caps to be aligned. Whenever possible, names are chosen to be the same as or similar to the ANSI X3.64 standard of 1979.
Terminal names (except the last) are chosen using the following conventions. A root name is chosen to represent the particular hardware class of the terminal. This name does not contain hyphens, except to avoid synonyms that conflict with other names. Possible modes for the hardware or user preferences are indicated by appending a - (hyphen) and one of the following suffixes:
−am
With automatic margins (usually default)
−cColor mode
−wWide mode (more than 80 columns)
−nam
Without automatic margins
-nNumber of lines on the screen
−na
No arrow keys (leave them in local)
-npNumber of pages of memory
−rv
Reverse video
Thus, a vt100 terminal in 132-column mode would be vt100-w.
Capabilities in the terminfo file are of three types:
•Boolean capabilities indicate that the terminal has some particular feature. Boolean capabilities are evaluated as true if the corresponding name is in the terminal description.
•Numeric capabilities give the size of the terminal or the size of particular delays.
•String capabilities give a sequence that can be used to perform particular terminal operations.
To continue an entry onto multiple lines, place white space at the beginning of each subsequent line. Include a comment on a line beginning with the # (number sign) character. To comment out an individual capability, precede it with a . (dot).
List of Capabilities
The following table shows the C variable (which the programmer uses to access the terminfo capabilities), the capability name (the short name used in the text of the database), the 2-letter internal code used in the compiled database (always corresponding to a termcap capability name), and a short description of each capability.
| Boolean | Name | Code | Description |
| auto_left_margin | bw | bw | Indicates cub1 wraps from column 0 (zero) to last column. |
| auto_right_margin | am | am | Indicates terminal has automatic margins |
| back_color_erase | bce | be | Screen erased with background color. |
| beehive_glitch | xsb | xs | Indicates a terminal with F1=<esc> and F2=Ctrl-C. |
| can_change | ccc | cc | Terminal can re-define existing color. |
| ceol_standout_glitch | xhp | xs | Indicates standout not erased by overwriting. |
| col_addr_glitch | xhpa | YA | Only positive motion for hpa/mhpa caps. |
| cpi_changes_res | cpix | YF | Changing character pitch changes resolution. |
| cr_cancels_micro_mode | crxm | YB | Using a carriage return turns off micro mode. |
| eat_newline_glitch | xenl | xn | Ignores newline character after 80 columns. |
| erase_overstrike | eo | eo | Erases overstrikes with a blank. |
| generic_type | gn | gn | Indicates generic line type (such as dialup, switch). |
| hard_copy | hc | hc | Indicates hardcopy terminal. |
| hard_cursor | chts | HC | Cursor is hard to see. |
| has_meta_key | km | km | Indicates terminal has a meta key (shift, sets parity bit). |
| has_print_wheel | daisy | YC | Printer needs operator to change character set. |
| has_status_line | hs | hs | Indicates terminal has extra status line. |
| hue_lightness_saturation | hls | hl | Terminal uses only HLS color notation (Tektronix). |
| insert_null_glitch | in | in | Indicates insert mode distinguishes nulls. |
| lpi_changes_res | lpix | YG | Changing line pitch changes resolution. |
| memory_above | da | da | Retains information above display in memory. |
| memory_below | db | db | Retains information below display in memory. |
| move_insert_mode | mir | mi | Indicates safe to move while in insert mode. |
| move_standout_mode | msgr | ms | Indicates safe to move in standout mode. |
| needs_xon_xoff | nxon | nx | Padding will not work, xon/xoff required. |
| non_rev_rmcup | nrrmc | NR | smcup does not reverse rmcup. |
| no_pad_char | npc | NP | Pad character does not exist. |
| over_strike | os | os | Indicates terminal overstrikes. |
| prtr_silent | mc5i | 5i | Printer will not echo on screen. |
| row_addr_glitch | xvpa | YD | Only positive motion for rpa/mvpa caps. |
| semi_auto_right_margin | sam | YE | Printing in last column causes a carriage return. |
| status_line_esc_ok | eslok | es | Indicates escape can be used on the status line. |
| teleray_glitch | xt | xt | Indicates destructive tabs and blanks inserted while entering standout mode. |
| tilde_glitch | hz | hz | Indicates terminal cannot print ~ (tilde) characters. |
| transparent_underline | ul | ul | Overstrikes with underline character. |
| xon_xoff | xon | xo | Indicates terminal uses xon/xoff handshaking. |
| Number | Name | Code | Description |
| buffer_capacity | bufsz | Ya | Number of bytes buffered before printing. |
| columns | cols | co | Specifies the number of columns in a line. |
| dot_horz_spacing | spinh | Yc | Spacing of dots horizontally in dots per inch. |
| dot_vert_spacing | spinv | Yb | Spacing of pins vertically in pins per inch. |
| init_tabs | it | it | Provides tabs initially every #1 spaces. |
| label_height | lh | lh | Number of rows in each label. |
| label_width | lw | lw | Number of columns in each label. |
| lines | lines | li | Specifies the number of lines on screen or page. |
| lines_of_memory | lm | lm | Specifies the number of lines of memory if greater than the number of lines on the screen. A value of 0 (zero) indicates that the number of lines is variable. |
| magic_cookie_glitch | xmc | sg | Indicates number of blank characters left by smso or rmso. |
| max_colors | colors | Co | Maximum number of colors on the screen. |
| max_micro_address | maddr | Yd | Maximum value in micro_..._address. |
| max_micro_jump | mjump | Ye | Maximum value in parm_..._micro. |
| max_pairs | pairs | pa | Maximum number of color-pairs on the screen. |
| micro_col_size | mcs | Yf | Character step size when in micro mode. |
| micro_line_size | mls | Yg | Line step size when in micro mode. |
| no_color_video | ncv | NC | Video attributes that cannot be used. |
| number_of_pins | npins | Yh | Number of pins in print-head. |
| num_labels | nlab | Nl | Number of labels on screen (start at 1). |
| output_res_char | orc | Yi | Horizontal resolution in units per character. |
| output_res_line | orl | Yj | Vertical resolution in units per line. |
| output_res_horz_inch | orhi | Yk | Horizontal resolution in units per inch. |
| output_res_vert_inch | orvi | Yl | Vertical resolution in units per inch. |
| padding_baud_rate | pb | pb | Indicates lowest baud where carriage return and line return padding is needed. |
| virtual_terminal | vt | vt | Indicates virtual terminal number. |
| wide_char_size | widcs | Yn | Character step size when in double. |
| width_status_lines | wsl | ws | Specifies the number of columns in status line. |
| String | Name | Code | Description |
| acs_chars | acsc | ac | Graphic character set pairs aAbBcC. |
| alt_scancode_esc | scesca | SY | Alternate escape for scancode emulation. |
| appl_defined_str | apstr | za | Application-defined terminal string. |
| back_tab | cbt | bt | Back tab. (P) |
| bell | bel | bl | Produces an audible signal (bell). (P) |
| bit_image_carriage_return | bicr | Yv | Move to beginning of same row (use tparm). |
| bit_image_newline | binel | Zz | Move to next row of the bit image (use tparm). |
| bit_image_repeat | birep | Xy | Repeat bit-image cell #1 #2 times (use tparm). |
| box_chars_1 | box1 | bx | Box characters primary set. |
| box_chars_2 | box2 | by | Box characters alternate set. |
| box_attr_1 | batt1 | Bx | Attributes for box_chars_1. |
| box_attr_2 | batt2 | By | Attributes for box_chars_2. |
| carriage_return | cr | cr | Indicates carriage return. (P∗) |
| change_char_pitch | cpi | ZA | Change number of characters per inch. |
| change_scroll_region | csr | cs | Changes scroll region to lines 1 through 2. (PG) |
| change_line_pitch | lpi | ZB | Change number of lines per inch. |
| change_res_horz | chr | ZC | Change horizontal resolution. |
| change_res_vert | cvr | ZD | Change vertical resolution. |
| char_padding | rmp | rP | Similar to insert_padding, but when in replace mode. |
| char_set_names | csnm | Zy | List of character set names. |
| clear_all_tabs | tbc | ct | Clears all tab stops. (P) |
| clear_margins | mgc | MC | Clear all margins (top, bottom, and sides). |
| clear_screen | clear | cl | Clears screen and puts cursor in home position. (P∗) |
| clr_bol | el1 | cb | Clear to beginning of line, inclusive. |
| clr_eol | el | ce | Clears to end of line. (P) |
| clr_eos | ed | cd | Clears to end of the display. (P∗) |
| code_set_init | csin | ci | Init sequence for multiple codesets. |
| String | Name | Code | Description |
| color_bg_0 | colb0 | d0 | Background color 0 black. |
| color_bg_1 | colb1 | d1 | Background color 1 red. |
| color_bg_2 | colb2 | d2 | Background color 2 green. |
| color_bg_3 | colb3 | d3 | Background color 3 brown. |
| color_bg_4 | colb4 | d4 | Background color 4 blue. |
| color_bg_5 | colb5 | d5 | Background color 5 magenta. |
| color_bg_6 | colb6 | d6 | Background color 6 cyan. |
| color_bg_7 | colb7 | d7 | Background color 7 white. |
| color_fg_0 | colf0 | c0 | Foreground color 0 white. |
| color_fg_1 | colf1 | c1 | Foreground color 1 red. |
| color_fg_2 | colf2 | c2 | Foreground color 2 green. |
| color_fg_3 | colf3 | c3 | Foreground color 3 brown. |
| color_fg_4 | colf4 | c4 | Foreground color 4 blue. |
| color_fg_5 | colf5 | c5 | Foreground color 5 magenta. |
| color_fg_6 | colf6 | c6 | Foreground color 6 cyan. |
| color_fg_7 | colf7 | c7 | Foreground color 7 black. |
| color_names | colornm | Yw | Give name for color #1. |
| column_address | hpa | ch | Sets cursor column. (PG) |
| command_character | cmdch | CC | Indicates terminal command prototype character can be set. |
| cursor_address | cup | cm | Indicates screen relative cursor motion row #1 col #2. (PG) |
| cursor_down | cud1 | do | Moves cursor down one line. |
| cursor_home | home | ho | Moves cursor to home position (if no cup). |
| cursor_invisible | civis | vi | Makes cursor invisible. |
| cursor_left | cub1 | le | Moves cursor left one space. |
| cursor_mem_address | mrcup | CM | Indicates memory relative cursor addressing. |
| cursor_normal | cnorm | ve | Makes cursor appear normal (undo vs or vi). |
| cursor_right | cuf1 | nd | Indicates nondestructive space (cursor right). |
| cursor_to_ll | ll | ll | Moves cursor to first column of last line (if no cup). |
| cursor_up | cuu1 | up | Moves cursor up one line (cursor up). |
| cursor_visible | cvvis | vs | Makes cursor very visible. |
| String | Name | Code | Description |
| define_bit_image_region | defbi | Yx | Define rectangular bit-image region (use tparm). |
| define_char | defc | ZE | Define a character in a character set. |
| delete_character | dch1 | dc | Deletes character. (P∗) |
| delete_line | dl1 | dl | Deletes line. (P∗) |
| device_type | devt | dv | Indicate language/codeset support. |
| display_pc_char | dispc | SP | Display PC character. |
| dis_status_line | dsl | ds | Disables status line. |
| down_half_line | hd | hd | Indicates subscript (forward 1/2 linefeed). |
| ena_acs | enacs | eA | Enable alternate character set. |
| end_bit_image_region | endbi | Yy | End a bit-image region (use tparm). |
| enter_alt_charset_mode | smacs | as | Starts alternate character set (P) |
| enter_am_mode | smam | SZ | Turn on automatic margins |
| enter_blink_mode | blink | mb | Enables blinking |
| enter_bold_mode | bold | md | Enables bold (extra bright) mode |
| enter_ca_mode | smcup | ti | Begins programs that use cup |
| enter_delete_mode | smdc | dm | Starts delete mode |
| enter_dim_mode | dim | mh | Enables half-bright mode |
| enter_doublewide_mode | swidm | ZF | Enable double wide printing |
| enter_draft_quality | sdrfq | ZG | Set draft quality print |
| enter_insert_mode | smir | m | Starts insert mode |
| enter_italics_mode | sitm | ZH | Enable italics |
| enter_leftward_mode | slm | ZI | Enable leftward carriage motion |
| enter_micro_mode | smicm | ZJ | Enable micro motion capabilities |
| enter_near_letter_quality | snlq | ZK | Set near-letter quality print |
| enter_normal_quality | snrmq | ZL | Set near-letter quality print |
| enter_pc_charset_mode | smpch | SQ | Enter PC character display mode |
| String | Name | Code | Description |
| enter_protected_mode | prot | mp | Enables protected mode. |
| enter_reverse_mode | rev | mr | Enables reverse video mode |
| enter_scancode_mode | smsc | ST | Enter PC scancode mode |
| enter_secure_mode | invis | mk | Enables blank mode (characters invisible). |
| enter_shadow_mode | sshm | ZM | Enable shadow printing |
| enter_standout_mode | smso | so | Begins standout mode. |
| enter_subscript_mode | ssubm | ZN | Enable subscript printing |
| enter_superscript_mode | ssupm | ZO | Enable superscript printing |
| enter_underline_mode | smul | us | Starts underscore mode. |
| enter_upward_mode | sum | ZP | Enable upward carriage motion |
| enter_xon_mode | smxon | SX | Turn on xon/xoff handshaking |
| erase_chars | ech | ec | Erases #1 characters. (PG) |
| exit_alt_charset_mode | rmacs | ae | Ends alternate character set. (P) |
| exit_am_mode | rmam | RA | Turn off automatic margins |
| exit_attribute_mode | sgr0 | me | Disables all attributes. |
| exit_ca_mode | rmcup | te | Ends programs that use cup. |
| exit_delete_mode | rmdc | ed | Ends delete mode. |
| exit_doublewide_mode | rwidm | ZQ | Disable double wide printing |
| exit_insert_mode | rmir | ei | Ends insert mode. |
| exit_italics_mode | ritm | ZR | Disable italics. |
| exit_leftward_mode | rlm | ZS | Enable rightward (normal). |
| exit_micro_mode | rmicm | ZT | Disable micro motion capabilities. |
| exit_pc_charset_mode | rmpch | SS | Disable PC character display mode. |
| exit_scancode_mode | rmsc | SU | Disable PC scancode mode. |
| exit_shadow_mode | rshm | ZU | Disable shadow printing. |
| exit_standout_mode | rmso | se | Ends standout mode. |
| exit_subscript_mode | rsubm | ZV | Disable subscript printing. |
| exit_superscript_mode | rsupm | ZW | Disable superscript printing. |
| String | Name | Code | Description |
| exit_underline_mode | rmul | ue | Ends underscore mode. |
| exit_upward_mode | rum | ZX | Enable downward (normal). |
| exit_xon_mode | rmxon | RX | Turn off xon/xoff handshaking. |
| flash_screen | lash | vb | Indicates visual bell (may not move cursor). |
| font_0 | font0 | f0 | Select font 0. |
| font_1 | font1 | f1 | Select font 1. |
| font_2 | font2 | f2 | Select font 2. |
| font_3 | font3 | f3 | Select font 3. |
| font_4 | font4 | f4 | Select font 4. |
| font_5 | font5 | f5 | Select font 5. |
| font_6 | font6 | f6 | Select font 6. |
| font_7 | font7 | f7 | Select font 7. |
| form_feed | ff | ff | Ejects page (hardcopy terminal). (P∗) |
| from_status_line | fsl | fs | Returns from status line. |
| init_1string | is1 | i1 | Initializes terminal. |
| init_2string | is2 | i2 | Initializes terminal. |
| init_3string | is3 | i3 | Initializes terminal. |
| init_file | if | if | Identifies file containing is. |
| initialize_color | initc | Ic | Initialize the definition of color. |
| initialize_pair | initp | Ip | Initialize color-pair. |
| insert_character | ich1 | ic | Inserts character. (P) |
| insert_line | il1 | al | Adds new blank line. (P∗) |
| insert_padding | ip | ip | Inserts pad after character inserted. (P∗) |
| key_action | kact | kJ | Sent by the action key. |
| key_backspace | kbs | kb | Sent by the backspace key. |
| key_back_tab | kbtab | k0 | Sent by the backtab key. |
| key_beg | kbeg | @1 | KEY_BEG, sent by the beg(inning) key. |
| key_btab | kcbt | kB | KEY_BTAB, sent by the back-tab key. |
| key_cancel | kcan | @2 | KEY_CANCEL, sent by the cancel key. |
| String | Name | Code | Description |
| key_catab | ktbc | ka | Sent by the clear-all-tabs key. |
| key_clear | kclr | kC | Sent by the clear-screen or erase key. |
| key_close | kclo | @3 | KEY_CLOSE, sent by the close key. |
| key_copy | kcpy | @5 | KEY_COPY, sent by the copy key. |
| key_create | kcrt | @6 | KEY_CREATE, sent by the create key. |
| key_ctab | kctab | kt | Sent by the clear-tab key. |
| key_command | kcmd | kc | Command request key. |
| key_command_pane | kcpn | kW | Command pane key. |
| key_dc | kdch1 | kD | Sent by the delete-character key. |
| key_dl | kdl1 | kL | Sent by the delete-line key. |
| key_do | kdo | ki | Do request key. |
| key_down | kcud1 | kd | Sent by the terminal cursor down key. |
| key_eic | krmir | kM | Sent by rmir or smir in insert mode. |
| key_end | kend | kw | End key. |
| key_enter | kent | @8 | KEY_ENTER, sent by the enter/send key. |
| key_eol | ke1 | kE | Sent by the clear-to-end-of-line key. |
| key_eos | ked | kS | Sent by the clear-to-end-of-screen key. |
| key_exit | kext | @9 | KEY_EXIT, sent by the exit key. |
| String | Name | Code | Description |
| key_f0 | kf0 | k0 | Sent by function key F0. |
| key_f1 | kf1 | k1 | Sent by function key F1. |
| key_f2 | kf2 | k2 | Sent by function key F2. |
| key_f3 | kf3 | k3 | Sent by function key F3. |
| key_f4 | kf4 | k4 | Sent by function key F4. |
| key_f5 | kf5 | k5 | Sent by function key F5. |
| key_f6 | kf6 | k6 | Sent by function key F6. |
| key_f7 | kf7 | k7 | Sent by function key F7. |
| key_f8 | kf8 | k8 | Sent by function key F8. |
| key_f9 | kf9 | k9 | Sent by function key F9. |
| key_f10 | kf10 | k | Sent by function key F10. |
| key_f11 | kf11 | k< | Sent by function key F11. |
| key_f12 | kf12 | k> | Sent by function key F12. |
| key_f13 | kf13 | k! | Sent by function key F13. |
| key_f14 | kf14 | k@ | Sent by function key F14. |
| key_f15 | kf15 | k# | Sent by function key F15. |
| key_f16 | kf16 | k$ | Sent by function key F16. |
| key_f17 | kf17 | k% | Sent by function key F17. |
| key_f18 | kf18 | k^ | Sent by function key F18. |
| key_f19 | kf19 | k& | Sent by function key F19. |
| key_f20 | kf20 | k∗ | Sent by function key F20. |
| key_f21 | kf21 | k( | Sent by function key F21. |
| key_f22 | kf22 | k) | Sent by function key F22. |
| key_f23 | kf23 | k- | Sent by function key F23. |
| key_f24 | kf24 | k_ | Sent by function key F24. |
| key_f25 | kf25 | k+ | Sent by function key F25. |
| key_f26 | kf26 | k, | Sent by function key F26. |
| key_f27 | kf27 | k: | Sent by function key F27. |
| key_f28 | kf28 | k? | Sent by function key F28. |
| key_f29 | kf29 | k[ | Sent by function key F29. |
| key_f30 | kf30 | k] | Sent by function key F30. |
| key_f31 | kf31 | k{ | Sent by function key F31. |
| key_f32 | kf32 | k} | Sent by function key F32. |
| key_f33 | kf33 | k| | Sent by function key F33. |
| key_f34 | kf34 | k~ | Sent by function key F34. |
| key_f35 | kf35 | k/ | Sent by function key F35. |
| key_f36 | kf36 | k= | Sent by function key F36. |
| String | Name | Code | Description |
| key_f37 | kf37 | FR | KEY_F(37) sent by function key F37. |
| key_f38 | kf38 | FS | KEY_F(38) sent by function key F38. |
| key_f39 | kf39 | FT | KEY_F(39) sent by function key F39. |
| key_f40 | kf40 | FU | KEY_F(40) sent by function key F40. |
| key_f41 | kf41 | FV | KEY_F(41) sent by function key F41. |
| key_f42 | kf42 | FW | KEY_F(42) sent by function key F42. |
| key_f43 | kf43 | FX | KEY_F(43) sent by function key F43. |
| key_f44 | kf44 | FY | KEY_F(44) sent by function key F44. |
| key_f45 | kf45 | FZ | KEY_F(45) sent by function key F45. |
| key_f46 | kf46 | Fa | KEY_F(46) sent by function key F46. |
| key_f47 | kf47 | Fb | KEY_F(47) sent by function key F47. |
| key_f48 | kf48 | Fc | KEY_F(48) sent by function key F48. |
| key_f49 | kf49 | Fd | KEY_F(49) sent by function key F49. |
| key_f50 | kf50 | Fe | KEY_F(50) sent by function key F50 |
| key_f51 | kf51 | Ff | KEY_F(51) sent by function key F51. |
| key_f52 | kf52 | Fg | KEY_F(52) sent by function key F52. |
| key_f53 | kf53 | Fh | KEY_F(53) sent by function key F53. |
| key_f54 | kf54 | Fi | KEY_F(54) sent by function key F54. |
| key_f55 | kf55 | Fj | KEY_F(55) sent by function key F55. |
| key_f56 | kf56 | Fk | KEY_F(56) sent by function key F56. |
| key_f57 | kf57 | Fl | KEY_F(57) sent by function key F57. |
| key_f58 | kf58 | Fm | KEY_F(58) sent by function key F58. |
| key_f59 | kf59 | Fn | KEY_F(59) sent by function key F59. |
| key_f60 | kf60 | Fo | KEY_F(60) sent by function key F60. |
| key_f61 | kf61 | Fp | KEY_F(61) sent by function key F61. |
| key_f62 | kf62 | Fq | KEY_F(62) sent by function key F62. |
| key_f63 | kf63 | Fr | KEY_F(63) sent by function key F63. |
| String | Name | Code | Description |
| key_find | kfnd | @0 | KEY_FIND sent by find key |
| key_help | khlp | kq | Help key. |
| key_home | khome | kh | Sent by home key. |
| key_ic | kich1 | kI | Sent by insert character/enter insert mode key. |
| key_il | kil1 | kA | Sent by insert line key. |
| key_left | kcub1 | kl | Sent by terminal cursor left key. |
| key_ll | kll | kH | Sent by home-down key. |
| key_mark | kmrk | %2 | KEY_MARK, sent by mark key. |
| key_message | kmsg | %3 | KEY_MESSAGE, sent by message key. |
| key_move | kmov | %4 | KEY_MOVE, sent by move key. |
| key_newline | knl | kn | New-line key. |
| key_next_pane | knpn | kv | Next-pane key. |
| key_npage | knp | kN | Sent by next-page key. |
| key_open | kopn | %6 | KEY_OPEN, sent by open key. |
| key_options | kopt | %7 | KEY_OPTIONS, sent by options key. |
| key_ppage | kpp | kP | Sent by previous-page key. |
| key_prev_cmd | kpcmd | kp | Sent by previous-command key. |
| key_prev_pane | kppn | kV | Previous pane key. |
| key_previous | kprv | %8 | KEY_PREVIOUS, sent by previous-object. |
| key_print | kprt | %9 | KEY_PRINT, sent by print or copy key. |
| key_quit | kquit | kQ | Quit key. |
| key_redo | krdo | %0 | KEY_REDO, sent by redo key. |
| key_reference | kref | &1 | KEY_REFERENCE, sent by ref(erence) key. |
| key_refresh | krfr | &2 | KEY_REFRESH, sent by refresh key. |
| key_replace | krpl | &3 | KEY_REPLACE, sent by replace key. |
| key_restart | krst | &4 | KEY_RESTART, sent by restart key. |
| key_resume | kres | &5 | KEY_RESUME, sent by resume key. |
| key_right | kcuf1 | kr | Sent by terminal cursor right key. |
| String | Name | Code | Description |
| key_save | ksav | &6 | KEY_SAVE, sent by save key. |
| key_sbeg | kBEG | &9 | KEY_SBEG, sent by shifted beginning key. |
| key_scancel | kCAN | &0 | KEY_SCANCEL, sent by shifted cancel key. |
| key_scommand | kCMD | ∗1 | KEY_SCOMMAND, sent by shifted cmd (command) key. |
| key_scopy | kCPY | ∗2 | KEY_SCOPY, sent by shifted copy key. |
| key_screate | kCRT | ∗3 | KEY_SCREATE, sent by shifted create key. |
| key_scroll_left | kscl | kz | Scroll left. |
| key_scroll_right | kscr | kZ | Scroll right. |
| key_sdc | kDC | ∗4 | KEY_SDC, sent by shifted delete-char key. |
| key_sdl | kDL | ∗5 | KEY_SDL, sent by shifted delete-line key. |
| key_select | ksel | kU | Select key. |
| key_send | kEND | ∗7 | KEY_SEND, sent by shifted end key. |
| key_seol | kEOL | ∗8 | KEY_SEOL, sent by shifted clear-line key. |
| key_sexit | kEXT | ∗9 | KEY_SEXIT, sent by shifted exit key. |
| key_sf | kind | kF | Sent by scroll-forward/down key. |
| key_sf1 | ksf1 | S1 | Special function key 1. |
| key_sf2 | ksf2 | S2 | Special function key 2. |
| key_sf3 | ksf3 | S3 | Special function key 3. |
| key_sf4 | ksf4 | S4 | Special function key 4. |
| key_sf5 | ksf5 | S5 | Special function key 5. |
| key_sf6 | ksf6 | S6 | Special function key 6. |
| key_sf7 | ksf7 | S7 | Special function key 7. |
| key_sf8 | ksf8 | S8 | Special function key 8. |
| key_sf9 | ksf9 | S9 | Special function key 9. |
| key_sf10 | ksf10 | SA | Special function key 10. |
| String | Name | Code | Description |
| key_sfind | kFND | ∗0 | KEY_SFIND, sent by shifted find key. |
| key_shelp | kHLP | #1 | KEY_SHELP, sent by shifted help key. |
| key_shome | kHOM | #2 | KEY_SHOME, sent by shifted home key. |
| key_sic | kIC | #3 | KEY_SIC, sent by shifted input key. |
| key_sleft | kLFT | #4 | KEY_SLEFT, sent by shifted left-arrow. |
| key_smap_in1 | kmpf1 | Kv | Input for special mapped key 1. |
| key_smap_out1 | kmpt1 | KV | Output for mapped key 1. |
| key_smap_in2 | kmpf2 | Kw | Input for special mapped key 2. |
| key_smap_out2 | kmpt2 | KW | Output for mapped key 2. |
| String | Name | Code | Description |
| key_smap_in3 | kmpf3 | Kx | Input for special mapped key 3. |
| key_smap_out3 | kmpt3 | KX | Output for mapped key 3. |
| key_smap_in4 | kmpf4 | Ky | Input for special mapped key 4. |
| key_smap_out4 | kmpt4 | KY | Output for mapped key 4. |
| key_smap_in5 | kmpf5 | Kz | Input for special mapped key 5. |
| key_smap_out5 | kmpt5 | KZ | Output for mapped key 5. |
| key_smap_in6 | kmpf6 | Kr | Input for special mapped key 6. |
| key_smap_out6 | kmpt6 | KR | Output for mapped key 6. |
| key_smap_in7 | kmpf7 | Ks | Input for special mapped key 7. |
| key_smap_out7 | kmpt7 | KS | Output for mapped key 7. |
| key_smap_in8 | kmpf8 | Kt | Input for special mapped key 8. |
| key_smap_out8 | kmpt8 | KT | Output for mapped key 8. |
| key_smap_in9 | kmpf9 | Ku | Input for special mapped key 9. |
| key_smap_out9 | kmpt9 | KU | Output for mapped key 9. |
| key_smessage | kMSG | %a | KEY_SMESSAGE, sent by shifted message. |
| key_smove | kMOV | %b | KEY_SMOVE, sent by shifted move key. |
| key_snext | kNXT | %c | KEY_SNEXT, sent by shifted next key. |
| key_soptions | kOPT | %d | KEY_SOPTIONS, sent by shifted options. |
| key_sprevious | kPRV | %e | KEY_SPREVIOUS, sent by shifted previous key. |
| key_sprint | kPRT | %f | KEY_SPRINT, sent by shifted print key. |
| key_sr | kri | kR | Sent by scroll-backward/up key. |
| key_sredo | kRDO | %g | KEY_SREDO, sent by shifted redo key. |
| key_sreplace | kRPL | %h | KEY_SREPLACE, sent by shifted replace key. |
| key_sright | kRIT | %i | KEY_SRIGHT, sent by shifted right arrow key. |
| key_srsume | kRES | %j | KEY_SRSUME, sent by shifted resume key. |
| key_ssave | kSAV | !1 | KEY_SSAVE, sent by save key |
| key_ssuspend | kSPD | !2 | KEY_SSUSPEND, sent by shifted suspend key. |
| String | Name | Code | Description |
| key_stab | khts | k | Sent by set-tab key. |
| key_sundo | kUND | !3 | KEY_SUNDO, sent by shifted undo key. |
| key_suspend | kspd | &7 | KEY_SUSPEND, sent by suspend key. |
| key_tab | ktab | ko | Tab key. |
| key_undo | kund | &8 | KEY_UNDO sent by undo key. |
| key_up | kcuu1 | ku | Sent by terminal cursor up key. |
| keypad_local | rmkx | ke | Ends keypad transmit mode. |
| keypad_xmit | smkx | ks | Puts terminal in keypad transmit mode. |
| lab_f0 | f0 | l0 | Labels function key F0 if not F0. |
| lab_f1 | lf1 | l1 | Labels function key F1 if not F1. |
| lab_f2 | lf2 | l2 | Labels function key F2 if not F2. |
| lab_f3 | lf3 | l3 | Labels function key F3 if not F3. |
| lab_f4 | lf4 | l4 | Labels function key F4 if not F4. |
| lab_f5 | lf5 | l5 | Labels function key F5 if not F5. |
| lab_f6 | lf6 | l6 | Labels function key F6 if not F6. |
| lab_f7 | lf7 | l7 | Labels function key F7 if not F7. |
| lab_f8 | lf8 | l8 | Labels function key F8 if not F8. |
| lab_f9 | lf9 | l9 | Labels function key F9 if not F9. |
| lab_f10 | lf10 | la | Labels function key F10 if not F10. |
| label_off | rmln | LF | Turn off soft labels. |
| label_on | smln | LO | Turn on soft labels. |
| meta_on | smm | mm | Enables meta mode (8th bit). |
| meta_off | rmm | mo | Disables meta mode. |
| micro_column_address | mhpa | ZY | Like column_address for micro adjustment. |
| micro_down | mcud1 | ZZ | Like curser_down for micro adjustment. |
| micro_left | mcub1 | Za | Like cursor_left for micro adjustment. |
| micro_right | mcuf1 | Zb | Like cursor_right for micro adjustment. |
| micro_row_address | mvpa | Zc | Like row_address micro adjustment. |
| micro_up | mcuu1 | Zd | Like cursor_up for micro adjustment. |
| String | Name | Code | Description |
| newline | nel | nw | Performs newline function. (behaves like a carriage return followed by a linefeed). |
| order_of_pins | porder | Ze | Matches software bits to print-head pins. |
| orig_colors | oc | oc | Set all color(-pair)s to the original ones. |
| orig_pair | op | op | Set default color-pair to the original one. |
| pad_char | pad | pc | Pad character (instead of null). |
| parm_dch | dch | DC | Deletes #1 characters. (PG∗) |
| parm_delete_line | dl | DL | Deletes #1 lines. (PG∗) |
| parm_down_cursor | cud | DO | Moves cursor down #1 lines. (PG∗) |
| parm_down_micro | mcud | Zf | Like parm_down_cursor for micro adjustment. |
| parm_ich | ich | IC | Inserts #1 blank characters. (PG∗) |
| parm_index | indn | SF | Scrolls forward #1 lines. (PG) |
| parm_insert_line | il | AL | Adds #1 new blank lines. (PG∗) |
| parm_left_cursor | cub | LE | Moves cursor left #1 spaces. (PG) |
| parm_left_micro | mcub | Zg | Like parm_left_cursor for micro adjustment. |
| parm_right_cursor | cuf | RI | Moves cursor right #1 spaces. (PG∗) |
| parm_right_micro | mcuf | Zh | Like parm_right_cursor for micro adjustment. |
| parm_rindex | rin | SR | Scrolls backward #1 lines. (PG) |
| parm_up_cursor | cuu | UP | Moves cursor up #1 lines. (PG∗) |
| parm_up_micro | mcuu | Zi | Like parm_up_cursor for micro adjustment. |
| pc_term_options | pctrm | SV | PC terminal options. |
| pkey_key | pfkey | pk | Programs function key F1 to type string #2. |
| pkey_local | pfloc | pl | Programs function key F1 to execute string #2. |
| pkey_plab | pfxl | xl | Prog key #1 to xmit string #2 and show string #3. |
| pkey_xmit | pfx | px | Programs function key F1 to xmit string #2. |
| String | Name | Code | Description |
| plab_norm | pln | pn | Program label #1 to show string #2 |
| print_screen | mc0 | ps | Prints contents of the screen. |
| prtr_off | mc4 | pf | Disables the printer. |
| prtr_on | mc5 | po | Enables the printer. |
| repeat_char | rep | rp | Repeats character #1 twice. (PG∗) |
| req_for_input | rfi | RF | Send next input char (for ptys) |
| reset_1string | rs1 | r1 | Resets terminal to known modes. |
| reset_2string | rs2 | r2 | Resets terminal to known modes. |
| reset_3string | rs3 | r3 | Resets terminal to known modes. |
| reset_file | rf | rf | Identifies the file containing reset string. |
| restore_cursor | rc | rc | Restores cursor to position of last sc. |
| row_address | vpa | cv | Positions cursor to an absolute vertical position (set row). (PG) |
| save_cursor | sc | sc | Saves cursor position. (P) |
| scancode_escape | scesc | SW | Escape for scancode emulation. |
| scroll_forward | ind | sf | Scrolls text up. (P) |
| scroll_reverse | ri | sr | Scrolls text down. (P) |
| select_char_set | scs | Zj | Select character set. |
| set0_des_seq | s0ds | s0 | Shift into codeset 0 (EUC set 0, ASCII). |
| set1_des_seq | s1ds | s1 | Shift into codeset 1. |
| set2_des_seq | s2ds | s2 | Shift into codeset 2. |
| set3_des_seq | s3ds | s3 | Shift into codeset 3. |
| set_a_background | setab | AB | Set background color using ANSI escape. |
| set_a_foreground | setaf | AF | Set foreground color using ANSI escape. |
| set_attributes | sgr | sa | Defines the video attributes. (PG∗) |
| set_background | setb | Sb | Set current background color. |
| set_bottom_margin | smgb | Zk | Set bottom margin at current line. |
| set_bottom_margin_parm | smgbp | Zl | Set bottom margin at line #1 or #2 |
| set_bottom_margin_parm | smgbp | Zl | Set bottom margin at line #1 or #2 |
| String | Name | Code | Description |
| set_color_band | setcolor | Yz | Change to ribbon color #1. |
| set_color_pair | scp | sp | Set current color-pair. |
| set_foreground | setf | Sf | Set current foreground color1. |
| set_left_margin | smgl | ML | Set left margin at current line. |
| set_left_margin_parm | smglp | Zm | Set left (right) margin at column #1 (#2). |
| set_lr_margin | smglr | lr | Sets both left and right margins. |
| set_page_length | slines | YZ | Set page length to #1 lines (use tparm). |
| set_right_margin | smgr | MR | Set right margin at current column. |
| set_right_margin_parm | smgrp | Zn | Set right margin at column #1 |
| set_tab | hts | st | Sets a tab in all rows, current column. |
| set_tb_margin | smgtb | MT | Sets both top and bottom margins. |
| set_top_margin | smgt | Zo | Set top margin at current line. |
| set_top_margin_parm | smgtp | Zp | Set top (bottom) margin at line #1 (#2). |
| set_window | wind | wi | Indicates current window is lines #1 to #2 cols #3 to #4. |
| start_bit_image | sbim | Zq | Start printing bit image graphics. |
| start_char_set_def | scsd | Zr | Start definition of a character set. |
| stop_bit_image | rbim | Zs | End printing bit image graphics. |
| stop_char_set_def | rcsd | Zt | End definition of a character set. |
| subscript_characters | subcs | Zu | List of “subscript-able ” characters. |
| superscript_characters | supcs | Zv | List of “superscript-able” characters. |
| tab | ht | a | Tabs to next 8-space hardware tab stop. |
| these_cause_cr | docr | Zw | Printing any of these characters causes a carriage return. |
| to_status_line | tsl | ts | Moves to status line, column #1. |
| underline_char | uc | uc | Underscores one character and moves beyond it. |
| up_half_line | hu | hu | Indicates superscript (reverse 1/2 linefeed). |
| xoff_character | xoffc | XF | X-off character. |
| xon_character | xonc | XN | X-on character. |
| String | Name | Code | Description |
| zero_motion | zerom | Zx | No motion for the subsequent character. |
| init_prog | iprog | iP | Locates the program for init. |
| key_a1 | ka1 | K1 | Specifies upper left of keypad. |
| key_a3 | ka3 | K3 | Specifies upper right of keypad. |
| key_b2 | kb2 | K2 | Specifies center of keypad. |
| key_c1 | kc1 | K4 | Specifies lower left of keypad. |
| key_c3 | kc3 | K5 | Specifies lower right of keypad. |
| prtr_non | mc5p | pO | Enables the printer for #1 bytes. |
Notes to table:
(P)Indicates that padding can be specified.
(G)Indicates that the string is passed through tparm with parameters as given (#i).
(∗)Indicates that padding can be based on the number of lines affected.
(#i)Indicates the ith parameter.
EXAMPLES
The following is an uncompiled terminfo entry for the xterm terminal type:
xterm|vs100|xterm terminal emulator,
ind=^J, cols#80, lines#25,
clear=E[HE[2J, cub1=^H, am, cup=E[%i%p1%d;%p2%dH,
cuf1=E[C, cuu1=E[A, el=E[K, ed=E[J,
cud=E[%p1%dB, cuu=E[%p1%dA, cub=E[%p1%dD,
cuf=E[%p1%dC, km,
smso=E[7m, rmso=E[m, smul@, rmul@,
bold=E[1m, rev=E[7m, blink=@, sgr0=E[m,
rs1=E>E[1;3;4;5;6lE[?7hE[mE[rE[2JE[H, rs2=@
kf1=EOP, kf2=EOQ, kf3=EOR, kf4=EOS, ht=^I, ri=EM,
vt@, xon@, csr=E[%i%p1%d;%p2%dr,
il=E[%p1%dL, dl=E[%p1%dM, il1=E[L, dl1=E[M,
ich=E[%p1%d@, dch=E[%p1%dP, ich1=E[@, dch1=E[P,
use=vt100-am,
The first line of the xterm entry contains two names for the terminal type (xterm and vs100), and a third name that fully describes the terminal. When the terminfo entry is compiled with the tic command, entries are made in /usr/lib/terminfo/x/xterm and /usr/lib/terminfo/v/vs100, unless the TERMINFO environment variable was used to redefine the default path. The TERMINFO environment variable is useful when testing a new entry, or when you do not have write permission for the/usr/lib/terminfo directory tree. For example, if the TERMINFO environment variable is set to/usr/raj/test, the tic command places the compiled terminfo entries into /usr/raj/test/x/xterm and /usr/raj/test/v/vs100. The TERMINFO environment variable is also referenced by programs that useterminfo (such as vi), so the new entry can be tested right away.
The second line of the xterm entry says that pressing a Ctrl-j causes the screen to scroll up, and that the screen dimensions are 80 columns by 24 lines.
The third line of the entry sets the string that clears the screen (ESCAPE followed by "[H", another ESCAPE, and then the string "[2J"), defines <Ctrl-h> as the backspace key, and declares that the terminal has automatic margins. The string for relative cursor movement is also specified, using terminfo parameter syntax.
The rest of the capabilities are declared likewise. The last line of the entry reads "use=vt100-am, meaning that the vt100-am terminal entry should be read first as the basis for the xterm terminal entry, with the capabilities explicitly defined overriding their default vt100-am values. Note that the smul, rmul, vt, and xon capabilities are removed by following them with an @ (at sign).
SEE ALSO
Functions: curses(3)
Commands: tic(1)
J. Strang, L. Mui, and T. O’Reilly. Termcap and Terminfo. Sebastapol, California: O’Reilly and Associates, Inc., 1990.