⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initkeypad.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
#ifndef lintstatic	char sccsid[] = "@(#)initkeypad.c 1.1 92/07/30 SMI"; /* from S5R2 1.1 */#endif#include "curses.ext"#ifdef	 	KEYPADstatic struct map *_addone();/* * Make up the needed array of map structures for dealing with the keypad. */#define MAXKEYS 50	/* number of keys we understand */struct map *_init_keypad(){	struct map *r, *p;	r = (struct map *) calloc(MAXKEYS, sizeof (struct map));	p = r;	/* If down arrow key sends \n, don't map it. */	if (key_down && strcmp(key_down, "\n"))		p = _addone(p, key_down,	KEY_DOWN,	"down");	p = _addone(p, key_up,		KEY_UP,		"up");	/* If left arrow key sends \b, don't map it. */	if (key_left && strcmp(key_left, "\b"))		p = _addone(p, key_left,	KEY_LEFT,	"left");	p = _addone(p, key_right,	KEY_RIGHT,	"right");	p = _addone(p, key_home,	KEY_HOME,	"home");	/* If backspace key sends \b, don't map it. */	if (key_backspace && strcmp(key_backspace, "\b"))		p = _addone(p, key_backspace,	KEY_BACKSPACE,	"backspace");	p = _addone(p, key_f0,		KEY_F(0),	lab_f0?lab_f0:"f0");	p = _addone(p, key_f1,		KEY_F(1),	lab_f1?lab_f1:"f1");	p = _addone(p, key_f2,		KEY_F(2),	lab_f2?lab_f2:"f2");	p = _addone(p, key_f3,		KEY_F(3),	lab_f3?lab_f3:"f3");	p = _addone(p, key_f4,		KEY_F(4),	lab_f4?lab_f4:"f4");	p = _addone(p, key_f5,		KEY_F(5),	lab_f5?lab_f5:"f5");	p = _addone(p, key_f6,		KEY_F(6),	lab_f6?lab_f6:"f6");	p = _addone(p, key_f7,		KEY_F(7),	lab_f7?lab_f7:"f7");	p = _addone(p, key_f8,		KEY_F(8),	lab_f8?lab_f8:"f8");	p = _addone(p, key_f9,		KEY_F(9),	lab_f9?lab_f9:"f9");	p = _addone(p, key_dl,		KEY_DL,		"dl");	p = _addone(p, key_il,		KEY_IL,		"il");	p = _addone(p, key_dc,		KEY_DC,		"dc");	p = _addone(p, key_ic,		KEY_IC,		"ic");	p = _addone(p, key_eic,		KEY_EIC,	"eic");	p = _addone(p, key_clear,	KEY_CLEAR,	"clear");	p = _addone(p, key_eos,		KEY_EOS,	"eos");	p = _addone(p, key_eol,		KEY_EOL,	"eol");	p = _addone(p, key_sf,		KEY_SF,		"sf");	p = _addone(p, key_sr,		KEY_SR,		"sr");	p = _addone(p, key_npage,	KEY_NPAGE,	"npage");	p = _addone(p, key_ppage,	KEY_PPAGE,	"ppage");	p = _addone(p, key_stab,	KEY_STAB,	"stab");	p = _addone(p, key_ctab,	KEY_CTAB,	"ctab");	p = _addone(p, key_catab,	KEY_CATAB,	"catab");	p = _addone(p, key_ll,		KEY_LL,		"ll");	p = _addone(p, key_a1,		KEY_A1,		"a1");	p = _addone(p, key_a3,		KEY_A3,		"a3");	p = _addone(p, key_b2,		KEY_B2,		"b2");	p = _addone(p, key_c1,		KEY_C1,		"c1");	p = _addone(p, key_c3,		KEY_C3,		"c3");	p -> keynum = 0;		/* termination convention */#ifdef DEBUG	if(outf) fprintf(outf, "return key structure %x, ending at %x\n", r, p);#endif	return r;}/* * Map text into num, updating the map structure p. * label is currently unused, but is an English description * of what the key is labelled, similar to the name in vi. */staticstruct map *_addone(p, text, num, label)struct map *p;char *text;int num;char *label;{	if (text) {		strcpy(p->label, label);		strcpy(p->sends, text);		p->keynum = num;#ifdef DEBUG		if(outf) fprintf(outf, "have key label %s, sends '%s', value %o\n", p->label, p->sends, p->keynum);#endif		p++;	}	return p;}#endif		KEYPAD

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -