home *** CD-ROM | disk | FTP | other *** search
- KEYS allows you to provide automatic keystrokes. One highly useful
- technique is to run KEYS from a batch file to set up some automatic
- keystrokes for the next program in the batch file.
-
- KEYS is fully compatible with the program KSTACK which is shipped
- with 4DOS, and is also mostly compatible with 4DOS's KEYSTACK command.
- KEYS provides a superset of the capabilities of 4DOS KSTACK program
- and KEYSTACK command, in a fully coexistant environment. KEYS can be
- substituted for the KSTACK program, or for the KEYSTACK command, or
- both. KEYS has a more useable command line syntax for keystroke
- specification than the KEYSTACK command. KEYS consumes less resident
- memory than the KSTACK program. KEYS comes with assembler source, and
- can be used independently of 4DOS.
-
- To install KEYS, run it with the /I parameter: KEYS /I
- (This is equivalent to running the KSTACK program with no parameters
- prior to it being installed, or with the /I parameter at any time.)
-
- To check if KEYS has already been installed, run it with no parameters.
- KEYS will inform you of the installation state.
-
- To initialize keystrokes, run it with any of the other parameters
- below on the command line (They are a superset of KEYSTACK's
- parameters). If the command line isn't long enough to allow
- specification of enough keystrokes, you can put the keystroke
- parameters into a file, and use the command: KEYS /F < file
-
- The parsing is very dumb. If you follow the rules below, will should
- have no problem. If you do not, you may get unpredictable keystrokes.
- Unquoted numbers should generally be followed by a space.
-
- quoted string: begins and ends with the same quote character. All
- characters between are automatic keystrokes. The
- quote character itself may be either ' or ", and may
- not be imbedded within the quoted string. A string
- delimited by leading and trailing tilde characters ("~")
- can also be used. In this case, the scancodes used for
- the digits and for the characters ".*-+" are those from
- the numeric keypad.
-
- -: Satisfies a check for type-ahead with a zero response, is ignored for
- waited get character requests.
-
- !: Clears all pending KEYS keystrokes, as well as all user supplied
- keystrokes. Does not clear any parameters specified with this same
- command, however, only keystrokes that existed before this invocation
- of KEYS are cleared.
-
- f1-f12: Generates the extended ASCII sequence for function keys 1 to 12.
-
- fs1-fs12: Generates codes for shifted function keys.
-
- fc1-fc12: Generates codes for control function keys.
-
- fa1-fa12: Generates codes for alternate function keys.
-
- r,e: Either of these generate a carriage return.
-
- ^c: Generates the control code associated with the character "c".
- Control-C is not specially recognized by the BIOS in this manner.
- The character "c" should generally be a letter.
-
- &c: Generates the ALT code associated with the character "c".
- The character "c" should generally be a letter.
-
- numbers: The ASCII code of any character can be typed in. If the
- number is greater than 255 it is assumed to also contain
- the scan code for the character.
-
- Extended ASCII: An @-sign followed by a number code is treated as an
- Extended ASCII code. All Function keys are included.
-
- Enhanced Keyboard Extended ASCII: A %-sign followed by a number code is
- treated as an Extended ASCII code from
- the enhanced keyboard. The ASCII value
- is hex E0 'α'.
-
- Scan code: A #-sign followed by a number changes the scan code that is
- provided for successive characters. The initial value is 255.
- A value of 255 emulates using the actual keys on the keyboard:
- the scan code is derived from the ASCII value of the keystroke.
- Other values of the scan code are used for every character
- specified until the scan code is changed again. For example,
- since hitting the "+" key on the numeric pad is indistinguishable
- from hitting the "+" key on the alphanumeric pad by the ASCII
- value, KEYSTACK will interpret it as coming from the alphanumeric
- keyboard. However, to specify it as coming from the numeric pad,
- use the following parameters: #78 "+". Or ~+~. Strange
- combinations of scan codes and ASCII codes can result from
- misuse of this feature. Also, any combination of codes that
- can be generated from any keyboard can be generated this way.
-
- /wnnn: nnn is a number of tenths of seconds that are delayed between
- between the prior and next parameters. Numbers between 0 and 255
- are acceptable. A tenth of a second is approximated by 2 BIOS clock
- ticks, causing the actual delay to be somewhat longer than specified.
-
- Note: minor incompatibilities with the KSTACK program and KEYSTACK command
- of 4DOS:
-
- KEYSTACK's /W parameter is in 18ths of a second, or BIOS clock ticks.
- KEYS will wait twice as long for the same specification. Generally,
- this will slow things down a little but otherwise not cause bad effects.
- Tenths of seconds are felt to be more user-friendly.
-
- KEYS automatically supplies the correct BIOS scan code for parameter
- keystrokes. KEYSTACK generally supplies 0 for the scan code. KEYS
- can simulate KEYSTACK's behavior in this regard, if you supply as the
- first parameter "#0". However, KEYS default behavior is superior to
- KEYSTACK's default behavior.
-
- KEYS can be patched to supply scan codes for alternate keyboards.
- There are two tables at the end of the binary that are used to look
- up the scan code value for a particular ASCII value... the first
- with preference for the alphanumeric keyboard, the second with
- preference for the numeric keypad, for those characters that are on
- both.
-
- Written by Glenn Linderman, glenn.linderman@sandiegoca.ncr.com
-