[This file was the old 'update' file supplied in the zip with Keystroke when
Stuart Halliday closed down Quantun Software - with some out of date contact
details removed. For more recent changes, please refer to !Keystroke.!History]

V4.04
-----
Small bug found in !Executor causing crashing when running in 32bit mode.
Keystroke was not affected.


V4.03
-----
32bit aware test version of V4.02.


V4.02 (04-Sep-2001)
-------------------
A really small change this. Keystroke and Executor were updated to recognise
if it was running on RISC OS 4.20+ or not. It would still work.
Older versions will still work on this OS.


V4.02 (18-Apr-2000)
-------------------
A really small change this. Keystroke limited the file length of the Save Default file name to 10 letters (it was first written in 1992!).
This limit as now been increased to 40 which should be enough.


V4.01 to V4.02 (16-Aug-1997)
----------------------------
Due to problems with Keystroke commands added to the !Run file not executing
reliably when !Keystroke or !Executor is run for the first time a slight
change has had to be made.

There is now a new Obey file called 'startup' held within the application.
You simply add any CLI commands you wish to this so when !Keystroke
or !Executor is loaded these commands will be executed.

If you've got any Keystrokes commands held within the !Run or !Run2 file,
then please transfer them to the 'startup' file.


V4.02 also introduces a new feature which a customer has requested.
Because Keystroke works from RISC OS 3.11 to RISC OS 3.70 it has been a
problem that certain programs such as !Draw and !Paint (for example) have
altered somewhat in the way they work across the different versions of
RISC OS. To help users use Keystroke across these different operating systems
we've altered slighty the way the Default file is loaded.

If you place within !Keystroke (or !Executor) a KeyDef file called Default370.
Then if you run Keystroke on a RISC OS 3.7 machine then Default370 will be
loaded instead of the 'Default' file.

Here is a listing of each different version of RISC OS Keystroke can handle:

RISC OS 3.11 needs a Default311 file.
RISC OS 3.50 needs a Default350 file.
RISC OS 3.60 needs a Default360 file.
RISC OS 3.70 needs a Default370 file.
RISC OS 4.0X needs a Default400 file.
RISC OS 4.2X needs a Default420 file.

Of course if Keystroke can't find its particular OS file then it simply loads
the normal 'Default' file as normal.

Note: This modification only applies to the loading of the Default file,
not the saving which remains unaltered.

We hope you find this useful.


To Keystroke V4.00X owners upgrading to V4.01
---------------------------------------------
This upgrade fixes some random errors that occured when using Keystroke or
Executor over a long period of time. These errors were caused by the programs
running out of memory.
Keystroke now uses an extra 20K of RAM (120K minimum).
Executor now uses an extra 8K of RAM (104K minimum).


If you like to tailor Keystroke or Executor by using Keystroke commands in the
'!Run' file of Keystroke or Executor then please note that this is changed.
Please ensure you place them in the 'startup' file instead.

To Keystroke owners upgrading from V3.XX to V4.XX
-------------------------------------------------
Keystroke V4.00 has been significantly enhanced over V3.07.
It is faster, works with more applications and has better 'intelligence'
than previous versions.
To allow us to achieve this some changes have had to be made.

1.
Keystroke V4.00+ is no longer RISC OS 2 compatible.

2.
Any operations with the Manual option set will probably have to be reset
by dragging the 'Drag to set' icon again.
Apart from this, V3.07 Keydef files are compatible with V4.00.

3.
A new set of commands have been introduced to replace the 'Set Keystroke...'
commands you may have used.

For example :
A 'Set Keystroke$DoX' command becomes just 'Keystroke'.
e.g.
'Set Keystroke$Do0 Alt+Ctrl+8@Enlarge image'
'Set Keystroke$Do1 Reprocess image'
becomes
'Keystroke Alt+Ctrl+8@Enlarge image'
'Keystroke Reprocess image'

It must be stressed that the old 'Set Keystroke...' commands have NOT
been removed (yet) and will still work. But please use the new method
from now on if possible. As later versions of Keystroke will probably
not act upon the old commands.

See the V4.00 manual for more details on these new commands.

4.
A new set of !Keyslib functions has been supplied, please use these
rather than your old ones.

5.
When you 'set' a Keystroke action, Keystroke now examines the task
and window details and sets the 'Match title' option itself.
This will make it much easier for you to set Keystroke up correctly.

6.
The centre window of Keystroke's main window now tells
you more about which window it is acting upon.





*************************** Upgrading **************************************

We have added an upgrade program called !KSupgrade in the Extras directory to
make it very easy for users to upgrade from a lesser version to the latest of
Keystroke or Executor.
See its Help file for more details.


Extra feature
-------------
There is a Keystroke system variable called 'Impulse$Selection'.
This variable has limited support for reading Impulse commmands that
Impression and WordWorks uses.

This variable will automatically receive text from a region of selected
text from Impression Style, Publisher or Publisher Plus.
If Wordworks is loaded, word/s are selected and then it's 'Replace' icon
clicked upon, then the variable will be set to those selected word/s.

The maximum length of the text that will be copied is 240 characters.

This allows the exciting ability for owners of these DTP programs to select
a word (or more) and then process it by using the KeysLib functions and
perhaps reinserting it back into Impression!


For example:
*command.
'Run <Keystroke$Lib>.Upper <Impulse$Selection>'

followed by

Insert text
'\DEL\<KS$Line> '

This will take the selected region of text, convert it in to upper case and
reinsert it back into Impression.
You could of course alternatively use the other KeysLib functions -
ABC-Abc1, Lower, Stripalpha, Stripnum.

Alternatively use the new KeysLib 'SendText' function to send text to Impression
as it is much faster and you can include embedded DDF commands.

If you have WordWorks loaded and a word/s selected within it and you click on
the 'Replace' function then it will be stored in Impulse$Selection for your use.

NOTE: There are limitations to the text passed from Impression to Keystroke.
1) No 'Return' or 'line feed' characters are passed to the variable.
2) Any trailing or leading spaces are ignored.
   E.g. ' Hello there ' becomes 'Hello there'.
ALSO:
If WordWorks & Impression are BOTH loaded and have BOTH their windows open,
then it is likely that Keystroke will NOT update 'Impulse$Selection'.


Other features
--------------
The various extra programs contained within the Keystroke library application
has been increased to over 77 different functions.

Please read the supplied 'List' text file contained within !KeysLib for more details.
