HPlogo MPE/iX Developer's Kit Reference Manual Volume 2: HP 3000 MPE/iX Computer Systems > Chapter 3 TERMINFO Database

Creating Device Descriptions

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

The easiest way to create a new entry for a device is to find one that is similar, modify it, and compile it using the tic utility. The tic utility installs the new definition in the TERMINFO directory hierarchy. You can change the location of the directory hierarchy by redefining the TERMINFO environment variable.

You can test your description in small segments using VI. Keep in mind that a unusual device may not be adequately described by TERMINFO or adequately tested by VI.

A terminal can be defined as having certain capabilties that are equivalent to those of another terminal. These capabilities are then read from one terminal description into the other. The use capability names the terminal from which to read the capabilities. Any capabilities listed before the use string override those put in place by use. A capability that should not be used in the terminal desciption can be cancelled by typing an at sign (@) after the name of the capability. The following example bases the definition of a VT-100 terminal without automatic margins on a standard VT-100 terminal definition.

   vt100-nam|VT100 without automatic margins,

   am@, use=vt100,

A crude test for getting the right amount of padding for insert-line (if not documented) is to comment out xon, edit a large file at 9600 baud with VI, delete 16 or so lines from the middle of the screen, and press the u key several times quickly. If the display becomes corrupted, insert-line requires more padding.

Special Characters

Table 3-6 “Characters with Special Values” summarizes all the special characters sequences discussed to this point.

Table 3-6 Characters with Special Values

