home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 287.lha / TY_v1.3 / src / cmdmap.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-09-07  |  5.1 KB  |  137 lines

  1. /*************************************************************************
  2.  ***                        cmdmap.c                     (JJB TEMPLAR) ***
  3.  *** Date begun: 26/8/89.                                              ***
  4.  *** Last modified: 26/8/89.                                           ***
  5.  *************************************************************************/
  6.  
  7. #include <exec/types.h>
  8.  
  9. #include "cmd.h"
  10. #include "gadg.h"
  11.  
  12. struct cmdmap   uraw[] = {              /* SHIFT and RAWKEY */
  13.     {0x10,C_QUIT},                      /* Q */
  14.     {0x32,C_QUIT},                      /* X */
  15.     {0x45,C_QUIT},                      /* ESC */
  16.     {0x13,C_SEARCH_B},                  /* R */
  17.     {0x38,C_TOP},                       /* < */
  18.     {0x14,C_TOP},                       /* T */
  19.     {0x39,C_BOTTOM},                    /* > */
  20.     {0x35,C_BOTTOM},                    /* B */
  21.     {0x4c,C_BACK_PAGE},                 /* UP */
  22.     {0x41,C_BACK_PAGE},                 /* <BS> */
  23.     {0x4d,C_FORW_PAGE},                 /* DOWN */
  24.     {0x40,C_FORW_PAGE},                 /* <SPC> */
  25.     {0x4e,C_SRIGHT},                    /* RIGHT */
  26.     {0x4f,C_SLEFT},                     /* LEFT */
  27.     {0x3a,C_SEARCH_BNC},                /* ? */
  28.     {0x25,C_ABOUT},                     /* H */
  29.     {0x5f,C_ABOUT},                     /* <HLP> */
  30.     {0x21,C_SEARCH_F},                  /* S */
  31.     {0x36,C_FORW_FILE},                 /* N */
  32.     {0x19,C_BACK_FILE},                 /* P */
  33.     {0x34,C_VERSION},                   /* V */
  34.     {0x44,C_FORW_LINE},                 /* CR */
  35.     {0x37,C_SET_MARK},                  /* M */
  36.     {0x24,C_GO_MARK},                   /* G */
  37.     {0x05,C_PERCENT},                   /* % */
  38.     {0x17,C_ICONIFY},                   /* I */
  39.     {0x50,C_PRINT},                     /* F1 */
  40.     {0x0c,C_MODE_ON},                   /* + */
  41.     {0x5e,C_MODE_ON},                   /* + NK */
  42.     {0x4a,C_MODE_OFF},                  /* - NK */
  43.     {0x33,C_NEWCLI},                    /* C */
  44.     {0x5d,C_NEWCLI},                    /* * NK */
  45.     {0x12,C_EDITOR},                    /* E */
  46.     {0x20,C_ADDFILE},                   /* A */
  47.     {0xff,C_UNKNOWN}                 /* Terminator element. MUST be last */
  48. };
  49.  
  50. struct cmdmap   lraw[] = {              /* Not SHIFT and RAWKEY */
  51.     {0x10,C_QUIT},                      /* q */
  52.     {0x32,C_QUIT},                      /* x */
  53.     {0x45,C_QUIT},                      /* esc */
  54.     {0x14,C_TOP},                       /* t */
  55.     {0x35,C_BOTTOM},                    /* b */
  56.     {0x13,C_SEARCH_B},                  /* r */
  57.     {0x38,C_SEARCH_B},                  /* , */
  58.     {0x3a,C_SEARCH_FNC},                /* / */
  59.     {0x21,C_SEARCH_F},                  /* s */
  60.     {0x39,C_SEARCH_F},                  /* . */
  61.     {0x41,C_BACK_PAGE},                 /* <bsp> */
  62.     {0x40,C_FORW_PAGE},                 /* <spc> */
  63.     {0x4c,C_BACK_LINE},                 /* up */
  64.     {0x44,C_FORW_LINE},                 /* CR */
  65.     {0x4d,C_FORW_LINE},                 /* down */
  66.     {0x4e,C_RIGHT},                     /* right */
  67.     {0x4f,C_LEFT},                      /* left */
  68.     {0x25,C_HELP},                      /* h */
  69.     {0x5f,C_HELP},                      /* help */
  70.     {0x36,C_FORW_FILE},                 /* n */
  71.     {0x19,C_BACK_FILE},                 /* p */
  72.     {0x34,C_VERSION},                   /* v */
  73.     {0x0c,C_INFO},                      /* = */
  74.     {0x37,C_SET_MARK},                  /* m */
  75.     {0x24,C_GO_MARK},                   /* g */
  76.     {0x00,C_GO_MARK},                   /* ` */
  77.     {0x17,C_ICONIFY},                   /* i */
  78.     {0x50,C_PRINT},                     /* f1 */
  79.     {0x5e,C_MODE_ON},                   /* + NK */
  80.     {0x0b,C_MODE_OFF},                  /* - */
  81.     {0x4a,C_MODE_OFF},                  /* - NK */
  82.     {0x33,C_NEWCLI},                    /* c */
  83.     {0x5d,C_NEWCLI},                    /* * NK */
  84.     {0x12,C_EDITOR},                    /* e */
  85.     {0x20,C_ADDFILE},                   /* a */
  86.     {0xff,C_UNKNOWN}                /* Terminator element. MUST be last */
  87. };
  88.  
  89. struct cmdmap lgad[] = {
  90.     {G_UP,C_BACK_LINE},
  91.     {G_DOWN,C_FORW_LINE},
  92.     {G_LEFT,C_LEFT},
  93.     {G_RIGHT,C_RIGHT},
  94.     {G_HELP,C_HELP},
  95.     {G_BOOM,C_BOOM},
  96.     {G_SEARCH,C_SEARCH_FNC},
  97.     {G_MARK,C_SET_MARK},
  98.     {G_MODE,C_MODE_ON},
  99.     {G_SCROLL,C_SCROLL},
  100.  
  101.     {G_PERCENT,C_PERCENT},
  102.     {G_VERSION,C_VERSION},
  103.     {G_REPAINT,C_REPAINT},
  104.     {G_PRINT,C_PRINT},
  105.     {G_TOP,C_TOP},
  106.     {G_BOTTOM,C_BOTTOM},
  107.     {G_PREV,C_BACK_FILE},
  108.     {G_FILE,C_INFO},
  109.     {G_NEXT,C_FORW_FILE},
  110.     {G_HSCROLL,C_HSCROLL},
  111.     {0xff,C_UNKNOWN}
  112. };
  113.  
  114. struct cmdmap rgad[] = {
  115.     {G_UP,C_BACK_PAGE},
  116.     {G_DOWN,C_FORW_PAGE},
  117.     {G_LEFT,C_SLEFT},
  118.     {G_RIGHT,C_SRIGHT},
  119.     {G_HELP,C_ABOUT},
  120.     {G_SEARCH,C_SEARCH_BNC},
  121.     {G_MARK,C_GO_MARK},
  122.     {G_MODE,C_MODE_OFF},
  123.     {G_BOOM,C_ICONIFY},
  124.     {0xff,C_UNKNOWN}
  125. };
  126.  
  127. int     mapcmd(code,cmd) /*==============================================*/
  128. register UBYTE  code;
  129. register struct cmdmap  *cmd;
  130. {
  131.     while (cmd->command != C_UNKNOWN) {
  132.         if (code == (UWORD)cmd->code) break;
  133.         cmd++;
  134.     }
  135.     return((int)(cmd->command));
  136. }
  137.