
"   TERMINAL DEFINITION FILE FOR SUN WORKSTATION                                  "

"   VARIABLES                                                                 "
prefix              = (1B(16) 5B(16))
clear_home          = (prefix 32(16) 4A(16))
clear_all_tabs      = (prefix '3g')
set_to_24x80        = (prefix 3F(16) 33(16) 6C(16))
set_to_24x132       = (prefix 3F(16) 33(16) 68(16))
nulls=(00(16) 00(16) 00(16) 00(16) 00(16) 00(16) 00(16) 00(16) 00(16) 00(16))
padding =(nulls nulls nulls nulls nulls nulls nulls nulls nulls nulls nulls)
set_window_34       = (prefix '8;34;80t' prefix '7t' padding padding)
set_window_48       = (prefix '8;48;132t' prefix '7t' padding padding)
start_alternate     = (prefix 31(16) 6D(16))
start_inverse       = (prefix '7' 6D(16))
start_underline     = (prefix 34(16) 6D(16))
normal_attributes   = (prefix 'm')
stop_alternate      = normal_attributes
stop_inverse        = normal_attributes
stop_underline      = normal_attributes

"   MODEL NAME AND COMMUNICATION TYPE                                         "
model_name          value = 'SUN_160'
communications      type  = asynch

"   END OF INFORMATION SPECIFICATION                                          "
end_of_information  in    = (0)

"   CURSOR POSITIONING INFORMATION                                            "
cursor_pos_encoding      bias  = (1)   type = ansi_cursor
cursor_pos_column_first  value = FALSE
cursor_pos_column_length value = (0)
cursor_pos_row_length    value = (0)
cursor_pos_begin         out   = (prefix)
cursor_pos_second        out   = (3B(16))
cursor_pos_third         out   = (48(16))

"   CURSOR MOVEMENT INFORMATION                                               "
cursor_home              inout = (prefix 48(16))
cursor_up                inout = (prefix 41(16))
cursor_down              inout = (prefix 42(16))
cursor_left              inout = (prefix 44(16))
cursor_right             inout = (prefix 43(16))

"   CURSOR BEHAVIOR (for cursor movement keys)                                "
move_past_right          type  = stop_next
move_past_left           type  = stop_next
move_past_top            type  = stop_next
move_past_bottom         type  = stop_next

"   CURSOR BEHAVIOR (for character keys)                                      "
char_past_right          type  = wrap_adjacent_next
char_past_left           type  = stop_next
char_past_last_position  type  = scroll_next

"   TERMINAL ATTRIBUTES                                                       "
clears_when_change_size  value = TRUE
function_key_leaves_mark value = 1
has_hidden               value = FALSE
has_protect              value = FALSE
home_at_top              value = TRUE
multiple_sizes           value = TRUE
tabs_to_home             value = FALSE
tabs_to_tab_stops        value = TRUE
tabs_to_unprotected      value = FALSE

"   SCREEN SIZES                                                              "
fixed_tab_positions positions = (1,9,17,25,33,41,49,57,65,73)
set_size       rows = 34 columns = 80   out = (set_to_24x80 set_window_34)
set_size       rows = 48 columns = 132  out = (set_to_24x132 set_window_48)

"   SCREEN AND LINE MODE TRANSITION                                           "
screen_init out=(prefix 48(16) padding clear_home padding)
screen_init out=set_window_34
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)
screen_init out=(padding)

set_screen_mode     out = (1B(16) 3C(16) clear_all_tabs ..
    "1B(16) 28(16) 42(16)  1B(16) 29(16) 30(16)  0F(16)" 1B(16) ..
     3D(16) prefix '?7;1l' )

set_line_mode       out = (1B(16) 3C(16) clear_all_tabs ..
    "1B(16) 28(16) 42(16)  1B(16) 29(16) 30(16)  0F(16)" 1B(16) ..
     3E(16) prefix '?7;1h')

"   TERMINAL CAPABILITIES                                                     "
delete_char         in    = (prefix 50(16))
delete_line_bol     in    = (prefix 4D(16))
erase_end_of_line   inout = (prefix 4B(16))
erase_line_stay     inout = (prefix 32(16) 4B(16))
erase_page_home     in    = (clear_home)
erase_page_home       out = (padding prefix 48(16) padding clear_home)
insert_line_bol     in    = (prefix 4C(16))
insert_mode_begin   in    = (prefix 34(16) 68(16))
insert_mode_end     in    = (prefix 34(16) 6C(16))
tab_forward         inout = (09(16))
tab_clear_all       in    = (clear_all_tabs)
tab_set             in    = (1b(16) 48(16))

"   MISCELLANEOUS TERMINAL SEQUENCES                                          "
bell_nak            out = (bel)
backspace           in = bs