CharacterMeaning
,Separates capabilities
#Precedes integer value in numeric capabilities
=Separates string capability name from string sequence
@Cancels capability
#At the beginning of line, comments out the line
.When directly preceding a capability, period comments it out
^xControl x sequence
\EEscape character
\eEscape character
\nNewline character
\rReturn character
\tTab character
\vVertical tab character
\bBackspace character
\fFormfeed character
\sSpace character
\lLinefeed character
\aAlert character
\xxxOctal characters (must be three characters)
\,Escapes a comma
\\Escapes a backslash
\^Escapes a caret
\:Escapes a colon
\0Escapes a null character
%xString using format operator
$<n>Indicates a delay in n milliseconds
$<n/>Indicates the delay is mandatory
$<n*>Indicates the padding required per affected line
$<n/*>Indicates mandatory padding required per affected line

 

Names of Capabilities

Capability names are normally kept to two to five characters and normally comply with ANSI X3.64-1979. Each capability has a corresponding variable name used in the program to access it; for example, the variable defined for am is auto_left_margin.

The Boolean, number, and string capabilities are listed in the tables on the following pages. Within these tables, each TERMINFO capability name is listed, along with the equivalent termcap name, the variable name, and a brief description. The #i symbol that sometimes appears in the description section of the table refers to the ith parameter.

Additional tables sorted by variable name may be found in Table 3-20 “Boolean Capabilities”, Table 3-21 “Numeric Capabilities”, and Table 3-22 “String Capabilities” as a reference for programmers. Table 3-20 “Boolean Capabilities” lists the capabilities by the Boolean variable name; Table 3-21 “Numeric Capabilities” lists the capabilities by the numeric variable name, and Table 3-22 “String Capabilities” lists the capabilities by the string variable name.

Boolean Capabilities

Table 3-7 “Boolean Capabilities” lists the Boolean capabilities.

Table 3-7 Boolean Capabilities

TInfoTCapVariableDescription
amamauto_right_marginTerminal has automatic margins
bwbwauto_left_margincub1 wraps from column 0 to last column
ccccccan_changeTerminal can redefine existing color
chtsHChard_cursorCursor is hard to see
cpixYFcpi_changes_resChanging character pitch changes resolution
crxmYBcr_cancels_micro_modeUsing cr turns off micro mode
dadamemory_aboveDisplay may be retained above the screen
daisyYChas_print_wheelPrinter needs operator to change character set
dbdbmemory_belowDisplay may be retained below the screen
eoeoerase_overstrikeTerminal can erase overstrikes with a blank
eslokesstatus_line_esc_okEscape can be used on the status line
gngngeneric_type Generic line type (e.g. dialup, switch)
hchchard_copyHardcopy terminal
hlshlhue_lightness_saturationTerminal uses only HLS color notation (Tektronix)
hshshas_status_lineTerminal has extra status line
hzhztilde_glitchHazeltine: cannot print tilde (~)
inininsert_null_glitchInsert mode distinguishes nulls
kmkmhas_meta_keyTerminal has meta key (shift, sets parity bit)
lpixYGlpi_changes_resChanging line pitch changes resolution
mc5i5iprtr_silentPrinter will not echo on screen
mirmimove_insert_modeSafe to move in insert mode
msgrmsmove_standout_modeSafe to move in standout mode
npcNPno_pad_charPad character does not exist
nrrmcNRnon_rev_rmcupsmcup does not reverse rmcup
nxonnxneeds_xon_xoffPadding will not work, XON/XOFF required
ososover_strikeTerminal overstrikes
samYEsemi_auto_right_marginPrinting in last column causes cr
ulultransparent_underlineUnderline character overstrikes
xenlxneat_newline_glitchNewline ignored after 80 columns (Concept)
xhpxsceol_standout_glitchStandout not erased by overwriting (hp)
xhpaYAcol_addr_glitchOnly positive motion for hpa/mhpa capabilities
xonxoxon_xoff Terminal uses XON/XOFF handshaking
xsbxbno_esc_ctlcBeehive (f 1=escape, f2=ctrl C)
xtxtdest_tabs_magic_smsoTabs destructive, magic smso character (Teleray 1061)
xvpaYDrow_addr_glitchOnly positive motion for vpa/mvpa capabilities

 

Numeric Capabilities

Table 3-8 “Numeric Capabilities” lists the numeric capabilities.

Table 3-8 Numeric Capabilities

TInfoTCapVariableDescription
bufszYabuffer_capacityNumber of bytes buffered before printing
colorsComax_colorsMaximum number of colors on the screen
colscocolumnsNumber of columns in a line
ititinit_tabs Number of spaces between initial tabs
lhlhlabel_heightNumber of rows in each label
lineslilinesNumber of lines on screen or page
lmlmlines_of_memoryLines of memory if > 0; 0 means unfixed
lwlwlabel_widthNumber of columns in each label
maddrYdmax_micro_addressMaximum value in micro_..._address
mcsYfmicro_col_sizeCharacter step size when in micro mode
mjumpYemax_micro_jumpMaximum value in parm_..._micro
mlsYgmicro_line_sizeLine step size when in micro mode
ncvNCno_color_videoVideo attributes that cannot be used with colors
nlabNlnum_labelsNumber of labels on screen (start at 1)
npinsyHnumber_of_pinsNumber of pins in print-head
orcYioutput_res_charHorz. res. in units per character
orhiYkoutput_res_horz_inchHorz. res. in units per inch
orlYjoutput_res_lineVert. res. in units per line
orviYloutput_res_vert_inchVert. res. in units per inch
pairspamax_pairsMaximum number of color pairs on the screen
pbpbpadding_baud_rateLowest baud rate where cr/nl padding needed
spinhYcdot_horz_spacingSpacing of dots horizontally in dots per inch
spinvYbdot_vert_spacingSpacing of pins vertically in pins per inch
vtvtvirtual_terminaVirtual terminal number (CB/UNIX)
widcsYnwide_char_sizeCharacter step size when in double wide mode
wslwswidth_status_lineNumber of columns in status line
xmcsgmagic_cookie_glitchNumber of blank chars left by smso or rmso

 

String Capabilities

Table 3-9 “String Capabilities” lists the string capabilities.

Table 3-9 String Capabilities

TInfoTCapVariableDescription
acscacacs_charsGraphics character set pairs aAbBcC-defn=vt100
belblbellProduce audible signal (bell or beep)
blinkmbenter_blink_modeTurn on blinking
boldmdenter_bold_modeTurn on bold (extra bright) mode
cbtbtback_tabBack tab
chrZCchange_res_horzChange horizontal resolution
civisvicursor_invisibleMake cursor invisible
clear<clclear_screenClear screen
cmdchCCcommand_characterTerminal settable command character in prototype
cnormvecursor_normalMake cursor appear normal (undo cvvis/civis)
cpiZAchange_char_pitchChange number of characters per inch
crcrcarriage_returnMove cursor to left edge of screen
csnmZychar_set_namesList of character set names
csrcschange_scroll_regionChange to lines #1 through #2 (vt100)
cubLEparm_left_cursorMove cursor left #1 spaces
cub1lecursor_leftMove cursor left one space
cudDOparm_down_cursorMove cursor down #1 lines
cud1docursor_downMove cursor down one line
cufRIparm_right_cursorMove cursor right #1 spaces
cuf1ndcursor_rightNon-destructive space (cursor right)
cupcmcursor_addressCursor motion to row #1 col #2
cuuUPparm_up_cursorMove cursor up #1 lines
cuu1upcursor_upMove cursor up
cvrZDchange_res_vertChange vertical resolution
cvvisvscursor_visibleMake cursor very visible
dchDCparm_dchDelete #1 characters
dch1dcdelete_characterDelete character
defcZEdefine_charDefine a character in a character set
dimmhenter_dim_modeTurn on half-bright mode
dlDLparm_delete_lineDelete #1 lines
dl1dldelete_lineDelete line
docrZwthese_cause_crPrinting any of these chars causes cr
dsldsdis_status_lineDisable status line
echecerase_charsErase #1 characters
edcdclr_eosClear to end of display
elceclr_eolClear to end of line
el1cbclr_bolClear to beginning of line, inclusive
enacseAena_acsEnable alternate character set
ffffform_feedHardcopy terminal page eject
flashvbflash_screenVisible bell (may not move cursor)
fslfsfrom_status_lineReturn from status line
hdhddown_half_lineHalf-line down (forward 1/2 linefeed)
homehocursor_homeHome cursor (if no cup)
hpachcolumn_addressSet cursor column
httatabTab to next 8 space hardware tab stop
htsstset_tabSet a tab in all rows, current column
huhuup_half_lineHalf-line up (reverse 1/2 linefeed)
ichIC parm_ichInsert #1 blank characters
ich1icinsert_characterInsert character
ififinit_fileName of file containing is
ilALparm_insert_lineAdd #1 new blank lines
il1alinsert_line Add new blank line
indsfscroll_forwardScroll text up
indnSFparm_indexScroll forward #1 lines
initcIcinitialize_colorInitialize the definition of color
initpIpinitialize_pairInitialize color pair
invismkenter_secure_modeTurn on blank mode (characters invisible)
ipipinsert_paddingInsert pad after character inserted
iprogiPinit_progPathname of program for initialization
is1=i1init_1stringTerminal initialization string
is2=isinit_2stringTerminal initialization string
is3=i3init_3stringTerminal initialization string
kBEG&9key_sbegSent by shift-beginning key
kCAN&0key_scancelSent by shift-cancel key
kCMD*1key_scommandSent by shift-command key
kCPY*2key_scopySent by shift-copy key
kCRT*3key_screateSent by shift-create key
kDC*4key_sdcSent by shift-delete-char key
kDL*5key_sdlSent by shift-delete-line key
kEND*7key_sendSent by shift-end key
kEOL*8key_seolSent by shift-eol key
kEXT*9key_sexitSent by shift-exit key
kFND*0key_sfindSent by shift-find key
kHLP#1key_shelpSent by shift-help key
kHOM#2key_shomeSent by shift-home key
kIC#3key_sicSent by shift-insert-char key
kLFT#4key_sleftSent by shift-left key
kMOV%bkey_smoveSent by shift-move key
kMSG%akey_smessageSent by shift-message key
kNXT%ckey_snextSent by shift-next key
kOPT%dkey_soptionsSent by shift-options key
kPRT%fkey_sprintSent by shift-print key
kPRV%ekey_spreviousSent by shift-prev key
kRDOgkey_sredoSent by shift-redo key
kRES%jkey_srsumeSent by shift-resume key
kRIT%ikey_srightSent by shift-right key
kRPL%hkey_sreplaceSent by shift-replace key
kSAV!1key_ssaveSent by shift-save key
kSPD!2key_ssuspendSent by shift-suspend key
kUND!3key_sundoSent by shift-undo key
ka1K1key_a1Upper left of keypad
ka3K3key_a3Upper right of keypad
kb2K2key_b2Center of keypad
kbeg@1key_begSent by beginning key
kbskbkey_backspaceSent by backspace key
kc1K4key_c1Lower left of keypad
kc3K5key_c3Lower right of keypad
kcan@2key_cancelSent by cancel key
kcbtkBkey_btabSent by BackTab key
kclo@3key_closeSent by close key
kclrkCkey_clearSent by clear screen or erase key
kcmd@4key_commandSent by command key
kcpy@5key_copySent by copy key
kcreate@6key_createSent by create key
kctabktkey_ctabSent by clear-tab key
kcub1klkey_leftSent by terminal left arrow key
kcud1kdkey_downSent by terminal down arrow key
kcuf1krkey_rightSent by terminal right arrow key
kcuu1kukey_upSent by terminal up arrow key
kdch1kDkey_dcSent by delete character key
kdl1kLkey_dlSent by delete line key
kedkSkey_eosSent by clear-to-end-of-screen key
kelkEkey_eolSent by clear-to-end-of-line key
kend@7key_endSent by end key
kent@8key_enterSent by enter/send key
kext@9key_exitSent by exit key
kf0k0key_f0Sent by function key f0
kf1k1key_f1Sent by function key f1
kf2k2key_f2Sent by function key f2
kf3k3key_f3Sent by function key f3
kf4k4key_f4Sent by function key f4
kf5k5key_f5Sent by function key f5
kf6k6key_f6Sent by function key f6
kf7k7key_f7Sent by function key f7
kf8k8key_f8Sent by function key f8
kf9k9key_f9Sent by function key f9
kf10k;key_f10Sent by function key f10
kf11F1key_f11Sent by function key 11
kf12F2key_f12Sent by function key 12
kf13F3key_f13Sent by function key 13
kf14F4key_f14Sent by function key 14
kf15F5key_f15Sent by function key 15
kf16F6key_f16Sent by function key 16
kf17F7key_f17Sent by function key 17
kf18F8key_f18Sent by function key 18
kf19F9key_f19Sent by function key 19
kf20FAkey_f20Sent by function key 20
kf21FBkey_f21Sent by function key 21
kf22FCkey_f22Sent by function key 22
kf23FDkey_f23Sent by function key 23
kf24FEkey_f24Sent by function key 24
kf25FFkey_f25Sent by function key 25
kf26FGkey_f26Sent by function key 26
kf27FHkey_f27Sent by function key 27
kf28FIkey_f28Sent by function key 28
kf29FJkey_f29Sent by function key 29
kf30FKkey_f30Sent by function key 30
kf31FLkey_f31Sent by function key 31
kf32FMkey_f32Sent by function key 32
kf33FNkey_f33Sent by function key 33
kf34FOkey_f34Sent by function key 34
kf35FPkey_f35Sent by function key 35
kf36FQkey_f36Sent by function key 36
kf37FRkey_f37Sent by function key 37
kf38FSkey_f38Sent by function key 38
kf39FTkey_f39Sent by function key 39
kf40FUkey_f40Sent by function key 40
kf41FVkey_f41Sent by function key 41
kf42FWkey_f42Sent by function key 42
kf43FXkey_f43Sent by function key 43
kf44FYkey_f44Sent by function key 44
kf45FZkey_f45Sent by function key 45
kf46Fakey_f46Sent by function key 46
kf47Fbkey_f47Sent by function key 47
kf48Fckey_f48Sent by function key 48
kf49Fdkey_f49Sent by function key 49
kf50Fekey_f50Sent by function key 50
kf51Ffkey_f51Sent by function key 51
kf52Fgkey_f52Sent by function key 52
kf53Fhkey_f53Sent by function key 53
kf54Fikey_f54Sent by function key 54
kf55Fjkey_f55Sent by function key 55
kf56Fkkey_f56Sent by function key 56
kf57Flkey_f57Sent by function key 57
kf58Fmkey_f58Sent by function key 58
kf59Fnkey_f59Sent by function key 59
kf60Fokey_f60Sent by function key 60
kf61Fpkey_f61Sent by function key 61
kf62Fqkey_f62Sent by function key 62
kf63Frkey_f63Sent by function key 63
kfnd@0key_findSent by find key
khlp%1key_helpSent by help key
khomekhkey_homeSent by home key
khtskTkey_stabSent by set-tab key
kich1kIkey_icSent by ins char/enter ins mode key
kil1kAkey_ilSent by insert line
kindkFkey_sfSent by scroll-forward/down key
kllkHkey_llSent by home down key (lower left)
kmov%4key_moveSent by move key
kmrk%2key_markSent by mark key
kmsg%3key_messageSent by message key
knpkNkey_npageSent by next-page key
knxt%5key_nextSent by next-object key
kopn%6key_openSent by open key
kopt%7key_optionsSent by options key
kppkPkey_ppageSent by previous-page key
kprt%9key_printSent by print or copy key
kprv%8key_previousSent by previous-object key
krdo%0key_redoSent by redo key
kref&1key_referenceSent by reference key
kres&5key_resumeSent by resume key
krfr&2key_refresh Sent by refresh key
krikRkey_srSent by scroll-backward/up key
krmirkMkey_eicSent by rmir or smir in insert mode
krpl&3key_replaceSent by replace key
krst&4key_restartSent by restart key
ksav&6key_saveSent by save key
kslt*6key_selectSent by select key
kspd&7key_suspendSent by suspend key
ktbckakey_catabSent by clear-all-tabs key
kund&8key_undoSent by undo key
lf0l0lab_f0 Labels on function key f0 if not f0
lf1l1lab_f1Labels on function key f1 if not f1
lf2l2lab_f2Labels on function key f2 if not f2
lf3l3lab_f3Labels on function key f3 if not f3
lf4l4lab_f4Labels on function key f4 if not f4
lf5l5lab_f5Labels on function key f5 if not f5
lf6l6lab_f6Labels on function key f6 if not f6
lf7l7lab_f7Labels on function key f7 if not f7
lf8l8lab_f8 Labels on function key f8 if not f8
lf9l9lab_f9 Labels on function key f9 if not f9
lf10lalab_f10Labels on function key f10 if not f10
llllcursor_to_llLast line, first column (if no cup)
lpiZBchange_line_pitchChange number of lines per inch
mc0psprint_screenPrint contents of the screen
mc4pfprtr_offTurn off the printer
mc5poprtr_on Turn on the printer
mc5ppOprtr_nonTurn on the printer for #1 bytes
mcubZgparm_left_microLike parm_left_cursor
mcub1Zamicro_leftLike cursor_left for micro adjustment
mcudZfparm_down_microLike parm_down_cursor
mcud1ZZmicro_downLike cursor_down for micro adjustment
mcufZhparm_right_microLike parm_right_cursor
mcuf1Zbmicro_rightLike cursor_right for micro adjustment
mcuuZiparm_up_microLike parm_up_cursor
mcuu1Zdmicro_upLike cursor_up for micro adjustment
mgcMCclear_marginsClear all margins top, bottom,
mhpaZYmicro_column_addressLike column_address for micro adjustment
mrcupCMcursor_mem_addressMemory relative cursor addressing
mvpaZcmicro_row_addressLike row_address for micro adjustment
nelnwnewlineProduces newline (behaves like cr followed by lf)
ococ 0orig_colorsSet all color(pair)s to the original ones
opoporig_pairSet default color pair to the original one
padpcpad_charPad character (rather than null)
pfkeypkpkey_keyProg funct key #1 to type string #2
pflocplpkey_localProg funct key #1 to execute string #2
pfxpxpkey_xmitProg funct key #1 to xmit string #2
plnpnplab_normProg label #1 to show string #2
porderZeorder_of_pinsMatches software bits to print-head pins
protmpenter_protected_modeTurn on protected mode
rbimZsstop_bit_imageStop printing bit image graphics
rcrcrestore_cursorRestore cursor to position of last sc
rcsdZtstop_char_set_defStop definition of character set
reprprepeat_charRepeat char #1 #2 times
revmrenter_reverse_modeTurn on reverse video mode
rfrfreset_fileName of file containing reset string
rfiRFreq_for_inputSend next input character (for ptys)
ririscroll_reverseScroll text down
rinSRparm_rindexScroll backward #1 lines
ritmZRexit_italics_modeDisable italics
rlmZSexit_leftward_modeEnable rightward (normal) carriage motion
rmacsaeexit_alt_charset_modeEnd alternate character set
rmamRAexit_am_modeTurn off automatic margins
rmcupteexit_ca_modeString to begin programs that use cup
rmdcedexit_delete_modeEnd delete mode
rmicmZTexit_micro_modeDisable micro motion capabilities
rmireiexit_insert_modeEnd insert mode
rmkxkekeypad_local Out of keypad transmit mode
rmlnLFlabel_off Turn off soft labels
rmmmometa_offTurn off meta mode
rmprPchar_paddingLike ip, but when in replace mode
rmsoseexit_standout_modeEnd stand out mode
rmulueexit_underline_modeEnd underscore mode
rmxonRXexit_xon_modeTurn off XON/XOFF handshaking
rs1r1reset_1stringReset terminal completely to sane modes
rs2r2reset_2stringReset terminal completely to sane modes
rs3r3reset_3stringReset terminal completely to sane modes
rshmZUexit_shadow_modeDisable shadow printing
wsubmZVexit_subscript_modeDisable subscript printing
rsupmZWexit_supercript_modeDisable superscript printing
rumZXexit_upward_modeEnable downward (normal) carriage motion
rwidmZQexit_doublewide_modeDisable double wide printing
sbimZqstart_bit_imageStart printing bit image graphics
scscsave_cursorSave cursor position
scpspset_color_pair Set current color pair
scsZjselect_char_setSelect character set
scsdZrstart_char_set_defStart definition of character set
sdrfqZGenter_draft_qualitySet draft quality print
setbSbset_backgroundSet current background color
setfSfset_foregroundSet current foreground color
sgrsaset_attributesDefine the video attributes
sgr0meexit_attribute_modeTurn off all attributes
sitmZHenter_italics_modeEnable italics
slmZIenter_leftward_modeEnable leftward carriage motion
smacsasenter_alt_charset_modeStart alternate character set
smamSAenter_am_modeTurn on automatic margins
smcuptienter_ca_modeString to end programs that use cup
smdcdmenter_delete_modeDelete mode (enter)
smgbZkset_bottom_marginSet bottom margin at current line
smgbpZlset_bottom_margin_parmSet bottom margin at line #1 or #2 from bottom
smglMLset_left_marginSet left margin at current column
smglpZmset_left_margin_parmSet left (right) margin at column #1 (#2)
smgrMRset_right_marginSet right margin at current column
smgrpZnset_right_margin_parmSet right margin at column #1
smgtZoset_top_marginSet top margin at current line
smgtpZpset_top_margin_parmSet top (bottom) margin at line #1 (#2)
smicmZJenter_micro_modeEnable micro motion capabilities
smirimenter_insert_modeInsert mode (enter)
smlnLOlabel_onTurn on soft labels
smmmmmeta_onTurn on meta mode (8th bit)
smsosoenter_standout_modeBegin stand out mode
smulusenter_underline_modeStart underscore mode
smxonSXenter_xon_modeTurn on XON/XOFF handshaking
snlqZKenter_near_letter_qualitySet near-letter quality
snrmqZLenter_normal_qualitySet normal quality print
sshmZMenter_shadow_modeEnable shadow printing
ssubmZNenter_subscript_modeEnable subscript printing
ssupmZOenter_supercript_modeEnable superscript printing
subcsZusubscript_charactersList of "subscript-able" characters
sumZPenter_upward_modeEnable upward carriage msupcs
supcsZvsuperscript_charactersList of "superscript-able" characters
swidmZFenter_doublewide_modeEnable double wide printing
tbcctclear_all_tabsClear all tab stops
tsltsto_status_lineGo to status line
ucucunderline_charUnderscore one char and move past it
usetcN/ARead capabilities from entry
vpacvrow_addressLike hpa, but sets row
windwiset_windowCurrent window is lines #1 - #2 cols #3 - #4
xoffcXFxoff_characterXOFF character
xoncXNxon_characterXON character
zeromZxzero_motionNo motion for the subsequent character

 

The following sections group these categories and look at each group in detail.

Configuration Capabilities

Table 3-10 “Configuration Capabilities” lists the capabilities used to configure terminals. Following the table are more detailed descriptions of some of these capabilities.

Table 3-10 Configuration Capabilities

CapabilityVariableDescription
acscU=acs_charsGraphics character set pairs aAbBcC-defn=vt100
amauto_right_marginWraps to next line at right margin
bel=bellProduce audible signal (bell or beep)
bufsz#buffer_capacityNumber of bytes buffered before printing
bwauto_left_margincub1 wraps from column 0 to last column
ccccan_changeTerminal can redefine existing color
chtshard_cursorCursor is hard to see
cmdch=command_characterTerminal settable command character in prototype
cols#columns Number of columns on each line
cr=carriage_returnMove cursor to left edge of screen
damemory_aboveDisplay may be retained above the screen
dbmemory_below Display may be retained below the screen
eoerase_overstrikeTerminal can erase overstrikes with a blank
eslokstatus_line_esc_okEscape can be used on the status line
gngeneric_typeGeneric line type (for example, dialup, switch)
hchard_copyHardcopy terminal
hshas_status_lineTerminal has extra status line
hztilde_glitchHazeltine: cannot print tilde (~)
if=init_fileName of file containing is
iprog=init_progPath name of program for initialization
is1=init_1stringTerminal initialization string
is2=init_2stringTerminal initialization string
is3=init_3stringTerminal initialization string
lines#linesNumber of lines on the screen
lm#lines_of_memoryLines of memory if > 0; 0 means unfixed
nxonneeds_xon_xoffPadding will not work, XON/XOFF required
pad=pad_charPad character (rather than null)
pb#padding_baud_rateLowest baud rate where cr/nl padding needed
osover_strikeOverstrike leaves both characters on screen
rf=reset_fileName of file containing reset string
rs1=reset_1stringReset terminal completely to sane modes
rs2=reset_2stringReset terminal completely to sane modes
rs3=reset_3stringReset terminal completely to sane modes
rmam=exit_am_modeTurn off automatic margins
rmxon=exit_xon_modeTurn off XON/XOFF handshaking
samsemi_auto_right_marginPrinting in last column causes cr
smam=enter_am_modeTurn on automatic margins
smxon=enter_xon_modeTurn on XON/XOFF handshaking
ultransparent_underlineUnderline character overstrikes
vt#virtual_terminalVirtual terminal # (CB/UNIX)
xenleat_newline_glitchNewline ignored after 80 columns (Concept)
xoffc=xoff_characterXOFF character
xonxon_xoffTerminal uses XON/XOFF handshaking
xonc=xon_characterXON character
xsbno_esc_ctlcBeehive (f1=escape, f2=ctrl C)
xtdest_tabs_magic_smsoTabs destructive, magic smso character

 

Detailed Descriptions

More detailed descriptions are provided below for the following capabilities:

  • cmdch

  • da, db

  • gn

  • if, iprog, is1, is2, is3

  • lm

  • xenl

  • os, hc

  • ascs

cmdch

Some terminals, such as the Tektronix 4025, have a control character that can be set. The cmdch string describes a "dummy" control character to be used in all capabilities. Some UNIX systems support the convention of using the value of the environment variable CC in place of the dummy control character.

da

The da capability describes the case where deleting a line or scrolling a full screen may bring non-blank lines from below the screen; the db capability describes the case where scrolling back with ri may bring down non-blank lines from above.

gn

Terminal descriptions that are not specific types of terminals (such as switch, dialup, patch, and network) can be described at a basic level with gn. This allows the terminal to function at a low level but still complain when some operations are impossible. This capability is not used for virtual terminal descriptions supported by the UNIX system virtual terminal protocol. (Use vt.)

if, iprog, is1, is2, is3

The if, iprog, is1, is2, and is3 strings must be sent to the device every time that the user logs in. They must be output in a certain order: run the program specified by iprog; output is1; output is2; set the margins with mgc, smgl, and smgr; set the tabs with tbc and hts; print the file specified by if; and output is3 (using the init option of the tput command).

Normally initialization is done with is2 and in special cases, is1 and is3; however, sequences that reset from an unknown state can be given as rs1, rs2, rf, and rs3. (Reset strings are normally output with the reset option of the tput command.) Commands are normally placed in these strings when they have annoying results or are not needed when logging in.

lm

The lm capability is used if the terminal has more lines of memory than can be displayed on the screen simultaneously; a value of zero means that the number of lines is not fixed but that number is still more than can fit on the screen.

xenl

In addition to terminals that ignore a linefeed, xenl should be specified for terminals that do not immediately wrap when a character is read to the right-most column of the screen but wait until another character has been received (the VT100, for example).

os, hc

If the device is a printing terminal with no soft copy unit, both os and hc should be specified.

ascs

The definition of the ascs string is based on the DEC VT100 character set with the addition of some characters from the AT&T 4410v1 terminal. Table 3-11 “Glyph to Character Mapping” illustrates the glyph to character mapping.

Table 3-11 Glyph to Character Mapping

Glyph NameCharacter
right arrow+
left arrow'
down arrow.
up arrow-
solid square blockO
lantern symbolI
diamond`
checker board (stipple)a
degree symbolf
plus/minusg
board of squaresh
lower right cornerj
upper right cornerk
upper left cornerl
lower left cornerm
plusn
scan line 1o
horizontal lineq
scan line 9s
left tee (|-)t
right tee (-|)u
bottom tee ()v
top tee (T)w
vertical linex
bullet~

 

The characters are described in pairs, with the defining character for the glyph followed by the corresponding character on the device. For example, a device with the left tee, right tee, bottom tee, and top tee defined by the f,g, h, and i characters would be described as follows:

acsc=tfugvhwi

Cursor Movement and Scrolling Capabilities

Table 3-12 “Cursor Movement Capabilities” lists the capabilities used to define cursor movements. Following the table are more detailed descriptions of some of these capabilities.

Table 3-12 Cursor Movement Capabilities

CapabilityVariableDescription
csr=change_scroll_regionChange to lines #1 through #2 (vt100)
cub=parm_left_cursorMove cursor left specified number of spaces
cub1=cursor_leftMove cursor left one space
cud=parm_down_cursorMove down specified number of lines
cud1=cursor_downMove cursor down one line
cuf=parm_right_cursorMove cursor right specified number of spaces
cuf1=cursor_rightNon-destructive space (cursor right)
cup=cursor_addressMove cursor to row #1 col #2
cuu=parm_up_cursorMove up specified number of lines
cuu1=cursor_upMove cursor up one line
home=cursor_homeMove cursor to upper left corner of screen (if no cup)
hpa=column_addressAbsolute horizontal position
ind=scroll_forwardScroll text up
indn=parm_indexScroll forward #1 lines
ll=cursor_to_llMoves cursor to last line, first column (if no cup)
mirmove_insert_modeSafe to move in insert mode
mrcup=cursor_mem_addressMemory relative cursor addressing
msgrmove_standout_modeSafe to move in standout mode
nel=newlineProduces newline (behaves like cr followed by lf)
nrrmc=non_rev_rmcupsmcup does not restore screen after rmcup
rc=restore_cursorRestores cursor to position of last sc
ri=scroll_reverseScrolls text down
rin=parm_rindexScrolls backward #1 lines
rmcup=exit_ca_modeString that ends programs that use cup
sc=save_cursorSave cursor position
smcup=enter_ca_modeString that begins programs that use cup
vpa=row_addressAbsolute vertical position
xhpacol_addr_glitchOnly positive motion for hpa/mhpa capabilties
xtdest_tabs_magic_smsoTabs destructive, magic smso character (Teleray 1061)
xvparow_addr_glitchOnly positive motion for vpa/mvpa capabilities

 

Detailed Descriptions

More detailed descriptions are provided below for the following capabilities:

  • ind, ri

  • cufl

  • csr

  • cup, cuu

  • home

  • mir

  • smcup, rmcup

  • xt

ind, ri

Local cursor movements defined for TERMINFO are undefined at the top and left edges of the screen. Unless bw is specified, programs should not try to backspace at the left edge of the screen. To scroll text down, the program should move the cursor to the bottom left corner of the screen and send ind. To scroll up, the program should move the cursor to the top of the screen and send ri. Both of these capabilities are undefined when the cursor is anywhere else on the screen.

Although moving backwards from the left edge of the screen is not possible unless bw is specified, moving forward at the right edge of the screen does not necessarily depend on whether or not am is set. If the device has switch selectable automatic margins, am should be specified in the TERMINFO file, and initialization strings should turn on this option.

cufl

The local cursor movements should not change the text that they pass over; for example, you would not use cufl=\s because the space would erase the character that it passed over.

csr

The cursor position is undefined after using csr. Do not specify csr on terminals that do not have destructive scroll regions unless all of the following simulate destructive scrolling: ind, ri, indn, rin, dl, and dl1. To find out whether or not the terminal has a destructive scroll region, create a scroll region and place data on the bottom line, move the cursor to the top and do a reverse index (ri), followed by a delete line (dl1) or index (ind). The terminal has destructive scroll regions if the bottom line drops off the bottom of the scrolling region.

The csr string can create the effect of insert and delete line.

cup, cuu

If the device does not have cup, (Tektronix 4025, for example), cud, cub, cuf, and cuu are useful for moving relative to present position. Sometimes absolute-cursor addressing in one dimension (using vpa and hpa) is faster than the two-parameter specification of cup (as with the Hewlett-Packard 2645).

home

Since home refers to the top left corner of the screen (0,0) and not to memory, the sequence \EH on Hewlett-Packard terminals could not be used without losing other features of the terminal. A program should not get to the lower left hand corner by going up with cuu1 itself from the home position because the effects of home cannot be predicted.

ri, ind

The ri and ind strings can be used to insert lines at the top or bottom of the screen on terminals that have no true insert/delete line (and may even be faster).

mir

A terminal that allows movement within insert mode to delete characters on the same line can specify mir to speed up the insertion process. Some terminals, such as Datamedia's, should not specify mir because of the way that their insert mode works.

smcup, rmcup

Some devices may need to be in a special mode to use cursor movement. Some terminals turn off cursor movement when not in use; other terminals, such as the Concept terminal, have cursor addressing relative to memory instead of the screen; so a single screen-sized window must be fixed into the device for cursor addressing to work properly. Terminals, such as the Tektronix 4025, that have programmable command characters need to set the command character to the one used in TERMINFO. The smcup and rmcup strings start and end programs that use cursor movement.

xt

The xt capability is used for Teleray terminals that have destructive tabs (turn all characters tabbed over to blanks) and have an odd standout mode that requires using insert and delete to change text from standout back to normal instead of typing over the text.

Edit Capabilities

Table 3-13 “Editing Capabilities” lists the capabilities used for inserting and deleting text on terminals. Following the table are more detailed descriptions of the following capabilities:

  • ich1

  • in

  • ip

Table 3-13 Editing Capabilities

CapabilityVariableDescription
clear=clear_screenClear screen
dch=parm_dchDelete #1 chars
dch1=delete_characterDelete character
dl=parm_delete_lineDelete #1 lines (only from first column on line)
dl1=delete_lineDelete current line (only from first position on line)
ech=erase_chClear from current position to end of screen
el=clr_eolClear from current position to end of line, leaving the cursor in the original position
el1=clr_bolClear from current position to beginning of line inclusive, leaving the cursor in the original position
ich=parm_ichInsert #1 blank characters
ich1=insert_characterInsert character
il=parm_insert_lineAdd #1 new blank lines (only from first column line)
il1=insert_lineAdd new blank line above cursor (only from first column on line)
ininsert_null_glitchInsert mode distinguishes nulls
ip=insert_paddingInsert pad after character inserted
rmdc=exit_delete_modeEnd delete mode
rmir=exit_insert_modeEnd insert mode
rmp=char_paddingLike ip, but when in replace mode
smdc=enter_delete_modeDelete mode (enter)
smir=enter_insert_modeInsert mode (enter)

 

Detailed Descriptions

More detailed descriptions are provided below for the following capabilities:

  • ich1

  • in

  • ip

ich1

Most characters with a true insert mode do not require ich1 to be specified; specify ich1 for any terminal that requires a sequence to be sent before a character can be inserted. (Do not specify both smir and ich1 unless the terminal must be placed in insert mode and must be sent a character before insertion).

in

If the terminal distinguishes between blank characters and untyped positions (for example, local cursor movements) in should be specified. To find out, clear the screen, type a few characters, press a cursor key, and type a few more characters. Put the cursor before the first set of characters and put the terminal in insert mode. If the first set of characters shifts to the second and then moves onto the next line as you insert more characters, the terminal should be described by in.

ip

In addition to post-insert padding, ip can be used for any sequence that has to be sent after a character is inserted.

Attribute Capabilities

Table 3-14 “Attribute Capabilities” lists the capabilities used to control attributes on the terminal. For example, attribute capabilities include those to manipulate bold, underline, and color.

Table 3-14 Attribute Capabilities

CapabilityVariableDescription
bceback_color_eraseScreen erased with background color
blink=enter_blink_modeTurn on blinking
bold=enter_bold_modeTurn on bold (extra bright) mode
colors#max_colorsMaximum number of colors on the screen
dim=enter_dim_modeTurn on half-bright mode
hlshue_lightness_saturationTerminal uses only HLS color notation (Tektronix)
initc=initialize_colorInitialize the definition of color
initp=initialize_pairInitialize color pair
invis=enter_secure_modeTurn on blank mode (characters invisible)
ncv#no_color_videoVideo attributes that cannot be used with colors
oc=orig_colorsSet all color (pair)s to the original one
op=orig_pairSet default color pair to the original one
pairs#max_pairsMaximum number of color pairs on the screen
prot=enter_protected_modeTurn on protected mode
rev=enter_reverse_modeTurn on reverse video mode
rmso=exit_standout_modeEnd stand out mode
rmul=exit_underline_modeEnd underscore mode
scp=set_color_pairSet current color pair
setb=set_backgroundSet current background color
setf=set_foregroundSet current foreground color
sgr=set_attributesDefine the video attributes
sgr0=exit_attribute_modeTurn off all attributes
smso=enter_standout_modeBegin stand out mode
smul=enter_underline_modeStart underscore mode
xhpceol_standout_glitchStandout not erased by overwriting (hp)
xmc#magic_cookie_glitch# of blank chars left by smso or rmso

 

Handling Color

There are two ways terminals handle color. The Tektronix method provides a fixed set of colors that can be used for background or foreground. The Hewlett-Packard method provides color pairs that represent the foreground and background colors together; there is no way to define the foreground and background independent of each other.

The initc string is defined for terminals that use the Tektronix method of handling color. The initc string requires four arguments: one color number (0 to color -1), and three RGB (red, green, blue) values or three HLS colors (hue, lightness, saturation) in the same order specified in the parentheses.

The initp string is defined for terminals that use the Hewlett-Packard method of handling color. The initp string requires seven parameters: the number of the color pair (0 to pairs -1), three RGB values for foreground, and three RGB values for background (each group in the order of red, green, blue).

The hls Boolean variable is used to tell the CURSES init_color( ) routine to convert RGB (red, green, blue) arguments to HLS (hue, lighness, saturation) before sending them to the terminal (for those terminals that only use HLS notation).

Some color terminals replace video attributes with colors. Since these attributes should not be combined with colors, they need to be identified. Information about these attributes are packed into the ncv variable.

ncv Variable

The nine least significant bits of the ncv variable correspond to the video attributes as shown in Table 3-15 “ncv Variable”.

Table 3-15 ncv Variable

AttributeBit PositionDecimal Value
A_STANDOUT01
A_UNDERLINE12
A_REVERSE24
A_BLINK38
A_DIM416
A_BOLD532
A_INVIS664
A_PROTECT7128
A_ALTCHARSET8256

 

The corresponding ncv bit of each attribute that should not be combined with color should be set to one; otherwise, it should be set to zero. The decimal values of the attributes that cannot be used with color are summed, and that sum is packed into the ncv variable. For example, if the terminal uses color for standout mode (decimal value 1) and for underlining (decimal value 2), ncv would be a value of 3.

Turning Off Attributes

Always use sgr0 to turn off video attributes since it is the only way to turn off some attributes like dim or blink.

Programs using standout mode should exit standout mode (rmso) before sending a newline or moving the cursor unless the msgr capability is present. (The msgr capability specifies that it's safe to move in standout mode.)

Setting Arbitrary Modes

The sgr string describes the sequence to set arbitrary combinations of modes. The sgr string takes nine parameters in the following order:

  1. standout

  2. underline

  3. reverse

  4. blink

  5. dim

  6. bold

  7. blank

  8. protect

  9. alternate character set

Each parameter is either zero or non-zero, representing whether the attribute is on or off.

Table 3-16 “sgr Parameters” lists the sgr parameters.

Table 3-16 sgr Parameters

tparmAttribute
 none
p1standout
p2underline
p3reverse
p4blink
p5dim
p6bold
p7invis
p8protect
p9altcharset

 

Tabs and Margins

Table 3-17 “Margins and Tabs” lists the capabilities used to control margins and tabs on the terminal.

Table 3-17 Margins and Tabs

CapabilityVariableDescription
cbt=back_tabBack tab
ht=tabTab to next eight space hardware tab stop
hts=set_tabSet a tab in all rows, current column
it#init_tabsNumber of spaces between initial tabs
mgc=clear_marginsClear all margins top, bottom,
smgb=set_bottom_marginSet bottom margin at current line
smgbp=set_bottom_margin_parmSet bottom margin at line #1 or #2 from bottom
smgl=set_left_marginSet left margin at current column
smglp=set_left_ma rgin_parmSet left (right) margin at column #1 (#2)
smgr=set_right_marginSet right margin at current column
smgrp=set_right_m argin_parmSet right margin at column #1
smgt=set_top_marginSet top margin at current line
smgtp=set_top_mar gin_parmSet top (bottom) margin at line #1 (#2)
tbc=clear_all_tabsClear all tab stops

 

If tabs are expanded by the computer rather than sent to the device, by convention, ht and cbt are not used because the user may not have the tabs correctly set.

If the sequence to set tabs cannot be described adequately with tbc and hts, it can be described with is2 or if.

The it string is normally used by tputs init to determine whether to set the mode for hardware expansion and whether to set the tabs.

Terminal Key Capabilities

Table 3-18 “Terminal Key Capabilities” lists the capabilities used to describe keys on the terminal.

Table 3-18 Terminal Key Capabilities

CapabilityVariableDescription
k_keyname=See Table 3-9 “String Capabilities”See Table 3-9 “String Capabilities”
kmhas_meta_keyTerminal has meta key (shift, sets parity bit)
lab_function_name=See Table 3-9 “String Capabilities”See Table 3-9 “String Capabilities”
lf0=lab_f0Labels on function key f0 if not f0
lf1=lab_f1Labels on function key f1 if not f1
lf2=lab_f2Labels on function key f2 if not f2
lf3=lab_f3Labels on function key f3 if not f3
lf4=lab_f4Labels on function key f4 if not f4
lf5=lab_f5Labels on function key f5 if not f5
lf6=lab_f6Labels on function key f6 if not f6
lf7=lab_f7Labels on function key f7 if not f7
lf8=lab_f8Labels on function key f8 if not f8
lf9=lab_f9Labels on function key f9 if not f9
lf10=lab_f10Labels on function key f10 if not f10
pfkey=pkey_keyProg funct key #1 to type string #2
pfloc=pkey_localProg funct key #1 to execute string #2
pfx=pkey_xmitProg funct key #1 to xmit string #2
rfi=req_for_inputSend next input character (for ptys)
rmkx=meta_offTurn off meta mode
smkx=keypad_xmitPut terminal in keypad transmit mode
smm=meta_onTurn on meta mode (8th bit)

 

NOTE: Refer back to Table 3-9 “String Capabilities” for a complete list of all the key capabilities.

Key capabilities describe keypads that transmit sequences of characters when keys are pressed. Keypads that work only in local mode cannot be described. The keypad is assumed to always transmit; if the transmit of keys can be turned on or off, this should be specified with smkx and rmkx, respectively.

If the first 11 function keys have labels other than the default f0 through f10, they can be described using lf0 through lf10. If the keypad has a 3 by 3 array of keys that includes the four arrow keys, the other keys can be described as ka1, ka3, kb2, kc1, and kc3 as shown in the diagram below.

ka1[utrif] ka3
[ltrif]kb2[rtrif]
kc1[dtrif]kc3

Miscellaneous Capabilities

Table 3-19 “Miscellaneous Capabilities” lists the capabilities that do not fit into any of the previous categories.

Table 3-19 Miscellaneous Capabilities

CapabilityVariableDescription
civis=cursor_invisibleMake cursor invisible
cnorm=cursor_normalMake cursor appear normal (undo cvvis/civis)
cvvis=cursor_visibleMake cursor very visible
defc=define_charDefine a character in a character set
dsl=dis_status_lineDisable status line
enacs=ena_acsEnable alternate character set
flash=flash_screenVisible bell (may not move cursor)
ff=form_feed Hardcopy terminal page eject
fsl=from_status_lineReturn from status line
lh#label_height# rows in each label
lw#label_width# columns in each label
nlab#num_labels# of labels on screen (start at 1)
pln=plab_normProg label #1 to show string #2
rbim=stop_bit_imageStop printing bit image graphics
rcsd=stop_char_set_def Stop definition of character set
rep=repeat_charRepeat character #1 #2 times
rmacs=exit_alt_charset_modeEnd alternate character set
rmln=label_off Turn off soft labels
sbim=start_bit_imageStart printing bit image graphics
scs=select_char_set Select character set
scsd=start_char_set_defStart definition of character set
smacs=enter_alt_charset_modeStart alternate character set
smln=label_on Turn on soft labels
tsl=to_status_lineGo to status line
use=N/A Read capabilities from entry
wind=set_windowCurrent window is lines #1 - #2 cols #3 - #4
wsl#width_status_line# columns in status line (if different from cols)

 

The fsl string must leave the cursor in the same position as it was before tsl. If necessary, this can be done by including sc and rc in thefsl and tsl strings.

The wind string defines a window that all commands affect as part of memory. It takes four arguments: starting lines in memory, ending lines in memory, starting columns in memory, and ending columns in memory.

Capabilities Sorted by Variable Name

The following tables list all of the capabilities by variable name (instead of TERMINFO capability name as was done previously) for ease of reference.

Table 3-20 “Boolean Capabilities” lists the Boolean capabilities, Table 3-21 “Numeric Capabilities” lists the numeric capabilities, and Table 3-22 “String Capabilities” lists the string capabilities.

Boolean Capabilities

Table 3-20 “Boolean Capabilities” lists the Boolean capabilities.

Table 3-20 Boolean Capabilities

VariableTInfoTCapDescription
auto_left_marginbwbwcub1 wraps from column 0 to last column
auto_right_marginamamTerminal has automatic margins
back_color_erasebcebeScreen erased with background color
can_changecccccTerminal can redefine existing color
ceol_standout_glitchxhpxsStandout not erased by overwriting (hp)
col_addr_glitchxhpaYAOnly positive motion for hpa/mhpa capabilities
cpi_changes_rescpixYFChanging character pitch changes resolution
cr_cancels_micro_modecrxmYBUsing cr turns off micro mode
dest_tabs_magic_smsoxtxtTabs destructive, magic smso character (Teleray 1061)
eat_newline_glitchxenlxnNewline ignored after 80 columns (Concept)
erase_overstrikeeoeoTerminal can erase overstrikes with a blank
generic_typegngnGeneric line type (for example, dialup, switch)
hard_copyhchcHardcopy terminal
hard_cursorchtsHCCursor is hard to see
has_meta_keykmkmTerminal has meta key (shift, sets parity bit)
has_print_wheeldaisyYCPrinter needs operator to change character set
has_status_linehshsTerminal has extra status line
hue_lightness_saturationhlshlTerminal uses only HLS color notation (Tektronix)
insert_null_glitchininInsert mode distinguishes nulls
lpi_changes_reslpixYGChanging line pitch changes resolution
memory_abovedadaDisplay may be retained
amemory_belowdbdbDisplay may be retained below the screen
move_insert_modemirmiSafe to move in insert mode
move_standout_modemsgrmsSafe to move in standout mode
needs_xon_xoffnxonnxPadding will not work, XON/XOFF required
no_esc_ctlcxsbxbBeehive (f1=escape, f2=ctrl C)
no_pad_charnpcNPPad character does not exist
non_rev_rmcupnrrmcNRsmcup does not reverse rmcup
over_strikeososTerminal overstrikes
prtr_silentmc5i5iPrinter will not echo on screen
row_addr_glitchxvpaYDOnly positive motion for vpa/mvpa capabilities
semi_auto_right_marginsamYE Printing in last column causes cr
status_line_esc_okeslokesEscape can be used on the status line
tilde_glitchhzhzHazeltine: cannot print tilde (~)
transparent_underlineululUnderline character overstrikes
xon_xoffxonxoTerminal uses XON/XOFF handshaking

 

Numeric Capabilities

Table 3-21 “Numeric Capabilities” lists the numeric capabilities.

Table 3-21 Numeric Capabilities

VariableTInfoTCapDescription
buffer_capacitybufszYa Number of bytes buffered before printing
columnscolsco Number of columns in a line
dot_horz_spacingspinhYcSpacing of dots horizontally in dots per inch
dot_vert_spacingspinvYbSpacing of pins vertically in pins per inch
init_tabs ititNumber of spaces between initial tabs
label_heightlhlhNumber of rows in each label
label_widthlwlwNumber of columns in each label
lineslinesliNumber of lines on screen or page
lines_of_memorylmlmLines of memory if > 0; 0 means unfixed
magic_cookie_glitchxmcsgNumber of blank chars left by smso or rmso
max_colorscolorsCoMaximum number of colors on the screen
max_micro_addressmaddrYdMaximum value in micro_..._address
max_micro_jumpmjumpYeMaximum value in parm_..._micro
max_pairspairspaMaximum number of color pairs on the screen
micro_col_sizemcsYfCharacter step size when in micro mode
micro_line_sizemlsYgLine step size when in micro mode
no_color_videoncvNCVideo attributes that cannot be used with colors
num_labelsnlabNlNumber of labels on screen (start at 1)
number_of_pinsnpinsyHNumber of pins in print-head
output_res_charorcYiHorz. res. in units per character
output_res_horz_inchorhiYkHorz. res. in units per inch
output_res_lineorlYjVert. res. in units per line
output_res_vert_inchorviYlVert. res. in units per inch
padding_baud_ratepbpbLowest baud rate where cr/nl padding needed
virtual_terminalvtvtVirtual terminal number (CB/UNIX)
wide_char_sizewidcsYnCharacter step size when in double wide mode
width_status_linewslwsNumber of columns in status line

 

String Capabilities

Table 3-22 “String Capabilities” lists the string capabilities.

Table 3-22 String Capabilities

VariableTInfoTCapDescription
N/AusetcRead capabilities from entry
acs_charsacscacGraphics character set pairs aAbBcC - defn=vt100
back_tab cbtbtBack tab
bell belblProduce audible signal (bell or beep)
carriage_returncrcrMove cursor to left edge of screen
change_char_pitchcpiZAChange number of characters per inch
change_line_pitchlpiZB Change number of lines per inch
change_res_horzchrZCChange horizontal resolution
change_res_vertcvrZDChange vertical resolution
change_scroll_regioncsrcsChange to lines #1 through #2 (vt100)
char_paddingrmprPLike ip, but when in replace mode
char_set_namescsnmZyList of character set names
clear_all_tabstbcctClear all tab stops
clear_marginsmgcMCClear all margins top and bottom
clear_screenclearclClear screen
clr_bolel1cbClear to beginning of line, inclusive
clr_eolelceClear to end of line
clr_eosedcdClear to end of display
column_addresshpachSet cursor column
command_charactercmdchCCTerminal settable command character in prototype
cursor_addresscupcmCursor motion to row #1 col #2
cursor_downcud1doMove cursor down one line
cursor_homehomehoHome cursor (if no cup)
cursor_invisiblecivis viMake cursor invisible
cursor_leftcub1leMove cursor left one space
cursor_mem_addressmrcupCMMemory relative cursor addressing
cursor_normalcnormveMake cursor appear normal (undo cvvis/civis)
cursor_rightcuf1ndNon-destructive space (cursor right)
cursor_to_llllllLast line, first column (if no cup)
cursor_upcuu1upMove cursor up
cursor_visiblecvvisvsMake cursor very visible
define_chardefc ZEDefine a character in a character set
delete_characterdch1dcDelete character
delete_linedl1dlDelete line
dis_status_linedsldsDisable status line
down_half_linehdhdHalf-line down (forward 1/2 linefeed)
ena_acsenacseAEnable alternate character set
enter_alt_charset_modesmacsasStart alternate character set
enter_am_modesmamSATurn on automatic margins
enter_blink_modeblinkmbTurn on blinking
enter_bold_mode boldmdTurn on bold (extra bright) mode
enter_ca_modesmcuptiString to end programs that use cup
enter_delete_modesmdcdmDelete mode (enter)
enter_dim_modedim mhTurn on half-bright mode
enter_doublewide_modeswidmZFEnable double wide printing
enter_draft_qualitysdrfqZGSet draft quality print
enter_insert_mode smir imInsert mode (enter)
enter_italics_mode sitm ZHEnable italics
enter_leftward_modeslmZIEnable leftward carriage motion
enter_micro_modesmicmZJEnable micro motion capabilities
enter_near_letter_qualitysnlqZKSet near-letter quality
enter_normal_qualitysnrmqZLSet normal quality print
enter_protected_modeprotmpTurn on protected mode
enter_reverse_mode revmrTurn on reverse video mode
enter_secure_modeinvismkTurn on blank mode (characters invisible)
enter_shadow_modesshmZMEnable shadow printing
enter_standout_modesmsosoBegin stand out mode
enter_subscript_modessubmZNEnable subscript printing
enter_supercript_modessupmZOEnable superscript printing
enter_underline_modesmulusStart underscore mode
enter_upward_modesumZPEnable upward carriage motion
enter_xon_mode smxonSXTurn on XON/XOFF handshaking
erase_charsechecErase #1 characters
exit_alt_charset_modermacsaeEnd alternate character set
exit_am_modermamRATurn off automatic margins
exit_attribute_modesgr0meTurn off all attributes
exit_ca_modermcupteString to begin programs that use cup
exit_delete_modermdcedEnd delete mode
exit_doublewide_moderwidmZQDisable double wide printing
exit_insert_modermireiEnd insert mode
exit_italics_moderitmZRDisable italics
exit_leftward_mode rlmZSEnable rightward (normal) carriage motion
exit_micro_modermicmZTDisable micro motion capabilities
exit_shadow_modershm ZUDisable shadow printing
exit_standout_modermso seEnd stand out mode
exit_subscript_modewsubmZVDisable subscript printing
exit_supercript_modersupmZWDisable superscript printing
exit_underline_modermul ueEnd underscore mode
exit_xon_mode rmxonRXTurn off XON/XOFF handshaking
flash_screenflashvbVisible bell (may not move cursor)
form_feed ff ffHardcopy terminal page eject
from_status_linefslfsReturn from status line
init_1string is1=i1Terminal initialization string
init_2string is2=isTerminal initialization string
init_3string is3=i3Terminal initialization string
init_file if ifName of file containing is
init_prog iprog iPPathname of program for initialization
initialize_colorinitc IcInitialize the definition of color
initialize_pair initp IpInitialize color pair
insert_characterich1icInsert character
insert_lineil1alAdd new blank line
insert_paddingip ipInsert pad after character inserted
key_a1 ka1K1 Upper left of keypad
key_a3 ka3K3Upper right of keypad
key_b2 kb2K2Center of keypad
key_backspacekbskb Sent by backspace key
key_begkbeg@1 Sent by beginning key
key_btabkcbtkB Sent by BackTab key
key_c1 kc1K4Lower left of keypad
key_c3 kc3K5Lower right of keypad
key_cancel kcan@2Sent by cancel key
key_catabktbckaSent by clear-all-tabs key
key_clearkclrkCSent by clear screen or erase key
key_closekclo@3Sent by close key
key_commandkcmd@4Sent by command key
key_copykcpy@5Sent by copy key
key_create kcreate@6Sent by create key
key_ctabkctabktSent by clear-tab key
key_dckdch1kDSent by delete character key
key_dlkdl1kLSent by delete line key
key_downkcud1kdSent by terminal down arrow key
key_eic krmirkMSent by rmir or smir in insert mode
key_end kend@7Sent by end key
key_enterkent@8Sent by enter/send key
key_eol kel kESent by clear-to-end-of-line key
key_eos ked kSSent by clear-to-end-of-screen key
key_exitkext@9Sent by exit key
key_f0kf0 k0Sent by function key f0
key_f1kf1 k1Sent by function key f1
key_f2kf2 k2Sent by function key f2
key_f3kf3 k3Sent by function key f3
key_f4kf4 k4Sent by function key f4
key_f5kf5 k5Sent by function key f5
key_f6kf6 k6Sent by function key f6
key_f7kf7 k7Sent by function key f7
key_f8kf8 k8Sent by function key f8
key_f9kf9 k9Sent by function key f9
key_f10 kf10k;Sent by function key f10
key_f11 kf11F1Sent by function key 11
key_f12 kf12F2Sent by function key 12
key_f13 kf13F3Sent by function key 13
key_f14 kf14F4Sent by function key 14
key_f15 kf15F5Sent by function key 15
key_f16 kf16F6Sent by function key 16
key_f17 kf17F7Sent by function key 17
key_f18 kf18F8Sent by function key 18
key_f19 kf19F9Sent by function key 19
key_f20 kf20FASent by function key 20
key_f21 kf21FBSent by function key 21
key_f22 kf22FCSent by function key 22
key_f23 kf23FDSent by function key 23
key_f24 kf24FESent by function key 24
key_f25 kf25FFSent by function key 25
key_f26kf26FGSent by function key 26
key_f27kf27FHSent by function key 27
key_f28kf28FISent by function key 28
key_f29kf29FJSent by function key 29
key_f30kf30FKSent by function key 30
key_f31kf31FLSent by function key 31
key_f32kf32FMSent by function key 32
key_f33kf33FNSent by function key 33
key_f34kf34FOSent by function key 34
key_f35kf35FPSent by function key 35
key_f36kf36FQSent by function key 36
key_f37kf37FRSent by function key 37
key_f38kf38FSSent by function key 38
key_f39kf39FTSent by function key 39
key_f40kf40FUSent by function key 40
key_f41kf41FVSent by function key 41
key_f42kf42FWSent by function key 42
key_f43kf43FXSent by function key 43
key_f44kf44FYSent by function key 44
key_f45kf45FZSent by function key 45
key_f46kf46FaSent by function key 46
key_f47kf47FbSent by function key 47
key_f48kf48FcSent by function key 48
key_f49kf49FdSent by function key 49
key_f50kf50FeSent by function key 50
key_f51kf51FfSent by function key 51
key_f52kf52FgSent by function key 52
key_f53kf53FhSent by function key 53
key_f54kf54FiSent by function key 54
key_f55kf55FjSent by function key 55
key_f56kf56FkSent by function key 56
key_f57kf57FlSent by function key 57
key_f58kf58FmSent by function key 58
key_f59kf59FnSent by function key 59
key_f60kf60FoSent by function key 60
key_f61kf61FpSent by function key 61
key_f62 kf62FqSent by function key 62
key_f63 kf63FrSent by function key 63
key_findkfnd@0Sent by find key
key_helpkhlp%1Sent by help key
key_homekhomekhSent by home key
key_ickich1kISent by ins char/enter ins mode key
key_ilkil1kASent by insert line
key_leftkcub1klSent by terminal left-arrow key
key_llkll kHSent by home-down key (lower left)
key_markkmrk%2Sent by mark key
key_message kmsg%3Sent by message key
key_movekmov%4Sent by move key
key_nextknxt%5Sent by next-object key
key_npageknp kNSent by next-page key
key_openkopn%6Sent by open key
key_options kopt%7Sent by options key
key_ppagekpp kPSent by previous-page key
key_previouskprv%8Sent by previous-object key
key_printkprt%9Sent by print or copy key
key_redokrdo%0Sent by redo key
key_referencekref&1Sent by reference key
key_refresh krfr&2Sent by refresh key
key_replace krpl&3Sent by replace key
key_restart krst&4Sent by restart key
key_resumekres&5Sent by resume key
key_rightkcuf1krSent by terminal right arrow key
key_saveksav&6Sent by save key
key_sbegkBEG&9Sent by shift-beginning key
key_scancel kCAN&0Sent by shift-cancel key
key_scommandkCMD*1Sent by shift-command key
key_scopykCPY*2Sent by shift-copy key
key_screate kCRT*3Sent by shift-create key
key_sdc kDC *4Sent by shift-delete-char key
key_sdl kDL *5Sent by shift-delete-line key
key_selectkslt*6Sent by select key
key_sendkEND*7Sent by shift-end key
key_seol kEOL*8Sent by shift-eol key
key_sexitkEXT*9Sent by shift-exit key
key_sfkindkFSent by scroll-forward/down key
key_sfindkFND*0Sent by shift-find key
key_shelpkHLP#1Sent by shift-help key
key_shomekHOM#2Sent by shift-home key
key_sickIC #3Sent by shift-insert-char key
key_sleftkLFT#4Sent by shift-left key
key_smessagekMSG%aSent by shift-message key
key_smovekMOV%bSent by shift-move key
key_snextkNXT%cSent by shift-next key
key_soptionskOPT%dSent by shift-options key
key_spreviouskPRV%eSent by shift-prev key
key_sprintkPRT%fSent by shift-print key
key_srkri kRSent by scroll-backward/up key
key_sredokRDO%gSent by shift-redo key
key_sreplacekRPL%hSent by shift-replace key
key_srightkRIT%iSent by shift-right key
key_srsumekRES%jSent by shift-resume key
key_ssavekSAV!1Sent by shift-save key
key_ssuspendkSPD!2Sent by shift-suspend key
key_stab khtskTSent by set-tab key
key_sundokUND!3Sent by shift-undo key
key_suspend kspd&7Sent by suspend key
key_undo kund&8Sent by undo key
key_upkcuu1kuSent by terminal up-arrow key
keypad_localrmkxkeOut of keypad transmit mode
keypad_xmit smkxksPut terminal in keypad transmit mode
lab_f0lf0l0Labels on function key f0 if not f0
lab_f1lf1 l1 Labels on function key f1 if not f1
lab_f10 lf10la Labels on function key f10 if not f10
lab_f2lf2 l2 Labels on function key f2 if not f2
lab_f3lf3 l3 Labels on function key f3 if not f3
lab_f4lf4 l4 Labels on function key f4 if not f4
lab_f5lf5 l5 Labels on function key f5 if not f5
lab_f6lf6 l6 Labels on function key f6 if not f6
lab_f7lf7l7 Labels on function key f7 if not f7
lab_f8lf8l8 Labels on function key f8 if not f8
lab_f9lf9l9 Labels on function key f9 if not f9
label_off rmln LFTurn off soft labels
label_onsmln LOTurn on soft labels
meta_offrmmmoTurn off meta mode
meta_on smmmmTurn on meta mode (8th bit)
micro_column_addressmhpa ZYLike column_address for micro adjustment
micro_downmcud1ZZLike cursor_down for micro adjustment
micro_leftmcub1ZaLike cursor_left for micro adjustment
micro_rightmcuf1ZbLike cursor_right for micro adjustment
micro_row_addressmvpa ZcLike row_address for micro adjustment
micro_upmcuu1ZdLike cursor_up for micro adjustment
newline nelnwProduces newline (behaves like cr followed by lf)
order_of_pinsporderZeMatches software bits to print-head pins
orig_colorsococSet all color(pair)s to the original ones
orig_pair opopSet default color pair to the original one
pad_charpadpcPad character (rather than null)
parm_dchdchDCDelete #1 characters
parm_delete_linedlDLDelete #1 lines
parm_down_cursorcudDOMove cursor down #1 lines
parm_down_micro mcud ZfLike parm_down_cursor
parm_ichichICInsert #1 blank characters
parm_indexindn SFScroll forward #1 lines
parm_insert_lineilALAdd #1 new blank lines
parm_left_cursorcubLEMove cursor left #1 spaces
parm_left_micro mcub ZgLike parm_left_cursor
parm_right_cursorcufRIMove cursor right #1 spaces
parm_right_micromcufZhLike parm_right_cursor
parm_rindexrinSRScroll backward #1 lines
parm_up_cursorcuuUPMove cursor up #1 lines
parm_up_micromcuu ZiLike parm_up_cursor
pkey_keypfkeypkProg funct key #1 to type string #2
pkey_localpflocplProg funct key #1 to execute string #2
pkey_xmit pfxpxProg funct key #1 to xmit string #2
plab_norm plnpnProg label #1 to show string #2
print_screenmc0 psPrint contents of the screen
prtr_nonmc5ppOTurn on the printer for #1 bytes
prtr_offmc4 pfTurn off the printer
prtr_on mc5 poTurn on the printer
repeat_charrep rpRepeat char #1 #2 times
req_for_inputrfi RFSend next input character (for ptys)
reset_1stringrs1r1Reset terminal completely to sane modes
reset_2stringrs2r2Reset terminal completely to sane modes
reset_3stringrs3r3Reset terminal completely to sane modes
reset_filerfrfName of file containing reset string
restore_cursorrcrcRestore cursor to position of last sc
row_address vpacvLike hpa but sets row
save_cursor scscSave cursor position
scroll_forwardindsfScroll text up
scroll_reverse ririScroll text down
select_char_setscs ZjSelect character set
set_attributessgrsaDefine the video attributes
set_backgroundsetbSbSet current background color
set_bottom_marginsmgbZkSet bottom margin at current line
set_bottom_margin_parmsmgbpZlSet bottom margin at line #1 or #2 from bottom
set_color_pairscp spSet current color pair
set_foreground setfSfSet current foreground color
set_left_marginsmglMLSet left margin at current column
set_left_margin_parm smglpZmSet left (right) margin at column #1 (#2)
set_right_marginsmgrMRSet right margin at current column
set_right_margin_parmsmgrpZnSet right margin at column #1
set_tab hts stSet a tab in all rows, current column
set_top_margin smgtZoSet top margin at current line
set_top_margin_parmsmgtpZpSet top (bottom) margin at line #1 (#2)
set_windowwindwiCurrent window is lines #1 - #2 cols #3 - #4
start_bit_imagesbimZqStart printing bit image graphics
start_char_set_defscsdZrStart definition of character set
stop_bit_imagerbimZsStop printing bit image graphics
stop_char_set_defrcsdZtStop definition of character set
subscript_characterssubcsZuList of "subscriptable" characters
superscript_characterssupcsZvList of "superscript-able" characters
tab httaTab to next 8-space hardware tab stop
these_cause_crdocrZwPrinting any of these chars causes cr
to_status_linetsltsGo to status line
underline_charucucUnderscore one char and move past it
up_half_line huhuHalf-line up(reverse 1/2 linefeed)
xoff_characterxoffcXFXOFF character
xon_characterxoncXNXON character
zero_motionzeromZxNo motion for the subsequent character

 

Feedback to webmaster