home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
texted
/
uemacs
/
a147doc
/
Mouse
< prev
next >
Wrap
Text File
|
1991-06-15
|
4KB
|
114 lines
Mouse interface to microemacs
-----------------------------
Contents:
User Instructions
Customization instructions
Programming notes
User instructions:
- To make any window current, point at the mode line with the mouse
cursor, and click the left button.
- To position the text cursor to any visible character, point at the
character with the mouse cursor, and click the left button.
- To adjust window sizes, press the left button with the mouse cursor on
a mode line, and release it at a new location for that mode line. The
windows on either side of the mode line will be adjusted accordingly.
- To scroll a window, press the left button with the mouse cursor on any
line of text, and release it at a new location for that line of text.
The window will be scrolled accordingly. Note you can't scroll beyond
the beginning of the file, or across window boundaries.
- To define a region and put it in the killbuffer, press the right button
at the beginning of the region, drag to the end, and release it.
- To kill a region, after defining a region, without moving the mouse,
click the right button down and up again.
- To paste the contents of the killbuffer in to the current buffer, move
the mouse to the location you wish to paste (which can not be at the end
of the last mouse killed region) and click the right button down and up
without moving it. The killbuffer will be yanked into the current point.
On the Atari-ST, you may access your DESK ACCESSORIES by moving the mouse
cursor to the far right corner of the screen. Emacs will remain
inactive until all desk accessory windows are removed from the screen.
After using your accessories, you will need to type ^L to get the emacs
display repainted.
When using a color monitor on the Atari ST, Emacs must be run in the
resolution that was active at boot time in order for the mouse and desk
accessories to run properly. (You may switch to and from DENSE and HIGH
without any problems. This problem only exists with color monitors.)
Customization instructions:
---------------------------
The mouse buttons (currently) appear to Emacs as keystrokes with the "MS"
prefix. The keys are assigned as follows:
MSa - Left button down
MSb - Left button up
MSc - center button down [Not available on Atari-ST/IBM-PC/AMIGA]
MSd - center button up "
MSe - right button down
MSf - right button up
MSg - 4th button down [Only on VMS workstations with tablet]
MSh - 4th button up "
MS0 - User selected "About microemacs" in the desk accessory
menu. [Not yet implemented]
MS1 - Resize EMACS screen request
On systems that support shifted mouse buttons, the keys FNA-FNH are
assigned to be the shifted versions of FNa-FNh. [Atari-ST/AMIGA]
On systems that support control of mouse buttons, the keys FM^A-FN^H are
available. [Atari-ST/AMIGA]
The meta-prefix and ^X-prefix can be applied to mouse buttons. Note,
however, that it may be difficult for the user to apply a prefix to any
button-up sequence.
When any mouse event occurs, Emacs sets internal variables to the row
and column of the mouse cursor location. These are used by the built-in
mouse functions.
There are eight new built-in functions in emacs that are used to support
the mouse. They are listed here, along with their default binding:
mouse-move-down MSa Position mouse
mouse-move-up MSb Drag text/modelines
mouse-region-down MSe Select region begin/cut/paste
mouse-region-up MSf Select region end
mouse-resize-screen MS1 resize the editing screen
Note that these functions compute double-clicks internally by comparing
the location of the previous mouse click to the current mouse click.
There are no timers involved.
You may build more complicated functions in the editor extension
language. These would usually call "mouse-move-down" to determine what
point was selected by the user.
Programming notes:
------------------
The terminal-specific "getc" routine is responsible for figuring out
the mouse reports, and feeding them to the caller as the following
sequence of bytes (in the MSDOS and Atari ST drivers):
0, 0 Two Flag bytes that indicates following characters are a
mouse report
column Column number of mouse cursor at time of mouse event
row Row number of mouse cursor at time of mouse event
button Suffix letter of event and given in customization
notes. (one of a-f,A-F,0, or 1).
There are decoded in INPUT.C into their 16-bit assignment.