home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / pc / memacs / ue310doc.arc / MOUSE.DOC < prev    next >
Text File  |  1989-01-26  |  5KB  |  114 lines

  1.             Mouse interface to microemacs
  2.             -----------------------------
  3.  
  4. Contents:
  5.     User Instructions
  6.     Customization instructions
  7.     Programming notes
  8.  
  9. User instructions:
  10.  
  11. - To make any window current, point at the mode line with the mouse
  12. cursor, and click the left button.
  13.  
  14. - To position the text cursor to any visible character, point at the
  15. character with the mouse cursor, and click the left button.
  16.  
  17. - To adjust window sizes, press the left button with the mouse cursor on
  18. a mode line, and release it at a new location for that mode line.  The
  19. windows on either side of the mode line will be adjusted accordingly.
  20.  
  21. - To scroll a window, press the left button with the mouse cursor on any
  22. line of text, and release it at a new location for that line of text. 
  23. The window will be scrolled accordingly.  Note you can't scroll beyond
  24. the beginning of the file, or across window boundaries.
  25.  
  26. - To define a region and put it in the killbuffer, press the right button
  27. at the beginning of the region, drag to the end, and release it.
  28.  
  29. - To kill a region, after defining a region, without moving the mouse,
  30. click the right button down and up again.
  31.  
  32. - To paste the contents of the killbuffer in to the current buffer, move
  33. the mouse to the location you wish to paste (which can not be at the end
  34. of the last mouse killed region) and click the right button down and up
  35. without moving it.  The killbuffer will be yanked into the current point.
  36.  
  37. On the Atari-ST, you may access your DESK ACCESSORIES by moving the mouse
  38. cursor to the far right corner of the screen.  Emacs will remain
  39. inactive until all desk accessory windows are removed from the screen. 
  40. After using your accessories, you will need to type ^L to get the emacs
  41. display repainted.
  42.  
  43. When using a color monitor on the Atari ST, Emacs must be run in the
  44. resolution that was active at boot time in order for the mouse and desk
  45. accessories to run properly.  (You may switch to and from DENSE and HIGH
  46. without any problems.  This problem only exists with color monitors.)
  47.  
  48.  
  49. Customization instructions:
  50. ---------------------------
  51.  
  52. The mouse buttons (currently) appear to Emacs as keystrokes with the "MS"
  53. prefix. The keys are assigned as follows:
  54.  
  55.     MSa - Left button down
  56.     MSb - Left button up
  57.     MSc - center button down [Not available on Atari-ST/IBM-PC/AMIGA]
  58.     MSd - center button up            "
  59.     MSe - right button down
  60.     MSf - right button up
  61.     MSg - 4th button down     [Only on VMS workstations with tablet]
  62.     MSh - 4th button up            "
  63.  
  64.     MS0 - User selected "About microemacs" in the desk accessory
  65.         menu. [Not yet implemented]
  66.     MS1 - Resize EMACS screen request
  67.  
  68. On systems that support shifted mouse buttons, the keys FNA-FNH are
  69. assigned to be the shifted versions of FNa-FNh. [Atari-ST/AMIGA]
  70.  
  71. On systems that support control of mouse buttons, the keys FM^A-FN^H are
  72. available. [Atari-ST/AMIGA]
  73.  
  74. The meta-prefix and ^X-prefix can be applied to mouse buttons.  Note,
  75. however, that it may be difficult for the user to apply a prefix to any
  76. button-up sequence.
  77.  
  78. When any mouse event occurs, Emacs sets internal variables to the row
  79. and column of the mouse cursor location.  These are used by the built-in
  80. mouse functions.
  81.  
  82. There are eight new built-in functions in emacs that are used to support
  83. the mouse.  They are listed here, along with their default binding:
  84.  
  85. mouse-move-down     MSa    Position mouse
  86. mouse-move-up        MSb    Drag text/modelines
  87. mouse-region-down    MSe    Select region begin/cut/paste
  88. mouse-region-up     MSf    Select region end
  89. mouse-resize-screen    MS1    resize the editing screen
  90.  
  91. Note that these functions compute double-clicks internally by comparing
  92. the location of the previous mouse click to the current mouse click. 
  93. There are no timers involved.
  94.  
  95. You may build more complicated functions in the editor extension
  96. language.  These would usually call "mouse-move-down" to determine what
  97. point was selected by the user.
  98.  
  99. Programming notes:
  100. ------------------
  101.  
  102. The terminal-specific "getc" routine is responsible for figuring out
  103. the mouse reports, and feeding them to the caller as the following
  104. sequence of bytes (in the MSDOS and Atari ST drivers):
  105.  
  106.     0, 0    Two Flag bytes that indicates following characters are a
  107.         mouse report
  108.     column    Column number of mouse cursor at time of mouse event
  109.     row    Row number of mouse cursor at time of mouse event
  110.     button    Suffix letter of event and given in customization
  111.         notes. (one of a-f,A-F,0, or 1).
  112.  
  113. There are decoded in INPUT.C into their 16-bit assignment.
  114.