"   PROGRAMMABLE FUNCTION KEY INPUT INFORMATION                               "
f1        in = (prefix '193z') label='L2'
f2        in = (prefix '225z') label='f2'
f3        in = (prefix '226z') label='f3'
f4        in = (prefix '227z') label='f4'
f5        in = (prefix '228z') label='f5'
f6        in = (prefix '229z') label='f6'
f7        in = (prefix '230z') label='f7'
f8        in = (prefix '231z') label='f8'
f1_s      in = (prefix '208z') label='r1'
f2_s      in = (prefix '209z') label='r2'
f3_s      in = (prefix '210z') label='r3'
f4_s      in = (prefix '211z') label='r4'
f5_s      in = (prefix '212z') label='r5'
f6_s      in = (prefix '213z') label='r6'
f7_s      in = (prefix '214z') label='r7'
f8_s      in = (prefix '232z') label='f9'

f9        in = (esc prefix '193z') label='L2'
f10       in = (esc prefix '225z') label='f2'
f11       in = (esc prefix '226z') label='f3'
f12       in = (esc prefix '227z') label='f4'
f13       in = (esc prefix '228z') label='f5'
f14       in = (esc prefix '229z') label='f6'
f15       in = (esc prefix '230z') label='f7'
f16       in = (esc prefix '231z') label='f8'
f9_s      in = (esc prefix '208z') label='r1'
f10_s      in = (esc prefix '209z') label='r2'
f11_s      in = (esc prefix '210z') label='r3'
f12_s      in = (esc prefix '211z') label='r4'
f13_s      in = (esc prefix '212z') label='r5'
f14_s      in = (esc prefix '213z') label='r6'
f15_s      in = (esc prefix '214z') label='r7'
f16_s      in = (esc prefix '232z') label='f9'

"   CDC STANDARD FUNCTION KEY INPUT INFORMATION                               "
next      in = 13            label = 'RETURN'
next_s    in = ()
bkw       in = (prefix '193z') label='L2'
fwd       in = (prefix '225z') label='f2'
back      in = (prefix '226z') label='f3'
help      in = (prefix '227z') label='f4'
undo      in = (prefix '228z') label='f5'
stop      in = (prefix '229z') label='f6'
bkw_s     in = (prefix '208z') label='r1'
fwd_s     in = (prefix '209z') label='r2'
undo_s    in = (prefix '212z') label='r5'
stop_s    in = (prefix '213z') label='r6'
down      in = ()
down_s    in = ()
up        in = ()
up_s      in = ()
edit      in = ()
edit_s    in = ()
data      in = ()
data_s    in = ()

"   TERMINAL VIDEO ATTRIBUTES                                                 "
alt_begin           out = (start_alternate)
alt_end             out = (stop_alternate)
blink_begin         out = (prefix 35(16) 6D(16))
blink_end           out = normal_attributes
inverse_begin       out = (start_inverse)
inverse_end         out = (stop_inverse)
underline_begin     out = (start_underline)
underline_end       out = (stop_underline)

"   LOGICAL ATTRIBUTE SPECIFICATIONS                                          "
error_begin         out = (start_inverse)
error_end           out = (stop_inverse)
input_text_begin    out = (start_underline)
input_text_end      out = (stop_underline)
italic_begin        out = (start_inverse)
italic_end          out = (stop_inverse)

"   LINE DRAWING CHARACTER SPECIFICATION                                      "
ld_fine_begin            out = ()
ld_fine_end              out = ()
ld_fine_horizontal       out = ('-')
ld_fine_vertical         out = ('|')
ld_fine_upper_left       out = ('+')
ld_fine_upper_right      out = ('+')
ld_fine_lower_left       out = ('+')
ld_fine_lower_right      out = ('+')
ld_fine_up_t             out = ('+')
ld_fine_down_t           out = ('+')
ld_fine_left_t           out = ('+')
ld_fine_right_t          out = ('+')
ld_fine_cross            out = ('+')
ld_medium_begin            out = ()
ld_medium_end              out = ()
ld_medium_horizontal       out = ('-')
ld_medium_vertical         out = ('|')
ld_medium_upper_left       out = ('+')
ld_medium_upper_right      out = ('+')
ld_medium_lower_left       out = ('+')
ld_medium_lower_right      out = ('+')
ld_medium_up_t             out = ('+')
ld_medium_down_t           out = ('+')
ld_medium_left_t           out = ('+')
ld_medium_right_t          out = ('+')
ld_medium_cross            out = ('+')
ld_bold_begin            out = ()
ld_bold_end              out = ()
ld_bold_horizontal       out = ('-')
ld_bold_vertical         out = ('|')
ld_bold_upper_left       out = ('+')
ld_bold_upper_right      out = ('+')
ld_bold_lower_left       out = ('+')
ld_bold_lower_right      out = ('+')
ld_bold_up_t             out = ('+')
ld_bold_down_t           out = ('+')
ld_bold_left_t           out = ('+')
ld_bold_right_t          out = ('+')
ld_bold_cross            out = ('+')

"   DEFAULT KEY DEFINITIONS FOR THE FULL SCREEN EDITOR                        "

"   END OF TERMINAL DEFINITION FILE FOR SUN WORKSTATION                      "
