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

📄 edit_key_translator.c

📁 具有IDE功能的编辑器
💻 C
📖 第 1 页 / 共 2 页
字号:
	    command = CK_Debug_Enter_Command;	    goto fin;	}    }    if ((x_state & MyAltMask) && (x_state & ShiftMask)) {	switch ((int) x_key) {	case XK_Up:	case XK_KP_Up:	    command = CK_Scroll_Up_Highlight;	    goto fin;	case XK_Down:	case XK_KP_Down:	    command = CK_Scroll_Down_Highlight;	    goto fin;	}    }    if (!(x_state & MyAltMask)) {	if ((x_key == XK_a || x_key == XK_A) && (x_state & ControlMask)) {	    command = CKeySymMod (CRawkeyQuery (0, 0, 0, " Execute Macro ", " Press macro hotkey: "));	    if (!command)		command = -1;	    else		command = CK_Macro (command);	    goto fin;	}	if (x_key == XK_Num_Lock && option_interpret_numlock) {	    num_lock = 1 - num_lock;	    goto fin;	}	switch ((int) x_key) {	case XK_KP_Home:	    x_key = XK_Home;	    break;	case XK_KP_End:	    x_key = XK_End;	    break;	case XK_KP_Page_Up:	    x_key = XK_Page_Up;	    break;	case XK_KP_Page_Down:	    x_key = XK_Page_Down;	    break;	case XK_KP_Up:	    x_key = XK_Up;	    break;	case XK_KP_Down:	    x_key = XK_Down;	    break;	case XK_KP_Left:	    x_key = XK_Left;	    break;	case XK_KP_Right:	    x_key = XK_Right;	    break;	case XK_KP_Insert:	    x_key = XK_Insert;	    break;	case XK_KP_Delete:	    x_key = XK_Delete;	    break;	case XK_KP_Enter:	    x_key = XK_Return;	    break;	case XK_KP_Add:	    x_key = XK_plus;	    break;	case XK_KP_Subtract:	    x_key = XK_minus;	    break;	}/* first translate the key-pad */	if (num_lock) {	    if (x_key >= XK_R1 && x_key <= XK_R9) {		x_key = key_pad_map[x_key - XK_R1 + 1];	    } else if (x_key >= XK_KP_0 && x_key <= XK_KP_9) {		x_key = key_pad_map[x_key - XK_KP_0];	    } else if (x_key == XK_KP_Decimal) {		x_key = XK_Delete;	    }	} else {	    if (x_key >= XK_KP_0 && x_key <= XK_KP_9) {		x_key += XK_0 - XK_KP_0;	    }	    if (x_key == XK_KP_Decimal) {		x_key = XK_period;	    }	}	if ((x_state & ShiftMask) && (x_state & ControlMask)) {	    switch ((int) x_key) {	    case XK_Page_Up:		command = CK_Beginning_Of_Text_Highlight;		goto fin;	    case XK_Page_Down:		command = CK_End_Of_Text_Highlight;		goto fin;	    case XK_Left:		command = CK_Word_Left_Highlight;		goto fin;	    case XK_Right:		command = CK_Word_Right_Highlight;		goto fin;	    case XK_Up:		command = CK_Paragraph_Up_Highlight;		goto fin;	    case XK_Down:		command = CK_Paragraph_Down_Highlight;		goto fin;	    case XK_Home:		command = CK_Begin_Page_Highlight;		goto fin;	    case XK_End:		command = CK_End_Page_Highlight;		goto fin;	    }	}	if ((x_state & ShiftMask) && !(x_state & ControlMask)) {	    switch ((int) x_key) {	    case XK_Page_Up:		command = CK_Page_Up_Highlight;		goto fin;	    case XK_Page_Down:		command = CK_Page_Down_Highlight;		goto fin;	    case XK_Left:		command = CK_Left_Highlight;		goto fin;	    case XK_Right:		command = CK_Right_Highlight;		goto fin;	    case XK_Up:		command = CK_Up_Highlight;		goto fin;	    case XK_Down:		command = CK_Down_Highlight;		goto fin;	    case XK_Home:		command = CK_Home_Highlight;		goto fin;	    case XK_End:		command = CK_End_Highlight;		goto fin;	    case XK_Insert:		command = CK_XPaste;		goto fin;	    case XK_Delete:		command = CK_XCut;		goto fin;	    case XK_Return:		command = CK_Return;		goto fin;/* this parallel F12, F19, F15, and F17 for some systems */	    case XK_F2:		command = CK_Save_As;		goto fin;	    case XK_F5:		command = CK_Insert_File;		goto fin;	    case XK_F7:		command = CK_Find_Again;		goto fin;	    case XK_F6:		command = CK_Paragraph_Indent_Mode;		goto fin;	    case XK_F4:		command = CK_Replace_Again;		goto fin;	    case XK_F3:		command = CK_Run_Another;		goto fin;	    case XK_F1:		command = CK_Terminal;		goto fin;	    }	}/* things that need a control key */	if (x_state & ControlMask) {	    switch ((int) x_key) {	    case XK_F1:		command = CK_Man_Page;		goto fin;	    case XK_U:	    case XK_u:	    case XK_BackSpace:		command = CK_Undo;		goto fin;	    case XK_Page_Up:		command = CK_Beginning_Of_Text;		goto fin;	    case XK_Page_Down:		command = CK_End_Of_Text;		goto fin;	    case XK_Up:		command = CK_Paragraph_Up;		goto fin;	    case XK_Down:		command = CK_Paragraph_Down;		goto fin;	    case XK_Left:		command = CK_Word_Left;		goto fin;	    case XK_Right:		command = CK_Word_Right;		goto fin;	    case XK_Home:		command = CK_Begin_Page;		goto fin;	    case XK_End:		command = CK_End_Page;		goto fin;	    case XK_N:	    case XK_n:		command = CK_New;		goto fin;	    case XK_O:	    case XK_o:		command = CK_Load;		goto fin;	    case XK_D:	    case XK_d:		command = CK_Date;		goto fin;	    case XK_S:	    case XK_s:		command = CK_Save;		goto fin;	    case XK_Q:	    case XK_q:		raw = 1;		decimal = 0;		hex = 0;		goto fin;	    case XK_F:	    case XK_f:		command = CK_Save_Block;		goto fin;	    case XK_F5:	    case XK_F15:		command = CK_Insert_File;		goto fin;	    case XK_Insert:		command = CK_XStore;		goto fin;	    case XK_y:	    case XK_Y:		command = CK_Delete_Line;		goto fin;	    case XK_Delete:		command = CK_Remove;		goto fin;	    case XK_F2:		command = CK_Save_Desktop;		goto fin;	    case XK_F3:		command = CK_New_Window;		goto fin;	    case XK_F6:		command = CK_Cycle;		goto fin;	    case XK_F10:		command = CK_Check_Save_And_Quit;		goto fin;	    case XK_Tab:	    case XK_KP_Tab:		command = CK_Complete;		goto fin;	    case XK_b:	    case XK_B:		command = CK_Column_Mark;		goto fin;	    case XK_l:	    case XK_L:		command = CK_Refresh;		goto fin;	    case XK_c:	    case XK_C:		command = CK_Debug_Stop;		goto fin;	    }	}/* an ordinary ascii character or international character */	if (!(x_state & MyAltMask)) {	    if (!(x_state & ControlMask)) {		if (x_key < 256)		    if (isprint (x_key) || (x_key >= 0x020 && x_key <= 0x0ff)) {			char_for_insertion = x_key;			goto fin;		    }/* other commands */		if (!(x_state & ShiftMask) || (x_key >= XK_F11 && x_key <= XK_F20)) {		    i = 0;		    while (key_map[i] != x_key && key_map[i])			i += 2;		    command = key_map[i + 1];		    if (command)			goto fin;		}	    }	}    } else if (x_state & ControlMask) {	switch ((int) x_key) {    	    case XK_f:	    case XK_F:		command = CK_Find_File;		goto fin;    	    case XK_i:	    case XK_K:		command = CK_Ctags;		goto fin;    	    case XK_Insert:	    case XK_KP_0:		command = CK_Toggle_Bookmark;		goto fin;    	    case XK_Down:	    case XK_KP_2:		command = CK_Next_Bookmark;		goto fin;    	    case XK_Up:	    case XK_KP_8:		command = CK_Prev_Bookmark;		goto fin;	}    }  fin:    *cmd = command;    *ch = char_for_insertion;    if ((command == -1 || command == 0) && char_for_insertion == -1)	/* unchanged, key has no function here */	return 0;    return 1;}

⌨️ 快捷键说明

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