/* terminal definitions for hp300 */ #ifdef INCTER hp300_move(row, col) register int row, col; { ttyout('\33'); ttyout('&'); ttyout('a'); ttyout(row/100+'0'); ttyout(row/10 % 10 + '0'); ttyout(row%10+'0'); ttyout('y'); ttyout(col/100+'0'); ttyout(col/10 % 10 + '0'); ttyout(col%10+'0'); ttyout('C'); } extern int special(); struct spectab spectab[] = { "\33w", ENTERedit, ENTERedit, "\33v", BOTSCREEN, IGN, "\33u", TOPSCREEN, IGN, "\33t", WRIGHT, WRIGHT, "\33s", WLEFT, WLEFT, "\33r", LEND, LEND, "\33p", LSTART, LSTART, "\33h", IGN, IGN, "\33V", COMMAND, COMMAND, "\33V", IGN, IGN, "\33U", IGN, IGN, "\33Q", IGN, IGN, "\33P", ERASE, ERASE, "\33P", IGN, IGN, "\33M", LINEERASE, IGN, "\33L", IGN, IGN, "\33K", TAILERASE, TAILERASE, "\33J", IGN, IGN, "\33F", IGN, IGN, "\33D", LEFT, LEFT, "\33C", RIGHT, RIGHT, "\33B", DOWN, IGN, "\33A", UP, IGN, "\33&P", IGN, IGN, "\33", IGN, IGN, 0, 0, 0 }; char ictab[]= { /* 0- 7, ^@-^G */ IGN, IGN, IGN, IGN, IGN, IGN, IGN, WERASE, /* 10- 17, ^H-^O */ LEFT, TAB, NL, IGN, IGN, CR, IGN, IGN, /* 20- 27, ^P-^W */ IGN, IGN, IGN, IGN, IGN, IGN, IGN, WRUBOUT, /* 30- 37, ^X-^_ */ HEADRUBOUT, CHMODE, CONTROL, SPECIAL, IGN, IGN, IGN, IGN, SPACE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, RUBOUT, }; char ectab[]= { /* 0- 7, ^@-^G */ IGN, IGN, IGN, IGN, IGN, IGN, IGN, WERASE, /* 10- 17, ^H-^O */ LEFT, TAB, COMMAND, IGN, IGN, COMMAND, IGN, IGN, /* 20- 27, ^P-^W */ IGN, IGN, IGN, IGN, IGN, IGN, IGN, WRUBOUT, /* 30- 37, ^X-^_ */ HEADRUBOUT, CHMODE, CONTROL, SPECIAL, IGN, IGN, IGN, IGN, SPACE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, ONE, RUBOUT, }; #define TER_ROWS 46 #define TER_COLS 128 struct TERMINAL ter = { /* nrows, ncols */ 46, 128, /* setup, restore strings */ "\33&s1A\33&jB", "\33&s0A\33&j@", /* up, left, c_MODIFY, c_CONTROL, c_BLOB */ { 0, '\b', 0, 0200|'^', 0200|'$' }, /* rollup, pushdown, pushup, pulldown, pullup */ { "\n", "\33L", 0, 0, "\33M", true }, /* scrollup, scrolldown */ scr2_up, scr2_down, /* split, join procedures */ split_def, join_def, /* clearscreen, *clearhead, *cleartail */ { "\33&a0y0C\33J", 0, "\33K" }, /* clr_screen, clr_head, clr_tail */ clrs1, clrh0, clrt1, /* ins_mo, ins_end, ins_bef, ins_aft, del_mo, del_end, del_ch */ { "\33Q", "\33R", 0, 0, 0, 0, "\33P" }, /* ins_char, del_char */ insc1, delc1, /* bright, normal */ { 0, 0 }, /* in_two, out_two */ no_char, no_char, /* move, nmove, padmove */ hp300_move, 11, 0, /* curset, cursync, padsync */ no_char, no_char, "", /* special */ special }; #endif (INCTER) #define T_STARTC '\21' #define T_STOPC '\23'