For example, the following TERMTABLE entry describes two
characteristics of a VT300-series terminal:
  Table 5-3 String Capabilities
  
    | Name  | 
    Used by SMG  | 
    Description  | 
  
  
    | 
      BEGIN_ALTERNATE_CHAR
     | 
    
      N
     | 
    
      Begins alternate character set
     | 
  
  
    | 
      BEGIN_AUTOPRINT_MODE
     | 
    
      N
     | 
    
      Begins autoprint mode
     | 
  
  
    | 
      BEGIN_AUTOREPEAT_MODE
     | 
    
      N
     | 
    
      Begins autorepeat mode
     | 
  
  
    | 
      BEGIN_AUTOWRAP_MODE
     | 
    
      N
     | 
    
      Begins autowrap mode
     | 
  
  
    | 
      BEGIN_BLINK
     | 
    
      Y
     | 
    
      Begins blinking characters
     | 
  
  
    | 
      BEGIN_BOLD
     | 
    
      Y
     | 
    
      Begins bolded characters
     | 
  
  
    | 
      BEGIN_DELETE_MODE
     | 
    
      N
     | 
    
      Begins delete mode
     | 
  
  
    | 
      BEGIN_INSERT_MODE
     | 
    
      N
     | 
    
      Begins insert mode
     | 
  
  
    | 
      BEGIN_LINE_DRAWING_CHAR
     | 
    
      Y
     | 
    
      Begins using line-drawing character set
     | 
  
  
    | 
      BEGIN_NORMAL_RENDITION
     | 
    
      Y
     | 
    
      Begins using normal video attributes
     | 
  
  
    | 
      BEGIN_REVERSE
     | 
    
      Y
     | 
    
      Begins reverse video characters
     | 
  
  
    | 
      BEGIN_UNDERSCORE
     | 
    
      Y
     | 
    
      Begins underscored characters
     | 
  
  
    | 
      BOTTOM_T_CHAR
     | 
    
      Y
     | 
    
      Displays line-drawing character
      bottom t
     | 
  
  
    | 
      CLEAR_TAB
     | 
    
      N
     | 
    
      Clears tab at current column
     | 
  
  
    | 
      CR_GRAPHIC
     | 
    
      Y
     | 
    
      Defines character to indicate a carriage return when control characters
      are being represented rather than executed
     | 
  
  
    | 
      CROSS_CHAR
     | 
    
      Y
     | 
    
      Defines character to represent the intersection of perpendicular lines
     | 
  
  
    | 
      CURSOR_DOWN
     | 
    
      N
     | 
    
      Moves cursor
      n lines down (does not cause scrolling)
     | 
  
  
    | 
      CURSOR_LEFT
     | 
    
      N
     | 
    
      Moves cursor
      n positions to the left
     | 
  
  
    | 
      CURSOR_NEXT_LINE
     | 
    
      N
     | 
    
      Accepts an argument
      n and moves the cursor to the first position in the
      nth following line
     | 
  
  
    | 
      CURSOR_POSITION_REPORT
     | 
    
      N
     | 
    
      Reports the active position using two arguments
     | 
  
  
    | 
      CURSOR_PRECEDING_LINE
     | 
    
      N
     | 
    
      Accepts an argument
      n and moves the cursor to the first position in the
      nth preceding line
     | 
  
  
    | 
      CURSOR_RIGHT
     | 
    
      N
     | 
    
      Accepts an argument
      n and moves the cursor
      n positions to the right
     | 
  
  
    | 
      CURSOR_UP
     | 
    
      N
     | 
    
      Accepts an argument
      n and and moves cursor up
      n lines (does not cause scrolling)
     | 
  
  
    | 
      DARK_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color dark (normal video)
     | 
  
  
    | 
      DELETE_CHAR
     | 
    
      N
     | 
    
      Accepts an argument
      n and deletes
      n characters
     | 
  
  
    | 
      DELETE_LINE
     | 
    
      N
     | 
    
      Accepts an argument
      n and deletes
      n lines
     | 
  
  
    | 
      DEVICE_ATTRIBUTES
     | 
    
      N
     | 
    
      Terminal's response to a "What are you?" sequence
     | 
  
  
    | 
      DOUBLE_HIGH_BOTTOM
     | 
    
      Y
     | 
    
      Changes line to double height bottom half
     | 
  
  
    | 
      DOUBLE_HIGH_TOP
     | 
    
      Y
     | 
    
      Changes line to double height top half
     | 
  
  
    | 
      DOUBLE_WIDE
     | 
    
      Y
     | 
    
      Changes line to double width
     | 
  
  
    | 
      END_ALTERNATE_CHAR
     | 
    
      N
     | 
    
      Ends alternate character set
     | 
  
  
    | 
      END_AUTOPRINT_MODE
     | 
    
      N
     | 
    
      Ends autoprint mode
     | 
  
  
    | 
      END_AUTOREPEAT_MODE
     | 
    
      N
     | 
    
      Ends autorepeat mode
     | 
  
  
    | 
      END_AUTOWRAP_MODE
     | 
    
      N
     | 
    
      Ends autowrap mode
     | 
  
  
    | 
      END_BLINK
     | 
    
      N
     | 
    
      Ends blinking characters
     | 
  
  
    | 
      END_BOLD
     | 
    
      N
     | 
    
      Ends bolding mode
     | 
  
  
    | 
      END_DELETE_MODE
     | 
    
      N
     | 
    
      Ends delete mode
     | 
  
  
    | 
      END_INSERT_MODE
     | 
    
      N
     | 
    
      Ends insert mode
     | 
  
  
    | 
      END_LINE_DRAWING_CHAR
     | 
    
      Y
     | 
    
      Ends line-drawing characters
     | 
  
  
    | 
      END_REVERSE
     | 
    
      N
     | 
    
      Ends reverse video characters
     | 
  
  
    | 
      END_UNDERSCORE
     | 
    
      N
     | 
    
      Ends underscore
     | 
  
  
    | 
      ERASE_DISPLAY_TO_CURSOR
     | 
    
      N
     | 
    
      Erases display to virtual cursor position
     | 
  
  
    | 
      ERASE_LINE_TO_CURSOR
     | 
    
      N
     | 
    
      Erases line to virtual cursor position
     | 
  
  
    | 
      ERASE_TO_END_DISPLAY
     | 
    
      N
     | 
    
      Erases to end of display
     | 
  
  
    | 
      ERASE_TO_END_LINE
     | 
    
      Y
     | 
    
      Erases to end of line
     | 
  
  
    | 
      ERASE_WHOLE_DISPLAY
     | 
    
      Y
     | 
    
      Erases whole display
     | 
  
  
    | 
      ERASE_WHOLE_LINE
     | 
    
      N
     | 
    
      Erases whole line
     | 
  
  
    | 
      ERROR_ICON
     | 
    
      Y
     | 
    
      Defines character that indicates an error
     | 
  
  
    | 
      FF_GRAPHIC
     | 
    
      Y
     | 
    
      Uses this character to indicate a form feed when control characters are
      displayed rather than executed
     | 
  
  
    | 
      HOME
     | 
    
      Y
     | 
    
      Defines home cursor
     | 
  
  
    | 
      HORIZONTAL_BAR
     | 
    
      Y
     | 
    
      Displays line-drawing character
      horizontal bar
     | 
  
  
    | 
      HT_GRAPHIC
     | 
    
      Y
     | 
    
      Uses this character to indicate a horizontal tab when control
      characters are displayed rather than executed
     | 
  
  
    | 
      INDEX
     | 
    
      N
     | 
    
      Moves the cursor down one line without changing the column position
      (contents of the screen scroll up if necessary)
     | 
  
  
    | 
      INIT_STRING
     | 
    
      Y
     | 
    
      Defines terminal initialization string
     | 
  
  
    | 
      INSERT_CHAR
     | 
    
      N
     | 
    
      Accepts an argument
      n and inserts
      n characters
     | 
  
  
    | 
      INSERT_LINE
     | 
    
      N
     | 
    
      Accepts an argument
      n and inserts
      n lines
     | 
  
  
    | 
      INSERT_PAD
     | 
    
      N
     | 
    
      Accepts an argument
      n and inserts
      n pad characters after character inserted
     | 
  
  
    | 
      KEY_0
     | 
    
      Y
     | 
    
      Returned by keypad 0 in applications mode
     | 
  
  
    | 
      KEY_1
     | 
    
      Y
     | 
    
      Returned by keypad 1 in applications mode
     | 
  
  
    | 
      KEY_2
     | 
    
      Y
     | 
    
      Returned by keypad 2 in applications mode
     | 
  
  
    | 
      KEY_3
     | 
    
      Y
     | 
    
      Returned by keypad 3 in applications mode
     | 
  
  
    | 
      KEY_4
     | 
    
      Y
     | 
    
      Returned by keypad 4 in applications mode
     | 
  
  
    | 
      KEY_5
     | 
    
      Y
     | 
    
      Returned by keypad 5 in applications mode
     | 
  
  
    | 
      KEY_6
     | 
    
      Y
     | 
    
      Returned by keypad 6 in applications mode
     | 
  
  
    | 
      KEY_7
     | 
    
      Y
     | 
    
      Returned by keypad 7 in applications mode
     | 
  
  
    | 
      KEY_8
     | 
    
      Y
     | 
    
      Returned by keypad 8 in applications mode
     | 
  
  
    | 
      KEY_9
     | 
    
      Y
     | 
    
      Returned by keypad 9 in applications mode
     | 
  
  
    | 
      KEY_BACKSPACE
     | 
    
      N
     | 
    
      Returned by backspace key
     | 
  
  
    | 
      KEY_COMMA
     | 
    
      Y
     | 
    
      Returned by keypad comma key
     | 
  
  
    | 
      KEY_DOWN_ARROW
     | 
    
      Y
     | 
    
      Returned by down arrow key
     | 
  
  
    | 
      KEY_E1
     | 
    
      Y
     | 
    
      Returned by E1 (editing key 1)
     | 
  
  
    | 
      KEY_E2
     | 
    
      Y
     | 
    
      Returned by E2 (editing key 2)
     | 
  
  
    | 
      KEY_E3
     | 
    
      Y
     | 
    
      Returned by E3 (editing key 3)
     | 
  
  
    | 
      KEY_E4
     | 
    
      Y
     | 
    
      Returned by E4 (editing key 4)
     | 
  
  
    | 
      KEY_E5
     | 
    
      Y
     | 
    
      Returned by E5 (editing key 5)
     | 
  
  
    | 
      KEY_E6
     | 
    
      Y
     | 
    
      Returned by E6 (editing key 6)
     | 
  
  
    | 
      KEY_ENTER (k)
     | 
    
      Y
     | 
    
      Returned by keypad enter key
     | 
  
  
    
      KEY_F1
      .
       .
       .
      
     | 
    
      Y
     | 
    
      Returned by F1 (function key 1)
      .
       .
       .
      
     | 
  
  
    | 
      KEY_F20
     | 
    
      Y
     | 
    
      Returned by F20 (function key 20)
     | 
  
  
    
      KEY_LABEL_F1
      .
       .
       .
      
     | 
    
      N
     | 
    
      Legend on F1 (function key 1)
      .
       .
       .
      
     | 
  
  
    | 
      KEY_LABEL_F20
     | 
    
      N
     | 
    
      Legend on F20 (function key 20)
     | 
  
  
    | 
      KEY_LEFT_ARROW
     | 
    
      Y
     | 
    
      Returned by left arrow key
     | 
  
  
    | 
      KEY_MINUS
     | 
    
      Y
     | 
    
      Returned by keypad minus key
     | 
  
  
    | 
      KEY_PERIOD
     | 
    
      Y
     | 
    
      Returned by keypad period key
     | 
  
  
    | 
      KEY_PF1
     | 
    
      Y
     | 
    
      Returned by PF1 key
     | 
  
  
    | 
      KEY_PF2
     | 
    
      Y
     | 
    
      Returned by PF2 key
     | 
  
  
    | 
      KEY_PF3
     | 
    
      Y
     | 
    
      Returned by PF3 key
     | 
  
  
    | 
      KEY_PF4
     | 
    
      Y
     | 
    
      Returned by PF4 key
     | 
  
  
    | 
      KEY_RIGHT_ARROW
     | 
    
      Y
     | 
    
      Returned by right arrow key
     | 
  
  
    | 
      KEY_UP_ARROW
     | 
    
      Y
     | 
    
      Returned by up arrow key
     | 
  
  
    | 
      LEFT_T_CHAR
     | 
    
      Y
     | 
    
      Displays line-drawing character
      left t
     | 
  
  
    | 
      LF_GRAPHIC
     | 
    
      Y
     | 
    
      Uses this character to indicate a line feed when control characters are
      displayed rather than executed
     | 
  
  
    | 
      LIGHT_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color light (reverse video)
     | 
  
  
    | 
      LOWER_LEFT_CORNER
     | 
    
      Y
     | 
    
      Displays line-drawing character
      lower left corner
     | 
  
  
    | 
      LOWER_RIGHT_CORNER
     | 
    
      Y
     | 
    
      Displays line-drawing character
      lower right corner
     | 
  
  
    | 
      NAME
     | 
    
      Y
     | 
    
      Defines terminal name; must be the first field in the entry
     | 
  
  
    | 
      NEWLINE_CHAR
     | 
    
      N
     | 
    
      Defines new-line character
     | 
  
  
    | 
      NEXT_LINE
     | 
    
      N
     | 
    
      Displays next line
     | 
  
  
    | 
      NO_PRINTER
     | 
    
      N
     | 
    
      Defines no attached printer status
     | 
  
  
    | 
      PAD_CHAR
     | 
    
      N
     | 
    
      Defines pad character (if other than null)
     | 
  
  
    | 
      PRINT_SCREEN
     | 
    
      N
     | 
    
      Prints contents of screen
     | 
  
  
    | 
      PRINTER_READY
     | 
    
      N
     | 
    
      Defines printer ready status
     | 
  
  
    | 
      PRINTER_NOT_READY
     | 
    
      N
     | 
    
      Defines printer not ready status
     | 
  
  
    
      PRIVATE_STR_1
      .
       .
       .
      
     | 
    
      N
     | 
    
      User-defined capability 1
      .
       .
       .
      
     | 
  
  
    | 
      PRIVATE_STR_10
     | 
    
      N
     | 
    
      User-defined capability 10
     | 
  
  
    | 
      REQUEST_CURSOR_POSITION
     | 
    
      N
     | 
    
      Requests the active cursor position
     | 
  
  
    | 
      REQUEST_PRINTER_STATUS
     | 
    
      N
     | 
    
      Requests status of attached printer
     | 
  
  
    | 
      RESTORE_CURSOR
     | 
    
      N
     | 
    
      Restores cursor to previously saved position
     | 
  
  
    | 
      REVERSE_INDEX
     | 
    
      N
     | 
    
      Moves the cursor to the same column on the preceding line (contents of
      the screen scroll down if necessary)
     | 
  
  
    | 
      RIGHT_T_CHAR
     | 
    
      Y
     | 
    
      Displays line-drawing character
      right t
     | 
  
  
    | 
      SAVE_CURSOR
     | 
    
      N
     | 
    
      Saves cursor position
     | 
  
  
    | 
      SCROLL_FORWARD
     | 
    
      N
     | 
    
      Accepts an argument
      n and scrolls forward
      n lines
     | 
  
  
    | 
      SCROLL_REVERSE
     | 
    
      Y
     | 
    
      Accepts an argument
      n and scrolls backward
      n lines
     | 
  
  
    | 
      SEL_ERASE_TO_END_DISPLAY
     | 
    
      N
     | 
    
      Selectively erases from cursor to end of display (does not change
      attributes)
     | 
  
  
    | 
      SEL_ERASE_TO_END_LINE
     | 
    
      N
     | 
    
      Selectively erases from cursor to end of line (does not change
      attributes)
     | 
  
  
    | 
      SEL_ERASE_WHOLE_DISPLAY
     | 
    
      N
     | 
    
      Selectively erases entire display (does not change attributes)
     | 
  
  
    | 
      SEL_ERASE_WHOLE_LINE
     | 
    
      N
     | 
    
      Selectively erases entire line (does not change attributes)
     | 
  
  
    | 
      SET_APPLICATION_KEYPAD
     | 
    
      Y
     | 
    
      Begins applications keypad mode
     | 
  
  
    | 
      SET_CHAR_NOT_SEL_ERASE
     | 
    
      N
     | 
    
      Designates all subsequent characters as not selectively erasable
     | 
  
  
    | 
      SET_CHAR_SEL_ERASE
     | 
    
      N
     | 
    
      Designates all subsequent characters as selectively erasable
     | 
  
  
    | 
      SET_CURSOR_ABS
     | 
    
      Y
     | 
    
      Directs cursor addressing (accepts row and column arguments)
     | 
  
  
    | 
      SET_CURSOR_OFF
     | 
    
      Y
     | 
    
      Sets cursor to invisible
     | 
  
  
    | 
      SET_CURSOR_ON
     | 
    
      Y
     | 
    
      Sets cursor to visible
     | 
  
  
    | 
      SET_JUMP_SCROLL
     | 
    
      Y
     | 
    
      Sets scrolling to jump scroll
     | 
  
  
    | 
      SET_NUMERIC_KEYPAD
     | 
    
      Y
     | 
    
      Ends keypad applications mode (resumes numeric mode)
     | 
  
  
    | 
      SET_ORIGIN_ABSOLUTE
     | 
    
      N
     | 
    
      Allows cursor positioning outside current scrolling region
     | 
  
  
    | 
      SET_ORIGIN_RELATIVE
     | 
    
      N
     | 
    
      Prohibits cursor positioning outside current scrolling region
     | 
  
  
    | 
      SET_PRINTER_OUTPUT
     | 
    
      N
     | 
    
      Sends output to printer port rather than screen
     | 
  
  
    | 
      SET_SCREEN_OUTPUT
     | 
    
      N
     | 
    
      Sends output to terminal screen
     | 
  
  
    | 
      SET_SCROLL_REGION
     | 
    
      Y
     | 
    
      Sets scrolling region (accepts as arguments top margin and bottom
      margin)
     | 
  
  
    | 
      SET_SMOOTH_SCROLL
     | 
    
      Y
     | 
    
      Sets scrolling to smooth scroll
     | 
  
  
    | 
      SET_TAB
     | 
    
      N
     | 
    
      Sets tab at current column
     | 
  
  
    | 
      SINGLE_HIGH
     | 
    
      Y
     | 
    
      Changes this line to single height, single width
     | 
  
  
    | 
      TAB_CHAR
     | 
    
      N
     | 
    
      Defines tab character (other than Ctrl/I or tab with padding); note
      that this field should be used only for non-ASCII terminals
     | 
  
  
    | 
      TOP_T_CHAR
     | 
    
      Y
     | 
    
      Displays line-drawing character
      top t
     | 
  
  
    | 
      TRUNCATION_ICON
     | 
    
      Y
     | 
    
      Defines the character that indicates overflow characters were truncated
     | 
  
  
    | 
      UNDERLINE_CHAR
     | 
    
      N
     | 
    
      Underlines a character
     | 
  
  
    | 
      UPPER_LEFT_CORNER
     | 
    
      Y
     | 
    
      Displays line-drawing character
      upper left corner
     | 
  
  
    | 
      UPPER_RIGHT_CORNER
     | 
    
      Y
     | 
    
      Displays line-drawing character
      upper right corner
     | 
  
  
    | 
      VERTICAL_BAR
     | 
    
      Y
     | 
    
      Displays line-drawing character
      vertical bar
     | 
  
  
    | 
      VT_GRAPHIC
     | 
    
      Y
     | 
    
      Defines the character that indicates a vertical tab when control
      characters are displayed rather than executed
     | 
  
  
    | 
      WIDTH_NARROW
     | 
    
      Y
     | 
    
      Sets terminal width to narrow (usually 80 columns)
     | 
  
  
    | 
      WIDTH_WIDE
     | 
    
      Y
     | 
    
      Sets terminal width to wide (usually 132 columns)
     | 
  
  Table 5-4 String_2 Capabilities
  
    | Name  | 
    Used by SMG  | 
    Description  | 
  
  
    | 
      BEGIN_STATUS_LINE
     | 
    
      Y
     | 
    
      Begins output to hardware status line
     | 
  
  
    | 
      BEGIN_USER1
     | 
    
      Y
     | 
    
      Begins first user-defined attribute
     | 
  
  
    | 
      BEGIN_USER2
     | 
    
      Y
     | 
    
      Begins second user-defined attribute
     | 
  
  
    | 
      BEGIN_USER3
     | 
    
      Y
     | 
    
      Begins third user-defined attribute
     | 
  
  
    | 
      BEGIN_USER4
     | 
    
      Y
     | 
    
      Begins fourth user-defined attribute
     | 
  
  
    | 
      BEGIN_USER5
     | 
    
      Y
     | 
    
      Begins fifth user-defined attribute
     | 
  
  
    | 
      BEGIN_USER6
     | 
    
      Y
     | 
    
      Begins sixth user-defined attribute
     | 
  
  
    | 
      BEGIN_USER7
     | 
    
      Y
     | 
    
      Begins seventh user-defined attribute
     | 
  
  
    | 
      BEGIN_USER8
     | 
    
      Y
     | 
    
      Begins eighth user-defined attribute
     | 
  
  
    | 
      END_STATUS_LINE
     | 
    
      Y
     | 
    
      Ends output to hardware status line
     | 
  
  
    | 
      END_USER1
     | 
    
      N
     | 
    
      Ends first user-defined attribute
     | 
  
  
    | 
      END_USER2
     | 
    
      N
     | 
    
      Ends second user-defined attribute
     | 
  
  
    | 
      END_USER3
     | 
    
      N
     | 
    
      Ends third user-defined attribute
     | 
  
  
    | 
      END_USER4
     | 
    
      N
     | 
    
      Ends fourth user-defined attribute
     | 
  
  
    | 
      END_USER5
     | 
    
      N
     | 
    
      Ends fifth user-defined attribute
     | 
  
  
    | 
      END_USER6
     | 
    
      N
     | 
    
      Ends sixth user-defined attribute
     | 
  
  
    | 
      END_USER7
     | 
    
      N
     | 
    
      Ends seventh user-defined attribute
     | 
  
  
    | 
      END_USER8
     | 
    
      N
     | 
    
      Ends eighth user-defined attribute
     | 
  
  
    | 
      BLACK_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color black
     | 
  
  
    | 
      BLUE_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color blue
     | 
  
  
    | 
      CYAN_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color cyan (green-blue)
     | 
  
  
    | 
      GREEN_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color green
     | 
  
  
    | 
      MAGENTA_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color magenta
     | 
  
  
    | 
      RED_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color red
     | 
  
  
    | 
      WHITE_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color white
     | 
  
  
    | 
      YELLOW_SCREEN
     | 
    
      Y
     | 
    
      Makes screen background color yellow
     | 
  
  
    | 
      USER1_SCREEN
     | 
    
      Y
     | 
    
      User-defined background color
     | 
  
  
    | 
      USER2_SCREEN
     | 
    
      Y
     | 
    
      User-defined background color
     |