home *** CD-ROM | disk | FTP | other *** search
- MACRO v1.0
-
- From an idea developed by Marco Munari for MS-DOS
- Amiga implementation by Piero Filippin
-
-
- WHAT IS MACRO?
-
- Macro is a small utility that records a sequence of keypress and, if
- required, reinsert at current cursor position (even if another window).
-
- This is version 1.0 - no configurable and slow - but it hasn't major bugs
- (known) and work even with Kick 2.0. It uses only (!?!) 12 KBytes (4 for
- buffer, 4 for stack and some for info window and code).
-
- HOW MUST I USE MACRO?
-
- Using is very simple:
-
- Call it from CLI without using RUN: MACRO puts itself in background (I used
- Lattice CBack.o).
-
- When MACRO status is IDLE you can record some chars into buffer (LeftALT
- LeftShift CTRL [, status: Recording), or erase if not empty (LeftALT
- LeftShift CTRL e, status: Buffer cleared).
-
- When recording, type what do you want, then press LeftALT LeftShift CTRL ]
- (status: Recording) to terminate. Now you are ready to insert this text
- everywhere you like pressing LeftALT LeftShift CTRL i (status: Buffer
- inserted).
-
- The buffer isn't cleared if not specified: if you start recording and there
- are some chars in buffers, new chars will be appended to buffer (so don't
- forget to delete it if needed!).
-
- TECNICAL NOTES
-
- The program install a new input handler with a priority greater than
- intuition handler. When an event occours in the system, control is passed
- to myhandler(). This function checks event list until if find a RAWKEY
- event. If the event is a MACRO control code, the function removes it from
- list and send proper signal to main program, else it don't remove the event
- (so it can be handled by Intuition). The function RawKeyInsert inserts a
- new event into event-not-already-handled-by-intuition-routines.
-
- To compile I used Lattice C 5.10:
-
- lc -L -rr <-dINFOWINDOW> <-dDEBUG> <-dBUFFER=buffersize> macro.c
-
- (It probably can be compiled only under recent Lattice versions)
-
- If you defines INFOWINDOW, a window will be opened telling you MACRO current
- states. You can also define DEBUG, that print to CLI launch window some
- debug infos, but it makes start window unusable (I used it only for debug,
- when I haven't yet decided to use a window). With BUFFER, you can change
- the default size of the buffer (remember: key_stored=buffersize/4 ).
-
- LIMITATION AND BUGS
-
- MACRO loss 2728 bytes when you quit (I don't know why)
- MACRO has a standard buffer size of 4 KBytes; this means that it can record
- 4000/(sizeof(code)+sizeof(qualifier)) = 1000 keypress!
-
- MACRO uses RAWKEY, so it is not setmap-sensitive. It makes no differences
- when you record-insert, but command keys can change: q , e , i , [, ]
- refers to a standard gb keyboard (they are TAB - row keys).
-
- TAB q w e r t y u i o p [ ] RET
-
- MACRO sources are supplied, but it don't includes any #include (he he); I
- used precompiled headers ( -Hname under Lattice).
-
- FUTURE IMPROMEMENTS
-
- Multiple macro definitions
- Possibility of saving useful macros
- Macro display in info window
- Macro editing
- Keymap mapped control codes
- More speed
-
- AUTOR NOTES
-
- This program is Public Domain. You can copy, distribute, spread if only
- with its doc and source. You cannot sell it. I encourage to read the
- source, and use parts of it in your programs if they are PD else it requires
- written permission.
-
- I don't require money if you use it, but it is obiously pleased (or if you
- prefer other PD software, greeting cards or your sister photo (if really
- nice), suggestion for improvement...)
-
- I'm sorry for lots of error in this doc
-
- My home address is:
-
- Via G.Cantore 10
- Conegliano Veneto (TV)
- 31015 ITALY
-
- My InterNet e-Mail address is:
-
- omega@sabrina.dei.unipd.it (at Padova university)
-
- *** END OF FILE ***
-