home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 24 / CD_ASCQ_24_0995.iso / dos / tools / aurora21 / qekbd.aml < prev    next >
Text File  |  1995-08-10  |  23KB  |  603 lines

  1.  
  2. // -------------------------------------------------------------------
  3. // The Aurora Editor v2.1
  4. // Copyright 1993-1995 nuText Systems. All Rights Reserved Worldwide.
  5. //
  6. // QEdit/TSE Keyboard definitions (included by MAIN.AML)
  7. //
  8. // If you have made any changes, save this file and select 'Recompile
  9. // the Editor' from the Set menu. Exit and re-enter the editor for
  10. // your changes to take effect.
  11. // -------------------------------------------------------------------
  12.  
  13. // -------------------------------------------------------------------
  14. //  Edit and File Manager windows
  15. // -------------------------------------------------------------------
  16.  
  17.   object  edit_fmgr
  18.  
  19.   // Controls
  20.   function  '≡'                                // close window
  21.     close
  22.   end
  23.  
  24.   // Menu activation
  25.   key  <esc>           gotobar                 // to last menu bar item (qe)
  26.   key  <f10>           gotobar                 // to last menu bar item (qe)
  27.   key  <f1>            gotomenu "help"         // goto help pull-down menu (qe)
  28.   key  <alt t>         gotobar2                // to last toolbar/drive item
  29.   key  <alt f>         gotomenu "file"         // to file menu (qe)
  30.  
  31.   // Scroll
  32.   key  <pgdn>          pagedown                // scroll down (qe)
  33.   key  <pgup>          pageup                  // scroll up (qe)
  34.   key  <ctrl home>     row (getviewtop)        // to page top (qe)
  35.   key  <ctrl end>      row (getviewbot)        // to page bottom (qe)
  36.   key  <ctrl pgup>     row 1                   // to file top (qe)
  37.   key  <ctrl pgdn>     row (getlines)          // to file bottom (qe)
  38.   key  <shift f5>      adjustrow               // center cursor (qe)
  39.   key  <f5>            adjustrow 1             // scroll to page top (qe)
  40.   key  <ctrl f10>      adjustrow (getviewrows) // scroll to page bottom
  41.  
  42.   // scroll down one line (qe)
  43.   key  <ctrl z>
  44.     rollrow 1
  45.     if getrow > getviewtop then
  46.       up
  47.     end
  48.   end
  49.  
  50.   // scroll up one line (qe)
  51.   key  <ctrl w>
  52.     rollrow -1
  53.     if getrow < getviewbot then
  54.       down
  55.     end
  56.   end
  57.  
  58.   key  <ctrl up>       rollrow -1              // scroll up one line (qe)
  59.   key  <ctrl down>     rollrow  1              // scroll down one line (qe)
  60.   key  <alt f5>        rollcol -1              // scroll left one col (qe)
  61.   key  <alt f6>        rollcol  1              // scroll right one col (qe)
  62.   key  <ctrl q><p>     lastpos                 // to last cursor position (qe)
  63.  
  64.   // File
  65.   key  <alt e>         askopen                 // open prompt (qe)
  66.   key  <alt 0>         filelist                // file list (qe)
  67.   key  <ctrl k><q>     close                   // close window (qe)
  68.   key  <alt x>         closeall                // close all windows (qe)
  69.   key  <shift f1>      quickref 'qw'           // quick function reference
  70.   key  <shift f2>      quickref 'fw'           // function reference
  71.  
  72.   // Window
  73.   key  <ctrl o><z>     maximize                // maximize window (qe)
  74.   key  <ctrl o><n>     nextwindow              // next window (qe)
  75.   key  <ctrl o><p>     prevwindow              // prev window (qe)
  76.   key  <ctrl k><q>     close                   // close file (qe)
  77.  
  78.   // close window (qe)
  79.   key  <ctrl o><c>
  80.     if getwincount > 1 then
  81.       deletewin
  82.     end
  83.     tile 'v'
  84.   end
  85.  
  86.   // one window (qe)
  87.   key <ctrl o><o>
  88.     while getwincount > 1 do
  89.       deletewin
  90.     end
  91.     cascade
  92.   end
  93.  
  94.   // Search
  95.   key  <ctrl s>        askscan                 // file scan prompt
  96.  
  97.   key  <ctrl [>        gotomark 't'            // find top of block (qe)
  98.   key  <ctrl q><b>     call <ctrl [>
  99.   key  <ctrl ]>        gotomark 'b'            // find bot of block (qe)
  100.   key  <ctrl q><k>     call <ctrl ]>
  101.  
  102.   // Set
  103.   key  <ctrl f1>       togglemode              // toggle video mode (qe)
  104.   key  <f12>           recompile               // recompile the editor
  105.  
  106.   // Macro
  107.   key  <alt f9>        askrun                  // DOS command prompt (qe)
  108.   key  <alt f8>        askruncap               // DOS capture prompt
  109.   key  <f9>            shell                   // exit to DOS (qe)
  110.   key  <shift f12>     pickmacro               // macro picklist
  111.   key  <ctrl f12>      runmac "maclist"        // macro menu
  112.  
  113.   // undefined or unnamed keys
  114.   key <otherkey> (keycode)
  115.     say (getkeyname (keycode)) + " not defined"
  116.   end
  117.  
  118.  
  119. // -------------------------------------------------------------------
  120. //  Prompts and Edit windows
  121. // -------------------------------------------------------------------
  122.  
  123.   object  prompt
  124.  
  125.   // Controls
  126.   function  '≡'        close                   // close window
  127.   end
  128.  
  129.   function  '*'        enter                   // simulate <enter>
  130.   end                                          //  (2-line box only)
  131.  
  132.   // Cursor
  133.   key  <left>          left                    // move cursor left (qe)
  134.   key  <right>         right                   // move cursor right (qe)
  135.   key  <home>          col 1                   // to column one (qe)
  136.   key  <end>           col  getlinelen + 1     // to end of line (qe)
  137.  
  138.   // Cursor + CUA-marking
  139.   key  <shift left>    left
  140.                        smark
  141.   key  <shift right>   right
  142.                        smark
  143.   key  <shift home>    col 1
  144.                        smark
  145.   key  <shift end>     col getlinelen + 1
  146.                        smark
  147.  
  148.   // Scroll
  149.   key  <f7>            rollcol -(getviewcols - 1)   // page left
  150.   key  <f8>            rollcol   getviewcols - 1    // page right
  151.  
  152.   // Editing
  153.   key  <ins>           setting 'I' TOGGLE      // toggle insert mode (qe)
  154.   key  <del>           delchar                 // delete character (qe)
  155.   key  <backspace>     backsp                  // delete left character (qe)
  156.   key  <f6>            delchar (getlinelen)    // erase to end of line (qe)
  157.   key  <alt del>       call <f6>
  158.   key  <ctrl p>        literal                 // enter literal character (qe)
  159.   key  <ctrl a>        asciilist               // display ascii chart (qe)
  160.  
  161.   // Block
  162.   key  <alt a>         markchar                // mark stream (qe)
  163.   key  <alt k>         markcolumn              // mark column (qe)
  164.   key  <ctrl k><t>     markword                // mark word (qe)
  165.   key  <alt 2>         markeol                 // mark to end of line
  166.   key  <alt u>         destroymark             // unmark (qe)
  167.  
  168.   // copy block to prompt (qe)
  169.   key  <alt c>
  170.                        instext (getmarktext)
  171.                        col  getlinelen + 1
  172.  
  173.   // paste from clipboard to prompt (qe)
  174.   key  <grey*>
  175.                        oldmark = usemark _ClipName
  176.                        instext (getmarktext)
  177.                        usemark oldmark
  178.                        col  getlinelen + 1
  179.  
  180.   // copy from prompt to clipboard (qe)
  181.   key  <grey+>         copy
  182.  
  183.   // Prompt history
  184.   key  <up>            prevhist                // retrieve prev prompt
  185.   key  <down>          nexthist                // retrieve next prompt
  186.   key  <pgup>          askhistory              // history popup menu
  187.   key  <pgdn>          askhistory              // history popup menu
  188.  
  189.   // Exit
  190.   key  <esc>           close                   // quit prompt (qe)
  191.   key  <ctrl k><q>     call <esc>
  192.  
  193.   // non-function keys
  194.   key  <char> (character)                      // typeable keys
  195.     write character
  196.   end
  197.  
  198.   // filename completion
  199.   key  <ctrl tab>      askcomplete             // filename completion
  200.   key  <tab>           askcomplete             // filename completion (qe)
  201.   end
  202.  
  203.  
  204. // -------------------------------------------------------------------
  205. //  Edit windows
  206. // -------------------------------------------------------------------
  207.  
  208.   object  edit
  209.  
  210.   // Controls
  211.   function  '≡'
  212.     close                                      // close window
  213.   end
  214.  
  215.   // Menu
  216.   key  <esc>           gotobar                 // to last menu bar item (qe)
  217.  
  218.   // Cursor
  219.   key  <up>            up                      // move cursor up (qe)
  220.   key  <down>          down                    // move cursor down (qe)
  221.  
  222.   // Cursor + CUA-marking
  223.   key  <shift up>      up
  224.                        smark
  225.   key  <shift down>    down
  226.                        smark
  227.  
  228.   key  <enter>         enter                   // enter key (qe)
  229.   key  <greyenter>     enter                   // keypad enter key (qe)
  230.   key  <del>           delchar2                // delete character (qe)
  231.   key  <backspace>     backsp                  // delete left char (qe)
  232.   key  <ctrl t>        delword _CSet           // delete right word (qe)
  233.   key  <ctrl del>      call <ctrl t>
  234.  
  235.   key  <tab>           tabright                // tab right (qe)
  236.   key  <shift tab>     tableft                 // tab left (qe)
  237.  
  238.   key  <ctrl left>     prevword                // find prev word (qe)
  239.                        smark
  240.   key  <ctrl right>    nextword                // find next word (qe)
  241.                        smark
  242.  
  243.   // Scroll
  244.   key  <pgdn>          pagedown                // page down (qe)
  245.   key  <pgup>          pageup                  // page up (qe)
  246.  
  247.   // Scroll + CUA-marking
  248.   key  <shift pgdn>    pagedown
  249.                        smark
  250.   key  <shift pgup>    pageup
  251.                        smark
  252.  
  253.   key  <ctrl home>     row (getviewtop)        // to page top (qe)
  254.                        smark
  255.   key  <ctrl end>      row (getviewbot)        // to page bottom (qe)
  256.                        smark
  257.  
  258.   key  <ctrl pgup>     row 1                   // to file top (qe)
  259.                        smark
  260.   key  <ctrl pgdn>     row (getlines)          // to file bottom (qe)
  261.                        smark
  262.  
  263.   // File
  264.   key  <alt r>         askinsert               // open and insert prompt (qe)
  265.   key  <alt o>         askname                 // rename prompt (qe)
  266.   key  <ctrl k><s>     save                    // save file (qe)
  267.   key  <alt n>         nextfile                // next file (qe)
  268.   key  <alt p>         prevfile                // prev file (qe)
  269.   key  <ctrl k><q>     close                   // close file/window (qe)
  270.   key  <ctrl k><x>     close 's'               // save & close file/window (qe)
  271.   key  <ctrl k><z>     deletefile (getbufname) // killfile (qe)
  272.  
  273.   // Window
  274.   key  <ctrl o><d>                             // delete window (qe)
  275.     if getwincount > 1 then
  276.       deletewin
  277.     end
  278.   end
  279.  
  280.   key  <ctrl o><h>     splitwin 'h'            // split window horz (qe)
  281.   key  <ctrl o><v>     splitwin 'v'            // split window vert (qe)
  282.   key  <ctrl f8>       toolbar                 // display tool bar
  283.  
  284.   // Block
  285.   key  <alt l>         markline                // mark line (qe)
  286.   key  <alt 3>         markpara "tb"           // mark paragraph
  287.   key  <alt c>         copyblock2              // copy block (qe)
  288.   key  <alt z>         copyblockover           // overlay block (qe)
  289.   key  <alt m>         moveblock2              // move block (qe)
  290.   key  <alt g>         deleteblock2            // delete block (qe)
  291.   key  <shift f7>      shiftblock -1           // unindent block (qe)
  292.   key  <shift f8>      shiftblock  1           // indent block (qe) **
  293.   key  <ctrl k><l>     fillblock2              // fill block with string (qe)
  294.   key  <alt b>         formatblock2            // reformat block (qe)
  295.   key  <alt w>         saveblock2              // save block (qe)
  296.   key  <shift f3>      sortblock2              // sort block (qe)
  297.   key  <shift f9>      quote                   // quote a block
  298.   key  <ctrl k><c>     justblock2 'c'          // center a block
  299.  
  300.   // Search
  301.   key  <ctrl f>        askfind                 // find prompt (qe)
  302.   key  <ctrl q><f>     call <ctrl f>
  303.   key  <ctrl r>        askrepl                 // replace prompt (qe)
  304.   key  <ctrl i>        isearch                 // incremental search (qe)
  305.   key  <alt v>         askfindo                // find occurrences (qe)
  306.   key  <ctrl l>        findlast                // do last find/replace (qe)
  307.  
  308.   key  <ctrl 2>        placebook               // place bookmark (qe)
  309.   key  <ctrl 6>        askbook                 // goto bookmark (qe)
  310.  
  311.   // place bookmarks (qe)
  312.   key  <ctrl k><0>     placebook 'q'
  313.   key  <ctrl k><1>     placebook 'r'
  314.   key  <ctrl k><2>     placebook 's'
  315.   key  <ctrl k><3>     placebook 't'
  316.   key  <ctrl k><4>     placebook 'u'
  317.   key  <ctrl k><5>     placebook 'v'
  318.   key  <ctrl k><6>     placebook 'w'
  319.   key  <ctrl k><7>     placebook 'x'
  320.   key  <ctrl k><8>     placebook 'y'
  321.   key  <ctrl k><9>     placebook 'z'
  322.  
  323.   // goto bookmarks (qe)
  324.   key  <ctrl q><0>     gotobook2 'q'
  325.   key  <ctrl q><1>     gotobook2 'r'
  326.   key  <ctrl q><2>     gotobook2 's'
  327.   key  <ctrl q><3>     gotobook2 't'
  328.   key  <ctrl q><4>     gotobook2 'u'
  329.   key  <ctrl q><5>     gotobook2 'v'
  330.   key  <ctrl q><6>     gotobook2 'w'
  331.   key  <ctrl q><7>     gotobook2 'x'
  332.   key  <ctrl q><8>     gotobook2 'y'
  333.   key  <ctrl q><9>     gotobook2 'z'
  334.  
  335.   key  <ctrl c>        askcol                  // go to col prompt (qe)
  336.   key  <ctrl j>        askrow                  // go to line prompt (qe)
  337.  
  338.   key  <alt 7>         search2 "f/f"           // go to next fold
  339.   key  <alt f3>        gotomatch2              // find matching char (qe)
  340.   key  <alt f7>        gotoerror               // go to compiler error
  341.  
  342.   // find word at cursor
  343.   function  fcursor (option)
  344.     word = getword _CSet
  345.     if word then
  346.       search2 word + '/' + option
  347.     end
  348.   end
  349.  
  350.   key  <alt =>         fcursor ''              // find word at cursor (qe)
  351.   key  <ctrl \>        fcursor 'g'             // find word at cursor (qe)
  352.  
  353.   // display function list (qe)
  354.   function  <ctrl g>
  355.     string = case  getext (getbufname)
  356.                when ".C", ".CPP"
  357.                  "^[a-zA-Z_].*\\(.*[~;]$"
  358.                when ".AML"
  359.                  "^ *{function}|{key}.*$"
  360.                when ".PAS"
  361.                  "{procedure}|{function} +[a-zA-Z_]"
  362.                when ".PRG", ".SPR", ".MPR", ".QPR", ".FMT", ".FRG", ".LBG", ".CH"
  363.                  "^{procedure}|{function} +[a-zA-Z_]"
  364.                otherwise
  365.                  ""
  366.              end
  367.     if string then
  368.       findo string + "/ix"
  369.     else
  370.       say "Extension not supported"
  371.     end
  372.   end
  373.  
  374.   // Fold
  375.   key  <alt 8>         foldline                // fold next line
  376.   key  <alt 9>         foldline 'u'            // unfold next line
  377.   key  <alt \>                                 // open or close fold
  378.     if fold? then
  379.        openfold
  380.     else
  381.        closefold
  382.     end
  383.   end
  384.   key  <alt [>         foldall 'os'            // open all folds
  385.   key  <alt ]>         foldall 'cs'            // close all folds
  386.  
  387.   // Edit
  388.   key  <ctrl u>        undo                    // undo last change
  389.   key  <ctrl k><r>     redo                    // redo last change
  390.  
  391.   key  <f2>            insline                 // insert line (qe)
  392.                        down
  393.  
  394.   key  <alt f2>        insabove                // insert line above (qe)
  395.                        up
  396.   key  <ctrl n>        call <alt f2>           // insert line above (qe)
  397.  
  398.   key  <alt d>         delline                 // delete line (qe)
  399.   key  <ctrl d>        call <alt d>
  400.   key  <ctrl y>        call <alt d>
  401.  
  402.   key  <alt s>         splitline2              // split line (qe)
  403.   key  <alt j>         joinline                // join line (qe)
  404.   key  <f4>            insline (gettext)       // duplicate line (qe)
  405.                        down
  406.   key  <ctrl f2>       swapline                // swap line (qe)
  407.   key  <ctrl o><t>     centerline              // center line (qe)
  408.   key  <alt f1>        commentline             // comment/uncomment line
  409.  
  410.   // display menu to change case (qe)
  411.   function  casemenu (upper)
  412.     select = popup "chgcase" (if? upper "Upper" "Lower") + " Case"
  413.     if select then
  414.       undobegin
  415.       if select < 3 then
  416.         usemark 'T'
  417.       end
  418.       case select
  419.         when 1  markword _CSet
  420.         when 2  markline
  421.       end
  422.       caseblock (if? upper 'u' 'l')
  423.       if select < 3 then
  424.         destroymark
  425.         usemark
  426.       end
  427.       undoend
  428.     end
  429.   end
  430.  
  431.   key  <shift f4>  casemenu TRUE               // uppercase menu (qe)
  432.   key  <alt f4>    casemenu FALSE              // lowercase menu (qe)
  433.  
  434.   // copy character above (qe)
  435.   key  <ctrl ->
  436.     if getrow > 1 then
  437.       writetext (getchar (getcol) getrow - 1)
  438.     end
  439.   end
  440.  
  441.   // copy character above to end of line (qe)
  442.   key  <alt ->
  443.     if getrow > 1 then
  444.       writetext (gettext (getcol) '' getrow - 1)
  445.     end
  446.   end
  447.  
  448.   // Clipboard
  449.   key  <grey->         cut                     // cut (qe)
  450.   key  <ctrl grey->    cut 'a'                 // cut append (qe)
  451.   key  <grey+>         copy                    // copy (qe)
  452.   key  <ctrl grey+>    copy 'a'                // copy append (qe)
  453.   key  <grey*>         paste                   // paste (qe)
  454.   key  <ctrl grey*>    paste 'o'               // paste over (qe)
  455.   key  <ctrl grey/>    clear                   // clear clipboard
  456.   key  <ctrl b>        popup "editClip"        // clipboard menu (qe)
  457.  
  458.   // Set
  459.   key  <ctrl o><w>     setting 'L' TOGGLE      // live word wrap toggle (qe)
  460.   key  <ctrl q><i>     setting 'A' TOGGLE      // autoindent toggle (qe)
  461.   key  <ctrl q><t>     setting 'S' TOGGLE      // smart tabs toggle (qe)
  462.   key  <ctrl v>        setting 'D' TOGGLE      // line draw toggle (qe)
  463.  
  464.   //Macro
  465.   key  <ctrl x>        askrmacro               // run macro prompt (qe)
  466.   key  <ctrl f9>       compilemacro2 (getbufname)  // compile current file (qe)
  467.   key  <shift f11>     runmacro2 (getbufname)      // run current file
  468.  
  469.   // non-function (typeable) keys
  470.   key  <char> (character)                      // typeable keys
  471.     write character
  472.   end
  473.  
  474.   // Other
  475.   key  <ctrl q><ctrl q>  askrepkey             // repeat entered keys (qe)
  476.  
  477.   // invoke a spell checker from within an edit window
  478.   // (replace 'jspell' with your favorite spell checker)
  479.   key  <f11>
  480.     save                                       // save the current file
  481.     run  "jspell " + getbufname  "ck"          // call spellchecker
  482.     reopen                                     // reopen current file
  483.   end
  484.  
  485. // -------------------------------------------------------------------
  486. //  File Manager windows
  487. // -------------------------------------------------------------------
  488.  
  489.   object  fmgr
  490.  
  491.   // Menu activation
  492.   key  <tab>           gotobar2                // to drive menu bar
  493.  
  494.   // Cursor
  495.   key  <left>          rollcol -1              // scroll left one column
  496.   key  <right>         rollcol  1              // scroll right one column
  497.   key  <home>          col 1                   // scroll to column one
  498.  
  499.   key  <up>            up                      // move cursor up
  500.   key  <down>          down                    // move cursor down
  501.  
  502.   key  <shift up>      fmark                   // mark files
  503.                        up
  504.   key  <shift down>    fmark                   // mark files
  505.                        down
  506.  
  507.   // file manager commands (single character command codes)
  508.   key  <char> (c)
  509.  
  510.     // toggle file mark
  511.     if c == ' ' then
  512.       fmark
  513.  
  514.     // <shift-character> commands
  515.     elseif shiftkey? then
  516.       case  locase c
  517.         when 'o'     fopen 'o'                   // open file/directory
  518.         when 'e'     fopen 'e'                   // open file/directory
  519.         when 'z'     fopen "ze"                  // open maximized
  520.         when 'b'     fopen 'b'                   // open binary file
  521.         when 'y'     fopen "be"                  // open binary in one window
  522.         when 'k'     openkey2 (getffile)         // open key macro file
  523.         when 'm'     fmove                       // move file
  524.         when 'c'     fcopy                       // copy file
  525.         when 'd'     fdelete                     // delete file
  526.         when 'n'     frename                     // rename file
  527.         when 'r'     frun 'c'                    // run program/batch file
  528.         when 'p'     fprint                      // print file
  529.         when 'a'     fattr                       // change file attributes
  530.         when 't'     ftouch                      // touch file
  531.  
  532.         // spell checker
  533.         when 's'     run "jspell " + getffile  "ck"
  534.  
  535.         // unarchive .ZIP or .LZH files
  536.         when 'u'
  537.           f = getffile
  538.           run (if? (pos ".lzh" f 'i') "lha e " "pkunzip ") + f  "ck"
  539.           reopen
  540.  
  541.         // view .ZIP or .LZH archives
  542.         when 'v'
  543.           f = getffile
  544.           runcap (if? (pos ".lzh" f 'i') "lha v " "pkunzip -v ") + f
  545.       end
  546.  
  547.     // hotkey to files
  548.     else
  549.       onhotkey c
  550.     end
  551.  
  552.   // File
  553.   key  <ctrl backspace>   fup                  // parent directory
  554.  
  555.   // Mark
  556.   key  <alt m>         fmark "ma"              // mark all files
  557.   key  <alt u>         fmark "ua"              // unmark all
  558.  
  559.   // Command
  560.   key  <enter>         fopen '1'               // open file (one only)
  561.   key  <ctrl enter>    fopen 'q'               // open file (close fmgr)
  562.   key  <del>           fdelete                 // delete file
  563.  
  564.   // Sort
  565.   key  <alt n>         fsort 'n'               // sort by name
  566.   key  <alt s>         fsort 's'               // sort by size
  567.   key  <alt d>         fsort 'd'               // sort by date/time
  568.   key  <alt o>         fsort 'o'               // no sort (DOS order)
  569.  
  570.   // Print
  571.   key  <ctrl p>        print                   // print fmgr contents
  572.   end
  573.  
  574.  
  575. // -------------------------------------------------------------------
  576. //  Movable/Sizable windows
  577. // -------------------------------------------------------------------
  578.  
  579.   object  win
  580.  
  581.   key  <ctrl o><r>     sizekey                 // move/size with kbd (qe)
  582.   key  <ctrl f6>       pankey                  // pan video with kbd
  583.   end
  584.  
  585.  
  586. // -------------------------------------------------------------------
  587. //  All windows
  588. // -------------------------------------------------------------------
  589.  
  590.   object  mon
  591.  
  592.   key  <alt f10>       showentry               // show entry screen (qe)
  593.  
  594.   // key macros (qe)
  595.   key  <ctrl m>        record                  // toggle record setting
  596.   key  <ctrl enter>    play                    // play scrap key macro
  597.  
  598.   // define multi-key prefixes
  599.   key  <ctrl k>        prefix <ctrl k>         // define <ctrl k> prefix
  600.   key  <ctrl o>        prefix <ctrl o>         // define <ctrl o> prefix
  601.   key  <ctrl q>        prefix <ctrl q>         // define <ctrl q> prefix
  602.  
  603.