home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / CMDS / memacs400_src.lzh / MEMACS400 / H / ebind.h < prev    next >
Text File  |  1996-04-26  |  12KB  |  352 lines

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