home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
USCX
/
SOFTTCH.ZIP
/
SOFTCH.DOC
< prev
next >
Wrap
Text File
|
1986-08-14
|
86KB
|
1,917 lines
+---------------------------------------------------------+
| |
| |
| Soft-Touch |
| |
| Installation/Operations Guide |
| manual revision 2.03 |
| |
| |
| |
| Soft-Touch Version P2.03 - 03/12/86 |
| |
| (C) Copyright 1986 - Martin D. Flynn |
| All Rights Reserved |
| |
| |
| |
| |
| I encourage you to freely use, copy, and share this |
| product with friends and associates. If you decide to |
| use this product, support the shared software marketing |
| concept by becoming a registered user. |
| |
| |
| |
| |
| |
| Martin D. Flynn |
| FlynnSoft |
| P.O. Box 5034 |
| Redwood City, Calif. 94063 |
| (415) 487-6482 |
| |
+---------------------------------------------------------+
- I reserve the right to make improvements in the product
described in this manual at any time and without notice.
- The software described herein is a copyrighted LICENSE PROGRAM
and the property of Martin D. Flynn.
- This program is distributed as a shared software product. You
may freely copy and share this product with your friends and
associates. If you decide to use this product, I ask you to
become a registered user.
- Under no circumstances may this product be sold without the
express written permission of Martin D. Flynn.
- Please read the Terms and Conditions contained in the Appendix
for further details.
- Use of this product indicates your acceptance of these Terms and
Conditions.
IBM is a registered trademark of the International Business Machines
Corporation.
Table of Contents
Chapter 1: Introduction
1.a) Shareware concept
1.b) Description and Capabilities
1.c) PC system requirements
1.d) Special notation and Conventions
1.e) A word about "RAM-cram"
Chapter 2: Using Soft-Touch
2.a) Installing Soft-Touch
2.b) Soft-Touch parameters
2.c) Escape mode functions
2.d) Defining keystrokes from the keyboard
2.e) Saving defined keystrokes to a text file
2.f) Restoring keystrokes to the keyboard buffer
2.g) Using variable fields
2.h) Date and time functions
2.i) Nesting keystroke definitions
Chapter 3: Advanced Topics
3.a) Enhancing DOS batch file processing
3.b) Creating demonstration or instructional self running
programs
3.c) Program interface
Appendices:
A) Special keystroke names
B) Keyboard scan codes
C) Error messages
D) Program License Agreement
E) Limited Warranty
+---------------------------------------------------------+
| |
| CHAPTER 1 |
| Introduction |
| |
+---------------------------------------------------------+
======================================================================
1.a) Shareware concept
This version of Soft-Touch is distributed in the public domain with
the idea that you may freely use, copy, and share this product with
your friends and associates.
You may review this product at your leasure to determine if you would
like to continue using it. If you find it useful, and you decide to
use it, I encourage you to become a registered user of this product.
You may receive a single registered copy of Soft-Touch for $23, or
$20 each for two or more copies.
Registration provides the following benefits:
1. Receive an upgraded version of Soft-Touch with the following
enhancements:
- Increased keyboard buffer size to 25000 keystrokes.
- Ability to save and restore to/from any file name.
- Escape mode functions <PLAY>, <RCRD>, and <WAIT> have been
implemented.
- Assembler program interface examples.
2. Limited telephone support.
3. A $5.00 commission for each new registered user who provides
your registration number as a reference.
You may recieve a registered copy of Soft-Touch by completing the
accomanying registration form and mailing it to the specified address.
Please make payment via C.O.D., check, or money order. Call for
information regarding OEM and large quantity discount prices.
The full assembler source for the enhanced version of Soft-Touch is
also available and may be purchased for $139.
Whatever you decide about getting a registered version of Soft-Touch I
would appreciate hearing what you think about Soft-Touch and any
suggestions you may have. Anyone who writes to me will be included on
my mailing list to be notified of any future enhancements or new
products.
Registration form:
Name.....:______________________________________________________
Company..:______________________________________________________
Address..:______________________________________________________
City.....:_______________________ State:_____ ZIP:_____________
Telephone:(_____) _____-_______
Soft-Touch Version:_____._____ Registration ID#:_______________
Comments:
Payment:
Send 1 Copy of enhanced Soft-Touch at $23.00 _____.___
(or)
Send ____ Copies of enhanced Soft-Touch at $20.00/ea _____.___
C.O.D. 1.75 _____.___
Shipping 1.50
Calif Sales Tax _____.___
TOTAL _____.___
[ ] C.O.D. [ ] Check enclosed
Mail to .............. : Martin D. Flynn
FlynnSoft
P.O. Box 5034
Redwood City, Calif. 94063
(415) 487-6482
======================================================================
1.b) Description and Capabilities:
Soft-Touch is a powerful tool which allows you to customize your
keyboard to simplify the use of your various software applications.
With Soft-Touch you can pre-define any lengthy series of keystrokes,
such as frequently used parameters, names, or phrases, and play them
back with just one or two keystrokes. These defined keystrokes can be
played back at any time within your application to perform your
customized function.
You will be able to call up your spread sheet or word processor and
enter your often used parameters with only a single keystroke. Which
enables you to spend less time with the details and get right to the
work, thus speeding up throughput and therefore productivity.
Soft-Touch can be used to record all keystrokes entered during an
application so that they may be replayed at a convienient time for
demonstration or instructional purposes. Soft-Touch can even allow
unattended operation for long running applications that require
keyboard input, thus creating an invaluable extension to batch file
processing.
Soft-Touch contains many powerful features which allow you to take
full advantage of the programmability of your keyboard. Some of the
Soft-Touch features are as follows:
* ability to define over 90 single or double key operations.
* playback functions which are able to return the current date and
time during a keystroke playback.
* variable length data entry fields which can be entered during a
keystroke playback and later be recalled in a different portion
of the playback. Thus allowing keystroke variables.
* keystroke definitions may be referenced within other definitions
up to 5 levels deep for the regular version and 25 levels deep
for the enhanced version.
* playback execution may be suspended and resumed at any time.
* keystrokes may be viewed and executed from a work buffer before
actually defining them to a single or double keystroke.
* an invaluable extension to batch file processing which allows
the keyboard buffer work area to be loaded with a series of
keystrokes with a Soft-Touch command issued within the batch
file. These keystrokes are then available to any application
run after the buffer is loaded.
* a screen saver option which can automatically switch off the
video portion of the display to avoid burning if there is no
keyboard activity for a pre-defined amount of time.
======================================================================
1.c) PC system requirements:
In order to take full advantage of the features of Soft-Touch, you
will need the following minimum hardware configuration:
- An IBM PC, XT, or AT, or a 100% IBM compatable with at least 128k
or more.
- At least one diskette drive.
- PC DOS 2.0 or above.
======================================================================
1.d) Special notation and Conventions:
A special notation will be used in this manual to identify functions
and keystrokes for which there is no single character representation.
Such functions and keystrokes have been given a short name which is
descriptive of its use and will be included within the brackets '<'
and '>'.
An example of such a keystroke would be the HOME key. To distinguish
the HOME key from the characters H-O-M-E, it will be included in
brackets to denote a single keystroke, in this case <HOME>. The
control shift, caps shift, and alternate shift modes will be denoted
by the characters '^', '$', and '@', respectively, preceding the
descriptive key name. Therefore control-HOME would be denoted as
<^HOME>.
Comments within a string of keystrokes will start with a
left-bracket-asterisk '<*', and end at the first right bracket '>'.
The following lists a few example comments.
<* this is a comment >
<* ---- this is also a comment ---- *>
<*>
A list of the special functions and keystrokes which are described in
this manner, and other advanced shift modes which are also available,
may be found in Appendix A.
======================================================================
1.e) A word about "RAM-cram":
With the advent of numerous memory resident programs, there has
arisen a growing problem of conflicts among various memory
resident software packages. This syndrome is sometimes known as
"RAM-cram".
One possible problem is the requirement by more than one memory
resident program for the same "hot key" sequence (escape mode
sequence). Another is a possible conflict in the use the same
software or hardware interrupts.
Soft-Touch tries to help solve these problems with two setable
options. First, the "hot key" sequence used to access the special
Soft-Touch functions may be changed if it is found that the "hot key"
sequence currently set conflicts with another memory resident program.
Second, Soft-Touch can be temporarily deactivated to allow running
programs which may not be compatable with Soft-Touch.
These added features allow Soft-Touch a much greater flexibility when
installing it with other memory resident programs.
+---------------------------------------------------------+
| |
| CHAPTER 2 |
| Using Soft-Touch |
| |
+---------------------------------------------------------+
======================================================================
2.a) Installing Soft-Touch:
You may find a file on your Soft-Touch diskette called 'README'.
This file will contain the latest information about the
Soft-Touch programs and samples that may be included on the
diskette.
Since Soft-Touch is stored in your PC's memory, it is necessary to
load it into memory each time you boot or reload PC DOS. Therefore,
it is most likely that you will want to copy the Soft-Touch program
to any system diskette that you use to boot PC DOS.
To copy the Soft-Touch programs and sample files to your boot
diskette, place the Soft-Touch diskette into drive A: and your DOS
boot diskette into drive B: then enter the following DOS command:
COPY A:*.* b:[path]
This command will copy all necessary programs and files to your
DOS diskette. If you wish to install the Soft-Touch software onto
your hard disk, then specify your hard disk drive and path name for
the destination.
You may also wish to have Soft-Touch installed automatically on your
system when the power is turned on, or when it is re-booted. To do
so, use your word processor, or use the DOS supplied EDLIN command, to
include Soft-Touch in your AUTOEXEC.BAT file. The following is an
example that may be inserted into your AUTOEXEC.BAT file to load
Soft-Touch when your system is booted.
SOFTCH /I=3000 /B=15
This example will cause Soft-Touch to be installed in your PC memory
with reserved space for 3000 keystrokes. Also, the screen saver
option is installed with a time delay of 15 minutes of keyboard
inactivity before the video portion of the display is blanked. The
parameters used by Soft-Touch will be described in the next section.
======================================================================
2.b) Soft-Touch parameters:
The command 'SOFTCH' may be used to install the memory resident
portion of the Soft-Touch keyboard enhancer, or it may be used to
interface with the previously loaded buffer to define keystrokes or
change various parameters.
To install the resident portion of the Soft-Touch extended keyboard
buffer driver, enter the command 'SOFTCH' with the '/i' install option
followed by any other desired parameters.
The format of the command and the allowable parameters are as follows:
(note: Items listed within the brackets '[' and ']' are optional.)
Format : [d:][path]SOFTCH [-]
[/I=[<size>]]
[/B=[<delay>]]
[/R=[filename | "string"]]
[/S=[filename]]
[/E=[<hexnum>]
[/H]
Parms : Specify the parameters:
- [d:][path] before the command to specify the drive and
path that contains the command file.
- [-] to supress the printing of the Soft-Touch header
message (enhanced version only).
- [/I=[<size>]] to install the memory resident keyboard
buffer and specify the desired keystroke buffer size. If
specified, the '/I' option must appear before all other
options. If the <size> parameter is not specified, the
size will be set to the default. For the regular version
of Soft-Touch the maximum buffer size that can be set is
3000 keystrokes.
- [/B=[<delay>]] to install the screen saver option and
specify the number of minutes for the screen blank delay.
If the <delay> parameter is not specified, the time delay
will be set to the default.
- [/R=filename] to specify the text file containing defined
keystrokes to load into the buffer. For the regular
version of Soft-Touch the filename used will be 'MCRO.KEY'
regardless of the filename that may actually appear with
this option.
- [/R="string"] to specify the keystrokes on the command
line that you wish to load into the buffer.
- [/S=[filename]] to specify the file to which the defined
keystrokes will be written. The file created by this
option may later be reloaded with the '/R' option. If the
filename parameter is not specified, the defined keys will
be listed to the screen. For the regular version of
Soft-Touch the filename used will be 'MCRO.KEY' regardless
of the filename that may actually appear with this option.
- [/E=<hexnum>] to change the recognized escape mode key
sequence. The first byte of the hex number represents the
keyboard scan code recognized. The second byte represents
the shift status recognized. The default setting is 0102
(escape key, left-shift). Additional information for this
option may be found in the next section.
- [/H] to display the function key help screen.
Note: An error message will display if an error is
encountered in the parameter list, or if the buffer has
already been loaded. See Appendix C for a list of the
possible error messages.
Example: SOFTCH /I=3000 /B=15 /R=mcro.key
This example will set up the extended keyboard buffer with
space reserved for 3000 keystrokes. The screen saver option
is installed with a screen blank time-out of 15 minute.
Also, the keyboard buffer will be initialized with the
keystroke definitions found in the file 'MCRO.KEY'.
Example: SOFTCH /R="this is a keystroke string<cr>"
This example will restore the keystrokes define on the
command line to the work buffer.
Example: SOFTCH /R="<kstr><f1>format a:/s<cr><kend>"
This example will cause the F1 function key to be defined
with DOS command to format a diskette.
Example: SOFTCH /S=mcro.key
This example will cause all defined keystrokes in the
enhanced keyboard buffer to be written to the text file named
'MCRO.KEY'.
======================================================================
2.c) Escape-Mode functions:
Once the resident portion of Soft-Touch has been loaded, there are
several functions that may be performed to affect the execution of the
Soft-Touch keyboard enhancer. These special functions may be executed
after pressing a special escape mode "hot key" sequence.
To enter the escape mode for execution of the special functions, hold
down the LEFT SHIFT then press the <ESC> key. The speaker will
respond with two short high pitched beeps and the cursor size will
change to a large block to acknowledge that the keyboard is now in
escape mode.
When the keyboard is in escape mode, any playback operation is
suspended and the function keys are reassigned with special functions
to be performed as they are pressed. These functions are described
below.
When a valid function key is pressed, the speaker will respond with
one short high beep and the cursor size will return to normal,
indicating that the function has been accepted. The suspended
keyboard operation will then resume where it left off. The exception
is when function key <F3> is pressed; the playback will then be
cancelled. If an invalid key is pressed while in escape mode, the
speaker will respond with one low beep and the cursor size will remain
a large block, indicating that the function was invalid. The keyboard
will remain in escape mode until a valid function key is pressed.
The following is a list of the special functions used to aid in
customizing your keyboard. These functions may be performed in
escape-mode, or you may define their function to another key of your
choice.
Function names marked with a '**' may only be used in keystroke text
definitions with the enhanced version of Soft-Touch. These functions
may still be selected manually with the escape mode "hot key"
sequence.
esc-mod
ftn key name description
-------+--------+-------------------------------------------------
<F1> <ON> Turn the defined keystroke recognition on.
Defined keystroke definition is turned on when
Soft-Touch is initially loaded.
<F2> <OFF> Turn the defined keystroke recognition off. This
can be used to disable the defined key recognition
so that all keystrokes (such as functions keys)
will perform their original function as defined by
the application you are currently running.
<F3> <STOP> Terminate playback and recording modes.
<F4> <FLSH> Clear all characters from the work buffer. This
function will be used when you wish to clear the
work buffer to start recording new characters.
<F5> ** <RCRD> Turn on the recording mode. This will cause the
recording mode to be set so that any keystrokes
entered from the keyboard will be recorded to the
work buffer.
<F6> ** <PLAY> Playback work buffer. This will cause the
keystrokes entered into the work buffer to be
played back.
<F7> <KBKS> Backspace the work buffer. This will cause the
last keystroke entered into the work buffer to be
removed.
<F8> <KCLR> This function will clear all defined keys from the
keyboard buffer and will also flush all characters
from the work buffer.
<F9> <KSTR> Start keystroke definition. Use this function
to start a keystroke definition. When this
function is selected, the work buffer is cleared,
and the next key pressed will be the key to which
the recorded keystrokes will be assigned. If an
invalid key is selected to define, then the
speaker will respond with one low beep to indicate
that the key to define was rejected and the
function will be cancelled. You may then select
the function again and try a valid key. A list of
definable keys may be found in a later section.
<F10> <KEND> End keystroke definition. If the <KSTR> function
has been selected prior to this function, then the
keystrokes entered between the start and end
functions will be assigned to the keystroke
selected after the <KSTR> function. If the <KSTR>
function was not selected, then the keystrokes
found in the work buffer will be assigned to the
next valid key pressed. If an invalid key is
selected to define, then the speaker will respond
with one low beep and the function will be
cancelled.
Note: The above function names (ie. <FLSH>) are executed immediately
when they are recognized in an input string as it is loaded (with the
'/R' option) and will not be part of the functions assigned to a
particular keystroke. If you wish to include the above functions as
part of the assigned keystrokes, then select the desired function with
the alternate shift pressed (ie. <@PLAY>). This will cause the
function to be executed only at playback time and not at load time.
<$F1> <VFLD> Variable length data entry field. When a playback
encounters this function, the playback pauses
waiting for keyboard input. The keyboard input is
terminated by a carriage return. The terminating
carriage return is "invisible" and will not be
sent to your application program. The playback
will then continue where it left off. The
keystrokes entered during the variable field data
entry may be recalled later in a playback with the
<VAR> function.
<$F#> <VFL#> The function keys <$F1>, <$F3>, and <$F5>
correspond with the variable data entry fields
<VFL1>, <VFL2>, and <VFL3>, respectively. <VFL1>
is the same as <VFLD>. See the <VFLD> function
for the definition of use.
<$F2> <VAR> This function plays back the keystrokes entered
during the previous <VFLD> data entry.
<$F#> <VAR#> The function keys <$F2>, <$F4>, and <$F6>,
correspond with the variable playback fields
<VAR1>, <VAR2>, and <VAR3>, respectively. <VAR1>
is the same as <VAR>. See the <VAR> function for
the defintion of use.
<$F7> ** <WAIT> This function will cause the playback operation to
be suspended until any key is pressed on the
keyboard. This function is very usefull for
suspending the playback operations during a
self-running demonstration to allow for viewing
the current screen until a key is pressed.
<$F8> <PAUS> This function causes the playback to pause for
approximately 2 seconds before continuing with the
playback string. This may be used for replaying
demonstration application to allow for screen
viewing at strategic points.
<$F10> <BOOT> This function will cause the system to reboot as
if the ctl-alt-del key sequence had been pressed.
This will allow for creating an additional
definition of the system reset to another key, or
to be included in application programs that may
require that the system be rebooted.
<^F1> <TIME> Set the internal data areas to the current system
date and time. No playback string is returned
with this function.
<^F2> <YEAR> This function returns the long year (ie. 1986)
last set by the <TIME> function.
<^F3> <YR> This function returns the short year (ie. 86) last
set by the <TIME> function.
<^F4> <MO> This function returns the month of the year last
set by the <TIME> function.
<^F5> <DA> This function returns the day of the month last
set by the <TIME> function.
<^F6> <HR> This function returns the time hour, bases on a 24
hour clock, last set by the <TIME> function.
<^F7> <MN> This function returns the time minutes last set by
the <TIME> function.
<^F8> <SC> This function returns the time seconds last set by
the <TIME> function.
<^F9> <LOOP> This function causes the key in which it is
defined to be re-executed creating a continuous
loop of keystrokes. The escape mode function key
<F3> must be used in this case to terminate the
playback.
<^F10> <BEEP> This function causes the speaker to issue a short
beep. This can be used to identify certain
sections of a playback with strategically placed
beeps.
Note: The above functions may be selected from the keyboard during
escape mode but they will not be executed until they are encountered
during a playback. They will, however, be recorded to the work buffer
if record mode is active.
The following functions can not be executed through the function key
pad in escape mode. They can only be executed by including them in a
text file or on a command line with the '/R' option.
---- <DACT> This function will temporarily deactivate the
Soft-Touch keyboard enhancer. The escape mode
keys and any defined special keys will not be
recognized while the keyboard enhancer is
deactivated.
---- <ACTV> This function will re-activate the Soft-Touch
keyboard enhancer so that the escape mode keys and
the defined special keys will be recognized when
pressed.
---------
The left-shift-escape "hot key" sequence can be changed with the '/E'
option on the command line. To set the new "hot key" sequence specify
the scan code and shift status in hex.
The first byte of the hex code (first two numbers) represents the
keyboard scan code of the key to be recognized in the "hot key"
sequence. See Appendix B for a list of the keyboard keys and their
corresponding scan codes.
The second byte (last two numbers) represents the shift status to be
recognized in the "hot key" sequence. The following table shows the
shift status available. It is recommended that only one of the
following shift status codes be used at any one time, rather than
combining two or more of them.
01h = right shift
02h = left shift
04h = control shift
08h = alternate shift
The default escape key sequence is 0102 hex (01=esc, 02=left shift).
The following command will show how to change the escape mode key
sequence to right-shift-escape.
SOFTCH /E=0101
======================================================================
2.d) Defining keystrokes from the keyboard:
There are over 90 different keystroke sequences on the keyboard to
which you may assign keystroke strings. A list of keys which can be
used for assigning keystroke may be found in Appendix A. The
definable keystrokes are marked with an asterisk (*).
A series of keystrokes may be recorded and assigned to a single or
double keystrokes using the escape mode functions. There are two
methods with which to accomplish this:
Method #1:
Step 1) Press the escape mode "hot key" sequence; the speaker will
respond with two high pitched beeps. Then select the <KSTR>
function <F9> (start keystroke definition); the speaker will
respond with one high pitched beep.
Step 2) Select the key to which you wish to assign your
keystrokes. If you press an invalid keystroke, the speaker will
respond with one low pitched beep and the <KSTR> function will be
cancelled. You will then need to restart at step 1.
Step 3) At this point all keys entered on the keyboard will be
recorded to the work buffer.
Step 4) When you have finished entering your desired keystrokes,
press the escape mode "hot key" sequence; the speaker will
respond with two high pitched beeps. Then select the <KEND>
function <F10> (end keystroke definition); the speaker will
respond with one high pitched beep.
The keystrokes recorded in step 3 have now been assigned to the
key selected in step 2.
Method #2:
Step 1) Press the escape mode "hot key" sequence; the speaker will
respond with two high pitched beeps. Then select the <RCRD>
function <F5> (record mode); the speaker will respond with one
high pitched beep.
Step 2) At this point all keys entered on the keyboard will be
recorded to the work buffer.
Step 3) When you have finished entering your desired keystrokes,
press the escape mode "hot key" sequence; the speaker will
respond with two high pitched beeps. Then press the <KSTR>
function <F10> (end keystroke definition); the speaker will
respond with one high pitched beep.
Step 4) Select the key to which you wish to assign your
keystrokes. If you press an invalid keystroke, the speaker will
respond with one low pitched beep and the <KEND> function will be
cancelled. You will then need to restart at step 3.
The keystrokes recorded in step 2 have now been assigned to the
key selected in step 4.
With the second method steps 3 and 4 may be delayed. If you wish to
view the keystrokes entered in the work buffer before actually
assigning them to a key you may do so. You can turn off the keystroke
record mode by selecting the escape mode <STOP> function <F3>, then
view the contents of the work buffer with the '/S' option on the
command line. The record mode may then be turned back on with the
escape mode <RCRD> function <F5> (as in step 1), or you may continue
with step 3.
Example: To assign the keystroke string "hello" to the alternate-H
(<@H>) key you could perform the following using method #1 as
described above:
1) Press the escape mode "hot key" sequence followed by the <KSTR>
start key definition function <F9>.
2) Press and hold the alternate shift key then press the 'H' key.
3) Enter the keystroke string "hello".
4) Terminate the keystroke definition by pressing the escape mode
"hot key" sequence followed by the <KEND> end key definition
function <F10>.
The sentence "hello" may now be played back by pressing the
alternate-H keystroke.
Once a keystroke has been defined, it may be played back at any time
by pressing the defined key. You may cancel a keystroke definition by
redefining the key with another keystroke string or with no keystroke
string (start the keystroke definition, then end it without entering
any other keystrokes). Assigning a null definition to a previously
defined key will reset the keys function to that defined by the
application program.
The buffer space used by key definitions which have been cancelled
will remain unused until the buffer is cleared with the <KCLR>
command, or until the system is rebooted. You may use the SOFTCH
command to reorganize unused space created from cancelling key
assignments. To reorganize the buffer, enter the following command:
SOFTCH /S=temp.$$$ /R="<KCLR>" /R=temp.$$$
The parameters '/S=temp.$$$' will cause the entire buffer to be saved
to the temporary file 'temp.$$$'. The parameter '/R="<KCLR>"' will
cause the entire buffer to be cleared and reset. Finally, the
parameter '/R=temp.$$$' will restore the previously saved keyboard
buffer. This reorganization will cause all previously unused space
from key assignment cancellation to be reused.
Note that for the regular version of Soft-Touch the file name used on
the save and restore options is 'MCRO.KEY' regardless of the file name
that may actually appear with the option.
======================================================================
2.e) Saving defined keystrokes to a text file:
Keystrokes which have been assigned to various keys may be written to
a text file or displayed on the screen for viewing with the '/S'
parameter. This example will save all defined keystrokes into the
file 'CUSTOM.KEY':
SOFTCH /S=CUSTOM.KEY
Note that for the regular version of Soft-Touch the file name used on
the save option is 'MCRO.KEY', regardless of the file name that may
actually appear with the option.
The saved file may be edited in any convenient word processor to add
or delete defined keystrokes. The text file may later be restored to
the buffer with the '/R' (restore) parameter.
If no file name is entered after the '/S' option then the defined
keystrokes will be listed to the screen.
The format of the defined keystrokes when written to a text file, or
printed on the screen, is as follows:
<* ----- key definition ----- *>
<KSTR><defined-key>
.
.
keystroke string
.
...
<KEND>
<* ----- key definition ----- *>
.
.
...
<* ----- work area ---------- *>
.
.
...
For example, a macro that defines the alternate-E to the delete file
command and the alternate-F key to the format command followed by a
check disk command might be as follows:
<* ----- key definition ----- *>
<KSTR><@E>
del <*>
<KEND>
<* ----- key definition ----- *>
<KSTR><@F>
format b:/s<cr>
chkdsk b:<cr>
<KEND>
<* ----- work area ---------- *>
The keyword <KSTR> and its defined key will appear on a separate line
preceding the string of keystrokes it is to represent. The keyword
<KEND> will appear on a line by itself to terminate the definition of
the keystroke string.
As the keystrokes are written to the text file, a new text line is
generated when the keystroke '<cr>' is encountered, or if the
keystroke line would be greater than 72 characters. This is why the
definition for the alternate-F is as shown in the example rather than
in the form below:
<KSTR><@F>format b:/s<cr>chkdsk b:<cr><KEND>
This format is functionally equivalent to the format generated by the
'/S' option, but is less readable. If this format is entered with the
'/R' option, it will be converted to the standard format described
above when it is read with the '/S' option.
All characters found in the text file that are less than a space
(decimal 32) are ignored by the '/R' option. This will allow for a
few control codes that are required by some word processors without
effecting the data sent to the Soft-Touch keyboard buffer. This
includes the carriage return and line feed characters. Any characters
equal to, or greater than, a space will be included in the buffer. If
your defined keystroke string requires a character that is less than a
space, then use the special notation which defines the desired
character (ie. use <cr> for carriage return). See Appendix A.
If there are any significant trailing spaces at the end of a line, as
in the example above for the defined key alternate-E, the line will be
terminated with the comment '<*>' after the last significant space.
This will let you know where the line actually ends and will not
effect the processing of the keystrokes.
Any characters in the work buffer will appear below the comment line
heading '<* - work area - *>'. If there are no keystrokes in the work
buffer, then nothing will appear below this line.
To distinguish a literal left-bracket (<) from the beginning of a
keystroke name or function, a literal left-bracket will appear as two
left brackets together. For example, if you have recorded the
sequence ".. < .. > .." while defining a key, then this line will
appear as ".. << .. > .." in the saved text file. Note that this
is true for the left bracket only, not for the right bracket.
======================================================================
2.f) Restoring keystrokes to the keyboard buffer:
Keystrokes which have been written to a text file with the '/S'
option, or that have been defined in a text file with a word
processor, may be loaded into the keyboard buffer with the '/R'
option. This example will restore keystrokes define in the text file
'CUSTOM.KEY' to the keyboard buffer:
SOFTCH /R=CUSTOM.KEY
Note that with the regular version of Soft-Touch the file name used on
the restore option is 'MCRO.KEY', regardless of the file name that may
actually appear with the option.
Keystrokes may also be loaded into the keyboard buffer by specifying
them right on the command parameter line just as they would be in a
text file. The format for loading keystrokes from the command line is
as follows:
SOFTCH /R=".. keystroke string .."
On the command line, to specify one literal quote, you must specify
two quotes together. This example defines the alt-E key with the
keystrokes which will execute the DOS 'echo' command with the quoted
message "hello":
SOFTCH /R="<kstr><@E>echo ""hello""<cr><kend>"
The work buffer may also be loaded with a string of keystrokes. The
keystrokes in the work buffer may be played back by pressing the
escape mode "hot key" sequence followed by the <PLAY> function <F6>.
This example loads the work buffer with a date and time phrase which
may be used in some application:
SOFTCH /R="date <yr>/<mo>/<da><tab>"
======================================================================
2.g) Using variable fields:
Soft-Touch will allow keyboard entry during a playback which may be
re-played at a later time. For example, if we wish to create a macro
which exchanges the names of two files, we could define the
alternate-X key as follows:
<KSTR><@X>
rename <VFL1> temp.$$$<cr>
rename <VFL2> <VAR1><cr>
rename temp.$$$ <VAR2><cr>
<KEND>
When the <VFL1> is encountered, the playback will pause waiting for
keyboard input, allowing you to enter the first file name. When you
have finished entering the first file name, you may terminate the
keyboard data entry with a carriage return. This carriage return will
be interpreted by Soft-Touch only and will not be recognized by the
executing program (in this case DOS).
The file is then renamed to 'TEMP.$$$' and the next rename command
will be initiated. The playback will again pause at the <VFL2>
function waiting for keyboard input. When the second file name
entered is terminated with a carriage return, the playback will
continue to the <VAR1> function. This function will be replaced with
the file name entered in <VFL1>, causing the second file name to be
renamed to the first. The temporary file will then be renamed to the
file name entered as the second file in <VFL2>.
======================================================================
2.h) Date and Time functions:
At some time it may be necessary to include in your keystroke playback
the current date and time. This may be most useful for unattended
operations that require a date and/or time.
Soft-Touch has several functions that support the return of the
current date and time:
<TIME> : set internal data areas to system date and time.
<YEAR>/<YR> : return the long/short year last set by the <TIME>
function.
<MO> : return the month number of the year last set by the
<TIME> function.
<DA> : return the day of the month last set by the <TIME>
function.
<HR> : return the hour based on a 24 hour clock last set by
the <TIME> function.
<MN> : return the number of minutes past the hour last set
by the <TIME> function.
<SC> : return the number of seconds past the minute last
set by the <TIME> function.
The function <TIME> does not return any keystrokes, it only serves to
set the date and time in an internal data area with the current system
date and time when it was executed. This internal data area is then
accessed by the various date and time return functions. This would
allow, for instance, saving the time at the beginning of one program
to be used as input to another program run at a later time.
For example, we could create a formatted date and time that could be
played back in your word processor to be included with your text.
This kind of definition could look like the following:
<KSTR><@T>
<TIME>date <MO>/<DA>/<YR>, time <HR>:<MN>:<SC>
<KEND>
The <TIME> function is used here in the definition to make sure that
the returned date and time is always current. If the current date and
time is January 17, 1986, 8:32am and 27 seconds, then the returned
keystroke string would appear as follows:
date 01/17/86, time 08:32:27
======================================================================
2.i) Nesting keystroke definitions:
Soft-Touch will allow you to specify previously defined keystrokes
within other definitions. For example, let's look at the following
keystroke definitions:
<KSTR><@D>
lazy dog
<KEND>
<KSTR><@F>
quick brown fox
<KEND>
<KSTR><@S>
The <@F> jumped over the <@D>.
<KEND>
The phrase 'lazy dog' has been assigned to the alt-D key, while 'quick
brown fox' has been assigned to the alt-F key. Notice that the
definition for the alt-S key references the alt-D and alt-F keys. In
this example, the keystroke definitions are nested so that when alt-S
is pressed, the following sentence will be played back:
The quick brown fox jump over the lazy dog.
This shows how defined keys can be specified within other definitions.
The regular version will allow keystroke playback nesting like this up
to 5 levels deep, while the enhanced version allows nesting up to 25
levels deep. Much deeper than you will probably ever need. If the
limit is ever reached, the speaker will sound to indicate a nesting
overflow and the last keystroke that caused the overflow will be
skipped.
+---------------------------------------------------------+
| |
| CHAPTER 3 |
| Advanced Topics |
| |
+---------------------------------------------------------+
======================================================================
3.a) Enhancing DOS batch file processing:
The Soft-Touch keyboard enhancer provides an invaluable tool for
enhancing the operation of the DOS batch file processor. Now, not
only can programs be entered into a batch file, but now the keystrokes
that are required by the program as well.
For instance, if you have a word processor, spread sheet, or database
system that requires a set of keyboard entered parameters, then the
keyboard buffer can be loaded with the keystroked before the program
is run so that they may be ready when asked for by the program.
Example:
Suppose we have a program called 'TRANS' that has a simple menu
structure as follows:
L = load transactioin file
C = calculate transaction
P = print transaction
X = exit from program
Enter selection: _
We wish to load a transaction file, calculate any needed information,
then print the results. When the 'L' option is selected, a file name
will be requested so we will need acocunt for this.
Given the circumstances of this example, it will be more advantagious
to playback the keystrokes from the work buffer rather than defining
the key strokes to another key. We could either use a separate file
to define the keystrokes, or we can define the keystrokes right within
the batch file.
If we wish to define the keystrokes in a separate file, the keystroke
file and batch file would appear as follows:
Keystroke file TRANS.KEY:
<flsh> <* make sure work buffer is empty *>
L <* select load option *>
RCPT.TRN<cr> <* enter file name *>
C <* calculate transactions *>
P <* print transactioin *>
X <* exit program *>
<play> <* set playback (enhanced version only) *>
Batch file TRANSACT.BAT:
. <* other batch commands *>
.
SOFTCH /R=TRANS.KEY <* load keyboard buffer *>
TRANS <* execute application *>
.
.
When the batch file is executed, the keyboard buffer is loaded with
the necessary keystrokes. In the regular version of Soft-Touch, the
playback mode will have to be turned on manually by pressing the
escape mode "hot key" sequence followed by the <PLAY> function <F6>.
In the enhanced version the function "<PLAY>" may be included in the
keystroke definition text. The playback mode is then set on when the
<PLAY> function is encountered. The keystrokes will then be passed to
the program as they are requested.
If we wished to define the keystrokes in the batch file and not in a
separate text file, the batch file would appear as follows:
Batch file TRANSACT.BAT:
. <* other batch commands *>
.
SOFTCH /R="<flsh>LRCPT.TRN<cr>CPX<play>"
TRANS
.
.
Again, the <PLAY> function is only valid when included with the
keystroke definition text with the enhanced version of Soft-Touch.
If we wish to use the batch file parameter capabilities we could then
design the batch file so that the file name could be entered as a
parameter on the TRANSACT batch file. The batch file would then
appear as follows:
Batch file TRANSACT.BAT:
. <* other batch commands *>
.
SOFTCH /R="<flsh>L%1<cr>CPX<play>"
TRANS
.
.
The symbol '%1' will be replaced by DOS with the first parameter
entered on the batch file, in this case, the file name. So the
transaction file may be loaded, calculated, and printed using the
following command:
TRANSACT RCPT.TRN
======================================================================
3.b) Creating demonstration or instructional self running
programs:
Another invaluable feature of the Soft-Touch keyboard enhancer is the
ability to use it for running programs for demonstration or
instructional purposes. The keyboard buffer can be loaded with all
the necessary keystrokes for carrying out a full demonstration of an
application.
Just before calling up your application for which you wish to create
your demonstration run, initiate a keystroke definition as outlined in
the section to define keystrokes from the keyboard (section 2.d). At
this time the keyboard buffer should be in record mode and will record
any keys pressed at this time. Run your application at this time and
issue any functions you wish to appear in your demonstration. When
you have finished entering all your desired functions within your
application, you may terminate the keystroke definition with the
appropriate escape mode function key. The entire application may then
be re-run by pressing the defined keystroke.
Note: If desired, the sequence of keystrokes may be recorded to and
executed from the work buffer without actually having to define them
to a single or double keystroke. The work buffer may be played back
by selecting the escape mode <PLAY> function <F6>.
The keystroke buffer should then be saved to a text file for editing
and later restoring. To save the keystroke buffer to a text file,
follow the instructions outlined the the section for saving defined
keystrokes (section 2.e).
Various Soft-Touch functions are available to enhance your
demonstration run so that everything doesn't fly by too fast when it
is re-run. Three function which which may be especially useful are
<WAIT>, <PAUS>, and <BEEP>. These functions can be included during
record mode by selecting the appropriate escape mode function, or they
may be inserted in the saved keystroke text file with a convenient
word processor. Note that the function "<WAIT>" is only available
with the enhanced version of Soft-Touch.
The <PAUS> function will cause the keystroke playback to pause for
about 2 seconds before continuing with the playback. This function
can be inserted at stratigic points to allow for viewing the screen
for a short time. If a longer delay than 2 seconds is necessary, then
several <PAUS> functions may be used end to end. For example,
"<PAUS><PAUS>" will cause a pause of about 4 seconds.
The <WAIT> function will cause the keystroke playback to be suspended
and will wait until any key is pressed on the keyboard before
continuing. This function can be inserted at strategic points to
allow for viewing the current screen until a key is pressed on the
keyboard. This function is only available with the enhanced version
of Soft-Touch.
The <BEEP> function will cause the speaker to respond with one short
beep. This can be used to identify certain points of a playback, such
as just before a <WAIT> function.
Once the keystrokes which run your application have been saved to a
text file and edited, you need only restore the file to the keyboard
buffer and set the play mode to execute the entire application.
To automatically set the play mode when the buffer is loaded, you must
send the <PLAY> function to the keyboard buffer. The <PLAY> function
will cause all keystrokes in the work buffer to be played back. With
the regular version of Soft-Touch this playback mode will need to be
set manually by pressing the escape mode "hot key" sequence followed
by the <PLAY> playback function <F6>. If you have defined all your
application keystrokes to be within the work buffer, then nothing more
need be done. Otherwise, you must set the work buffer to include the
keystroke to which you have defined the application keystrokes.
For example, if you have assigned all of your application keystrokes
to the key <@D> in the text file 'DEMO.KEY' ('MCRO.KEY' for the
regular version), and your application program name is 'APPLIC', then
one possible way to execute the application might be as follows:
Contents of 'DEMO.KEY':
<KSTR><@D>
.
.
(application keystrokes)
.
.
<KEND>
Batch file to execute the application:
.
.
SOFTCH /R=demo.key /R="<FLSH><@D><PLAY>"
APPLIC
.
.
In the batch file the first '/R' parameter causes the keyboard buffer
to be loaded with the application keystrokes found in the file
'DEMO.KEY' ('MCRO.KEY' for the regular version). The second '/R'
parameter causes the work buffer to be cleared, after which the key
'<@D>' is put into the work buffer.
With the enhanced version playback mode is then set on so that the
keystrokes will be sent to the application when requested. Since the
function "<PLAY>" is not implemented for the regular version of
Soft-Touch, the playback mode will have to be set manually by pressing
the escape mode "hot key" sequence followed by the <PLAY> playback
function <F6>.
======================================================================
3.c) Program interface:
This sections contains the user interface routine parameters for the
Soft-Touch keyboard enhancer functions. To use the routines defined
in this section, place the desired value into the register AH and the
required values in the specified registers then issue a call to
software interrupt 016h (INT 016h).
Note: The 'keyboard mode' used in 0A3h, 0A5h, and 0A6h, will affect
the pointers in the Soft-Touch keyboard buffer used by application
programs to get keystrokes from the keyboard. The 'maintenance mode'
will not affect these pointers and is therefore suggested for use when
you wish only to interrogate the keyboard buffer without actually
returning the keystrokes in the buffer to your applications.
Program functions available:
(ah) = A0h Set carry flag and return status.
(ds:si) = pointer to 10 word status array
values returned:
elem: 0 = -1 (indicate Soft-Touch loaded)
1 = work space size (keystrokes)
2 = keystrokes in buffer
3 = execute mode status (on/off)
4 = capture mode status (on/off)
5 to 9 reserved
(ah) = A1h Flush work area buffer.
(ah) = A2h Convert scan code to string.
(bx) = scan code to convert
(cl) = string termination character
(ds:si) = pointer to data area for converted string
the returned string may be up to 8 byte long
including the termination character.
(ah) = A3h Set keystroke pointer to defined key and turn on
playback mode.
(bx) = scan code of defined key.
(if bx=FF00h, set to work buffer)
(cx) = 0 for keyboard mode, (enhanced version only)
1 for maintenance mode
(ah) = A4h Put character string in buffer.
(ds:si) = address of string terminated with a null.
(ah) = A5h Get scan code from active Soft-Touch keyboard
buffer and advance keystroke pointer.
(bx) = returned scan character
(cx) = 0 for keyboard mode,
1 for maintenance mode
(ah) = A6h Get scan code from active Soft-Touch keyboard
buffer and do not advance the keystroke pointer.
(bx) = returned scan character
(cx) = 0 for keyboard mode,
1 for maintenance mode
(ah) = AEh Set escape mode "hot key" sequence.
(bh) = keyboard scan code for escape mode key
(bl) = shift code for escape mode key
01h = right shift
02h = left shift
04h = control shift
08h = alternate shift
(ah) = AFh Set new screen blank delay.
(bx) = time delay in minutes
The returned error codes are as follows:
(dx) = 0000h successful operation
= 0001h unknown option
= 0002h buffer is empty/full
= 0003h key is invalid / already defined / not defined
= 0004h buffer not set for proper defined key termination
= 0005h buffer play/record mode is turned off
= 0006h cannot execute field during it's definition
= 0007h nesting/recursion overflow
+---------------------------------------------------------+
| |
| APPENDICES |
| |
+---------------------------------------------------------+
======================================================================
A) Special keystroke names:
There are keystrokes on the keyboard that do not have any single
character representation, therefore a special notation is used to
identify these keys. The following is a list of keystrokes in their
special notation form, and a description of the function that the key
performs:
An asterisk has been placed by the keystrokes to which you may assign
a string of keystrokes. These keystrokes have been defined as keys
with 'extended scan codes'.
Unshifted keys:
* <F1> - <F10> : unshifted functions
* <UP> : up arrow
* <DOWN> : down arrow
* <LEFT> : left arrow
* <RGHT> : right arrow
* <PGUP> : page up
* <PGDN> : page down
* <HOME> : home
* <END> : end
* <INS> : insert
* <DEL> : delete
<CR> : carriage return
<LF> : line feed
<TAB> : tab
<ESC> : escape
<BKSP> : back space
Alternate shifted keys:
* <@F1> - <@F10> : alternate function
* <@0> - <@9> : alternate numbers (top of keyboard)
* <@-> : alternate '-'
* <@=> : alternate '='
* <@A> - <@Z> : alternate 'A' through 'Z'
Caps shifted keys:
* <$F1> - <$F10> : shifted functions
<$TAB> : shift tab
Control shifted keys:
* <^F1> - <^F10> : control functions
* <^2> : control '2'
<^6> : control '6'
<^-> : control '-'
* <^LEFT> : control left arrow
* <^RGHT> : control right arrow
* <^PGUP> : control page up
* <^PGDN> : control page down
* <^HOME> : control home
* <^END> : control end
* <^PRTS> : control print screen
<^CR> : control carriage return (same as <LF>)
<^BKSP> : control back space
<^[> : control '['
<^\> : control '\'
<^]> : control ']'
<^A> - <^Z> : control 'A' through 'Z'
Special escape mode functions:
The functions applicable only to the enhanced version of
Soft-Touch are indicated by a '**' beside the function.
<ON> : immed: enable defined keys
<OFF> : immed: disable defined keys
<STOP> : immed: turn off record and play modes
<FLSH> : immed: clear work buffer
** <RCRD> : immed: turn on record mode
** <PLAY> : immed: playback work buffer
<KBKS> : immed: backspace work buffer
<KCLR> : immed: clear all defined keys
<KSTR> : immed: start key definition
<KEND> : immed: end key definition
<@ON> : playback: enable defined keys
<@OFF> : playback: disable defined keys
<@STOP> : playback: turn off record and play modes
<@FLSH> : playback: clear work buffer
<@RCRD> : playback: turn on record mode
<@PLAY> : playback: playback work buffer
<@KBKS> : playback: backspace work buffer
<@KCLR> : playback: clear all defined keys
<@KSTR> : playback: start key definition
<@KEND> : playback: end key definition
<BOOT> : re-boot system
<TIME> : set current system data and time
<YEAR> : return long year
<YR> : return short year
<MO> : return month number
<DA> : return day number
<HR> : return hour (24 hour clock)
<MN> : return minutes past hour
<SC> : return seconds past minute
<LOOP> : replay keystrokes
<BEEP> : issue a short beep in the speaker
** <WAIT> : wait until a key is pressed
<PAUS> : pause for 2 seconds
<VFLD> : variable entry field #1
<VFL1> - <VFL3> : variable entry field #1 - #3
<VAR> : variable field return #1
<VAR1> - <VAR3> : variable field return #1 - #3
Other special names:
<*...comment...> : comment line
<#001> - <#255> : alternate shift numeric pad codes
<&hhhh> : literal scan code (hhhh = hex number)
======================================================================
B) Keyboard scan codes:
This is a list of the keyboard scan codes and the codes which are
returned by a call to software interrupt 016h. All keystrokes in the
list below which have a returned code ending with 00h (ie. 3B00h for
<F1>) may be used for assigning keystroke strings.
Scan code table:
keyboard | codes returned by int 016h
scan code | | shift status
dec | hex | key | norm | alt | shft | ctrl
----+-----+---------+-------+-------+-------+-------
1 | 01h | esc | 011Bh | ---- | 011Bh | 011Bh
2 | 02h | 1 ! | 0231h | 7800h | 0221h | ----
3 | 03h | 2 @ | 0332h | 7900h | 0340h | 0300h
4 | 04h | 3 # | 0433h | 7A00h | 0423h | ----
5 | 05h | 4 $ | 0534h | 7B00h | 0524h | ----
6 | 06h | 5 % | 0635h | 7C00h | 0625h | ----
7 | 07h | 6 ^ | 0736h | 7D00h | 075Eh | 071Eh
8 | 08h | 7 & | 0837h | 7E00h | 0826h | ----
9 | 09h | 8 * | 0938h | 7F00h | 092Ah | ----
10 | 0Ah | 9 ( | 0A39h | 8000h | 0A28h | ----
11 | 0Bh | 0 ) | 0B30h | 8100h | 0B29h | ----
12 | 0Ch | - _ | 0C2Dh | 8200h | 0C5Fh | 0C1Fh
13 | 0Dh | = + | 0D3Dh | 8300h | 0D2Bh | ----
14 | 0Eh | bksp | 0E08h | ---- | 0E08h | 0E7Fh
15 | 0Fh | tab | 0F09h | ---- | 0F00h | ----
16 | 10h | Q | 1071h | 1000h | 1051h | 1011h
17 | 11h | W | 1177h | 1100h | 1157h | 1117h
18 | 12h | E | 1265h | 1200h | 1245h | 1205h
19 | 13h | R | 1372h | 1300h | 1352h | 1312h
20 | 14h | T | 1474h | 1400h | 1454h | 1414h
21 | 15h | Y | 1579h | 1500h | 1559h | 1519h
22 | 16h | U | 1675h | 1600h | 1655h | 1615h
23 | 17h | I | 1769h | 1700h | 1749h | 1709h
24 | 18h | O | 186Fh | 1800h | 184Fh | 180Fh
25 | 19h | P | 1970h | 1900h | 1950h | 1910h
26 | 1Ah | [ { | 1A5Bh | ---- | 1A7Bh | 1A1Bh
27 | 1Bh | ] } | 1B5Dh | ---- | 1B7Dh | 1B1Dh
28 | 1Ch | return | 1C0Dh | ---- | 1C0Dh | 1C0Ah
29 | 1Dh | ctrl | ---- | ---- | ---- | ----
30 | 1Eh | A | 1E61h | 1E00h | 1E41h | 1E01h
31 | 1Fh | S | 1F73h | 1F00h | 1F53h | 1F13h
32 | 20h | D | 2064h | 2000h | 2044h | 2004h
33 | 21h | F | 2166h | 2100h | 2146h | 2106h
34 | 22h | G | 2267h | 2200h | 2247h | 2207h
35 | 23h | H | 2368h | 2300h | 2348h | 2308h
36 | 24h | J | 246Ah | 2400h | 244Ah | 240Ah
37 | 25h | K | 256Bh | 2500h | 254Bh | 250Bh
38 | 26h | L | 266Ch | 2600h | 264Ch | 260Ch
39 | 27h | ; : | 273Bh | ---- | 273Ah | ----
40 | 28h | ' " | 2827h | ---- | 2822h | ----
41 | 29h | ` ~ | 2960h | ---- | 297Eh | ----
(continued)
keyboard | codes returned by int 016h
scan code | | shift status
dec | hex | key | norm | alt | shft | ctrl
----+-----+---------+-------+-------+-------+-------
42 | 2Ah | L-shft | ---- | ---- | ---- | ----
43 | 2Bh | \ | | 2B5Ch | ---- | 2B7Ch | 2B1Ch
44 | 2Ch | Z | 2C7Ah | 2C00h | 2C5Ah | 2C1Ah
45 | 2Dh | X | 2D78h | 2D00h | 2D58h | 2D18h
46 | 2Eh | C | 2E63h | 2E00h | 2E43h | 2E03h
47 | 2Fh | V | 2F76h | 2F00h | 2F56h | 2F16h
48 | 30h | B | 3062h | 3000h | 3042h | 3002h
49 | 31h | N | 316Eh | 3100h | 314Eh | 310Eh
50 | 32h | M | 326Dh | 3200h | 324Dh | 320Dh
51 | 33h | , < | 332Ch | ---- | 333Ch | ----
52 | 34h | . > | 342Eh | ---- | 343Eh | ----
53 | 35h | / ? | 352Fh | ---- | 353Fh | ----
54 | 36h | R-shft | ---- | ---- | ---- | ----
55 | 37h | * prtsc | 372Ah | ---- | ---- | 7200h
56 | 38h | alt | ---- | ---- | ---- | ----
57 | 39h | space | 3920h | 3920h | 3920h | 3920h
58 | 3Ah | caps-lk | ---- | ---- | ---- | ----
59 | 3Bh | f1 | 3B00h | 6800h | 5400h | 5E00h
60 | 3Ch | f2 | 3C00h | 6900h | 5500h | 5F00h
61 | 3Dh | f3 | 3D00h | 6A00h | 5600h | 6000h
62 | 3Eh | f4 | 3E00h | 6B00h | 5700h | 6100h
63 | 3Fh | f5 | 3F00h | 6C00h | 5800h | 6200h
64 | 40h | f6 | 4000h | 6D00h | 5900h | 6300h
65 | 41h | f7 | 4100h | 6E00h | 5A00h | 6400h
66 | 42h | f8 | 4200h | 6F00h | 5B00h | 6500h
67 | 43h | f9 | 4300h | 7000h | 5C00h | 6600h
68 | 44h | f10 | 4400h | 7100h | 5D00h | 6700h
69 | 45h | num-lk | ---- | ---- | ---- | ----
70 | 46h | break | ---- | ---- | ---- | 0000h
71 | 47h | home 7 | 4700h |*00##h | 4737h | 7700h
72 | 48h | up 8 | 4800h |*00##h | 4838h | ----
73 | 49h | pgup 9 | 4900h |*00##h | 4939h | 8400h
74 | 4Ah | - | 4A2Dh | ---- | 4A2Dh | ----
75 | 4Bh | left 4 | 4B00h |*00##h | 4B34h | 7300h
76 | 4Ch | 5 | ---- |*00##h | 4C35h | ----
77 | 4Dh | rght 6 | 4D00h |*00##h | 4D36h | 7400h
78 | 4Eh | + | 4E2Bh | ---- | 4E2Bh | ----
79 | 4Fh | end 1 | 4F00h |*00##h | 4F31h | 7500h
80 | 50h | dwn 2 | 5000h |*00##h | 5032h | ----
81 | 51h | pgdn 3 | 5100h |*00##h | 5133h | 7600h
82 | 52h | ins 0 | 5200h |*00##h | 5230h | ----
83 | 53h | del . | 5300h | ---- | 532Eh | ----
* special ALT code generation
note: 0000 is not returned by the ALT numeric pad sequence.
======================================================================
C) Error messages:
This section lists the possible error messages that may be encountered
while using the MCROKY command.
Error: Keyboard buffer has not been loaded
An option has been requested on the SOFTCH command line that
requires that the buffer be previously loaded with the install
option. This can be corrected by installing the buffer.
Error: Invalid quoted string
An invalid quoted string has been entered on the SOFTCH command
line with the restore option. Correct the improper quoted string,
then resubmit the command.
Error: File does not exist
The file name entered on the restore option does not exist as
specified. Check that the drive and path for the file are
correctly specified, then resubmit the command.
Error: Buffer load error (invalid code / buffer full)
The restore option on the SOFTCH command found an error when
loading the keyboard buffer with keystrokes. Either an invalid
keystroke function name has been specifed, or the keyboard buffer
is full and can not accept any more keystrokes.
Error: Unknown parameter code
An option has been specified on the SOFTCH command line that is not
valid. Correct the invalid parameter code, then resubmit the
command.
Error: Buffer already loaded
The buffer install optioni has been specified when the macro key
keyboard buffer has already been loaded. The buffer cannot be
loaded more than once.
Error: Invalid parameter format (terminating)
The parameter parser became lost when trying to separate options on
the SOFTCH command line due to an invalid parameter format
specified. The rest of the parameter line is flushed and the
command terminated. Correct the invalid parameter format, then
resubmit the command.
Error: File open error
A DOS level error was encountered when trying to open a file for
the save or restore option.
Error: File write error (disk full)
A DOS level error was encountered when writing keystrokes to a file
during the save option. This usually means that the disk has
become full and that no more information can be written. Change
diskettes or allocate more available space, then resubmit the
command.
Error: Parameter number overflow / number invalid
This means that a number specified on the install or screen blank
options is too large or is invalid. Change the specified number,
then resubmit the command.
Error: Invalid escape mode "hot key" parameter
The number specified on the escape mode "hot key" change option is
invalid. Correct and resubmit the command.
======================================================================
D) Program License Agreement:
YOU SHOULD CAREFULLY READ THE FOLLOWING TERMS AND CONDITIONS BEFORE
USING THIS PRODUCT. USING THIS PRODUCT INDICATES YOUR ACCEPTANCE OF
THESE TERMS AND CONDITIONS. IF YOU DO NOT AGREE WITH THEM, YOU SHOULD
PROMPTLY RETURN THE PACKAGE.
LICENSE
A limited license is granted to any user of the program to freely copy
and distribute the product on the following conditions:
You may:
- Use the program on any microcomputer on which this package
was designed to operate.
- Copy the program into any machine readable form for
backup purposes.
- Freely copy and share unmodified copies of the product with
your friends or associates.
You may not:
- Sell this product for a fee without express written permission.
- Grant sublicense, leases, or other rights in the software to
others.
- Modify or remove the Copyright notice from the program,
diskette or its manual.
- Modify the program, diskette or manual and/or merge it into
another program for any machine.
Terms and Conditions
The license is effective until terminated. You may terminate it at
any time by destroying the diskette(s) contained in this package. The
license and the rights thereof terminate if you fail to comply with
any term or condition of this agreement. You agree further, upon
termination, to destroy the program together with any modifications
and/or merged portions in any form.
======================================================================
E) Limited Warranty:
THE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
THE ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE ENTIRE COST
OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. SOME STATES DO NOT
ALLOW THE EXCLUSION OF IMPLIED WARRANTIES SO THE ABOVE EXCLUSION MAY
NOT APPLY TO YOU. THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS AND
YOU MAY ALSO HAVE OTHER RIGHTS WHICH VARY FROM STATE TO STATE.
LIMITATIONS OF REMEDIES
Martin D. Flynn and his associates liability and your exclusive remedy
shall be:
- The replacement of the diskette(s) if you have met the
conditions as described under "LIMITED WARRANTY" or
- A full refund if Martin D. Flynn is unable to deliver a diskette
free from defects in materials or workmanship.
IN NO EVENT WILL MARTIN D. FLYNN OR HIS ASSOCIATES BE LIABLE TO YOU
FOR ANY DAMAGES INCLUDING ANY LOST PROFITS, LOST SAVINGS OR OTHER
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE SUCH PROGRAM EVEN IF MARTIN D. FLYNN OR HIS
ASSOCIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR ANY
CLAIM BY ANY OTHER PARTY.
SOME STATES DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR
INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR
EXCLUSION MAY NOT APPLY TO YOU.
GENERAL
You may not sublicense, assign or transfer the license or the limited
warranties of the program except as expressly provided in this
agreement. Any attempt otherwise to sublicense, assign or transfer
any of the rights, duties or obligations hereunder is void. This
agreement will be governed by the laws of the State of California.
Should you have any questions concerning this agreement, you may
contact Martin D. Flynn by writing to:
Martin D. Flynn
P.O. Box 5034
Redwood City, Calif. 94063
YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT AND UNDERSTAND IT
AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. YOU FURTHER AGREE
THAT IT IS THE COMPLETE AND EXCLUSIVE STATEMENT OF THE AGREEMENT
BETWEEN US WHICH SUPERCEDES ANY PROPOSAL OR PRIOR WRITTEN AGREEMENT,
ORAL OR WRITTEN, AND ANY OTHER COMMUNICATIONS BETWEEN US RELATING TO
THE SUBJECT MATTER OF THIS AGREEMENT.