home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / UE311H.ZIP / EBIND.H < prev    next >
Text File  |  1991-10-09  |  12KB  |  356 lines

  1. /*    EBIND:        Initial default key to function bindings for
  2.             MicroEMACS 3.10
  3. */
  4.  
  5. /*
  6.  * Command table.
  7.  * This table  is *roughly* in ASCII order, left to right across the
  8.  * characters of the command. This explains the funny location of the
  9.  * control-X commands.
  10.  */
  11. NOSHARE KEYTAB    keytab[NBINDS] = {
  12.     {CTRL|'A',        BINDFNC,    gotobol},
  13.     {CTRL|'B',        BINDFNC,    backchar},
  14.     {CTRL|'C',        BINDFNC,    insspace},
  15.     {CTRL|'D',        BINDFNC,    forwdel},
  16.     {CTRL|'E',        BINDFNC,    gotoeol},
  17.     {CTRL|'F',        BINDFNC,    forwchar},
  18.     {CTRL|'G',        BINDFNC,    ctrlg},
  19.     {CTRL|'H',        BINDFNC,    backdel},
  20.     {CTRL|'I',        BINDFNC,    tab},
  21.     {CTRL|'J',        BINDFNC,    indent},
  22.     {CTRL|'K',        BINDFNC,    killtext},
  23.     {CTRL|'L',        BINDFNC,    refresh},
  24.     {CTRL|'M',        BINDFNC,    newline},
  25.     {CTRL|'N',        BINDFNC,    forwline},
  26.     {CTRL|'O',        BINDFNC,    openline},
  27.     {CTRL|'P',        BINDFNC,    backline},
  28.     {CTRL|'Q',        BINDFNC,    quote},
  29.     {CTRL|'R',        BINDFNC,    backsearch},
  30.     {CTRL|'S',        BINDFNC,    forwsearch},
  31.     {CTRL|'T',        BINDFNC,    twiddle},
  32.     {CTRL|'U',        BINDFNC,    unarg},
  33.     {CTRL|'V',        BINDFNC,    forwpage},
  34.     {CTRL|'W',        BINDFNC,    killregion},
  35.     {CTRL|'X',        BINDFNC,    cex},
  36.     {CTRL|'Y',        BINDFNC,    yank},
  37.     {CTRL|'Z',        BINDFNC,    backpage},
  38.     {CTRL|'[',        BINDFNC,    meta},
  39.     {CTLX|CTRL|'A',        BINDFNC,    fileapp},
  40.     {CTLX|CTRL|'B',     BINDFNC,    listbuffers},
  41.     {CTLX|CTRL|'C',     BINDFNC,    quit},
  42.     {CTLX|CTRL|'D',     BINDFNC,    detab},
  43.     {CTLX|CTRL|'E',     BINDFNC,    entab},
  44.     {CTLX|CTRL|'F',     BINDFNC,    filefind},
  45.     {CTLX|CTRL|'I',     BINDFNC,    insfile},
  46.     {CTLX|CTRL|'K',        BINDFNC,    macrotokey},
  47.     {CTLX|CTRL|'L',     BINDFNC,    lowerregion},
  48.     {CTLX|CTRL|'M',     BINDFNC,    delmode},
  49.     {CTLX|CTRL|'N',     BINDFNC,    mvdnwind},
  50.     {CTLX|CTRL|'O',     BINDFNC,    deblank},
  51.     {CTLX|CTRL|'P',     BINDFNC,    mvupwind},
  52.     {CTLX|CTRL|'R',     BINDFNC,    fileread},
  53.     {CTLX|CTRL|'S',     BINDFNC,    filesave},
  54.     {CTLX|CTRL|'T',     BINDFNC,    trim},
  55.     {CTLX|CTRL|'U',     BINDFNC,    upperregion},
  56.     {CTLX|CTRL|'V',     BINDFNC,    viewfile},
  57.     {CTLX|CTRL|'W',     BINDFNC,    filewrite},
  58.     {CTLX|CTRL|'X',     BINDFNC,    swapmark},
  59.     {CTLX|CTRL|'Z',     BINDFNC,    shrinkwind},
  60.     {CTLX|'?',        BINDFNC,    deskey},
  61.     {CTLX|'!',        BINDFNC,    spawn},
  62.     {CTLX|'@',        BINDFNC,    pipecmd},
  63.     {CTLX|'#',        BINDFNC,    filter},
  64.     {CTLX|'$',        BINDFNC,    execprg},
  65.     {CTLX|'=',        BINDFNC,    showcpos},
  66.     {CTLX|'(',        BINDFNC,    ctlxlp},
  67.     {CTLX|')',        BINDFNC,    ctlxrp},
  68.     {CTLX|'<',        BINDFNC,    narrow},
  69.     {CTLX|'>',        BINDFNC,    widen},
  70.     {CTLX|'^',        BINDFNC,    enlargewind},
  71.     {CTLX|' ',        BINDFNC,    remmark},
  72.     {CTLX|'0',        BINDFNC,    delwind},
  73.     {CTLX|'1',        BINDFNC,    onlywind},
  74.     {CTLX|'2',        BINDFNC,    splitwind},
  75.     {CTLX|'A',        BINDFNC,    setvar},
  76.     {CTLX|'B',        BINDFNC,    usebuffer},
  77.     {CTLX|'C',        BINDFNC,    spawncli},
  78. #if    BSD || VMS || SUN || HPUX || AVIION
  79.     {CTLX|'D',        BINDFNC,    bktoshell},
  80. #endif
  81.     {CTLX|'E',        BINDFNC,    ctlxe},
  82.     {CTLX|'F',        BINDFNC,    setfillcol},
  83. #if    DEBUGM
  84.     {CTLX|'G',        BINDFNC,    dispvar},
  85. #endif
  86.     {CTLX|'K',        BINDFNC,    killbuffer},
  87.     {CTLX|'M',        BINDFNC,    setmod},
  88.     {CTLX|'N',        BINDFNC,    filename},
  89.     {CTLX|'O',        BINDFNC,    nextwind},
  90.     {CTLX|'P',        BINDFNC,    prevwind},
  91. #if    ISRCH
  92.     {CTLX|'R',        BINDFNC,    risearch},
  93.     {CTLX|'S',        BINDFNC,    fisearch},
  94. #endif
  95.     {CTLX|'W',        BINDFNC,    resize},
  96.     {CTLX|'X',        BINDFNC,    nextbuffer},
  97.     {CTLX|'Z',        BINDFNC,    enlargewind},
  98.     {META|CTRL|'C',     BINDFNC,    wordcount},
  99.     {META|CTRL|'E',     BINDFNC,    execproc},
  100.     {META|CTRL|'F',     BINDFNC,    getfence},
  101.     {META|CTRL|'G',     BINDFNC,    gotomark},
  102.     {META|CTRL|'H',     BINDFNC,    delbword},
  103.     {META|CTRL|'K',     BINDFNC,    unbindkey},
  104.     {META|CTRL|'L',     BINDFNC,    reposition},
  105.     {META|CTRL|'M',     BINDFNC,    delgmode},
  106.     {META|CTRL|'N',     BINDFNC,    namebuffer},
  107.     {META|CTRL|'R',     BINDFNC,    qreplace},
  108.     {META|CTRL|'S',     BINDFNC,    execfile},
  109.     {META|CTRL|'V',     BINDFNC,    nextdown},
  110.     {META|CTRL|'W',     BINDFNC,    killpara},
  111.     {META|CTRL|'X',     BINDFNC,    execcmd},
  112.     {META|CTRL|'Z',     BINDFNC,    nextup},
  113.     {META|' ',        BINDFNC,    setmark},
  114.     {META|'?',        BINDFNC,    help},
  115.     {META|'!',        BINDFNC,    reposition},
  116.     {META|')',        BINDFNC,    indent_region},
  117.     {META|'(',        BINDFNC,    undent_region},
  118.     {META|'.',        BINDFNC,    setmark},
  119.     {META|'>',        BINDFNC,    gotoeob},
  120.     {META|'<',        BINDFNC,    gotobob},
  121.     {META|'~',        BINDFNC,    unmark},
  122.     {META|'A',        BINDFNC,    apro},
  123.     {META|'B',        BINDFNC,    backword},
  124.     {META|'C',        BINDFNC,    capword},
  125.     {META|'D',        BINDFNC,    delfword},
  126. #if    CRYPT
  127.     {META|'E',        BINDFNC,    setekey},
  128. #endif
  129.     {META|'F',        BINDFNC,    forwword},
  130.     {META|'G',        BINDFNC,    gotoline},
  131.     {META|'K',        BINDFNC,    bindtokey},
  132.     {META|'L',        BINDFNC,    lowerword},
  133.     {META|'M',        BINDFNC,    setgmode},
  134.     {META|'N',        BINDFNC,    gotoeop},
  135.     {META|'P',        BINDFNC,    gotobop},
  136.     {META|'Q',        BINDFNC,    fillpara},
  137.     {META|'R',        BINDFNC,    sreplace},
  138. #if    BSD || HPUX || VMS || SUN || AVIION
  139.     {META|'S',        BINDFNC,    bktoshell},
  140. #endif
  141.     {META|'U',        BINDFNC,    upperword},
  142.     {META|'V',        BINDFNC,    backpage},
  143.     {META|'W',        BINDFNC,    copyregion},
  144.     {META|'X',        BINDFNC,    namedcmd},
  145.     {META|'Z',        BINDFNC,    quickexit},
  146.     {META|CTRL|'?',        BINDFNC,    delbword},
  147.  
  148. #if    MOUSE
  149.     {MOUS|'a',        BINDFNC,    movemd},
  150.     {MOUS|'b',        BINDFNC,    movemu},
  151.     {MOUS|'e',        BINDFNC,    mregdown},
  152.     {MOUS|'f',        BINDFNC,    mregup},
  153.     {MOUS|'1',        BINDFNC,    resizm},
  154. #endif 
  155.  
  156.     {ALTD|'B',        BINDFNC,    list_screens},
  157.     {ALTD|'C',        BINDFNC,    cycle_screens},
  158.     {ALTD|'D',        BINDFNC,    delete_screen},
  159.     {ALTD|'F',        BINDFNC,    find_screen},
  160.     {ALTD|'R',        BINDFNC,    backhunt},
  161.     {ALTD|'S',        BINDFNC,    forwhunt},
  162.  
  163.     {SPEC|'<',        BINDFNC,    gotobob},    /* Home */
  164.     {SPEC|'P',        BINDFNC,    backline},    /* up */
  165.     {SPEC|'Z',        BINDFNC,    backpage},    /* PgUp */
  166.     {SPEC|'B',        BINDFNC,    backchar},    /* left */
  167.  
  168.     {SPEC|'L',        BINDFNC,    reposition},    /* NP5 */
  169.  
  170.     {SPEC|'F',        BINDFNC,    forwchar},    /* right */
  171.     {SPEC|'>',        BINDFNC,    gotoeob},    /* End */
  172.     {SPEC|'N',        BINDFNC,    forwline},    /* down */
  173.     {SPEC|'V',        BINDFNC,    forwpage},    /* PgDn */
  174.     {SPEC|'C',        BINDFNC,    insspace},    /* Ins */
  175.     {SPEC|'D',        BINDFNC,    forwdel},    /* Del */
  176.  
  177.     {SPEC|CTRL|'B',     BINDFNC,    backword},    /* ctrl left */
  178.     {SPEC|CTRL|'F',     BINDFNC,    forwword},    /* ctrl right */
  179.     {SPEC|CTRL|'Z',     BINDFNC,    gotobop},    /* ctrl PgUp */
  180.     {SPEC|CTRL|'V',     BINDFNC,    gotoeop},    /* ctrl PgDn */
  181.  
  182. #if ATKBD | OS2
  183.  
  184. /* The following keys are some of the extra ones that can be returned by an
  185.    AT-style keyboard.  By default we bind them to the same functions as the
  186.    equivalent PC keys.  However they, and the ones not mentioned here, are
  187.    available to the user for rebinding to functions of choice.
  188.  
  189.    See keyboard.c for a full list of available keys.
  190. */
  191.     {SPEC|'a',        BINDFNC,    gotobob},    /* grey Home */
  192.     {SPEC|'b',        BINDFNC,    backline},    /* grey up */
  193.     {SPEC|'c',        BINDFNC,    backpage},    /* grey PgUp */
  194.     {SPEC|'d',        BINDFNC,    backchar},    /* grey left */
  195.     {SPEC|'e',        BINDFNC,    reposition},    /* grey center */
  196.     {SPEC|'f',        BINDFNC,    forwchar},    /* grey right */
  197.     {SPEC|'g',        BINDFNC,    gotoeob},    /* grey End */
  198.     {SPEC|'h',        BINDFNC,    forwline},    /* grey down */
  199.     {SPEC|'i',        BINDFNC,    forwpage},    /* grey PgDn */
  200.     {SPEC|'j',        BINDFNC,    insspace},    /* grey Ins */
  201.     {SPEC|'k',        BINDFNC,    forwdel},    /* grey Del */
  202.  
  203.     {SPEC|CTRL|'c',        BINDFNC,    gotobop},    /* ctrl grey PgUp */
  204.     {SPEC|CTRL|'d',        BINDFNC,    backword},    /* ctrl grey left */
  205.     {SPEC|CTRL|'f',        BINDFNC,    forwword},    /* ctrl grey right */
  206.     {SPEC|CTRL|'i',        BINDFNC,    gotoeop},    /* ctrl grey PgDn */
  207.  
  208. #endif
  209.  
  210.     {SPEC|SHFT|'1',     BINDFNC,    cbuf1},
  211.     {SPEC|SHFT|'2',     BINDFNC,    cbuf2},
  212.     {SPEC|SHFT|'3',     BINDFNC,    cbuf3},
  213.     {SPEC|SHFT|'4',     BINDFNC,    cbuf4},
  214.     {SPEC|SHFT|'5',     BINDFNC,    cbuf5},
  215.     {SPEC|SHFT|'6',     BINDFNC,    cbuf6},
  216.     {SPEC|SHFT|'7',     BINDFNC,    cbuf7},
  217.     {SPEC|SHFT|'8',     BINDFNC,    cbuf8},
  218.     {SPEC|SHFT|'9',     BINDFNC,    cbuf9},
  219.     {SPEC|SHFT|'0',     BINDFNC,    cbuf10},
  220.  
  221. #if    HP150
  222.     {SPEC|32,        BINDFNC,    backline},
  223.     {SPEC|33,        BINDFNC,    forwline},
  224.     {SPEC|35,        BINDFNC,    backchar},
  225.     {SPEC|34,        BINDFNC,    forwchar},
  226.     {SPEC|44,        BINDFNC,    gotobob},
  227.     {SPEC|46,        BINDFNC,    forwpage},
  228.     {SPEC|47,        BINDFNC,    backpage},
  229.     {SPEC|82,        BINDFNC,    nextwind},
  230.     {SPEC|68,        BINDFNC,    openline},
  231.     {SPEC|69,        BINDFNC,    killtext},
  232.     {SPEC|65,        BINDFNC,    forwdel},
  233.     {SPEC|64,        BINDFNC,    ctlxe},
  234.     {SPEC|67,        BINDFNC,    refresh},
  235.     {SPEC|66,        BINDFNC,    reposition},
  236.     {SPEC|83,        BINDFNC,    help},
  237.     {SPEC|81,        BINDFNC,    deskey},
  238. #endif
  239.  
  240. #if    HP110
  241.     {SPEC|0x4b,        BINDFNC,    backchar},
  242.     {SPEC|0x4d,        BINDFNC,    forwchar},
  243.     {SPEC|0x48,        BINDFNC,    backline},
  244.     {SPEC|0x50,        BINDFNC,    forwline},
  245.     {SPEC|0x43,        BINDFNC,    help},
  246.     {SPEC|0x73,        BINDFNC,    backword},
  247.     {SPEC|0x74,        BINDFNC,    forwword},
  248.     {SPEC|0x49,        BINDFNC,    backpage},
  249.     {SPEC|0x51,        BINDFNC,    forwpage},
  250.     {SPEC|84,        BINDFNC,    cbuf1},
  251.     {SPEC|85,        BINDFNC,    cbuf2},
  252.     {SPEC|86,        BINDFNC,    cbuf3},
  253.     {SPEC|87,        BINDFNC,    cbuf4},
  254.     {SPEC|88,        BINDFNC,    cbuf5},
  255.     {SPEC|89,        BINDFNC,    cbuf6},
  256.     {SPEC|90,        BINDFNC,    cbuf7},
  257.     {SPEC|91,        BINDFNC,    cbuf8},
  258. #endif
  259.  
  260. #if    AMIGA
  261.     {SPEC|'?',        BINDFNC,    help},
  262.     {SPEC|'A',        BINDFNC,    backline},
  263.     {SPEC|'B',        BINDFNC,    forwline},
  264.     {SPEC|'C',        BINDFNC,    forwchar},
  265.     {SPEC|'D',        BINDFNC,    backchar},
  266.     {SPEC|'T',        BINDFNC,    backpage},
  267.     {SPEC|'S',        BINDFNC,    forwpage},
  268.     {SPEC|'a',        BINDFNC,    backword},
  269.     {SPEC|'`',        BINDFNC,    forwword},
  270.     {SPEC|'P',        BINDFNC,    cbuf1},
  271.     {SPEC|'Q',        BINDFNC,    cbuf2},
  272.     {SPEC|'R',        BINDFNC,    cbuf3},
  273.     {SPEC|'S',        BINDFNC,    cbuf4},
  274.     {SPEC|'T',        BINDFNC,    cbuf5},
  275.     {SPEC|'U',        BINDFNC,    cbuf6},
  276.     {SPEC|'V',        BINDFNC,    cbuf7},
  277.     {SPEC|'W',        BINDFNC,    cbuf8},
  278.     {SPEC|'X',        BINDFNC,    cbuf9},
  279.     {SPEC|'Y',        BINDFNC,    cbuf10},
  280.     {127,            BINDFNC,    forwdel},
  281. #endif
  282.  
  283. #if    TOS
  284.     {SPEC|CTRL|'5',        BINDFNC,    help},
  285. #endif
  286.  
  287. #if  WANGPC
  288.     SPEC|0xE0,        BINDFNC,    quit,        /* Cancel */
  289.     SPEC|0xE1,        BINDFNC,    help,        /* Help */
  290.     SPEC|0xF1,        BINDFNC,    help,        /* ^Help */
  291.     SPEC|0xE3,        BINDFNC,    ctrlg,        /* Print */
  292.     SPEC|0xF3,        BINDFNC,    ctrlg,        /* ^Print */
  293.     SPEC|0xC0,        BINDFNC,    backline,    /* North */
  294.     SPEC|0xD0,        BINDFNC,    gotobob,    /* ^North */
  295.     SPEC|0xC1,        BINDFNC,    forwchar,    /* East */
  296.     SPEC|0xD1,        BINDFNC,    gotoeol,    /* ^East */
  297.     SPEC|0xC2,        BINDFNC,    forwline,    /* South */
  298.     SPEC|0xD2,        BINDFNC,    gotobop,    /* ^South */
  299.     SPEC|0xC3,        BINDFNC,    backchar,    /* West */
  300.     SPEC|0xD3,        BINDFNC,    gotobol,    /* ^West */
  301.     SPEC|0xC4,        BINDFNC,    ctrlg,        /* Home */
  302.     SPEC|0xD4,        BINDFNC,    gotobob,    /* ^Home */
  303.     SPEC|0xC5,        BINDFNC,    filesave,    /* Execute */
  304.     SPEC|0xD5,        BINDFNC,    ctrlg,        /* ^Execute */
  305.     SPEC|0xC6,        BINDFNC,    insfile,    /* Insert */
  306.     SPEC|0xD6,        BINDFNC,    ctrlg,        /* ^Insert */
  307.     SPEC|0xC7,        BINDFNC,    forwdel,    /* Delete */
  308.     SPEC|0xD7,        BINDFNC,    killregion,    /* ^Delete */
  309.     SPEC|0xC8,        BINDFNC,    backpage,    /* Previous */
  310.     SPEC|0xD8,        BINDFNC,    prevwind,    /* ^Previous */
  311.     SPEC|0xC9,        BINDFNC,    forwpage,    /* Next */
  312.     SPEC|0xD9,        BINDFNC,    nextwind,    /* ^Next */
  313.     SPEC|0xCB,        BINDFNC,    ctrlg,        /* Erase */
  314.     SPEC|0xDB,        BINDFNC,    ctrlg,        /* ^Erase */
  315.     SPEC|0xDC,        BINDFNC,    ctrlg,        /* ^Tab */
  316.     SPEC|0xCD,        BINDFNC,    ctrlg,        /* BackTab */
  317.     SPEC|0xDD,        BINDFNC,    ctrlg,        /* ^BackTab */
  318.     SPEC|0x80,        BINDFNC,    ctrlg,        /* Indent */
  319.     SPEC|0x90,        BINDFNC,    ctrlg,        /* ^Indent */
  320.     SPEC|0x81,        BINDFNC,    ctrlg,        /* Page */
  321.     SPEC|0x91,        BINDFNC,    ctrlg,        /* ^Page */
  322.     SPEC|0x82,        BINDFNC,    ctrlg,        /* Center */
  323.     SPEC|0x92,        BINDFNC,    ctrlg,        /* ^Center */
  324.     SPEC|0x83,        BINDFNC,    ctrlg,        /* DecTab */
  325.     SPEC|0x93,        BINDFNC,    ctrlg,        /* ^DecTab */
  326.     SPEC|0x84,        BINDFNC,    ctrlg,        /* Format */
  327.     SPEC|0x94,        BINDFNC,    ctrlg,        /* ^Format */
  328.     SPEC|0x85,        BINDFNC,    ctrlg,        /* Merge */
  329.     SPEC|0x95,        BINDFNC,    ctrlg,        /* ^Merge */
  330.     SPEC|0x86,        BINDFNC,    setmark,    /* Note */
  331.     SPEC|0x96,        BINDFNC,    ctrlg,        /* ^Note */
  332.     SPEC|0x87,        BINDFNC,    ctrlg,        /* Stop */
  333.     SPEC|0x97,        BINDFNC,    ctrlg,        /* ^Stop */
  334.     SPEC|0x88,        BINDFNC,    forwsearch,    /* Srch */
  335.     SPEC|0x98,        BINDFNC,    backsearch,    /* ^Srch */
  336.     SPEC|0x89,        BINDFNC,    sreplace,    /* Replac */
  337.     SPEC|0x99,        BINDFNC,    qreplace,    /* ^Replac */
  338.     SPEC|0x8A,        BINDFNC,    ctrlg,        /* Copy */
  339.     SPEC|0x9A,        BINDFNC,    ctrlg,        /* ^Copy */
  340.     SPEC|0x8B,        BINDFNC,    ctrlg,        /* Move */
  341.     SPEC|0x9B,        BINDFNC,    ctrlg,        /* ^Move */
  342.     SPEC|0x8C,        BINDFNC,    namedcmd,    /* Command */
  343.     SPEC|0x9C,        BINDFNC,    spawn,        /* ^Command */
  344.     SPEC|0x8D,        BINDFNC,    ctrlg,        /* ^ */
  345.     SPEC|0x9D,        BINDFNC,    ctrlg,        /* ^^ */
  346.     SPEC|0x8E,        BINDFNC,    ctrlg,        /* Blank */
  347.     SPEC|0x9E,        BINDFNC,    ctrlg,        /* ^Blank */
  348.     SPEC|0x8F,        BINDFNC,    gotoline,    /* GoTo */
  349.     SPEC|0x9F,        BINDFNC,    usebuffer,    /* ^GoTo */
  350. #endif
  351.  
  352.     {CTRL|'?',        BINDFNC,    backdel},
  353.  
  354.     {0,            BINDNUL,    NULL}
  355. };
  356.