Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
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
Content starts here

 » 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