📄 lykeymap.c
字号:
#include "HTUtils.h"#include "tcp.h"#include "LYUtils.h"#include "LYKeymap.h"#include "LYGlobalDefs.h"#include "HTAccess.h"#include "HTFormat.h"#include "HTAlert.h"#include "LYLeaks.h"PRIVATE CONST DocAddress keymap_anchor = {"LYNXKEYMAP", NULL, NULL};struct _HTStream { HTStreamClass * isa;};/* the character gets 1 added to it before lookup, * so that EOF maps to 0 */char keymap[] = {0,/* EOF */0, LYK_HOME, LYK_PREV_PAGE, 0,/* nul */ /* ^A */ /* ^B */ /* ^C */LYK_ABORT, LYK_END, LYK_NEXT_PAGE, 0,/* ^D */ /* ^E */ /* ^F */ /* ^G */LYK_HISTORY, LYK_NEXT_LINK, LYK_ACTIVATE, LYK_COOKIE_JAR,/* bs */ /* ht */ /* nl */ /* ^K */LYK_REFRESH, LYK_ACTIVATE, LYK_DOWN_TWO, 0,/* ^L */ /* cr */ /* ^N */ /* ^O */LYK_UP_TWO, 0, LYK_RELOAD, 0,/* ^P */ /* XON */ /* ^R */ /* XOFF */#ifdef NOT_USEDLYK_TRACE_TOGGLE, 0, LYK_VERSION, LYK_REFRESH,/* ^T */ /* ^U */ /* ^V */ /* ^W */#endif /* NOT_USED */LYK_TRACE_TOGGLE, 0, LYK_SWITCH_DTD, LYK_REFRESH,/* ^T */ /* ^U */ /* ^V */ /* ^W */0, 0, 0, 0,/* ^X */ /* ^Y */ /* ^Z */ /* ESC */0, 0, 0, 0,/* ^\ */ /* ^] */ /* ^^ */ /* ^_ */LYK_NEXT_PAGE, LYK_SHELL, LYK_SOFT_DQUOTES, LYK_TOOLBAR,/* sp */ /* ! */ /* " */ /* # */0, 0, 0, LYK_HISTORICAL,/* $ */ /* % */ /* & */ /* ' */LYK_UP_HALF, LYK_DOWN_HALF, LYK_IMAGE_TOGGLE, LYK_NEXT_PAGE,/* ( */ /* ) */ /* * */ /* + */#ifndef USE_EXTERNALSLYK_NEXT_PAGE, LYK_PREV_PAGE, 0, LYK_WHEREIS,/* , */ /* - */ /* . */ /* / */#elseLYK_NEXT_PAGE, LYK_PREV_PAGE, LYK_EXTERN, LYK_WHEREIS,/* , */ /* - */ /* . */ /* / */#endifLYK_F_LINK_NUM, LYK_1, LYK_2, LYK_3,/* 0 */ /* 1 */ /* 2 */ /* 3 */LYK_4, LYK_5, LYK_6, LYK_7,/* 4 */ /* 5 */ /* 6 */ /* 7 */LYK_8, LYK_9, 0, LYK_TRACE_LOG,/* 8 */ /* 9 */ /* : */ /* ; */LYK_UP_LINK, LYK_INFO, LYK_DOWN_LINK, LYK_HELP,/* < */ /* = */ /* > */ /* ? */LYK_RAW_TOGGLE, LYK_ADD_BOOKMARK, LYK_PREV_PAGE, LYK_COMMENT,/* @ */ /* A */ /* B */ /* C */LYK_DOWNLOAD, LYK_ELGOTO, /* D */ /* E */ #if defined(DIRED_SUPPORT) || defined(VMS)LYK_DIRED_MENU,#else0, #endif /* DIRED_SUPPORT || VMS *//* F */ LYK_ECGOTO,/* G */LYK_HELP, LYK_INDEX, LYK_JUMP, LYK_KEYMAP,/* H */ /* I */ /* J */ /* K */LYK_LIST, LYK_MAIN_MENU, LYK_NEXT, LYK_OPTIONS,/* L */ /* M */ /* N */ /* O */LYK_PRINT, LYK_ABORT, LYK_DEL_BOOKMARK, LYK_INDEX_SEARCH,/* P */ /* Q */ /* R */ /* S */#ifdef DIRED_SUPPORTLYK_TAG_LINK, #else0,#endif /* DIRED_SUPPORT *//* T */ LYK_PREV_DOC, LYK_VLINKS, 0, /* U */ /* V */ /* W */#ifdef NOT_USEDLYK_FORM_UP, 0, LYK_FORM_DOWN, LYK_INLINE_TOGGLE,/* X */ /* Y */ /* Z */ /* [ */#endif /* NOT_USED */LYK_NOCACHE, 0, LYK_INTERRUPT, LYK_INLINE_TOGGLE,/* X */ /* Y */ /* Z */ /* [ */LYK_SOURCE, LYK_HEAD, 0, LYK_CLEAR_AUTH,/* \ */ /* ] */ /* ^ */ /* _ */LYK_MINIMAL, LYK_ADD_BOOKMARK, LYK_PREV_PAGE, LYK_COMMENT,/* ` */ /* a */ /* b */ /* c */LYK_DOWNLOAD, LYK_EDIT, /* d */ /* e */ #if defined(DIRED_SUPPORT) || defined(VMS)LYK_DIRED_MENU,#else0, #endif /* DIRED_SUPPORT || VMS *//* f */ LYK_GOTO,/* g */LYK_HELP, LYK_INDEX, LYK_JUMP, LYK_KEYMAP,/* h */ /* i */ /* j */ /* k */LYK_LIST, LYK_MAIN_MENU, LYK_NEXT, LYK_OPTIONS,/* l */ /* m */ /* n */ /* o */LYK_PRINT, LYK_QUIT, LYK_DEL_BOOKMARK, LYK_INDEX_SEARCH,/* p */ /* q */ /* r */ /* s */#ifdef DIRED_SUPPORTLYK_TAG_LINK, #else0,#endif /* DIRED_SUPPORT *//* t */ LYK_PREV_DOC, LYK_VIEW_BOOKMARK, 0, /* u */ /* v */ /* w */#ifdef NOT_USEDLYK_FORM_UP, 0, LYK_FORM_DOWN, 0,/* x */ /* y */ /* z */ /* { */#endif /* NOT_USED */LYK_NOCACHE, 0, LYK_INTERRUPT, 0,/* x */ /* y */ /* z */ /* { */LYK_PIPE, 0, 0, LYK_HISTORY,/* | */ /* } */ /* ~ */ /* del *//* 80..9F (illegal ISO-8859-1) 8-bit characters. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,/* A0..FF (permissible ISO-8859-1) 8-bit characters. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,/* 100..10E function key definitions in LYStrings.h */LYK_PREV_LINK, LYK_NEXT_LINK, LYK_ACTIVATE, LYK_PREV_DOC,/* UPARROW */ /* DNARROW */ /* RTARROW */ /* LTARROW */LYK_NEXT_PAGE, LYK_PREV_PAGE, LYK_HOME, LYK_END,/* PGDOWN */ /* PGUP */ /* HOME */ /* END */LYK_HELP, LYK_ACTIVATE, LYK_HOME, LYK_END,/* F1*/ /* Do key */ /* Find key */ /* Select key */LYK_UP_TWO, LYK_DOWN_TWO,/* Insert key */ /* Remove key */LYK_DO_NOTHING,/* DO_NOTHING*/};#if defined(DIRED_SUPPORT) && defined(OK_OVERRIDE)/* * This table is used to override the standard keyboard assignments * when lynx_edit_mode is in effect and keyboard overrides have been * allowed at compile time. */char override[] = { 0,/* EOF */ 0, 0, 0, 0,/* nul */ /* ^A */ /* ^B */ /* ^C */ 0, 0, 0, 0,/* ^D */ /* ^E */ /* ^F */ /* ^G */ 0, 0, 0, 0,/* bs */ /* ht */ /* nl */ /* ^K */ 0, 0, 0, 0,/* ^L */ /* cr */ /* ^N */ /* ^O */ 0, 0, 0, 0,/* ^P */ /* XON */ /* ^R */ /* XOFF */ 0, LYK_PREV_DOC, 0, 0,/* ^T */ /* ^U */ /* ^V */ /* ^W */ 0, 0, 0, 0,/* ^X */ /* ^Y */ /* ^Z */ /* ESC */ 0, 0, 0, 0,/* ^\ */ /* ^] */ /* ^^ */ /* ^_ */ 0, 0, 0, 0,/* sp */ /* ! */ /* " */ /* # */ 0, 0, 0, 0,/* $ */ /* % */ /* & */ /* ' */ 0, 0, 0, 0,/* ( */ /* ) */ /* * */ /* + */ 0, 0, LYK_TAG_LINK, 0,/* , */ /* - */ /* . */ /* / */ 0, 0, 0, 0,/* 0 */ /* 1 */ /* 2 */ /* 3 */ 0, 0, 0, 0,/* 4 */ /* 5 */ /* 6 */ /* 7 */ 0, 0, 0, 0,/* 8 */ /* 9 */ /* : */ /* ; */ 0, 0, 0, 0,/* < */ /* = */ /* > */ /* ? */ 0, 0, 0, LYK_CREATE,/* @ */ /* A */ /* B */ /* C */ 0, 0, LYK_DIRED_MENU, 0,/* D */ /* E */ /* F */ /* G */ 0, 0, 0, 0,/* H */ /* I */ /* J */ /* K */ 0, LYK_MODIFY, 0, 0,/* L */ /* M */ /* N */ /* O */ 0, 0, LYK_REMOVE, 0,/* P */ /* Q */ /* R */ /* S */LYK_TAG_LINK, LYK_UPLOAD, 0, 0,/* T */ /* U */ /* V */ /* W */ 0, 0, 0, 0,/* X */ /* Y */ /* Z */ /* [ */ 0, 0, 0, 0,/* \ */ /* ] */ /* ^ */ /* _ */0, 0, 0, LYK_CREATE,/* ` */ /* a */ /* b */ /* c */ 0, 0, LYK_DIRED_MENU, 0,/* d */ /* e */ /* f */ /* g */ 0, 0, 0, 0,/* h */ /* i */ /* j */ /* k */0, LYK_MODIFY, 0, 0,/* l */ /* m */ /* n */ /* o */ 0, 0, LYK_REMOVE, 0,/* p */ /* q */ /* r */ /* s */LYK_TAG_LINK, LYK_UPLOAD, 0, 0,/* t */ /* u */ /* v */ /* w */ 0, 0, 0, 0,/* x */ /* y */ /* z */ /* { */ 0, 0, 0, 0,/* | */ /* } */ /* ~ */ /* del *//* 80..9F (illegal ISO-8859-1) 8-bit characters. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,/* A0..FF (permissible ISO-8859-1) 8-bit characters. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,/* 100..10E function key definitions in LYStrings.h */ 0, 0, 0, 0,/* UPARROW */ /* DNARROW */ /* RTARROW */ /* LTARROW */ 0, 0, 0, 0,/* PGDOWN */ /* PGUP */ /* HOME */ /* END */ 0, 0, 0, 0,/* F1*/ /* Do key */ /* Find key */ /* Select key */ 0, 0,/* Insert key */ /* Remove key */LYK_DO_NOTHING,/* DO_NOTHING*/};#endif /* DIRED_SUPPORT && OK_OVERRIDE */struct rmap { char *name; char *doc;};PRIVATE struct rmap revmap[] = {{ "UNMAPPED", NULL },{ "1", NULL },{ "2", NULL },{ "3", NULL },{ "4", NULL },{ "5", NULL },{ "6", NULL },{ "7", NULL },{ "8", NULL },{ "9", NULL },{ "SOURCE", "toggle source/presentation for current document" },{ "RELOAD", "reload the current document" },{ "PIPE", "pipe the current document to an external command" },{ "QUIT", "quit the browser" },{ "ABORT", "quit the browser unconditionally" },{ "NEXT_PAGE", "view the next page of the document" },
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -