/************************************************************************* *** cmdmap.c (JJB TEMPLAR) *** *** Date begun: 26/8/89. *** *** Last modified: 26/8/89. *** *************************************************************************/ #include #include "cmd.h" #include "gadg.h" struct cmdmap uraw[] = { /* SHIFT and RAWKEY */ {0x10,C_QUIT}, /* Q */ {0x32,C_QUIT}, /* X */ {0x45,C_QUIT}, /* ESC */ {0x13,C_SEARCH_B}, /* R */ {0x38,C_TOP}, /* < */ {0x14,C_TOP}, /* T */ {0x39,C_BOTTOM}, /* > */ {0x35,C_BOTTOM}, /* B */ {0x4c,C_BACK_PAGE}, /* UP */ {0x41,C_BACK_PAGE}, /* */ {0x4d,C_FORW_PAGE}, /* DOWN */ {0x40,C_FORW_PAGE}, /* */ {0x4e,C_SRIGHT}, /* RIGHT */ {0x4f,C_SLEFT}, /* LEFT */ {0x3a,C_SEARCH_BNC}, /* ? */ {0x25,C_ABOUT}, /* H */ {0x5f,C_ABOUT}, /* */ {0x21,C_SEARCH_F}, /* S */ {0x36,C_FORW_FILE}, /* N */ {0x19,C_BACK_FILE}, /* P */ {0x34,C_VERSION}, /* V */ {0x44,C_FORW_LINE}, /* CR */ {0x37,C_SET_MARK}, /* M */ {0x24,C_GO_MARK}, /* G */ {0x05,C_PERCENT}, /* % */ {0x17,C_ICONIFY}, /* I */ {0x50,C_PRINT}, /* F1 */ {0x0c,C_MODE_ON}, /* + */ {0x5e,C_MODE_ON}, /* + NK */ {0x4a,C_MODE_OFF}, /* - NK */ {0x33,C_NEWCLI}, /* C */ {0x5d,C_NEWCLI}, /* * NK */ {0x12,C_EDITOR}, /* E */ {0x20,C_ADDFILE}, /* A */ {0xff,C_UNKNOWN} /* Terminator element. MUST be last */ }; struct cmdmap lraw[] = { /* Not SHIFT and RAWKEY */ {0x10,C_QUIT}, /* q */ {0x32,C_QUIT}, /* x */ {0x45,C_QUIT}, /* esc */ {0x14,C_TOP}, /* t */ {0x35,C_BOTTOM}, /* b */ {0x13,C_SEARCH_B}, /* r */ {0x38,C_SEARCH_B}, /* , */ {0x3a,C_SEARCH_FNC}, /* / */ {0x21,C_SEARCH_F}, /* s */ {0x39,C_SEARCH_F}, /* . */ {0x41,C_BACK_PAGE}, /* */ {0x40,C_FORW_PAGE}, /* */ {0x4c,C_BACK_LINE}, /* up */ {0x44,C_FORW_LINE}, /* CR */ {0x4d,C_FORW_LINE}, /* down */ {0x4e,C_RIGHT}, /* right */ {0x4f,C_LEFT}, /* left */ {0x25,C_HELP}, /* h */ {0x5f,C_HELP}, /* help */ {0x36,C_FORW_FILE}, /* n */ {0x19,C_BACK_FILE}, /* p */ {0x34,C_VERSION}, /* v */ {0x0c,C_INFO}, /* = */ {0x37,C_SET_MARK}, /* m */ {0x24,C_GO_MARK}, /* g */ {0x00,C_GO_MARK}, /* ` */ {0x17,C_ICONIFY}, /* i */ {0x50,C_PRINT}, /* f1 */ {0x5e,C_MODE_ON}, /* + NK */ {0x0b,C_MODE_OFF}, /* - */ {0x4a,C_MODE_OFF}, /* - NK */ {0x33,C_NEWCLI}, /* c */ {0x5d,C_NEWCLI}, /* * NK */ {0x12,C_EDITOR}, /* e */ {0x20,C_ADDFILE}, /* a */ {0xff,C_UNKNOWN} /* Terminator element. MUST be last */ }; struct cmdmap lgad[] = { {G_UP,C_BACK_LINE}, {G_DOWN,C_FORW_LINE}, {G_LEFT,C_LEFT}, {G_RIGHT,C_RIGHT}, {G_HELP,C_HELP}, {G_BOOM,C_BOOM}, {G_SEARCH,C_SEARCH_FNC}, {G_MARK,C_SET_MARK}, {G_MODE,C_MODE_ON}, {G_SCROLL,C_SCROLL}, {G_PERCENT,C_PERCENT}, {G_VERSION,C_VERSION}, {G_REPAINT,C_REPAINT}, {G_PRINT,C_PRINT}, {G_TOP,C_TOP}, {G_BOTTOM,C_BOTTOM}, {G_PREV,C_BACK_FILE}, {G_FILE,C_INFO}, {G_NEXT,C_FORW_FILE}, {G_HSCROLL,C_HSCROLL}, {0xff,C_UNKNOWN} }; struct cmdmap rgad[] = { {G_UP,C_BACK_PAGE}, {G_DOWN,C_FORW_PAGE}, {G_LEFT,C_SLEFT}, {G_RIGHT,C_SRIGHT}, {G_HELP,C_ABOUT}, {G_SEARCH,C_SEARCH_BNC}, {G_MARK,C_GO_MARK}, {G_MODE,C_MODE_OFF}, {G_BOOM,C_ICONIFY}, {0xff,C_UNKNOWN} }; int mapcmd(code,cmd) /*==============================================*/ register UBYTE code; register struct cmdmap *cmd; { while (cmd->command != C_UNKNOWN) { if (code == (UWORD)cmd->code) break; cmd++; } return((int)(cmd->command)); }