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

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

?? fun.c

?? ncurses-5.4 需要的就來下把 一定會有用的哦
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*** Copyright (C) 1991, 1997 Free Software Foundation, Inc.** ** This file is part of TACK.** ** TACK is free software; you can redistribute it and/or modify** it under the terms of the GNU General Public License as published by** the Free Software Foundation; either version 2, or (at your option)** any later version.** ** TACK is distributed in the hope that it will be useful,** but WITHOUT ANY WARRANTY; without even the implied warranty of** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the** GNU General Public License for more details.** ** You should have received a copy of the GNU General Public License** along with TACK; see the file COPYING.  If not, write to** the Free Software Foundation, Inc., 59 Temple Place - Suite 330,** Boston, MA 02111-1307, USA.*/#include <tack.h>MODULE_ID("$Id: fun.c,v 1.3 2000/03/04 20:29:21 tom Exp $")/* * Test the function keys on the terminal.  The code for echo tests * lives here too. */static void funkey_keys(struct test_list *, int *, int *);static void funkey_meta(struct test_list *, int *, int *);static void funkey_label(struct test_list *, int *, int *);static void funkey_prog(struct test_list *, int *, int *);static void funkey_local(struct test_list *, int *, int *);struct test_list funkey_test_list[] = {	{0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu},	{MENU_CLEAR + FLAG_FUNCTION_KEY, 0, 0, 0, "f) show a list of function keys", show_report, 0},	{MENU_NEXT | MENU_CLEAR, 0, "smkx) (rmkx", 0,		"k) test function keys", funkey_keys, 0},	{MENU_NEXT, 10, "km", "smm rmm", 0, funkey_meta, 0},	{MENU_NEXT, 8, "nlab) (smln) (pln) (rmln", "lw lh", 0, funkey_label, 0},	{MENU_NEXT, 2, "pfx", 0, 0, funkey_prog, 0},	{MENU_NEXT, 2, "pfloc", 0, 0, funkey_local, 0},	{MENU_LAST, 0, 0, 0, 0, 0, 0}};static void printer_on(struct test_list *, int *, int *);static void printer_mc0(struct test_list *, int *, int *);struct test_list printer_test_list[] = {	{0, 0, 0, 0, "e) edit terminfo", 0, &edit_menu},	{MENU_NEXT | MENU_CLEAR, 0, "mc4) (mc5) (mc5i", 0, 0, printer_on, 0},	{MENU_NEXT | MENU_CLEAR, 0, "mc0", 0, 0, printer_mc0, 0},	{MENU_LAST, 0, 0, 0, 0, 0, 0}};#define MAX_STRINGS STRCOUNT/* scan code externals */extern int scan_max;		/* length of longest scan code */extern char **scan_up, **scan_down, **scan_name;extern int *scan_tested, *scan_length;/* local definitions */static const char *fk_name[MAX_STRINGS];static char *fkval[MAX_STRINGS];static char *fk_label[MAX_STRINGS];	/* function key labels (if any) */static int fk_tested[MAX_STRINGS];static int fkmax = 1;		/* length of longest key */static int got_labels = 0;	/* true if we have some labels */static int key_count = 0;static int end_state;/* unknown function keys */#define MAX_FK_UNK 50static char *fk_unknown[MAX_FK_UNK];static int fk_length[MAX_FK_UNK];static int funk;/***	keys_tested(first-time, show-help, hex-output)****	Display a list of the keys not tested.*/static voidkeys_tested(	int first_time,	int show_help,	int hex_output){	int i, l;	char outbuf[256];	put_clear();	tty_set();	flush_input();	if (got_labels) {		putln("Function key labels:");		for (i = 0; i < key_count; ++i) {			if (fk_label[i]) {				sprintf(outbuf, "%s %s",					fk_name[i] ? fk_name[i] : "??", fk_label[i]);				put_columns(outbuf, strlen(outbuf), 16);			}		}		put_newlines(2);	}	if (funk) {		putln("The following keys are not defined:");		for (i = 0; i < funk; ++i) {			put_columns(fk_unknown[i], fk_length[i], 16);		}		put_mode(exit_attribute_mode);		put_newlines(2);	}	if (first_time) {		putln("The following keys are defined:");	} else {		putln("The following keys have not been tested:");	}	if (scan_mode) {		for (i = 0; scan_down[i]; i++) {			if (!scan_tested[i]) {				if (hex_output) {					strcpy(outbuf, hex_expand_to(scan_down[i], 3));				} else {					strcpy(outbuf, expand(scan_down[i]));				}				l = expand_chars;				if (hex_output) {					strcat(outbuf, hex_expand_to(scan_up[i], 3));				} else {					strcat(outbuf, expand(scan_up[i]));				}				expand_chars += l;				l = strlen(scan_name[i]);				if (((char_count + 16) & ~15) +					((expand_chars + 7) & ~7) + l >= columns) {					put_crlf();				} else				if (char_count + 24 > columns) {					put_crlf();				} else if (char_count) {					putchp(' ');				}				put_columns(outbuf, expand_chars, 16);				put_columns(scan_name[i], l, 8);			}		}	} else {		for (i = 0; i < key_count; i++) {			if (!fk_tested[i]) {				if (hex_output) {					strcpy(outbuf, hex_expand_to(fkval[i], 3));				} else {					strcpy(outbuf, expand(fkval[i]));				}				l = strlen(fk_name[i]);				if (((char_count + 16) & ~15) +					((expand_chars + 7) & ~7) + l >= columns) {					put_crlf();				} else				if (char_count + 24 > columns) {					put_crlf();				} else				if (char_count) {					putchp(' ');				}				put_columns(outbuf, expand_chars, 16);				put_columns(fk_name[i], l, 8);			}		}	}	put_newlines(2);	if (show_help) {		ptextln("Hit any function key.  Type 'end' to quit.  Type ? to update the display.");		put_crlf();	}}/***	enter_key(name, value, label)****	Enter a function key into the data base*/voidenter_key(	const char *name,	char *value,	char *lab){	int j;	if (value) {		j = strlen(value);		fkmax = fkmax > j ? fkmax : j;		/* do not permit duplicates */		for (j = 0; j < key_count; j++) {			if (!strcmp(fk_name[j], name)) {				return;			}		}		fkval[key_count] = value;		fk_tested[key_count] = 0;		fk_label[key_count] = lab;		fk_name[key_count++] = name;		if (lab) {			got_labels = TRUE;		}	}}static voidfresh_line(void){				/* clear the line for a new function key line */	if (over_strike) {		put_crlf();	} else {		put_cr();		if (clr_eol) {			tc_putp(clr_eol);		} else {			put_str("                    \r");		}	}}static intend_funky(int ch){				/* return true if this is the end */	switch (ch) {	case 'e':	case 'E':		end_state = 'e';		break;	case 'n':	case 'N':		if (end_state == 'e') {			end_state = 'n';		} else {			end_state = 0;		}		break;	case 'd':	case 'D':		if (end_state == 'n') {			end_state = 'd';		} else {			end_state = 0;		}		break;	case 'l':	case 'L':		if (end_state == 'l') {			end_state = '?';		} else {			end_state = 'l';		}		break;	default:		end_state = 0;		break;	}	return end_state == 'd';}static intfound_match(char *s, int hx, int cc){				/* return true if this string is a match */	int j, f;	char outbuf[256];	if (!*s) {		return 0;	}	if (scan_mode) {		for (j = f = 0; scan_down[j]; j++) {			if (scan_length[j] == 0) {				continue;			}			if (!strncmp(s, scan_down[j], scan_length[j])) {				if (!f) {	/* first match */					put_cr();					if (hx) {						put_str(hex_expand_to(s, 10));					} else {						put_str(expand_to(s, 10));					}					f = 1;				}				(void) end_funky(scan_name[j][0]);				put_str(" ");				put_str(scan_name[j]);				scan_tested[j] = 1;				s += scan_length[j];				if (strncmp(s, scan_up[j], scan_length[j])) {					put_str(" scan down");				} else {					s += scan_length[j];				}				if (!*s) {					break;				}				j = -1;			}			if (!strncmp(s, scan_up[j], scan_length[j])) {				if (!f) {	/* first match */					put_cr();					if (hx) {						put_str(hex_expand_to(s, 10));					} else {						put_str(expand_to(s, 10));					}					f = 1;				}				put_str(" ");				put_str(scan_name[j]);				put_str(" scan up");				s += scan_length[j];				if (!*s) {					break;				}				j = -1;			}		}	} else {		for (j = f = 0; j < key_count; j++) {			if (!strcmp(s, fkval[j])) {				if (!f) {	/* first match */					put_cr();					if (hx) {						put_str(hex_expand_to(s, 10));					} else {						put_str(expand_to(s, 10));					}					f = 1;				}				sprintf(outbuf, " (%s)", fk_name[j]);				put_str(outbuf);				if (fk_label[j]) {					sprintf(outbuf, " <%s>", fk_label[j]);					put_str(outbuf);				}				fk_tested[j] = 1;			}		}	}	if (end_state == '?') {		keys_tested(0, 1, hx);		tty_raw(cc, char_mask);		end_state = 0;	}	return f;}static intfound_exit(char *keybuf, int hx, int cc){				/* return true if the user wants to exit */	int j, k;	char *s;	if (scan_mode) {		if (*keybuf == '\0') {			return TRUE;		}	} else {		/* break is a special case */		if (*keybuf == '\0') {			fresh_line();			tty_set();			ptext("Hit X to exit: ");			if (wait_here() == 'X') {				return TRUE;			}			keys_tested(0, 1, hx);			tty_raw(cc, char_mask);			return FALSE;		}		/* is this the end? */		for (k = 0; (j = (keybuf[k] & STRIP_PARITY)); k++) {			if (end_funky(j)) {				return TRUE;			}		}		j = TRUE;	/* does he need an updated list? */		for (k = 0; keybuf[k]; k++) {			j &= (keybuf[k] & STRIP_PARITY) == '?';		}		if (j || end_state == '?') {			keys_tested(0, 1, hx);			tty_raw(cc, char_mask);			end_state = 0;			return FALSE;		}	}	put_cr();	if (hx) {		s = hex_expand_to(keybuf, 10);	} else {		s = expand_to(keybuf, 10);	}	sprintf(temp, "%s Unknown", s);	put_str(temp);	for (j = 0; j < MAX_FK_UNK; j++) {		if (j == funk) {			fk_length[funk] = expand_chars;			if ((fk_unknown[funk] = (char *)malloc(strlen(s) + 1))) {				strcpy(fk_unknown[funk++], s);			}			break;		}		if (fk_length[j] == expand_chars) {			if (!strcmp(fk_unknown[j], s)) {				break;			}		}	}	return FALSE;}/***	funkey_keys(test_list, status, ch)****	Test function keys*/static voidfunkey_keys(	struct test_list *t,	int *state,	int *ch){	char keybuf[256];	if (keypad_xmit) {		tc_putp(keypad_xmit);	}	keys_tested(1, 1, hex_out);	/* also clears screen */	keybuf[0] = '\0';	end_state = 0;	if (scan_mode) {		fkmax = scan_max;	}	tty_raw(0, char_mask);	while (end_state != 'd') {		read_key(keybuf, sizeof(keybuf));		fresh_line();		if (found_match(keybuf, hex_out, 0)) {			continue;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人综合天天影院| 欧美精品一区二区在线播放| 日韩一区二区在线播放| 国产片一区二区三区| 午夜欧美大尺度福利影院在线看| 国产91对白在线观看九色| 欧美肥妇free| 亚洲欧美日韩国产手机在线| 国内精品久久久久影院薰衣草| 在线观看免费视频综合| 国产精品欧美久久久久一区二区| 日本在线不卡视频| 欧美综合久久久| 亚洲三级免费观看| 国产成人免费在线观看| 日韩精品一区二区三区四区视频| 亚洲一区二区三区四区中文字幕| 成人丝袜18视频在线观看| 精品成人一区二区三区四区| 五月综合激情日本mⅴ| 91麻豆产精品久久久久久 | 91蜜桃视频在线| 国产欧美一区二区三区在线看蜜臀 | 欧美三级电影在线观看| 91玉足脚交白嫩脚丫在线播放| 日韩免费视频一区二区| 中文字幕不卡的av| 美国毛片一区二区三区| 欧美一区二区三区在线电影| 亚洲午夜久久久久久久久电影院| 国产99精品在线观看| 国产日韩欧美一区二区三区综合| 久久疯狂做爰流白浆xx| 欧美不卡123| 蜜桃久久久久久久| 久久婷婷久久一区二区三区| 久久精品国产亚洲a| 日韩欧美久久一区| 国产尤物一区二区| 久久久精品人体av艺术| 波多野结衣中文一区| 国产精品久久网站| 在线日韩av片| 轻轻草成人在线| 精品三级在线看| 国产69精品久久久久毛片| 国产精品国产三级国产普通话99 | 97久久精品人人做人人爽| 国产精品久久久久毛片软件| 91视频一区二区三区| 亚洲成人免费影院| 精品国产露脸精彩对白| 成人精品鲁一区一区二区| 亚洲欧美激情小说另类| 911精品产国品一二三产区| 久久97超碰色| 中文字幕在线观看一区二区| 91精彩视频在线| 日本不卡视频在线观看| 国产亚洲污的网站| 在线视频一区二区三| 美女mm1313爽爽久久久蜜臀| 国产精品美女www爽爽爽| 色婷婷av一区二区| 九色综合国产一区二区三区| 中文字幕一区二区三区在线不卡 | 狠狠色狠狠色综合系列| 国产精品免费av| 欧洲精品在线观看| 国产剧情av麻豆香蕉精品| 亚洲欧美一区二区三区孕妇| 日韩色在线观看| 91在线观看下载| 久久99国产精品尤物| 亚洲人成网站精品片在线观看| 日韩一卡二卡三卡| 91丨九色丨黑人外教| 蜜桃精品视频在线| 亚洲综合色在线| 中文欧美字幕免费| 777久久久精品| 97久久超碰精品国产| 久久精品国产99国产精品| 亚洲自拍都市欧美小说| 欧美成人一区二区| 欧洲一区在线观看| 成人免费看的视频| 精品一区二区三区欧美| 图片区小说区国产精品视频| 最新国产精品久久精品| 日韩丝袜情趣美女图片| 欧美日韩视频第一区| 99久久精品国产一区| 黄网站免费久久| 日韩av中文字幕一区二区三区| 亚洲人成在线观看一区二区| 久久精品欧美日韩精品| 精品久久人人做人人爰| 欧美一区二区精品在线| 欧美美女一区二区三区| 色噜噜狠狠色综合欧洲selulu| 丁香天五香天堂综合| 国产伦精一区二区三区| 蜜桃久久精品一区二区| 日韩成人午夜精品| 日韩综合小视频| 亚洲成人一区二区在线观看| 一区二区三区不卡视频| 一片黄亚洲嫩模| 亚洲五月六月丁香激情| 一区二区三区日韩精品视频| 亚洲免费视频中文字幕| 亚洲精品成人少妇| 日韩伦理电影网| 亚洲精品免费在线观看| 亚洲精品国产成人久久av盗摄| 中文字幕日本乱码精品影院| 国产精品久久久久久久久搜平片| 欧美韩国日本不卡| 中文字幕av免费专区久久| 国产欧美1区2区3区| 国产精品嫩草影院com| 国产精品久久久久久户外露出| 国产精品免费看片| 亚洲精品你懂的| 日韩高清中文字幕一区| 青草国产精品久久久久久| 精品一区二区三区视频在线观看 | 精品一区二区久久| 国产一区在线不卡| 99久久精品免费| 欧美影视一区二区三区| 欧美久久久久中文字幕| 日韩精品一区二区在线| 久久亚洲二区三区| 国产精品福利一区| 五月婷婷久久综合| 狠狠色丁香婷综合久久| 成人丝袜18视频在线观看| 一本大道久久a久久精二百| 91精品国产综合久久精品app| 欧美成人精品福利| 国产精品久久久久久久久久久免费看 | www久久精品| 国产精品美女www爽爽爽| 亚洲成人www| 国产精品一区二区三区乱码| 91美女片黄在线观看91美女| 欧美日韩视频一区二区| 国产亚洲欧洲997久久综合| 中文字幕在线不卡视频| 日韩中文字幕1| 不卡的av电影| 欧美一区二区在线看| 日本一区二区视频在线| 日韩精彩视频在线观看| 懂色中文一区二区在线播放| 欧美视频一区在线| 国产色综合久久| 日韩电影在线免费看| 97se亚洲国产综合自在线不卡| 欧美精品日日鲁夜夜添| 亚洲欧美在线视频观看| 秋霞成人午夜伦在线观看| caoporn国产一区二区| 欧美一级黄色大片| 亚洲一区在线观看网站| 国产成人夜色高潮福利影视| 欧美精品 国产精品| 18成人在线视频| 国产精品资源在线| 欧美日韩精品三区| 日韩久久一区二区| 国产mv日韩mv欧美| 欧美草草影院在线视频| 亚洲一区二区欧美激情| av高清不卡在线| 国产欧美精品日韩区二区麻豆天美 | 国产精品538一区二区在线| 欧美狂野另类xxxxoooo| 亚洲女子a中天字幕| 粉嫩蜜臀av国产精品网站| 欧美成人三级在线| 日本午夜精品视频在线观看| 日本道精品一区二区三区| 亚洲特级片在线| 成人福利电影精品一区二区在线观看| 欧美一区二区视频在线观看2020| 一区二区三区四区乱视频| av电影在线观看不卡| 国产精品久久久一本精品| 国产裸体歌舞团一区二区| 久久网这里都是精品| 久久超级碰视频| 精品国产第一区二区三区观看体验 | 亚洲一区二区在线观看视频 | 成人一级黄色片| 久久精品日韩一区二区三区| 国产精品一区二区三区网站| 精品99一区二区|