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

📄 pcvt_kbd.c

📁 freebsd v4.4内核源码
💻 C
📖 第 1 页 / 共 5 页
字号:
		case KBD_RETURN:			map->key[idx].map[0] = iso2ibm(kdef.unshift[0]);			map->key[idx].map[1] = iso2ibm(kdef.shift[0]);			map->key[idx].map[2] = map->key[idx].map[3] =				iso2ibm(kdef.ctrl[0]);			map->key[idx].map[4] = map->key[idx].map[5] =				iso2ibm(c = kdef.altgr[0]);			/*			 * XXX this is a hack			 * since we currently do not map strings to AltGr +			 * shift, we attempt to use the unshifted AltGr			 * definition here and try to toggle the case			 * this should at least work for ISO8859 letters,			 * but also for (e.g.) russian KOI-8 style			 */			if((c & 0x7f) >= 0x40)				map->key[idx].map[5] = iso2ibm(c ^ 0x20);			break;		case KBD_FUNC:			/* we are only interested in F1 thru F12 here */			if(i >= 112 && i <= 123) {				map->key[idx].map[0] = i - 112 + 27;				map->key[idx].spcl = 0x80;			}			break;		case KBD_SHIFT:			c = i == 44? 2 /* lSh */: 3 /* rSh */; goto special;		case KBD_CAPS:			c = 4; goto special;		case KBD_NUM:			c = 5; goto special;		case KBD_SCROLL:			c = 6; goto special;		case KBD_META:			c = 7; goto special;		case KBD_CTL:			c = 9; goto special;		special:			for(j = 0; j < NUM_STATES; j++)				map->key[idx].map[j] = c;			map->key[idx].spcl = 0xff;			break;		default:			break;		}	}}#endif /* PCVT_USL_VT_COMPAT *//*---------------------------------------------------------------------------* *	switch keypad to numeric mode *---------------------------------------------------------------------------*/voidvt_keynum(struct video_state *svsp){	svsp->num_lock = 1;	update_led();}/*---------------------------------------------------------------------------* *	switch keypad to application mode *---------------------------------------------------------------------------*/voidvt_keyappl(struct video_state *svsp){	svsp->num_lock = 0;	update_led();}#if !PCVT_VT220KEYB	/* !PCVT_VT220KEYB, HP-like Keyboard layout *//*---------------------------------------------------------------------------* *	function bound to function key 1 *---------------------------------------------------------------------------*/static voidfkey1(void){	if(!meta_down)	{		if((vsp->vt_pure_mode == M_HPVT)		   && (vsp->which_fkl == SYS_FKL))			toggl_columns(vsp);		else			more_chars = (u_char *)"\033[17~";	/* F6 */	}	else	{		if(vsp->vt_pure_mode == M_PUREVT		   || (vsp->which_fkl == USR_FKL))			more_chars = (u_char *)"\033[26~";	/* F14 */	}}/*---------------------------------------------------------------------------* *	function bound to function key 2 *---------------------------------------------------------------------------*/static voidfkey2(void){	if(!meta_down)	{		if((vsp->vt_pure_mode == M_HPVT)		   && (vsp->which_fkl == SYS_FKL))			vt_ris(vsp);		else			more_chars = (u_char *)"\033[18~";	/* F7 */	}	else	{		if(vsp->vt_pure_mode == M_PUREVT		   || (vsp->which_fkl == USR_FKL))			more_chars = (u_char *)"\033[28~";	/* HELP */	}}/*---------------------------------------------------------------------------* *	function bound to function key 3 *---------------------------------------------------------------------------*/static voidfkey3(void){	if(!meta_down)	{		if((vsp->vt_pure_mode == M_HPVT)		   && (vsp->which_fkl == SYS_FKL))			toggl_24l(vsp);		else			more_chars = (u_char *)"\033[19~";	/* F8 */	}	else	{		if(vsp->vt_pure_mode == M_PUREVT		   || (vsp->which_fkl == USR_FKL))			more_chars = (u_char *)"\033[29~";	/* DO */	}}/*---------------------------------------------------------------------------* *	function bound to function key 4 *---------------------------------------------------------------------------*/static voidfkey4(void){	if(!meta_down)	{#if PCVT_SHOWKEYS		if((vsp->vt_pure_mode == M_HPVT)		   && (vsp->which_fkl == SYS_FKL))			toggl_kbddbg(vsp);		else			more_chars = (u_char *)"\033[20~";	/* F9 */#else		if(vsp->vt_pure_mode == M_PUREVT		   || (vsp->which_fkl == USR_FKL))			more_chars = (u_char *)"\033[20~";	/* F9 */#endif /* PCVT_SHOWKEYS */	}	else	{		if(vsp->vt_pure_mode == M_PUREVT		   || (vsp->which_fkl == USR_FKL))			more_chars = (u_char *)"\033[31~";	/* F17 */	}}/*---------------------------------------------------------------------------* *	function bound to function key 5 *---------------------------------------------------------------------------*/static voidfkey5(void){	if(!meta_down)	{		if((vsp->vt_pure_mode == M_HPVT)		   && (vsp->which_fkl == SYS_FKL))			toggl_bell(vsp);		else			more_chars = (u_char *)"\033[21~";	/* F10 */	}	else	{		if(vsp->vt_pure_mode == M_PUREVT		   || (vsp->which_fkl == USR_FKL))			more_chars = (u_char *)"\033[32~";	/* F18 */	}}/*---------------------------------------------------------------------------* *	function bound to function key 6 *---------------------------------------------------------------------------*/static voidfkey6(void){	if(!meta_down)	{		if((vsp->vt_pure_mode == M_HPVT)		   && (vsp->which_fkl == SYS_FKL))			toggl_sevenbit(vsp);		else			more_chars = (u_char *)"\033[23~";	/* F11 */	}	else	{		if(vsp->vt_pure_mode == M_PUREVT		   || (vsp->which_fkl == USR_FKL))			more_chars = (u_char *)"\033[33~";	/* F19 */	}}/*---------------------------------------------------------------------------* *	function bound to function key 7 *---------------------------------------------------------------------------*/static voidfkey7(void){	if(!meta_down)	{		if((vsp->vt_pure_mode == M_HPVT)		   && (vsp->which_fkl == SYS_FKL))			toggl_dspf(vsp);		else			more_chars = (u_char *)"\033[24~";	/* F12 */	}	else	{		if(vsp->vt_pure_mode == M_PUREVT		   || (vsp->which_fkl == USR_FKL))			more_chars = (u_char *)"\033[34~";	/* F20 */	}}/*---------------------------------------------------------------------------* *	function bound to function key 8 *---------------------------------------------------------------------------*/static voidfkey8(void){	if(!meta_down)	{		if((vsp->vt_pure_mode == M_HPVT)		   && (vsp->which_fkl == SYS_FKL))			toggl_awm(vsp);		else			more_chars = (u_char *)"\033[25~";	/* F13 */	}	else	{		if(vsp->vt_pure_mode == M_PUREVT		   || (vsp->which_fkl == USR_FKL))			more_chars = (u_char *)"\033[35~";	/* F21 ??!! */	}}/*---------------------------------------------------------------------------* *	function bound to function key 9 *---------------------------------------------------------------------------*/static voidfkey9(void){	if(meta_down)	{		if(vsp->vt_pure_mode == M_PUREVT)			return;		if(vsp->labels_on)	/* toggle label display on/off */			fkl_off(vsp);		else			fkl_on(vsp);	}	else	{		do_vgapage(0);	}}/*---------------------------------------------------------------------------* *	function bound to function key 10 *---------------------------------------------------------------------------*/static voidfkey10(void){	if(meta_down)	{		if(vsp->vt_pure_mode != M_PUREVT && vsp->labels_on)		{			if(vsp->which_fkl == USR_FKL)				sw_sfkl(vsp);			else if(vsp->which_fkl == SYS_FKL)				sw_ufkl(vsp);		}	}	else	{		do_vgapage(1);	}}/*---------------------------------------------------------------------------* *	function bound to function key 11 *---------------------------------------------------------------------------*/static voidfkey11(void){	if(meta_down)	{		if(vsp->vt_pure_mode == M_PUREVT)			set_emulation_mode(vsp, M_HPVT);		else if(vsp->vt_pure_mode == M_HPVT)			set_emulation_mode(vsp, M_PUREVT);	}	else	{		do_vgapage(2);	}}/*---------------------------------------------------------------------------* *	function bound to function key 12 *---------------------------------------------------------------------------*/static voidfkey12(void){	if(meta_down)	{		if(current_video_screen + 1 > totalscreens-1)			do_vgapage(0);		else			do_vgapage(current_video_screen + 1);	}	else	{		do_vgapage(3);	}}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 1 *---------------------------------------------------------------------------*/static voidsfkey1(void){	if(!meta_down)	{		if(vsp->ukt.length[0])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[0]]);	}	else	{		if(vsp->ukt.length[9])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[9]]);	}}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 2 *---------------------------------------------------------------------------*/static voidsfkey2(void){	if(!meta_down)	{		if(vsp->ukt.length[1])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[1]]);	}	else	{		if(vsp->ukt.length[11])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[11]]);	}}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 3 *---------------------------------------------------------------------------*/static voidsfkey3(void){	if(!meta_down)	{		if(vsp->ukt.length[2])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[2]]);	}	else	{		if(vsp->ukt.length[12])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[12]]);	}}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 4 *---------------------------------------------------------------------------*/static voidsfkey4(void){	if(!meta_down)	{		if(vsp->ukt.length[3])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[3]]);	}	else	{		if(vsp->ukt.length[13])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[13]]);	}}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 5 *---------------------------------------------------------------------------*/static voidsfkey5(void){	if(!meta_down)	{		if(vsp->ukt.length[4])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[4]]);	}	else	{		if(vsp->ukt.length[14])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[14]]);	}}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 6 *---------------------------------------------------------------------------*/static voidsfkey6(void){	if(!meta_down)	{		if(vsp->ukt.length[6])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[6]]);	}	else	{		if(vsp->ukt.length[15])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[15]]);	}}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 7 *---------------------------------------------------------------------------*/static voidsfkey7(void){	if(!meta_down)	{		if(vsp->ukt.length[7])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[7]]);	}	else	{		if(vsp->ukt.length[16])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[16]]);	}}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 8 *---------------------------------------------------------------------------*/static voidsfkey8(void){	if(!meta_down)	{		if(vsp->ukt.length[8])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[8]]);	}	else	{		if(vsp->ukt.length[17])	/* entry available ? */			more_chars = (u_char *)				&(vsp->udkbuf[vsp->ukt.first[17]]);	}}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 9 *---------------------------------------------------------------------------*/static voidsfkey9(void){}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 10 *---------------------------------------------------------------------------*/static voidsfkey10(void){}/*---------------------------------------------------------------------------* *	function bound to SHIFTED function key 11 *---------------------------------------------------------------------------*/static voidsfkey11(void){}/*---------------------------------------------------------------------------* *	function bou

⌨️ 快捷键说明

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