亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vt100.c

?? linux 下的超級終端 minicom
?? C
?? 第 1 頁 / 共 2 頁
字號:
		break;	case 'n': /* Requests / Reports */		switch(escparms[0]) {			case 5: /* Status */				v_termout("\033[0n", 0);				break;			case 6:	/* Cursor Position */				sprintf(temp, "\033[%d;%dR", 					vt_win->cury + 1, vt_win->curx + 1);				v_termout(temp, 0);				break;		}		break;	case 'c': /* Identify Terminal Type */		if (vt_type == VT100) {			v_termout("\033[?1;2c", 0);			break;		}		v_termout("\033[?c", 0);		break;	case 'x': /* Request terminal parameters. */		  /* Always answers 19200-8N1 no options. */		sprintf(temp, "\033[%c;1;1;120;120;1;0x",			escparms[0] == 1 ? '3' : '2');		v_termout(temp, 0);		break; 	case 's': /* Save attributes and cursor position */ 		savex = vt_win->curx; 		savey = vt_win->cury; 		saveattr = vt_win->attr; 		savecol = vt_win->color;#if TRANSLATE		savecharset = vt_charset;		savetrans[0] = vt_trans[0];		savetrans[1] = vt_trans[1];#endif 		break; 	case 'u': /* Restore them */#if TRANSLATE		vt_charset = savecharset;		vt_trans[0] = savetrans[0];		vt_trans[1] = savetrans[1];#endif 		break; 		vt_win->color = savecol; /* HACK should use wsetfgcol etc */ 		wsetattr(vt_win, saveattr); 		wlocate(vt_win, savex, savey); 		break;	case 'h':		ansi_mode(1);		break;	case 'l':		ansi_mode(0);		break;	case 'H':	case 'f': /* Set cursor position */		if ((y = escparms[0]) == 0) y = 1;		if ((x = escparms[1]) == 0) x = 1;		if (vt_om) y += newy1;		wlocate(vt_win, x - 1, y - 1);		break;	case 'g': /* Clear tab stop(s) */		if (escparms[0] == 0) {			x = vt_win->curx;			if (x > 159) x = 159;			vt_tabs[x / 32] &= ~ (1 << x % 32);		}		if (escparms[0] == 3)			for(x = 0; x < 5; x++) vt_tabs[x] = 0;		break;	case 'm': /* Set attributes */#if OLD		  /* Without argument, esc-parms[0] is 0 */		if (ptr < 0) ptr = 0;  #endif		attr = wgetattr((vt_win));		for (f = 0; f <= ptr; f++) {		    if (escparms[f] >= 30 && escparms[f] <= 37)			wsetfgcol(vt_win, escparms[f] - 30);		    if (escparms[f] >= 40 && escparms[f] <= 47)			wsetbgcol(vt_win, escparms[f] - 40);		    switch(escparms[f]) {			case 0:				attr = XA_NORMAL;				wsetfgcol(vt_win, vt_fg);				wsetbgcol(vt_win, vt_bg);				break;			case 4:				attr |= XA_UNDERLINE;				break;			case 7:				attr |= XA_REVERSE;				break;			case 1:				attr |= XA_BOLD;				break;			case 5:				attr |= XA_BLINK;				break;			case 22: /* Bold off */				attr &= ~XA_BOLD;				break;			case 24: /* Not underlined */				attr &=~XA_UNDERLINE;				break;			case 25: /* Not blinking */				attr &= ~XA_BLINK;				break;			case 27: /* Not reverse */				attr &= ~XA_REVERSE;				break;			case 39: /* Default fg color */				wsetfgcol(vt_win, vt_fg);				break;			case 49: /* Default bg color */				wsetbgcol(vt_win, vt_bg);				break;						    }		}		wsetattr(vt_win, attr);		break;	case 'L': /* Insert lines */		if ((x = escparms[0]) == 0) x = 1;		for(f = 0; f < x; f++)			winsline(vt_win);		break;		case 'M': /* Delete lines */		if ((x = escparms[0]) == 0) x = 1;		for(f = 0; f < x; f++)			wdelline(vt_win);		break;		case 'P': /* Delete Characters */		if ((x = escparms[0]) == 0) x = 1;		for(f = 0; f < x; f++)			wdelchar(vt_win);		break;		case '@': /* Insert Characters */				if ((x = escparms[0]) == 0) x = 1;		for(f = 0; f < x; f++)			winschar(vt_win);		break;		case 'r': /* Set scroll region */		if ((newy1 = escparms[0]) == 0) newy1 = 1;		if ((newy2 = escparms[1]) == 0) newy2 = vt_win->ys;		newy1-- ; newy2--;		if (newy1 < 0) newy1 = 0;		if (newy2 < 0) newy2 = 0;		if (newy1 >= vt_win->ys) newy1 = vt_win->ys - 1;		if (newy2 >= vt_win->ys) newy2 = vt_win->ys - 1;		if (newy1 >= newy2) {			newy1 = 0;			newy2 = vt_win->ys - 1;		}		wsetregion(vt_win, newy1, newy2);		wlocate(vt_win, 0, newy1);		break;	case 'i': /* Printing */	case 'y': /* Self test modes */	default:		/* IGNORED */		break;  }  /* Ok, our escape sequence is all done */  esc_s = 0;#if OLD  ptr = -2;#else  ptr = 0;  memset(escparms, 0, sizeof(escparms));#endif  return;		}  /* ESC [? ... [hl] seen. */static void dec_mode(on_off)int on_off;{  int i;  for(i = 0; i <= ptr; i++) {	switch(escparms[i]) {		case 1: /* Cursor keys in cursor/appl mode */			vt_cursor = on_off ? APPL : NORMAL;			if (vt_keyb) (*vt_keyb)(vt_keypad, vt_cursor);			break;		case 6: /* Origin mode. */			vt_om = on_off;			wlocate(vt_win, 0, newy1);			break;		case 7: /* Auto wrap */			vt_win->wrap = on_off;			break;		case 25: /* Cursor on/off */			wcursor(vt_win, on_off ? CNORMAL : CNONE);			break;		case 67: /* Backspace key sends. (FIXME: vt420) */			/* setbackspace(on_off ? 8 : 127); */			break;		default: /* Mostly set up functions */			/* IGNORED */			break;	}  }}/* * ESC [ ? ... seen. */static void state3(c)int c;{  /* See if a number follows */  if (c >= '0' && c <= '9') {#if OLD	if (ptr < 0) ptr = 0;#endif	escparms[ptr] = 10*(escparms[ptr]) + c - '0';	return;  }#if OLD  /* ESC [ ? number seen */  if (ptr < 0) {	esc_s = 0;	return;  }#endif  switch(c) {	case 'h':		dec_mode(1);		break;	case 'l':		dec_mode(0);		break;	case 'i': /* Printing */	case 'n': /* Request printer status */	default:		/* IGNORED */		break;  }  esc_s = 0;#if OLD  ptr = -2;#else  ptr = 0;  memset(escparms, 0, sizeof(escparms));#endif  return;}/* * ESC ( Seen. *//*ARGSUSED*/static void state4(c)int c;{  /* Switch Character Sets. */#if !TRANSLATE  /* IGNORED */  (void)c;#else  switch(c) {	case 'A':	case 'B':		vt_trans[0] = vt_map[0];		break;	case '0':	case 'O':		vt_trans[0] = vt_map[1];		break;  }#endif  esc_s = 0;}/* * ESC ) Seen. *//*ARGSUSED*/static void state5(c)int c;{  /* Switch Character Sets. */#if !TRANSLATE  /* IGNORED */  (void)c;#else  switch(c) {	case 'A':	case 'B':		vt_trans[1] = vt_map[0];		break;	case 'O':	case '0':		vt_trans[1] = vt_map[1];		break;  }#endif  esc_s = 0;}/* * ESC # Seen. *//*ARGSUSED*/static void state6(c)int c;{  int x, y;  /* Double height, double width and selftests. */  switch(c) {	case '8':		/* Selftest: fill screen with E's */		vt_win->doscroll = 0;		vt_win->direct = 0;		wlocate(vt_win, 0, 0);		for(y = 0; y < vt_win->ys; y++) {			wlocate(vt_win, 0, y);			for(x = 0; x < vt_win->xs; x++)				wputc(vt_win, 'E');		}		wlocate(vt_win, 0, 0);		vt_win->doscroll = 1;		wredraw(vt_win, 1);		break;	default:		/* IGNORED */		break;  }  esc_s = 0;}/* * ESC P Seen. */static void state7(c)int c;{  /*   * Device dependant control strings. The Minix virtual console package   * uses these sequences. We can only turn cursor on or off, because   * that's the only one supported in termcap. The rest is ignored.   */  static char buf[17];  static int pos = 0;  static int state = 0;  if (c == ESC) {  	state = 1;  	return;  }  if (state == 1) {  	buf[pos] = 0;  	pos = 0;  	state = 0;  	esc_s = 0;  	if (c != '\\') return;  	/* Process string here! */  	if (!strcmp(buf, "cursor.on")) wcursor(vt_win, CNORMAL);  	if (!strcmp(buf, "cursor.off")) wcursor(vt_win, CNONE);  	if (!strcmp(buf, "linewrap.on")) {  		vt_wrap = -1;  		vt_win->wrap = 1;  	}  	if (!strcmp(buf, "linewrap.off")) {  		vt_wrap = -1;  		vt_win->wrap = 0;  	}  	return;  }  if (pos > 15) return;  buf[pos++] = c;}void vt_out(ch)int ch;{  int f;  unsigned char c;  int go_on = 0;  if (!ch) return;#if OLD  if (ptr == -2) { /* Initialize */	ptr = -1;	for(f = 0; f < 8; f++) escparms[f] = 0;  }#endif  c = (unsigned char)ch;    if (vt_docap == 2) /* Literal. */	fputc(c, vt_capfp);  /* Process <31 chars first, even in an escape sequence. */  switch(c) {	case 5: /* AnswerBack for vt100's */		if (vt_type != VT100) {			go_on = 1;			break;		}		v_termout("Minicom" VERSION, 0);		break;	case '\r': /* Carriage return */		wputc(vt_win, c);		if (vt_addlf) {			wputc(vt_win, '\n');			if (vt_docap == 1)				fputc('\n', vt_capfp);		}		break;	case '\t': /* Non - destructive TAB */		/* Find next tab stop. */		for(f = vt_win->curx + 1; f < 160; f++)			if (vt_tabs[f / 32] & (1 << f % 32)) break;		if (f >= vt_win->xs) f = vt_win->xs - 1;		wlocate(vt_win, f, vt_win->cury);		if (vt_docap == 1) fputc(c, vt_capfp);		break;	case 013: /* Old Minix: CTRL-K = up */		wlocate(vt_win, vt_win->curx, vt_win->cury - 1);		break;	case '\f': /* Form feed: clear screen. */		winclr(vt_win);		wlocate(vt_win, 0, 0);		break;#if !TRANSLATE	case 14:	case 15:  /* Change character set. Not supported. */		break;#else	case 14:		vt_charset = 1;		break;	case 15:		vt_charset = 0;		break;#endif	case 24:	case 26:  /* Cancel escape sequence. */		esc_s = 0;		break;	case ESC: /* Begin escape sequence */		esc_s = 1;		break;	case 128+ESC: /* Begin ESC [ sequence. */		esc_s = 2;		break;	case '\n':	case '\b':	case 7: /* Bell */		wputc(vt_win, c);		if (vt_docap == 1)			fputc(c, vt_capfp);		break;	default:		go_on = 1;		break;  }  if (!go_on) return;  /* Now see which state we are in. */  switch(esc_s) {	case 0: /* Normal character */		if (vt_docap == 1)			fputc(P_CONVCAP[0]=='Y'? vt_inmap[c]: c, vt_capfp);	        c = vt_inmap[c];    /* conversion 04.09.97 / jl */#if TRANSLATE		if (vt_type == VT100 && vt_asis == 0) {			if (vt_insert)				winschar2(vt_win, vt_trans[vt_charset][c], 1);			else				wputc(vt_win, vt_trans[vt_charset][c]);		} else {#endif		if (vt_insert)			winschar2(vt_win, c, 1);		else			wputc(vt_win, c);#if TRANSLATE		}#endif		break;	case 1: /* ESC seen */		state1(c);		break;	case 2: /* ESC [ ... seen */		state2(c);		break;	case 3:		state3(c);		break;	case 4:		state4(c);		break;	case 5:		state5(c);		break;	case 6:		state6(c);		break;	case 7:		state7(c);		break;	  }}/* Translate keycode to escape sequence. */void vt_send(c)int c;{  char s[3];  int f;  int len = 1;  /* Special key? */  if (c < 256) {	/* Translate backspace key? */	if (c == K_ERA) c = vt_bs;	s[0] = vt_outmap[(unsigned char) c];  /* conversion 04.09.97 / jl */	s[1] = 0;	/* CR/LF mode? */	if (c == '\r' && vt_crlf) {		s[1] = '\n';		s[2] = 0;		len = 2;	}	v_termout(s, len);	if (vt_nl_delay > 0 && c == '\r')		usleep(1000 * vt_nl_delay);	return;  }  /* Look up code in translation table. */  for(f = 0; vt_keys[f].code; f++)	if (vt_keys[f].code == c) break;  if (vt_keys[f].code == 0) return;  /* Now send appropriate escape code. */  v_termout("\033", 0);  if (vt_type == VT100) {	if (vt_cursor == NORMAL)		v_termout(vt_keys[f].vt100_st, 0);	else		v_termout(vt_keys[f].vt100_app, 0);  } else	v_termout(vt_keys[f].ansi, 0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品毛片大码女人| 国产白丝精品91爽爽久久| 日韩一区二区三| 91精品国产综合久久国产大片| 欧美肥妇free| 7777精品伊人久久久大香线蕉完整版| 一本色道久久加勒比精品| 91影视在线播放| 欧美成人国产一区二区| 久久久综合网站| 亚洲美女精品一区| 日韩精品一卡二卡三卡四卡无卡| 亚洲人成影院在线观看| 亚洲香肠在线观看| 亚洲日本va在线观看| 日本一区二区三区dvd视频在线| 精品对白一区国产伦| 久久久亚洲精华液精华液精华液| 欧美剧在线免费观看网站| 午夜电影一区二区| 国产一区二区三区不卡在线观看 | 日韩不卡一区二区| 日产国产欧美视频一区精品| 水蜜桃久久夜色精品一区的特点| 日本v片在线高清不卡在线观看| 国产精品入口麻豆九色| 久久久久久久电影| 亚洲亚洲人成综合网络| 国产盗摄精品一区二区三区在线 | 亚洲柠檬福利资源导航| 亚洲国产精品一区二区www在线| 国产在线精品一区二区三区不卡 | 亚洲天堂精品视频| 美女被吸乳得到大胸91| 色婷婷综合久久| 久久久精品国产免大香伊| 亚洲国产精品久久不卡毛片| 国产成人综合亚洲网站| 日韩一卡二卡三卡四卡| 亚洲最大成人综合| 成人一区二区三区中文字幕| 91精品国产免费| 亚洲精品免费播放| 成人理论电影网| 精品福利一二区| 日本va欧美va瓶| 欧美亚洲一区二区三区四区| 中文字幕中文乱码欧美一区二区 | 亚洲精品一区二区三区四区高清 | 日韩女优电影在线观看| 亚洲成a人片在线观看中文| 91丨九色丨尤物| 国产色婷婷亚洲99精品小说| 久久国产麻豆精品| 678五月天丁香亚洲综合网| 亚洲激情六月丁香| 91尤物视频在线观看| 中文一区在线播放| 国产69精品久久久久777| 日韩精品一区国产麻豆| 日本成人在线看| 欧美精品777| 亚洲成人第一页| 欧美午夜精品一区| 亚洲图片欧美色图| 91麻豆高清视频| 亚洲人成电影网站色mp4| 成人动漫精品一区二区| 国产欧美日韩视频一区二区| 国产精品系列在线播放| 日韩三级免费观看| 91精品在线免费观看| 欧美一区二区三区日韩视频| 欧美在线视频日韩| 亚洲欧美日韩系列| 欧美日韩国产一二三| 天天色天天爱天天射综合| 久久久www免费人成精品| 色哟哟在线观看一区二区三区| 国产午夜亚洲精品午夜鲁丝片 | 亚洲国产一二三| 日韩午夜小视频| 国产福利91精品一区二区三区| 中文字幕在线观看不卡| 欧美精品丝袜久久久中文字幕| 国产资源在线一区| 一区二区三区在线观看欧美| 日韩女优av电影| aaa欧美色吧激情视频| 日韩电影在线一区| 亚洲日本在线a| 26uuu国产在线精品一区二区| 91猫先生在线| 国产99久久精品| 日韩国产一区二| 亚洲精品国产一区二区精华液 | 懂色av一区二区在线播放| 国产精品亲子伦对白| 91精品国产高清一区二区三区蜜臀| 97久久超碰国产精品| 日韩高清一区二区| 亚洲日本丝袜连裤袜办公室| 玉足女爽爽91| 99久久久久免费精品国产| 午夜不卡在线视频| 亚洲靠逼com| 中文文精品字幕一区二区| 一二三区精品福利视频| av一区二区三区在线| 成人欧美一区二区三区小说 | 99re这里只有精品首页| 又紧又大又爽精品一区二区| 欧美男男青年gay1069videost| 另类小说图片综合网| 国产婷婷色一区二区三区四区| 91在线观看视频| 亚洲精品精品亚洲| 五月婷婷另类国产| 亚洲一级不卡视频| 亚洲国产精品久久人人爱蜜臀 | 99久久er热在这里只有精品15| 极品美女销魂一区二区三区免费 | 国产在线观看免费一区| 欧美日韩视频第一区| 亚洲欧美国产毛片在线| 大白屁股一区二区视频| 国产人成一区二区三区影院| 久久99精品久久久久久动态图| 欧美日韩www| 亚洲h在线观看| 在线播放91灌醉迷j高跟美女| 亚洲无线码一区二区三区| 成人综合激情网| 日韩成人一级大片| 色成年激情久久综合| 亚洲精品老司机| 在线看不卡av| 亚洲成av人片在线| 欧美一级精品大片| 日韩av电影免费观看高清完整版| 国产成人午夜精品5599| 狠狠色2019综合网| 欧美色男人天堂| 国产精品传媒视频| 99久久综合狠狠综合久久| 国产一区二区三区电影在线观看 | 亚瑟在线精品视频| 自拍偷拍亚洲激情| 国产午夜精品福利| 日韩欧美二区三区| 日韩欧美另类在线| 91麻豆精品国产91久久久使用方法| 色综合久久综合网欧美综合网| 国产精品1区2区3区| 国产最新精品免费| 激情五月激情综合网| 另类欧美日韩国产在线| 久久精品72免费观看| 激情综合网最新| 国产综合色产在线精品| 国产精品一区不卡| 丰满白嫩尤物一区二区| 成人99免费视频| 色综合久久久久综合体桃花网| 国产制服丝袜一区| 久久九九久久九九| 成人看片黄a免费看在线| 日韩高清在线一区| 国产亚洲欧洲一区高清在线观看| 国产一区二区91| 亚洲一区二区三区爽爽爽爽爽| 欧美不卡123| 欧美不卡在线视频| 青草国产精品久久久久久| 色婷婷综合久久久久中文一区二区| 国产精品嫩草久久久久| 国产成人精品三级| 国产精品区一区二区三区 | 久久久久成人黄色影片| 欧美情侣在线播放| 麻豆免费看一区二区三区| 中文字幕欧美一| 久久久精品蜜桃| 日韩欧美的一区| 欧美精品亚洲二区| 日韩女优av电影| 亚洲精品日韩专区silk| 国产精品一区不卡| 亚洲欧洲日韩av| 色吊一区二区三区| 久久久亚洲高清| 亚洲黄色av一区| 日韩av在线播放中文字幕| 亚洲国产aⅴ成人精品无吗| 国产精品视频观看| 亚洲大片免费看| 欧美日本一道本在线视频| 久久99久久99小草精品免视看| 91社区在线播放| 国产精品久久久久毛片软件|