AminetAminet
Search:
83500 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/misc/Macro-1.0.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Records key strokes and replays them
Architecture:m68k-amigaos
Date:1992-12-01
Download:http://aminet.net/util/misc/Macro-1.0.lha - View contents
Readme:http://aminet.net/util/misc/Macro-1.0.readme
Downloads:533

     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 at sabrina.dei.unipd.it (at Padova university)

*** END OF FILE ***


Contents of util/misc/Macro-1.0.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO     CRC       STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                  996    2819  35.3% -lh5- 879c Aug  7  1992 Handler.c
[generic]                 2092    3600  58.1% -lh5- e63c Aug 13  1992 macro
[generic]                 2707    8553  31.6% -lh5- bb13 Aug  9  1992 Macro.c
[generic]                 1999    3786  52.8% -lh5- 2443 Sep  6  1992 Macro.doc
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         4 files    7794   18758  41.6%            Dec  1  1992

Aminet © 1992-2021 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>