name:   HugeMacros
author: Kostas PROITSAKIS (GUS/Arm's Tech)
size:   4096 bytes
needs:  Arm2 + RiscOS 2 + Squash + !Boot ala RiscPC
descr.: Keyboard macro system
--------------------------------------------------------------------------------

  Thanks goes to the rest members of Arm's Tech.

  Files included in this archive are:
HugeMacros        ;The program itself
ReadMe            ;This file
More.*            ;Source code files, require Wacky-Talky

(Although nothing will be visible yet; run HugeMacros now.)

--------------------8<----------------------------------------------------------

Introduction
============

  HugeMacros is a keyboard base macro manager, its main features are:

  * Runs applications / utilities found in "*$Dir" variables or in a macro,
  * runs anything from CSD / library (Run$Path),
  * calls *commands,
  * enters text into the keyboard buffer,
  * records characters entered in keyboard buffer to a macro.

  Other features are:

  * Throwback for edited BASIC files in StrongEd.


User interface
--------------

  1. Press [Alt] and [Shift],
  
  2. type something (it will not be visible)
     we call this "HugeCommand",
  
  3. release [Alt] and [Shift].

Pressing [Esc] while in step 2, clears any previous keys, eg:

  "here[Select]is[Esc]the rest"  =>  "the rest"
                 ^^^^^

What is a macro for HugeMacros
------------------------------

Any file of *any* type stored in directory tree "MyMacros".
You can view the directory MyMacros by using the HugeCommand: "m"

ie: 1. Press [Alt] and [Shift],
    2. type "m",
    3. release [Alt] and [Shift].

Yep, HugeMacros is installed on your machine :) use the HugeCommand: "ts"
to see your "TaSks" directory where !H_Macros application is stored.


Uninstalling HugeMacros
-----------------------

Run the file:  More.~RemoveHM


Overview
========

Running applications / utilities
--------------------------------

Type: "show *$dir" from CLI, any application you see there can run
via HugeMacros.

The HugeCommand is:  "<space><part of application name>[ <parameters>]"
                eg:  " lar" to run !aLARm (if "Alarm$Dir" is set).


Running objects from CSD / library and calling *commands
--------------------------------------------------------

The HugeCommand is:  "*<filename|command>[<parameters>]"
                eg:  "*locksystem"
                or:  "*loc*"


Running/Using macros
--------------------

This is the most powerful part of HugeMacros.

The HugeCommand is:  "<filename>[ <parameters>]"

Where <filename> is a file stored into directory tree "MyMacros".


Inserting text into the keyboard buffer
---------------------------------------

Save a text file into "MyMacros" directory tree, change its file type to
&057 (H_Macro) and you create a macro which when is run it will be inserted
into the keyboard buffer.

As an example use the HugeCommand: "[Copy]"

ie: 1. Press [Alt] and [Shift],
    2. press once the [Copy] key,
    3. release [Alt] and [Shift].

That temporary macro saves this file as: "<Boot$ToBeTasks>.!H_Macros.!Help"


Recording a macro
-----------------

1. Use the HugeCommand: "[F5]", this enables the macro recorder.

   ie: 1. Press [Alt] and [Shift],
       2. press once the [F5] key,
       3. release [Alt] and [Shift].

2. Type in some text... eg: "Hello there!"

3. Use the HugeCommand: "[F6]", this terminates recording.


Playing a recorded macro
------------------------

Use the HugeCommand: "[Copy]", many times!

The macro [Copy] is stored at "MyMacros.writing.[Copy]", you can rename it
to create a more permanent macro since [Copy] will be cleared the next time
you will use the HugeCommand: "[F5]".


Throwback for edited BASIC files in StrongEd.
---------------------------------------------

Create a new BASIC file in SED and use the HugeCommand: "ER" to insert
an error handler routine. Then have some errors in the following lines
and try to run the file with F10 (runs it without saving).


_________________________________________________________________________

Special key names
-----------------

[Esc] [F1] [F2] [F3] [F4] [F5] [F6] [F7] [F8] [F9] [F10] [F11] [F12]

[Print] [ScrollLock] [Break]

		[BackSpace]	[Ins]	[Home]	[PageUp]	[NumLock]

[Tab]				[Del]	[Copy]	[PageDown]

[CtrlL]			[Ret]
[ShiftL]		[ShiftR]		[Up]

[Caps]	[AltL]		[AltR]	[CtrlR]	[Left]	[Down]	[Right]	[Enter]


[Select] [Menu] [Adjust]
_________________________________________________________________________


Technical details
=================

Releated aliases
----------------

Aliases are used to handle HugeCommands, the following cases exist:

Prefix  Alias  Default setting
------  -----  ---------------
 "*"     -MX   Run <*%0*$Dir> %*1
 " "     -MC   %*0
 none    -MM   /HM:%*0

You can alter the default settings to take a different action, for -MX I use:

  Set Alias$-MX /Apps:*%0* %*1


*Commands
---------

HM_TypeText
^^^^^^^^^^^
*HM_TypeText inserts the given file into the keyboard buffer.
Syntax: *HM_TypeText <filename>

HM_Record
^^^^^^^^^
*HM_Record starts recording keypresses or stops recording if no parameter is
given.
Syntax: *HM_Record [<filename>]


---
GUS
