📄 term.c
字号:
# if defined(MSDOS)
/*
* These codes are valid for the pc video. The entries that start with ESC |
* are translated into conio calls in os_msdos.c. Default for MSDOS.
*/
{(int)KS_NAME, "pcterm"},
{(int)KS_CE, "\033|K"},
{(int)KS_AL, "\033|L"},
{(int)KS_DL, "\033|M"},
# ifdef TERMINFO
{(int)KS_CS, "\033|%i%p1%d;%p2%dr"},
# else
{(int)KS_CS, "\033|%i%d;%dr"},
# endif
{(int)KS_CL, "\033|J"},
{(int)KS_ME, "\033|0m"}, /* normal */
{(int)KS_MR, "\033|112m"}, /* reverse: black on lightgrey */
{(int)KS_MD, "\033|15m"}, /* bold: white text */
{(int)KS_SE, "\033|0m"}, /* standout end */
{(int)KS_SO, "\033|31m"}, /* standout: white on blue */
{(int)KS_CZH, "\033|225m"}, /* italic mode: blue text on yellow */
{(int)KS_CZR, "\033|0m"}, /* italic mode end */
{(int)KS_US, "\033|67m"}, /* underscore mode: cyan text on red */
{(int)KS_UE, "\033|0m"}, /* underscore mode end */
{(int)KS_CCO, "16"}, /* allow 16 colors */
# ifdef TERMINFO
{(int)KS_CAB, "\033|%p1%db"}, /* set background color */
{(int)KS_CAF, "\033|%p1%df"}, /* set foreground color */
# else
{(int)KS_CAB, "\033|%db"}, /* set background color */
{(int)KS_CAF, "\033|%df"}, /* set foreground color */
# endif
{(int)KS_MS, "y"},
{(int)KS_LE, "\010"},
# ifdef TERMINFO
{(int)KS_CM, "\033|%i%p1%d;%p2%dH"},
# else
{(int)KS_CM, "\033|%i%d;%dH"},
# endif
#ifdef DJGPP
{(int)KS_VB, "\033|B"}, /* visual bell */
#endif
{K_UP, "\316H"},
{K_DOWN, "\316P"},
{K_LEFT, "\316K"},
{K_RIGHT, "\316M"},
{K_S_LEFT, "\316s"},
{K_S_RIGHT, "\316t"},
{K_S_TAB, "\316\017"},
{K_F1, "\316;"},
{K_F2, "\316<"},
{K_F3, "\316="},
{K_F4, "\316>"},
{K_F5, "\316?"},
{K_F6, "\316@"},
{K_F7, "\316A"},
{K_F8, "\316B"},
{K_F9, "\316C"},
{K_F10, "\316D"},
{K_F11, "\316\205"}, /* only when nobioskey */
{K_F12, "\316\206"}, /* only when nobioskey */
{K_S_F1, "\316T"},
{K_S_F2, "\316U"},
{K_S_F3, "\316V"},
{K_S_F4, "\316W"},
{K_S_F5, "\316X"},
{K_S_F6, "\316Y"},
{K_S_F7, "\316Z"},
{K_S_F8, "\316["},
{K_S_F9, "\316\\"},
{K_S_F10, "\316]"},
{K_S_F11, "\316\207"}, /* only when nobioskey */
{K_S_F12, "\316\210"}, /* only when nobioskey */
{K_INS, "\316R"},
{K_DEL, "\316S"},
{K_HOME, "\316G"},
{K_END, "\316O"},
{K_PAGEDOWN, "\316Q"},
{K_PAGEUP, "\316I"},
# endif
# if defined(WIN32) || defined(ALL_BUILTIN_TCAPS) || defined(__EMX__)
/*
* These codes are valid for the Win32 Console . The entries that start with
* ESC | are translated into console calls in os_win32.c. The function keys
* are also translated in os_win32.c.
*/
{(int)KS_NAME, "win32"},
{(int)KS_CE, "\033|K"}, /* clear to end of line */
{(int)KS_AL, "\033|L"}, /* add new blank line */
# ifdef TERMINFO
{(int)KS_CAL, "\033|%p1%dL"}, /* add number of new blank lines */
# else
{(int)KS_CAL, "\033|%dL"}, /* add number of new blank lines */
# endif
{(int)KS_DL, "\033|M"}, /* delete line */
# ifdef TERMINFO
{(int)KS_CDL, "\033|%p1%dM"}, /* delete number of lines */
# else
{(int)KS_CDL, "\033|%dM"}, /* delete number of lines */
# endif
{(int)KS_CL, "\033|J"}, /* clear screen */
{(int)KS_CD, "\033|j"}, /* clear to end of display */
{(int)KS_VI, "\033|v"}, /* cursor invisible */
{(int)KS_VE, "\033|V"}, /* cursor visible */
{(int)KS_ME, "\033|0m"}, /* normal */
{(int)KS_MR, "\033|112m"}, /* reverse: black on lightgray */
{(int)KS_MD, "\033|15m"}, /* bold: white on black */
#if 1
{(int)KS_SO, "\033|31m"}, /* standout: white on blue */
{(int)KS_SE, "\033|0m"}, /* standout end */
#else
{(int)KS_SO, "\033|F"}, /* standout: high intensity */
{(int)KS_SE, "\033|f"}, /* standout end */
#endif
{(int)KS_CZH, "\033|225m"}, /* italic: blue text on yellow */
{(int)KS_CZR, "\033|0m"}, /* italic end */
{(int)KS_US, "\033|67m"}, /* underscore: cyan text on red */
{(int)KS_UE, "\033|0m"}, /* underscore end */
{(int)KS_CCO, "16"}, /* allow 16 colors */
# ifdef TERMINFO
{(int)KS_CAB, "\033|%p1%db"}, /* set background color */
{(int)KS_CAF, "\033|%p1%df"}, /* set foreground color */
# else
{(int)KS_CAB, "\033|%db"}, /* set background color */
{(int)KS_CAF, "\033|%df"}, /* set foreground color */
# endif
{(int)KS_MS, "y"}, /* save to move cur in reverse mode */
{(int)KS_LE, "\010"},
# ifdef TERMINFO
{(int)KS_CM, "\033|%i%p1%d;%p2%dH"},/* cursor motion */
# else
{(int)KS_CM, "\033|%i%d;%dH"},/* cursor motion */
# endif
{(int)KS_VB, "\033|B"}, /* visual bell */
{(int)KS_TI, "\033|S"}, /* put terminal in termcap mode */
{(int)KS_TE, "\033|E"}, /* out of termcap mode */
{(int)KS_CS, "\033|%i%d;%dr"},/* scroll region */
{K_UP, "\316H"},
{K_DOWN, "\316P"},
{K_LEFT, "\316K"},
{K_RIGHT, "\316M"},
{K_S_UP, "\316\304"},
{K_S_DOWN, "\316\317"},
{K_S_LEFT, "\316\311"},
{K_S_RIGHT, "\316\313"},
{K_S_TAB, "\316\017"},
{K_F1, "\316;"},
{K_F2, "\316<"},
{K_F3, "\316="},
{K_F4, "\316>"},
{K_F5, "\316?"},
{K_F6, "\316@"},
{K_F7, "\316A"},
{K_F8, "\316B"},
{K_F9, "\316C"},
{K_F10, "\316D"},
{K_F11, "\316\205"},
{K_F12, "\316\206"},
{K_S_F1, "\316T"},
{K_S_F2, "\316U"},
{K_S_F3, "\316V"},
{K_S_F4, "\316W"},
{K_S_F5, "\316X"},
{K_S_F6, "\316Y"},
{K_S_F7, "\316Z"},
{K_S_F8, "\316["},
{K_S_F9, "\316\\"},
{K_S_F10, "\316]"},
{K_S_F11, "\316\207"},
{K_S_F12, "\316\210"},
{K_INS, "\316R"},
{K_DEL, "\316S"},
{K_HOME, "\316G"},
{K_END, "\316O"},
{K_PAGEDOWN, "\316Q"},
{K_PAGEUP, "\316I"},
# endif
# if defined(ALL_BUILTIN_TCAPS) || defined(__MINT__)
/*
* Ordinary vt52
*/
{(int)KS_NAME, "vt52"},
{(int)KS_CE, "\033K"},
{(int)KS_CD, "\033J"},
{(int)KS_CM, "\033Y%+ %+ "},
{(int)KS_LE, "\010"},
# ifdef __MINT__
{(int)KS_AL, "\033L"},
{(int)KS_DL, "\033M"},
{(int)KS_CL, "\033E"},
{(int)KS_SR, "\033I"},
{(int)KS_VE, "\033e"},
{(int)KS_VI, "\033f"},
{(int)KS_SO, "\033p"},
{(int)KS_SE, "\033q"},
{K_UP, "\033A"},
{K_DOWN, "\033B"},
{K_LEFT, "\033D"},
{K_RIGHT, "\033C"},
{K_S_UP, "\033a"},
{K_S_DOWN, "\033b"},
{K_S_LEFT, "\033d"},
{K_S_RIGHT, "\033c"},
{K_F1, "\033P"},
{K_F2, "\033Q"},
{K_F3, "\033R"},
{K_F4, "\033S"},
{K_F5, "\033T"},
{K_F6, "\033U"},
{K_F7, "\033V"},
{K_F8, "\033W"},
{K_F9, "\033X"},
{K_F10, "\033Y"},
{K_S_F1, "\033p"},
{K_S_F2, "\033q"},
{K_S_F3, "\033r"},
{K_S_F4, "\033s"},
{K_S_F5, "\033t"},
{K_S_F6, "\033u"},
{K_S_F7, "\033v"},
{K_S_F8, "\033w"},
{K_S_F9, "\033x"},
{K_S_F10, "\033y"},
{K_INS, "\033I"},
{K_HOME, "\033E"},
{K_PAGEDOWN, "\033b"},
{K_PAGEUP, "\033a"},
# else
{(int)KS_AL, "\033T"},
{(int)KS_DL, "\033U"},
{(int)KS_CL, "\033H\033J"},
{(int)KS_ME, "\033SO"},
{(int)KS_MR, "\033S2"},
{(int)KS_MS, "y"},
# endif
# endif
# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS) || defined(SOME_BUILTIN_TCAPS) || defined(__EMX__)
/*
* The xterm termcap is missing F14 and F15, because they send the same
* codes as the undo and help key, although they don't work on all keyboards.
*/
{(int)KS_NAME, "xterm"},
{(int)KS_CE, "\033[K"},
{(int)KS_AL, "\033[L"},
# ifdef TERMINFO
{(int)KS_CAL, "\033[%p1%dL"},
# else
{(int)KS_CAL, "\033[%dL"},
# endif
{(int)KS_DL, "\033[M"},
# ifdef TERMINFO
{(int)KS_CDL, "\033[%p1%dM"},
# else
{(int)KS_CDL, "\033[%dM"},
# endif
# ifdef TERMINFO
{(int)KS_CS, "\033[%i%p1%d;%p2%dr"},
# else
{(int)KS_CS, "\033[%i%d;%dr"},
# endif
{(int)KS_CL, "\033[H\033[2J"},
{(int)KS_CD, "\033[J"},
{(int)KS_ME, "\033[m"},
{(int)KS_MR, "\033[7m"},
{(int)KS_MD, "\033[1m"},
{(int)KS_UE, "\033[m"},
{(int)KS_US, "\033[4m"},
{(int)KS_MS, "y"},
{(int)KS_LE, "\010"},
# ifdef TERMINFO
{(int)KS_CM, "\033[%i%p1%d;%p2%dH"},
# else
{(int)KS_CM, "\033[%i%d;%dH"},
# endif
{(int)KS_SR, "\033M"},
# ifdef TERMINFO
{(int)KS_CRI, "\033[%p1%dC"},
# else
{(int)KS_CRI, "\033[%dC"},
# endif
{(int)KS_KS, "\033[?1h\033="},
{(int)KS_KE, "\033[?1l\033>"},
# ifdef SAVE_XTERM_SCREEN
{(int)KS_TI, "\0337\033[?47h"},
{(int)KS_TE, "\033[2J\033[?47l\0338"},
# endif
{K_UP, "\033OA"},
{K_DOWN, "\033OB"},
{K_LEFT, "\033OD"},
{K_RIGHT, "\033OC"},
{K_S_UP, "\033Ox"},
{K_S_DOWN, "\033Or"},
{K_S_LEFT, "\033Ot"},
{K_S_RIGHT, "\033Ov"},
/* An extra set of function keys for vt100 mode */
{K_XF1, "\033OP"},
{K_XF2, "\033OQ"},
{K_XF3, "\033OR"},
{K_XF4, "\033OS"},
{K_F1, "\033[11~"},
{K_F2, "\033[12~"},
{K_F3, "\033[13~"},
{K_F4, "\033[14~"},
{K_F5, "\033[15~"},
{K_F6, "\033[17~"},
{K_F7, "\033[18~"},
{K_F8, "\033[19~"},
{K_F9, "\033[20~"},
{K_F10, "\033[21~"},
{K_F11, "\033[23~"},
{K_F12, "\033[24~"},
{K_HELP, "\033[28~"},
{K_UNDO, "\033[26~"},
{K_INS, "\033[2~"},
{K_HOME, "\033[7~"},
{K_KHOME, "\033[1~"},
{K_END, "\033[8~"},
{K_KEND, "\033[4~"},
{K_PAGEUP, "\033[5~"},
{K_PAGEDOWN, "\033[6~"},
{K_KPLUS, "\033Ok"}, /* keypad plus */
{K_KMINUS, "\033Om"}, /* keypad minus */
{K_KDIVIDE, "\033Oo"}, /* keypad / */
{K_KMULTIPLY, "\033Oj"}, /* keypad * */
{K_KENTER, "\033OM"}, /* keypad Enter */
/* {K_DEL, "\033[3~"}, not used */
{BT_EXTRA_KEYS, ""},
{TERMCAP2KEY('k', '0'), "\033[10~"}, /* F0 */
{TERMCAP2KEY('F', '3'), "\033[25~"}, /* F13 */
{TERMCAP2KEY('F', '6'), "\033[29~"}, /* F16 */
{TERMCAP2KEY('F', '7'), "\033[31~"}, /* F17 */
{TERMCAP2KEY('F', '8'), "\033[32~"}, /* F18 */
{TERMCAP2KEY('F', '9'), "\033[33~"}, /* F19 */
{TERMCAP2KEY('F', 'A'), "\033[34~"}, /* F20 */
# endif
# if defined(UNIX) || defined(ALL_BUILTIN_TCAPS)
/*
* iris-ansi for Silicon Graphics machines.
*/
{(int)KS_NAME, "iris-ansi"},
{(int)KS_CE, "\033[K"},
{(int)KS_CD, "\033[J"},
{(int)KS_AL, "\033[L"},
# ifdef TERMINFO
{(int)KS_CAL, "\033[%p1%dL"},
# else
{(int)KS_CAL, "\033[%dL"},
# endif
{(int)KS_DL, "\033[M"},
# ifdef TERMINFO
{(int)KS_CDL, "\033[%p1%dM"},
# else
{(int)KS_CDL, "\033[%dM"},
# endif
/*
* This "cs" is not working correctly. What is the right one?
*/
#if 0
# ifdef TERMINFO
{(int)KS_CS, "\033[%i%p1%d;%p2%dr"},
# else
{(int)KS_CS, "\033[%i%d;%dr"},
# endif
#endif
{(int)KS_CL, "\033[H\033[2J"},
{(int)KS_VE, "\033[9/y\033[12/y\033[=6l"},
{(int)KS_VS, "\033[10/y\033[=1h\033[=2l\033[=6h"},
{(int)KS_SE, "\033[m"},
{(int)KS_SO, "\033[1;7m"},
{(int)KS_ME, "\033[m"},
{(int)KS_MR, "\033[7m"},
{(int)KS_MD, "\033[1m"},
{(int)KS_UE, "\033[m"},
{(int)KS_US, "\033[4m"},
{(int)KS_MS, "y"}, /* does this really work? */
{(int)KS_LE, "\010"},
# ifdef TERMINFO
{(int)KS_CM, "\033[%i%p1%d;%p2%dH"},
# else
{(int)KS_CM, "\033[%i%d;%dH"},
# endif
{(int)KS_SR, "\033M"},
# ifdef TERMINFO
{(int)KS_CRI, "\033[%p1%dC"},
# else
{(int)KS_CRI, "\033[%dC"},
# endif
{K_UP, "\033[A"},
{K_DOWN, "\033[B"},
{K_LEFT, "\033[D"},
{K_RIGHT, "\033[C"},
{K_S_UP, "\033[161q"},
{K_S_DOWN, "\033[164q"},
{K_S_LEFT, "\033[158q"},
{K_S_RIGHT, "\033[167q"},
{K_F1, "\033[001q"},
{K_F2, "\033[002q"},
{K_F3, "\033[003q"},
{K_F4, "\033[004q"},
{K_F5, "\033[005q"},
{K_F6, "\033[006q"},
{K_F7, "\033[007q"},
{K_F8, "\033[008q"},
{K_F9, "\033[009q"},
{K_F10, "\033[010q"},
{K_F11, "\033[011q"},
{K_F12, "\033[012q"},
{K_S_F1, "\033[013q"},
{K_S_F2, "\033[014q"},
{K_S_F3, "\033[015q"},
{K_S_F4, "\033[016q"},
{K_S_F5, "\033[017q"},
{K_S_F6, "\033[018q"},
{K_S_F7, "\033[019q"},
{K_S_F8, "\033[020q"},
{K_S_F9, "\033[021q"},
{K_S_F10, "\033[022q"},
{K_S_F11, "\033[023q"},
{K_S_F12, "\033[024q"},
{K_INS, "\033[139q"},
{K_HOME, "\033[H"},
{K_END, "\033[146q"},
{K_PAGEUP, "\033[150q"},
{K_PAGEDOWN, "\033[154q"},
# endif
# if defined(DEBUG) || defined(ALL_BUILTIN_TCAPS)
/*
* for debugging
*/
{(int)KS_NAME, "debug"},
{(int)KS_CE, "[CE]"},
{(int)KS_CD, "[CD]"},
{(int)KS_AL, "[AL]"},
# ifdef TERMINFO
{(int)KS_CAL, "[CAL%p1%d]"},
# else
{(int)KS_CAL, "[CAL%d]"},
# endif
{(int)KS_DL, "[DL]"},
# ifdef TERMINFO
{(int)KS_CDL, "[CDL%p1%d]"},
# else
{(int)KS_CDL, "[CDL%d]"},
# endif
# ifdef TERMINFO
{(int)KS_CS, "[%dCS%p1%d]"},
# else
{(int)KS_CS, "[%dCS%d]"},
# endif
# ifdef TERMINFO
{(int)KS_CAB, "[CAB%p1%d]"},
{(int)KS_CAF, "[CAF%p1%d]"},
{(int)KS_CSB, "[CSB%p1%d]"},
{(int)KS_CSF, "[CSF%p1%d]"},
# else
{(int)KS_CAB, "[CAB%d]"},
{(int)KS_CAF, "[CAF%d]"},
{(int)KS_CSB, "[CSB%d]"},
{(int)KS_CSF, "[CSF%d]"},
# endif
{(int)KS_OP, "[OP]"},
{(int)KS_LE, "[LE]"},
{(int)KS_CL, "[CL]"},
{(int)KS_VI, "[VI]"},
{(int)KS_VE, "[VE]"},
{(int)KS_VS, "[VS]"},
{(int)KS_ME, "[ME]"},
{(int)KS_MR, "[MR]"},
{(int)KS_MB, "[MB]"},
{(int)KS_MD, "[MD]"},
{(int)KS_SE, "[SE]"},
{(int)KS_SO, "[SO]"},
{(int)KS_UE, "[UE]"},
{(int)KS_US, "[US]"},
{(int)KS_MS, "[MS]"},
# ifdef TERMINFO
{(int)KS_CM, "[%p1%dCM%p2%d]"},
# else
{(int)KS_CM, "[%dCM%d]"},
# endif
{(int)KS_SR, "[SR]"},
# ifdef TERMINFO
{(int)KS_CRI, "[CRI%p1%d]"},
# else
{(int)KS_CRI, "[CRI%d]"},
# endif
{(int)KS_VB, "[VB]"},
{(int)KS_KS, "[KS]"},
{(int)KS_KE, "[KE]"},
{(int)KS_TI, "[TI]"},
{(int)KS_TE, "[TE]"},
{K_UP, "[KU]"},
{K_DOWN, "[KD]"},
{K_LEFT, "[KL]"},
{K_RIGHT, "[KR]"},
{K_S_UP, "[S-KU]"},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -