home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
norge.freeshell.org (192.94.73.8)
/
192.94.73.8.tar
/
192.94.73.8
/
pub
/
computers
/
pcjr
/
utility
/
NEWKEY53.LZH
/
NEWKEY.MAN
< prev
next >
Wrap
Text File
|
1989-01-15
|
152KB
|
3,846 lines
LIMITED WARRANTY
These programs are 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 the quality and performance of the
program is with you. Should the program prove defective, you
(and not FAB Software or its dealers) assume the entire cost of
all necessary servicing, repair or correction.
In no event will the FAB Software be liable to you for any
damages, including any lost profits, lost savings or other
incidental or consequential damages arising out of the use of or
inability to use these programs, even if the FAB Software has
been advised of the possibility of such damages, or for any claim
by any other party.
COPYRIGHT
Copyright (C) 1984-1988 by Frank A. Bell. All rights reserved.
This software is protected by both United States Copyright Law
and international treaty provisions. Therefore you must treat this
software just like a book with the following exception. FAB
Software authorizes you to make archival copies of the software
for the sole purpose of backing-up your software and protecting
your investment from loss.
By saying, "just like a book", FAB Software means that this
software may be used by any number of people and may be
freely moved from one computer location to another, so long as
there is No Possibility of it being used at one location while it's
being used at another. Just as a book which can't be read by
two different people in two different places at the same time,
neither can the software be used by two different people in two
different places at the same time.
There is a special full-power evaluation version of Newkey which
may be copied subject to the restrictions listed in "Restricted
Permission to Copy".
NEWKEY
A Keyboard Enhancer for
The IBM Personal Computer
Version 5.0
FAB Software
P.O. Box 336
Wayland, MA 01778
TABLE OF CONTENTS
1 - INTRODUCTION 1
1.1 Purpose and Terminology 1
1.2 Installation Tips 2
1.3 Guided Tour 2
1.4 Files Supplied With Newkey 2
1.5 Sample Macro Files 2
2 - GETTING STARTED 3
2.1 How Newkey Works 3
2.2 Loading Newkey 3
2.2.1 Buffer Size 4
2.2.2 Forced Load 4
2.2.3 Newkey Load Order 4
2.3 Defining a Macro 5
2.4 Macro Definition Status Line 7
2.5 Space Considerations 7
2.6 Error Correction 8
2.7 Pop-up Access to Newkey's Features 8
2.8 Menu Access to Macro Definition Commands 8
3 - MACRO FUNCTIONS 9
3.1 Entering a Macro Function 9
3.2 Beep 9
3.3 Clear Macros 9
3.4 Clear Screen 9
3.5 Cursor On/Off 10
3.6 Cut From Screen 10
3.7 Date/Time 10
3.7.1 Zero Fill Option 11
3.8 Define a Macro to a Specific Definition 11
3.9 Delete a Macro 12
3.10 Fixed Length Fill-in-the-Blanks 12
3.11 Guard a Macro 13
3.12 Input to Macro 13
3.13 Load Macros 13
3.14 Playback Bypass 14
3.15 Pop-up Newkey Menu 15
3.16 Send to Printer 15
3.17 Restore Screen 15
3.18 Save Macros 15
3.19 Screen off/on 15
3.20 Set Option 16
3.21 Control Caps, Num, and Scroll Shift States17
3.22 Slow Typing Mode 17
3.23 Time Delay 17
3.24 Variable Length Fill-in-the-Blanks 18
3.24.1 Ending a Variable Pause Without Actually Typing the
Pause End Key 19
3.25 Wait for key 19
4 - CONTROLLING MACRO EXECUTION 20
4.1 Switching Newkey Off/On 20
4.2 Playback Bypass 20
4.3 Inactivated Macros 20
4.4 Cancel Newkey Processing 20
4.5 Unload and Reclaim Memory 21
4.6 Slow Typing Mode 21
4.6.1 Setting Slow Typing Speed 21
4.7 Single Step Macro Playback 22
4.8 Disk Wait During Macro Playback 22
5 - EDITING MACROS 23
5.1 Display Directory and Descriptions 23
5.2 Displaying a Macro 23
5.3 Editing a Macro 23
5.3.1 Escaping Editor Command Key Processing 24
5.3.2 Copying/Moving a Macro 24
5.3.3 Copying the Keyboard Buffer 25
5.4 Deleting a Macro 25
5.5 Editing Using a Text Editor 25
6 - ADVANCED MACRO FEATURES 26
6.1 Defining a Multi-Character Macro 26
6.2 Playing back a Multi-Character Macro 26
6.3 Shorthand Mode 27
6.3.1 Capitals in Shorthand Mode 28
6.3.2 Controlling Shorthand Mode 28
6.3.3 Shorthand Mode Backspacing 29
6.3.4 Shorthand Mode Restrictions 29
6.4 Nested Macro Playback 29
6.4.1 Recursion 30
6.5 Defining Macros From Within Macros 30
6.6 Macro May Call Itself 31
6.7 Invoking Newkey From its Own Macros 32
6.7.1 Scope of Macro Definition and Playback 32
6.8 Cut and Paste 32
6.8.1 Cutting 32
6.8.2 Pasting33
6.8.3 Cut and Paste Line End Key 33
7 - DISPLAY MACROS 34
7.1 Creating and Editing a Display Macro 34
7.2 Suggestions on Creating and Editing 38
8 - MENU MACROS 39
8.1 Creating and Editing a Menu Macro 39
8.2 Preparing to Define a Menu Macro 41
8.3 How Menu Macros Work 41
9 - KEYBOARD AND SCREEN FEATURES 42
9.1 Screen Saver Mode 42
9.1.1 Blank Delay Time 42
9.1.2 Video I/O Restore Screen 42
9.2 Extended Keyboard Buffer 43
9.3 Fast Key Parameters 43
9.3.1 Fast Key Delay 43
9.3.2 Fast Key Rate 44
9.3.3 Alternate Fast Key Mode 44
9.4 Keyboard Click 44
9.5 Cap/Num Lock Indicators 44
9.6 Caps/ctrl Key Switch on Enhanced Keyboards 44
10 - CUSTOMIZING NEWKEY 45
10.1 Control Keys 45
10.2 Parameters 46
10.3 Black and White Mode 46
10.4 Customizing Macro Definition Messages 47
10.4.1 Macro Already Defined Warning Switch 47
10.4.2 Defining Alpha Character Warning Switch 47
10.4.3 Enter Description Request Switch 47
10.4.4 Status Line Position 48
10.5 Preventing Key Creation 48
10.6 Customizing Colors 49
11 - LOADING & SAVING MACROS 50
11.1 Save File 50
11.2 Load File 50
11.3 Merge File 51
11.4 Default Path and Extension for Macro Files 51
11.5 Clear Macros 52
11.6 Guarded Macros 52
12 - NEWKEYSP OVERVIEW 53
12.1 Invoking Newkeysp 53
12.2 Execute Multiple Newkeysp Commands 53
12.3 Newkeysp Batch Commands 53
12.4 Executing Macros From a Batch File 54
13 - NOTES ON KEYS SUPPORTED 55
13.1 Synonyms - Different Keys, Same Ascii Codes 55
13.2 Generating Extended Ascii Codes 55
14 - TIPS ON USING NEWKEY 56
14.1 Use Your Autoexec.bat File 56
14.2 Do Not Forget to Save Your Macros 56
14.3 Combining Macro Files 56
14.4 Multiple Macro Files 56
14.5 Save All Macros Files in One Directory 57
15 - COMMON PROBLEMS 58
15.1 Keys That Used to Work No Longer Work 58
15.2 Other Memory-resident Programs Hang 58
15.3 Monitor Does Not Clearly Display Newkey Menus 58
15.4 Screen Does Not Blank 58
15.5 Cannot Restore Blanked Screen 59
15.6 Newkey Does Not Work Right With Certain Programs 59
15.7 Cannot Access Extended Ascii (upper 128) codes 59
15.8 Losing Part of Macro Definition 60
15.9 Limited Memory Considerations 60
15.10 Computer Hangs up and Must be Rebooted 60
16 - TECHNICAL OVERVIEW 61
16.1 Newkey Requirements 61
16.2 Newkeysm, The SMall Version 61
16.3 Newkey's Limitations 61
16.4 Hardware Compatibility 61
16.5 Enhanced Keyboard 61
16.6 Hercules Graphics boards 62
16.7 Graphics Modes 62
16.8 Software Compatibility 62
16.9 Shift Status Reset 63
7 - MISCELLANEOUS 64
17.1 Support 64
17.2 Reporting Newkey Bugs 64
17.3 Restricted Permission to Copy 65
17.3.1 What May be Copied 65
17.3.2 Rules For Copying Evaluation Version 66
17.4 Price List and Order Form 66
17.5 The Shareware Concept 67
17.6 Association of Shareware Professionals 67
A - KEYS SUPPORTED 69
B - FUNCTIONS 72
C - EXTENDED CODES 74
D - SYNONYMS 77
E - COLOR CODES 78
F - SUMMARY OF CHANGES 79
INDEX 81
1
CHAPTER 1 - INTRODUCTION
1.1 Purpose and Terminology
The Newkey keyboard enhancer simplifies the entry of common
keystroke sequences by allowing these sequences to be
assigned to any key desired. Once assigned to a particular key,
whenever that key is struck the predefined sequence of
keystrokes will be substituted for the struck key.
For example, the <altc> key might be defined as "copy" and
whenever <altc> is struck the string "copy" will be substituted for
it. The process of assigning a sequence of keystrokes to
another key is called "macro definition". The process of
substituting the Newkey-assigned sequence for a key that is
actually struck is called "playback".
When we refer to specific keystrokes, such as <altc> in the
above example, the keystroke name will be enclosed in a "<"
and a ">". The keystroke name will be made up of an optional
prefix (alt, caps, ctrl, or num) plus the a key's name. To enter
<altc> for example, press the "alt" key and then while continuing
to hold the alt key down, press the "c" key.
Newkey allows customization of software packages, ready
creation of boiler plate passages, keyboard redefinition, and other
useful purposes. Newkey also provides many more features
including:
- Ability to define any key support by your keyboard
- Shorthand mode
- Display windows
- Menu macros
- Full-featured macro editor
- Multi-character macro names
- Cut & Paste
- Extended keyboard buffer
- Screen saver feature
- Saving macros from memory to disk
- Many more features too numerous to list
2
Newkeysp, the Newkey Support Program, provides many
functions to complement Newkey, including:
- Execute macros from batch files
- Execute Newkey functions from batch files
- Set menu colors and other options
1.2 Installation Tips
- First make a copy of the Newkey disk and put away the
supplied disk as a backup.
- Next read the "readme" file. This file will contain the latest
Newkey information which has come up since this manual was
printed plus a section on using Newkey with other software.
- Users of earlier versions should consult the "Summary of
Changes" in appendix F for important conversion information.
- Hard disk users will want to put the "newkey.exe" and
"newkeysp.exe" programs in a directory which is specified in their
"path" command so that they are readily accessible from all of
their sub-directories.
1.3 Guided Tour
A guided tour comes with Newkey and may be invoked by
issuing the command "demo" while the Newkey disk is in the
default disk drive. This tour is done entirely using Newkey
macros and illustrates many of Newkey's major features.
1.4 Files Supplied With Newkey
For a list of the files supplied with Newkey print the "readme" file.
We used to supply a list in the manual, but found that the list
would eventually became obsolete. The list on the readme will
be up-to-date.
1.5 Sample Macro Files
Several sample macro files are supplied with Newkey to illustrate
its use and provide you with a starting point. These macro files
are self-documenting and you may find it useful to print them
before they are used.
3
CHAPTER 2 - GETTING STARTED
2.1 How Newkey Works
A basic understanding of how Newkey works is important to
using it well. When you load Newkey, it makes itself part of the
software controlling your computer. From that time forward it is
continually "listening in" to the conversation you are having with
your computer as you type at the keyboard. It listens when you
are at the DOS command line, it listens when you are working in
your word-processor, your spreadsheet, or whatever program you
are running at the time.
As it listens, it checks each keystroke against its list of macros.
When a keystroke with a macro assigned to it is recognized,
Newkey jumps in and plays the macro back. It does this by
fooling the computer's software into thinking that it is reading
from the keyboard when in fact, it is Newkey which is feeding the
keystrokes to the computer's software and not you at the
keyboard. When the macro is done, Newkey returns everything
to normal and lets your computer's software start reading from
the keyboard once again.
Of course Newkey actually does much more than simple macro
playback, but an understanding of its basic functioning will help
you to use it to its fullest.
2.2 Loading Newkey
To load Newkey, type
newkey [/buffer size] [/f]
and press the <enter> key. Within a second or two a short
message will be displayed with the line
Newkey loaded
at the bottom.
When you receive this message, Newkey is loaded and ready to
use. You may wish to load a predefined set of macros. To do
this, refer to section 11.2, "Load File", for more information.
4
2.2.1 Buffer Size
Newkey comes with a default macro buffer size which will accept
up to 1000 characters of macro definitions. This default may be
changed at run time by specifying the parameter /xxxxx when first
invoking Newkey where xxxxx is up to a 5 digit number specifying
the number of characters to be reserved for the macro buffer.
Newkey will reserve twice this number of bytes in memory (each
character requires two bytes).
For example:
newkey /1000
will reserve enough space for 1000 characters of playback (2000
bytes of storage.)
The legal range for this number is 5 - 32000.
2.2.2 Forced Load
Occasionally Newkey will think that it is already loaded when in
fact it is not. In order to force Newkey to load, add the
parameter '/f' when initially loading Newkey.
For example:
newkey /f
newkey /1000 /f
will force newkey to load even if it thinks it is already loaded.
The most likely time this will be necessary is when you are using
a warm boot program which preserves certain areas of the
computer's memory (JBOOT, for example). If Newkey is
accidently loaded a second time, results will be unpredictable.
2.2.3 Newkey Load Order
The number of programs interacting with the operating system is
growing every day. Many of these programs make themselves
resident and latch on to the same interrupts Newkey uses.
Version 5.0 has been written to provide the maximum possible
compatibility with these programs.
5
Generally speaking, it is impossible to make any hard and fast
rules about the order in which your memory-resident programs
should be loaded. Some programs require Newkey to be loaded
before they are loaded, some after. For further information on
using Newkey with other software, refer to the readme file on the
Newkey disk.
2.3 Defining a Macro
To define a macro follow these steps:
1. Press the <alt=> key.
A window will open up looking like this:
<─┘
2. Press the key you wish to define.
Let's assume that you are defining <altc> to be "copy". Press
<altc> and it will be displayed in the window.
<─┘
3. Now you will be asked to enter a description.
This optional field allows you to create a short description of
what the macro does. In the example below, "Start copying" is
the description that has been entered.
<─┘
When you are finished entering the description press <enter>.
At this point the following 4 things will happen:
6
- The window will close
- A status line will be displayed at the top of your screen
- The cursor will take on a block shape
- A beep will sound each time you press a key
As long as you are in macro definition mode, the status line will
be displayed, the cursor will retain some sort of block shape, and
each keystroke will cause a beep.
4. Now enter the keystrokes you want the macro to
represent ("copy " in our example.)
Your software will continue to act on these keystrokes as if macro
definition was not occurring. Newkey is just listening in as you
type and remembering your keystrokes. The software you are
using, whether you are at the DOS command line, in your word-
processor, spreadsheet, or whatever does not realize that
Newkey is there. This enables you to monitor the macro
definition to ensure that you are actually creating a macro that
will do what you wish, because as you type, your software is
reacting to your keystrokes just as it will when you later play the
macro back.
6. When you have finished defining the macro press the <alt->
key.
The status line will disappear, the cursor will take on its normal
shape, and your macro definition is finished.
Now press <altc> and watch "copy" be played back. Unless
saved in a disk file, the new macro will be lost when the system
is rebooted. For more information on saving macros, refer to
section 11.1, "Save file".
Macros may also be created or modified by using Newkey's
macro editor on macros in memory or with your word processor
or text editor on a saved macro file. For further information on
editing macros, refer to chapter 5, "Editing Macros".
Most of the macro definition messages and other aids described
in this chapter as well as others can be customized to suit your
preferences. If you do not need these aids or protection you can
eliminate them and the additional keystrokes they require. These
options are described in section 10.4, "Customizing Macro
Definition Messages".
7
2.4 Macro Definition Status Line
Newkey will display a status line during macro definition. This
status line will display in reverse video the key being defined, the
current defining mode, and which keys to press to end or cancel
macro definition. Possible defining modes are:
TEXT = text mode
FIX = fixed length pause
VAR = variable length pause
The status line will not be displayed if your program is currently
in graphics mode.
2.5 Space Considerations
Unless told otherwise, Newkey automatically reserves enough
macro space for 1000 characters. If new macro definitions total
more than 1000 characters in a session, Newkey will display this
message in reverse video:
*OUT OF MEMORY - PRESS ESC TO CONTINUE*
If you receive this message, all further new macro definition will
be halted, including the one you are currently creating. At this
point there are two ways to get more macro definition space:
Method 1
1. Save the current macros (section 11.1)
2. Unload Newkey (section 4.5).
3. Reload Newkey increasing the size of the macro buffer
(section 2.2.1).
4. Reload the saved macros (section 11.2).
Method 2
Delete some unused or unnecessary macros (section 5.4,
"Deleting a Macro").
8
2.6 Error Correction
During macro definition, Newkey treats the <ctrlh> key as a
back space and delete. This allows you to correct a mistake
during macro definition without the correction becoming part of
the macro.
You may also edit the macro being defined by pressing the
<ctrl\> key. This will take you into the Newkey macro editor for
the key being defined. You may also edit the macro by entering
the macro editor in the normal manner through the pop-up key.
2.7 Pop-up Access to Newkey's Features
Most of Newkey's features may be invoked at any time without
leaving your current program by pressing the pop-up key,
<alt/>. Newkey will save your current screen, present you with
a menu of options, and when you are done, restore your screen
just where you left off.
This feature is not available in the small version of Newkey,
Newkeysm.exe, resulting in a savings of 25K in memory.
2.8 Menu Access to Macro Definition Commands
This option allows you another method of executing the macro
commands described later besides pressing the appropriate
control key. If you don't remember what key does what, instead
of looking it up call up the pop-up menu and select the "Execute
macro commands" option.
A menu will be displayed listing all of your possible options.
Only those which are highlighted may be selected. Those which
are highlighted will depend on several factors, such as whether
you are in macro definition mode or not.
9
CHAPTER 3 - MACRO FUNCTIONS
This chapter describes many of the special purpose functions
which can be invoked by Newkey's macros. A function may not
be described in this chapter if it is normally inserted by the
display or menu macro editors. For a complete list of macro
functions refer to Appendix B.
3.1 Entering a Macro Function
Most of Newkey's macro functions must be entered by editing
the macro and inserting the desired functions. Newkey allows
you to edit a macro as it is being defined or after it has been
defined.
To enter a function as a macro is being defined, press the "edit
macro being defined" key, <ctrl\>. This will cause you to enter
the macro editor with the cursor positioned at the end of the
macro you are currently defining. At this point you may insert
special functions (F2) or do any of the other normal macro
editor's functions. When you are done, Newkey will return you to
where you left off.
To enter a function after the macro has been defined use the
macro editor as described in Chapter 5, 'Editing Macros'.
3.2 Beep
Macro function: {beep}
Newkey allows you to beep during macro playback.
3.3 Clear Macros
Macro function: {clearmac}
This function will clear macros from memory. It will not clear any
macros currently being played back or guarded macros.
3.4 Clear Screen
Macro function: {cls}
This function will clear the screen during macro playback.
10
3.5 Cursor On/Off
Macro function: {cursoff}
{curson}
These functions will turn the cursor off or on.
3.6 Cut From Screen
Macro function: {cut macroname row,column,lines,length}
This function will cut the specified number of lines for the
specified length starting at row and column on your screen and
assign it to the specified macro. It works just like the cut and
paste option, except that the macro does the cutting for you.
3.7 Date/Time
Macro function: {date}date template{enddate}
{time}time template{endtime}
Newkey now allows you to display the date and time during
macro playback in an almost unlimited number of formats. Using
the basic building blocks of the date and time functions you can
build your own date/time template. These building blocks are:
Time functions Date functions
hh = hours, twelve hour clock dd = day
mm = minutes mm = month
ss = seconds yy,yyy,yyyy = year
tt = hours, 24 hour clock ddd,mmm = abbreviated name
xx = am,pm dddd,mmmm = full name
XX = AM,PM
You are not limited to just these building blocks. Any characters
found in the date/time function which can not be interpreted as
one of the building blocks will be returned just as they are. This
means that you have complete flexibility in creating your own
date/time function.
The following examples illustrate some of the more popular
date/time formats. For example, assume that it is 1:13:03 pm on
Sunday, September 11, 1986.
11
Sample Date Functions
template What Newkey returns
mm/dd/yy 5/11/86
yy/mm/dd 86/5/11
mm-dd-yy 5-11-86
mm/dd/yyyy 5/11/1986
mmmm dd, yyyy September 11, 1986
mmm dd, yyyy Sep 11, 1986
mmm. dd, yyyy Sep. 11, 1986
dddd, mmm dd, yyyy Sunday, Sep 11, 1986
ddd, mmm. dd, yyyy Sun, Sep. 11, 1986
Sample Time Functions
template what Newkey returns
hh:mm:ss 1:13:3
hh:mm xx 1:13 pm
hh:mm XX 1:13 PM
tt:mm:ss 13:13:3
For further examples load the DATE.KEY macro file.
3.7.1 Zero Fill Option
The zero fill option will cause the date and time functions to zero
fill the date/time template. For example, assume the time 8:03:01
am is being displayed by the time function, {begtime}hh:mm:ss{endtime}.
Normally, "8:3:1", would be displayed, but with the zero fill option on,
"08:03:01" would be displayed.
3.8 Define a Macro to a Specific Definition
Macro function: {define macroname}macro definition{defend}
This function will define the macro specified by macroname to
macro definition. For example, when the macro <defineit>,
which is defined as:
{begdef defineit}Let's define alta {define alta}I'm alta{defend}
{enddef}
12
is executed, it will define <alta> as:
{begdef alta}I'm alta{enddef}
Now if <alta> is pressed, "I'm alta" will be played back.
3.9 Delete a Macro
Macro function: {delete macroname}
This function will delete the macro specified by macroname. It
may be used to reclaim memory by deleting macros no longer
used.
3.10 Fixed Length Fill-in-the-Blanks
Macro function: {ffld}
{ffldtran}
Newkey provides you with the ability to define fixed length
fill-in-the-blanks fields within macros. When one of these is
encountered in a macro, Newkey will stop playback and wait for
the user to enter one keystroke from the keyboard. There are
two types of fixed length fields, one which will accept the
keystroke and return it without checking to see if a macro is
assigned to it. This is the {ffld} function. The {ffldtran} function
behaves the same, except that if there is a macro assigned to
the keystroke, it will playback the macro.
In addition to using the macro editor, a {ffld} may be inserted
during macro definition by following these steps:
1. Press <ctrl]>. The cursor will change from a full block to
half block with its top missing and the status line mode will
change from "TEXT" to "FIX".
2. Enter whatever keystrokes you wish.
3. Press <ctrl]>. The cursor will change back to a full block
and the status line mode will change from "FIX" to "TEXT".
For example, suppose you frequently started a letter with
"Enclosed are the xx (some number) items per your request", you
might wish to define one macro to mean "Enclosed are the xx
13
items per your request". To do this you would follow these
steps:
1. Press <alt=> to start macro definition.
2. Press <altl>, the key you wish to define.
3. Press <enter> to skip the description.
4. Type "Enclosed are the ".
5. Press <ctrl]> to start fixed length field.
6. Type in any two characters.
7. Press <ctrl]> to end fixed length field.
8. Type in " items per your request".
9. Press <alt-> to end macro definition.
Now if you were to press <altl>, "Enclosed are the " would be
displayed and the system would wait for you to enter any two
characters. Once you had entered the second character, the
system would continue with " items per your request".
3.11 Guard a Macro
Macro function: {guard}
This function will guard a macro from being deleted when loading
or clearing macros. For further information, refer to section 11.6,
"Guarded Macros".
3.12 Input to Macro
Macro function: {input macroname row,col,1,length}
This function will build a window of 1 line and length columns
starting at row and col and then accept input from the user.
When <enter> is pressed, the user's input is assigned to the
macro called macroname. Usually this function will be entered
for you by the display macro editor.
3.13 Load Macros
Macro function: {begload}filename.ext{endload}
{begmerge}filename.ext{endmerge}
{begmergo}filename.ext{endmergo}
The {begload} function will load the macros from filename.ext
into memory.
14
The {begmerge} function will merge the macros from filename.ext
into memory.
The {begmergo} function will merge the macros from filename.ext
into memory, overwriting the duplicates already in memory.
These functions will load macros more slowly than manually
loading the macros because of the need to protect the macro(s)
currently being played back. They will be ignored in the small
version, Newkeysm.
3.14 Playback Bypass
Macro function: {notran macroname}
Newkey provides the ability to prevent further playback within a
macro. This is similar to turning Newkey off for just one
keystroke. To invoke playback bypass follow these steps:
1. Press the no-translate key, <ctrl2>.
2. Press the key you wish to always be returned.
When Newkey encounters this key at this spot within the macro,
it will return the key without further playback, even if the key is
defined in the macro file. For example, suppose you wish to
define the key <altk> to be "<ctrlk><ctrld>", but <ctrlk> is
already defined as "<ctrlj><ctrlq>". Follow these steps:
1. Press <alt=> to start macro definition.
2. Press <altk>, the key you wish to define.
3. Press <enter> to skip the description.
4. Press <ctrl2> to signal that the next key is not to be
translated.
5. Press <ctrlk>, the key you wish to be returned.
6. Press <ctrld>.
7. Press <alt-> to end macro definition.
Now when you press <altk>, <ctrlk>, not "<ctrlj> <ctrlq>",
plus <ctrld> will be returned. The playback bypass key only
affects the next key entered. To prevent playback of more than
one key, it is necessary to press the playback bypass key before
entering each of them.
15
3.15 Pop-up Newkey Menu
macro function: {cmd}input to Newkey{endcmd}
This will pop-up the Newkey menu and feed the input to Newkey
string to Newkey. See section 6.7, "Invoking Newkey From its
Own Macros", for further information.
3.16 Send to Printer
Macro function: {begprint}output to printer{endprint}
This will send all characters enclosed between the {begprint}
and {endprint} functions to the designated parallel printer. The
printer defaults to LPT1, but may be changed by using the {set
printer number} option.
3.17 Restore Screen
Macro function: {restore}
This function will restore the portion of your screen that was just
used by a display macro. Usually this function will be entered for
you by the display macro editor.
3.18 Save Macros
Macro function: {begsave}filename.ext{endsave}
The {begsave} function will save the macros from memory into
filename.ext. It will be ignored in the small version, Newkeysm.
3.19 Screen off/on
Macro function: {scroff}
{scron}
This function will cause your screen to be turned off/on in the
same way as the screen blanker works. To turn the screen back
on just press any key a couple of times.
16
3.20 Set Option
Macro function: {set option value}
This macro function can be used to set any of the values that
can be set on the "Parameters" screen. For further information
on these parameters refer to section 10.2, "Parameters". Valid
options are:
name Values Description
alphamsg on off turn alphabetic warning message on/off
beepdef on off turn beep while defining on/off
blackwht on off turn black and white mode on/off
blnkwait 1-99 set video blank wait time to 1-99 minutes
capsctrl on off turn enhanced keyboard caps/ctrl switch on/off
click on off turn key click on/off
curschg on off turn cursor change on/off
defmsg on off turn macro defined message on/off
descmsg on off turn description request on/off
diskwait on off turn disk wait on/off
displock on off turn display num/caps lock display on/off
extbufer on off turn extended buffer on/off
fastdlay 1-18 set fast key delay to 1-18
fastkey on off turn fast key mode on/off
fastrate 1-99 set fast key rate to 1-99
newkey on off turn Newkey on/off
overwrit on off turn load/save file overwrite warning on/off
printer 1-3 set printer to lpt1, lpt2, lpt3
scrblank on off turn screen blanker on/off
shiftsta on off turn shift status reset on/off
shortcap on off turn shorthand capitalization on/off
shrthand on off turn shorthand mode on/off
singstep on off turn single step mode on/off
slowrate 1-255 set slow typing rate to 1-255
slowtype on off turn slow typing mode on/off
statline on off turn status line display on/off
statpos 0-24 set status line position
videoio on off turn video i/o restore screen on/off
zerofill on off turn zero fill date on/off
The following set options are used in display and menu macros
and are usually entered by the display and menu macro editors:
bgcolor 0-7 set background color to 0-7
17
border on off turn border on/off
bordtype 0-3 set border type to 0-3
fgcolor 0-15 set foreground color to 0-15
for example:
{set slowtype on} turns slow typing mode on
{set slowrate 3} sets slow typing rate to 3
{set scrblank off} turns screen blanking off
{set curschg off} turns off cursor change
3.21 Control Caps, Num, and Scroll Shift States
Macro function: {capsoff} {numoff} {scrloff}
{capson} {numon} {scrlon}
{capsrest} {numrest} {scrlrest}
{capssave} {numsave} {scrlsave}
The functions ending with 'on' and 'off' will turn the caps, num,
and scroll shift states on and off. The functions ending with
'save' and 'rest' will save and restore the shift states.
The restore and save functions allow you to preserve the current
shift state, switch into the desired state, and when done restore
the previous state.
3.22 Slow Typing Mode
Macro function: {slowoff}
{slowon}
These functions will turn slow typing mode on and off. For
further information, refer to section 4.6, "Slow Typing Mode".
3.23 Time Delay
Macro function: {wait MM:SS:HH}
Macro playback may be delayed for up to 99 minutes, 99
seconds, and 99 hundredths of a second. During playback the
cursor will become a fat bar in the middle of the line.
Time delays are used when your application program can not
handle keys returned at Newkey's normal rate. In these cases, it
is necessary to give the program some breathing room, otherwise
18
it will throw keys away. It can also be used for those situations
in which a delay is necessary in order to wait for some external
event to occur (a remote site to respond to your communications
requests, for example).
3.24 Variable Length Fill-in-the-Blanks
Macro function: {vfld}
Newkey provides you with the ability to define variable length
fill-in-the-blanks fields within macros. When one of these is
encountered during playback, Newkey will stop playback and wait
for the user to enter any keystrokes he wishes. Newkey will
continue to accept keystrokes until the <enter> key is pressed,
when normal playback will continue. To define a variable length
fill-in-the-blanks field follow these steps:
1. Press <ctrl[>. The cursor will change from a full block to
half block with its bottom missing and the mode in the status
line will change from "TEXT" to "VAR".
2. Enter whatever keystrokes you wish.
3. Press <ctrl[>. The cursor will change back to a full
block and the mode in the status line will change from "VAR"
to "TEXT".
For example, suppose you frequently started a letter with "My
dear John (Frank, Susan, etc.) it is now time", you might wish to
define one macro to mean "My dear xxxxxx it is now time". To
do this you would follow these steps:
1. Press <alt=> to start macro definition.
2. Press <altl>, the key you wish to define.
3. Press <enter> to bypass the description.
4. Type "My dear ".
5. Press <ctrl[> to start variable length field.
6. Type in any name, although it is not necessary to the
definition.
7. Press <ctrl[> to end variable length field.
8. Type in " it is now time".
9. Press <alt-> to end macro definition.
Now if you were to press <altl>, "My dear " would be
displayed and Newkey would wait for you to enter a name.
19
Once you had entered a name and pressed the <enter> key,
the Newkey would continue with " now is the time".
3.24.1 Ending a Variable Pause Without Actually Typing the
Pause End Key
Variable length pauses will end automatically if the last key in a
macro is the pause end key (<enter>) and that macro is
invoked during the variable length pause. For example:
<altf> is defined as "xxx<vfld>end"
<altg> is defined as "yyyy<enter>"
If you were to press <altf>, "xxx" would be returned, Newkey
would enter the variable pause and wait for you to enter text. If
you now pressed <altg>, "yyyy" would be returned and since
<enter> is the last key in the macro, Newkey will end the
variable length pause in <altf> and return "end".
3.25 Wait for key
Macro function: {waitany}
{waitanyk}
{wait4key keyname}
The {waitany} function will stop playback and wait for any key to
be pressed. The keystroke will be discarded and execution will
continue.
The {waitanyk} function is identical to the {waitany} function
except that the keystroke will not be discarded. Instead, it will be
left in the keyboard's buffer.
The {wait4key keyname} function will stop playback and wait for
the specified key to be pressed before execution continues. The
keystroke will be discarded.
These functions are especially useful in combination with the
display macros.
20
CHAPTER 4 - CONTROLLING MACRO EXECUTION
Newkey offers many methods of controlling how and when
macros will be executed. You can permanently unload Newkey
or just turn if off for the next keystroke. You can slow macro
playback to a crawl or let it zip along. These methods and more
are discussed below.
4.1 Switching Newkey Off/On
Newkey may be deactivated/activated by pressing <ctrl6>. This
acts as a toggle switching Newkey from one status to another.
When deactivated, Newkey is still resident in memory, but will not
playback any macros.
4.2 Playback Bypass
Macro playback may be bypassed by pressing <ctrl2> followed
by the key desired. This is the same procedure used to enter a
playback bypass key during macro definition described in section
4.2, "Playback Bypass".
4.3 Inactivated Macros
Sometimes you may wish to turn off a macro for an extended
period of time. Rather than continually pressing the playback
bypass key described in the previous section it would be easier
to temporarily inactivate the key. Newkey now allows you to do
this by displaying the key's macro and pressing 'I'.
Inactivated macros will be marked by a 'I' in the status field when
displaying the macro directory. To reactivate the macro follow
the same steps, but press 'A' instead of 'I' when displaying the
macro. Unlike guarded macros, inactivated macros will not be
saved to macro files as inactivated macros.
4.4 Cancel Newkey Processing
Newkey processing may be canceled at anytime by pressing the
cancel key, <ctrldel>. This feature will immediately cancel macro
playback or definition and clear the keyboard buffer. This is
especially useful for ending macros which call themselves or long
macros using slow typing mode or time delays.
21
4.5 Unload and Reclaim Memory
Type in "Newkeysp /u" and press <enter>. This function will
unload Newkey completely from the system and free up its
memory for reuse. Caution must be exercised in using this
feature. If another program has been permanently loaded after
Newkey, then its storage will also be freed.
This function will not always free up Newkey's storage if it is
executed from a batch file (unless it is the last command). Some
versions of DOS will not always free the storage, even though
they report that they did. If this occurs, try loading and
unloading Newkey again. This will sometimes free the old
storage as well as the new.
4.6 Slow Typing Mode
Newkey may be operated in a special slow typing mode. This
mode is provided because some programs cannot handle the
fast rate at which Newkey normally returns keys, with the result
that the keys are discarded. By operating in slow typing mode,
you can give these programs enough time to complete their
tasks before being fed the next key. Macro execution may also
be delayed by using the time delay function described in section
3.5, "Time Delay".
Newkey comes with slow typing mode turned off, but this may be
changed by using Newkeysp, through the pop-up menus, or from
within a macro itself using the {set slowtype on} and {set
slowtype off} functions.
4.6.1 Setting Slow Typing Speed
You may change the amount of time Newkey will wait between
keystrokes. This value divided by 18 gives you the number of
seconds between each keystroke. Legal values are 1 (.05
second) to 255 (14 seconds). Newkey comes with this delay
value set to 1. To change select "Parameters" on the Newkeysp
menu or Newkey's pop-up menu. The slow typing speed may
also be set within a macro by using the {set slowrate xx} macro
function.
22
4.7 Single Step Macro Playback
Macro playback may be put in a special single step mode in
which Newkey will wait for you to press any key before returning
the next keystroke in your macro back to the calling program.
This feature can be very useful in debugging a complicated
macro.
Two caveats are in order: first, use of the single step features
eliminates certain timing problems that might be experienced if
playback were allowed to occur at its normal rate. So if playback
in single step mode works correctly, but it doesn't in normal
mode you are probably encountering a timing problem which can
be solved by inserting time delays or turning on slow typing
mode at appropriate spots in your macro. For more information
on these refer to section 4.6, "Slow Typing Mode", and section
3.5, "Time Delay".
The second caveat is that you may notice that you must press a
key more than once before your program appears to take any
action on the first keystroke. This is because some programs
(DOS included) will issue a second keyboard read before acting
on the first keystroke. If this occurs, just keep pressing keys until
you notice some action taking place. Usually it will not take
more than one or two more presses.
4.8 Disk Wait During Macro Playback
Newkey will now allow you to delay macro playback while a
program is accessing your floppy disk drives. This is important
because some programs will throw away keystrokes while your
floppy disk drives are spinning.
Newkey comes with disk wait mode turned off, but this may be
changed by using Newkeysp, through the "Parameters" screen, or
from within a macro itself using the {set diskwait on} and {set
diskwait off} functions.
23
CHAPTER 5 - EDITING MACROS
You may display and edit macros at any time, even while you are
defining them.
5.1 Display Directory and Descriptions
Select the "Display directory and descriptions" option on the pop-
up menu screen. A directory of all macros that have been
defined, their status, and one line's worth of their associated
descriptions will be displayed. If the macro has not been given a
description Newkey will display part of the macro's translation.
Possible values in the status field are:
G Guarded macro
I Inactive macro
5.2 Displaying a Macro
To display a macro, display the macro directory as described in
the previous section and press that macro's key. To see a multi-
character macro, display the macro directory, press enter, type in
the multi-character macro name you wish to display, and press
<enter>.
5.3 Editing a Macro
To edit a macro, display it using one of the methods described
in the previous sections and then press 'e' to enter edit mode.
Editing is always done in insert mode. With the following
exceptions your keystrokes will be translated into their ascii
equivalent:
Back tab - move 5 keystrokes to the left
Bksp - delete keystroke at left of cursor position
Cursor keys - move cursor
Del - delete keystroke at current cursor position
F1 - escape editor's command key processing
24
F2 - insert one of Newkey's special macro functions
described in Chapter 3.
F3 - perform one of the following commands
- copy another macro in
- move another macro in
- capture the keyboard buffer
F4 - edit current macro as a display macro
F10 - stop editing. You will be asked whether you want to
save your changes.
Pgdn - scroll screen down
Pgup - scroll screen up
Tab - move 5 keystrokes to the right
5.3.1 Escaping Editor Command Key Processing
Sometimes you may want to insert a key that is normally treated
as a command to the editor. To do this press <F1> followed by
the desired key to "escape" the editor's command key
processing. For example:
Pressing Action taken Pressing Action taken
<F1><lft> inserts <lft> <lft> moves cursor
<F1><F2> inserts <F2> <F2> displays menu
<F1><F1> inserts <F1> <F1> starts escape
By pressing <F1> first you are telling the editor not to do
anything special with the next key, just insert it into the macro
being edited.
5.3.2 Copying/Moving a Macro
Start editing the target macro and move the cursor to the point
at which the selected macro is to be copied/moved in. Press F3
to bring up the special functions screen. Select the "copy
outside macro" or "move outside macro" option. You will be
prompted for the macro to be copied/moved.
25
5.3.3 Copying the Keyboard Buffer
Follow the same steps as described in section 5.3.2 but select
the "copy keyboard buffer" option instead. This option will copy
the last 128 keystrokes typed into the macro being edited.
5.4 Deleting a Macro
Macros may be deleted in two ways:
1. Undefine the macro.
a. Start the normal macro definition process (<alt=>).
b. Press the key you wish to undefine.
c. Press <enter> to skip the description request.
d. Press <alt-> to end macro definition.
2. Display the macro using the "Display Macro" option and press
"d" to delete the macro.
5.5 Editing Using a Text Editor
You may also edit a saved macro file using a text editor or word-
processor capable of editing ascii files. This is a slightly more
error prone process than using Newkey's built-in macro editor,
but if you follow the following rules you should not have any
problems.
1. All macro definitions must begin with "{begdef macroname}"
and end with "{enddef}".
2. All single characters may be placed in the macro without the
surrounding carats.
3. To define a macro within a macro, enter a "{begdef
macroname}" followed by the key you wish to define. Do not
end it with an "{enddef}".
4. Descriptions must be in the lines preceding the macro's
{begdef} and must begin with a "*". There is no limit on a
description's length.
All non-single character keys may be in upper or lower case. All
characters in between macro definitions will be ignored. This
allows you to document the macro definitions if desired.
26
CHAPTER 6 - ADVANCED MACRO FEATURES
Many of these features are illustrated in the sample macro file,
example.key and the guided tour (see section 1.3, "Guided
Tour").
6.1 Defining a Multi-Character Macro
Newkey allows you to define macros with names up to 8
characters in length. This allows you to assign meaningful
names to your macros, names that you will remember. For
example, you might have a macro named "sales" that will
generate your sales report or a macro called "address" that will
take the address out of a letter in your word processor and print
it on an envelope.
To define a multi-character macro, follow the same steps as
described in "Defining a Macro", except at the point where you
would normally enter the key to be defined press <enter>
instead. Then type the name you have chosen and press
<enter> when you are done. Macro definition will then continue
as normal.
Macro names must be between 2-8 characters in length and can
be any combination of alphanumeric and some special
characters.
6.2 Playing back a Multi-Character Macro
To playback a multi-character macro, press <alt,>. A window
will open up asking you to enter the name of the multi-character
macro you wish to playback. Once you have keyed in the name,
press <enter> and playback will occur just as it would if you
had pressed a normal macro key.
If you request a multi-character playback while defining another
macro and you do not have a macro defined with that name, the
following message will be displayed:
"Macro not found - save in current definition? (y/n)"
If you wish to save the name in the macro definition even though
it does not yet exist, press "y". This option allows you to define
multi-character macros which call themselves or which you plan
27
to define later.
Except for the methods of defining and playing back, multi-
character macros will function just as regular macros do.
6.3 Shorthand Mode
An alternate method of playing back multi-character macros is
provided through Newkey's shorthand mode. In shorthand mode
Newkey watches your keystrokes as you type and when they
match the name of a multi-character macro, replaces them with
the multi-character macro. For example, in preparing this manual
I defined a multi-character macro called "ne" to be "Newkey".
Then, whenever I typed "ne", Newkey was substituted for the "ne".
Newkey will not recognize a macro name until you have
completely typed it in and then pressed a key which cannot be
part of a macro name to delimit it. This can be any key except
for the standard alphanumeric character set. This ensures that
Newkey will not interpret an imbedded character string as a
macro. The key that you press to end the macro should be the
key that you would normally press after the macro had executed.
Newkey will save the key and return it after the macro has
finished.
If you do not wish the delimiter key to be returned after the
macro has finished then you may press the shorthand delimiter
key. This key defaults to '\', but may be changed by selecting
"control Keys" on the main menu.
For example, if "ne" is defined as "Newkey":
typing yields
plane - no playback
nest - no playback
honest - no playback
ne<space> - "Newkey "
ne is the best - "Newkey is the best"
I love ne. - "I love Newkey."
ne\sp is useful. - "Newkeysp is useful"
Be careful in choosing macro names. It can be very mysterious
to be typing along and all of a sudden have your computer take
off on its own when you least expect it.
28
6.3.1 Capitals in Shorthand Mode
Multi-character macro names are case insensitive. They are
always translated to lower case no matter how you enter them.
This poses a potential problem in shorthand mode since in many
cases you might not want the upper case macro name to cause
macro playback. For example, I might want to type "NE" for
Nebraska rather than for "Newkey", yet if Newkey automatically
translated "NE" to lower case and then executed the "ne" macro I
would be frustrated in my intention. True, I could always press
<ctrl2>, the playback bypass key, but this would soon become
very tiresome.
To help alleviate this situation, Newkey offers the ability to control
whether macro names with any capitalized letters should be
treated as real macros or ignored. To turn this on/off select the
"Upper case short hand" parameter on the "Parameters" screen
described in section 10.2.
There is one exception to Newkey's capitalization rules. If you
capitalize the first character in the multi-character name Newkey
will capitalize the first character in your macro. This means that
you can start a sentence with the macro and have the first word
capitalized. This feature will only work if the "Upper case short
hand" parameter is off and only the first character in the macro
name is capitalized.
6.3.2 Controlling Shorthand Mode
You may control shorthand mode as follows:
1. Turning shorthand mode off/on.
2. Turning Newkey off/on.
3. Pressing <ctrl2>, the playback bypass key either just before,
during, or just after typing the macro will cause the macro
playback to be ignored. For example,
typing yields
<ctrl2>ne ne
n<ctrl2>e ne
ne<ctrl2> ne
4. Inactivating the macro will suppress it until you reactivate it
again.
29
6.3.3 Shorthand Mode Backspacing
When Newkey recognizes a multi-character macro it causes your
program to backspace back over the macro name by feeding it
the appropriate number of backspace keys required to erase the
macro name and then feeding it the contents of the macro.
For most programs the regular backspace key works well enough
to erase the macro name, but if it does not for your program
Newkey offers you the ability to change the key that will be used
for backspacing. Just follow the instructions in section 10.2,
"Parameters", to update the "shorthand backspace" key. You can
even assign a macro to the key you select.
6.3.4 Shorthand Mode Restrictions
Shorthand mode will not work when you are:
1. Defining a macro.
2. Playing back a macro.
3. Newkey is inactive.
4. Shorthand mode is turned off.
5. Any part of the macro name is entered in upper-case and the
shorthand capitalization feature is turned off.
If you want to invoke a multi-character macro during definition or
playback you should use the standard method of invoking them
described in Section 6.2, "Playing back a multi-character macro".
6.4 Nested Macro Playback
Newkey will translate macros within macros down to 8 levels.
For example, assume the following macros have been defined as
follows:
<alt1> = level 1 <alt2>
<alt2> = level 2 <alt3>
<alt3> = level 3 <alt4>
<alt4> = level 4 <alt5>
<alt5> = level 5 <alt6>
<alt6> = level 6 <alt7>
<alt7> = level 7 <alt8>
<alt8> = level 8 <alt9>
<alt9> = level 9 <alt0>
30
When <alt1> is pressed, Newkey will check each character
returned ("L", "e", "v", "e ", "l"," ","1","<alt2>") to see if they too
have been defined and if so, will return their translation. Newkey
will find that <alt2> has been defined and will check its definition
for further translation to a depth of 8 levels. At the eighth level,
Newkey stops checking and returns that translation without
further checking. In this case, Newkey will return "level 1 level 2
level 3 level 4 level 5 level 6 level 7 level 8 <alt9>".
Try it out. Define <alta> as "calling", <altb>. Now define
<altb> as " altb". Press <alta>.
6.4.1 Recursion
If at any time Newkey detects a recursive or circular macro
definition which would result in an infinite playback loop (a=b,
b=c, c=a for example), it will display the following message in
reverse video:
RECURSION DETECTED - PRESS ESC TO CONTINUE
Press the ESC key to continue. The key for which recursion was
detected will be returned untranslated.
6.5 Defining Macros From Within Macros
To define a macro from within a macro, just press the <alt=>
key and Newkey will start defining a new macro just as if you
had not been already been defining a macro. When you are
done defining the new macro, end it as you would normally
(<alt->), and you will take up where you left off defining the
original macro.
Now when you playback the second macro, Newkey will return
what you just defined it to. If you playback the original macro, it
will stop at the point where you requested it to begin defining the
second macro and start a new definition for the second macro.
This definition will continue until you end it (<alt->), just as you
would if you had started it yourself.
The only difference between defining a macro from within another
macro's playback versus defining it in the normal manner is that
the Newkey window and warning messages will not be issued if
the definition is coming from within a playback.
31
Try out the following example:
1. Press <alt=>. (start <alta> definition)
2. Press <alta>.
3. Press <enter> to skip description.
4. Type "alta defining altb ".
5. Press <alt=>. (start <altb> definition)
6. Press <altb>.
7. Press <enter> to skip description.
8. Type "altb here!"
9. Press <alt->. (end <altb> definition)
10. Type "- altb now defined"
11. Press <alt->. (end <alta> definition)
Now press <altb>. "altb here!" should be returned. Press
<alta>. "alta defining altb " will be returned and Newkey's
macro definition mode (cursor change, status line) activated.
Type "new altb definition" followed by <alt->. Now press
<altb>.
6.6 Macro May Call Itself
In certain special circumstances, a macro can call itself. In order
for this to occur, the macro must call itself as the last thing it
does before ending. To invoke this feature, follow these steps:
1. Start defining your macro and when you reach the end, press
the key you are defining.
2. Newkey will display a recursion detected message. Press
<esc> to exit this message.
3. End the defining process as you would normally (<alt->).
Now the recursive macro is ready to go. Just press the key you
defined and watch it go. To stop the playback press the Newkey
cancel key, <ctrldel>.
Warning
Be careful how you use this feature. If you create a macro
without a pause, time delay, or using slow typing mode, you may
find that you have created a monster. Newkey will feed keys to
your program at a rate beyond your ability to control. You can
always stop the playback using the cancel key, but your reaction
32
time will probably not be fast enough to stop at the point you
wish.
For this reason, we recommend that all recursive macros include
a pause or turn on slow typing mode for a portion of the macro
(Most of the time you will probably want to do this anyway.)
6.7 Invoking Newkey From its Own Macros
Subject to the limitations discussed below in section 6.7.1,
"Scope of Macro Definition and Playback", Newkey and Newkeysp
can be called from Newkey's own macros.
To invoke Newkey's pop-up menu features follow these steps:
1. Start your macro definition.
2. Call up the pop-up menu.
3. Toggle the "Record mode" option on.
Now your keystrokes will be captured in the macro.
6.7.1 Scope of Macro Definition and Playback
Except for rare compatibility problems with other software (see
section 16.7, "Software Compatibility") Newkey's macros can be
used with any other application or program, even to do Newkey
functions themselves. Although most of the pop-up functions
can be done through special purpose macro functions, there are
still occasions where it would be useful to invoke Newkey using
its own macros. For example, a macro could be created that
would pop-up the cut function with one keystroke.
6.8 Cut and Paste
Newkey allows you to "cut" information off of your current screen
and then "paste" it into another application. For example, you
could cut a cost/benefits analysis from your spreadsheet and
paste it into a report you are preparing on your word-processor.
6.8.1 Cutting
To cut a piece of your screen, invoke the pop-up features and
select the "cut" option. Your screen will be redisplayed. Move
the cursor to the point where you wish to start cutting and press
the <home> key to start marking.
33
Now move the cursor to the opposite end of the screen block
you wish to cut and press the <end> key. Newkey will save the
marked screen block in the macro <ctrlins> and return you to
the main pop-up menu.
You may change the key the cutting is assigned to by pressing
<F1>. You will be prompted for a new macro name.
6.8.2 Pasting
Once you have successfully cut a part of the screen, you may
paste it into another application by playing back the macro to
which the screen was cut. Unless otherwise specified, <ctrlins>
will receive the cutting.
A cutting can use up to 2k of your macro buffer, so you may find
it useful to delete the <ctrlins> macro once you are done with it
(see section 5.4, "Deleting a Macro").
6.8.3 Cut and Paste Line End Key
When you cut from the screen, a line end key is appended to
each line. This line end key defaults to <enter> and identifies
the end of the line to the program into which the cutting is
pasted. Usually this is best for word processors and text editors,
but for some other programs a different line end key may work
better. In these cases, the line end key may be changed by
selecting the "control Keys" on the pop-up menu and updating
the "cut and paste line end key".
34
CHAPTER 7 - DISPLAY MACROS
Display macros will open up a window on your screen and
display the text you have defined for the window and wait for the
user to take some specified action, such as hitting the enter key
or filling in an input field.
For example, <altw> may be defined as an display macro which
prompts for a file name and then starts your word-processor with
the file name you just entered. When you press <altw>, a
display window will pop up looking something like this
and Newkey will wait for you to type a file name. When you are
finished press <enter> and the file name will be assigned to the
input macro specified and inserted into the macro you are
running. The macro could then continue by starting up your
word-processor and retrieving the file you just specified.
7.1 Creating and Editing a Display Macro
Editing a display macro is a two step process. The first step
displays a menu and requests information, the second step
displays the window, allows you to enter the text to be displayed,
optionally move or resize the window, and define the input field.
As you edit, you may toggle between steps one and two by
pressing <F1>.
To create or edit a display macro, select the "Display/edit
macros" option on the pop-up menu. This will display a list of
currently defined macros. Press the key of the macro you wish
to define or <enter> for a multi-character macro. The macro's
definition will be displayed. Now press 'f' to invoke the display
macro editor. A typical screen one follows.
35
SCREEN ONE
Many of the fields will be filled in with default values or the values
from the macro you are editing. These are the fields to the right
of the ':'s and filled in with italicized characters. In the screen
above, a display macro is being defined to pop-up a window and
ask for a file name.
Window definition options:
These describe how the window will look when it pops up.
Field name Value Description
Description text macro's description
Starting row 0-24 top row in which to start window
Starting column 0-79 left most column to start window
Foreground color 0-15 see appendix E for list of values
Background color 0-7 see appendix E for list of values
Height 1-25 number of lines in window
36
Width 1-80 number of columns in window
Border on y/n display border
Border type 0-3 border type of window
0 = double line
1 = single line
2 = reverse video double line
3 = reverse video single line
Beep y/n beep when window displayed
Clear screen y/n clear screen when window displayed
Cursor off y/n turn cursor off when window displayed
Restore screen options:
The following options signal when the screen should be restored.
Only one option should be chosen.
Enter pressed y/n wait until <enter> is pressed
Next keystroke y/n wait until the next key is pressed
Next key, save y/n wait until the next key is pressed
and leave the keystroke in the buffer
Next key, allow tran y/n wait until the next key is pressed
and if the key has a translation
associated with it, playback the
translation
N keystrokes 0-99 wait for specified number of keystrokes
MM:SS:HH wait for the specified number of
minutes, seconds, and hundredths
of a second to elapse
These next options apply only if "input to macro" is selected.
The "input to macro" option will cause Newkey to wait for the
user to enter some input into the defined field. This input will
then be assigned to the specified macro. The input field must fit
within the window and can only be one line in height.
Input to macro macro macro to receive user input, press
key to receive input or type multi-
character macro name
Starting row 0-24 top row in which to start input row
Starting column 0-79 left most column to start input field
Width 1-80 number of columns in input field
Immediate playback y/n playback input macro immediately
after the screen is restored
37
The following keys will cause these actions:
F1-Next: move to screen two
F2-Regular Edit: edit the macro as if it were a regular macro
<ESC>-cancel: cancel editing
The sample window displayed on the right will display the
options of the window you are defining.
SCREEN TWO
Screen 2 will display the window you defined in screen 1 and
allow you to enter the text to be displayed. Just type the text
where you would like to see it displayed. In the screen displayed
above a message requesting a file name has been typed in. The
shaded area identifies the input field which will be used for the
filename. While on screen 2 you can take the following actions:
F1-Back: Goto screen one
38
F2-Mark input field: Use the cursor to set the starting row,
starting column, and width of the "input to macro" field. If an
"input to macro" field was not defined on screen 1, you will be
prompted for the macro to be used.
F3-Move Window: Use the cursor to move the window to a
different position on the screen.
F4-Mark Window: Use the cursor to change the window's
starting row, column, height, and width.
F10-Save: Save the edited macro.
<ESC>-Cancel: Cancel editing the macro.
7. Suggestions on Creating and Editing
When initially creating a display macro, you may find it easiest to
immediately move to screen 2 and then use the "mark window"
and "mark input field" options to build the window. This will allow
you to see exactly where the window and input field will be
displayed on the screen. Now enter the window's text. When
you are finished go back to screen one by selecting "back" and
select the other window options desired. When you are done,
go to screen 2 and check the window. When you are satisfied
with its appearance select "save" on screen 2.
39
CHAPTER 8 - MENU MACROS
Menu macros will open a window and display a list of selections.
Each selection corresponds to a macro. When a selection is
made, the associated macro is played back. These macros can
be used to develop anything from a simpler interface for your
software to a full customized menu interface.
8.1 Creating and Editing a Menu Macro
To create or edit a menu macro, select the "Display/edit macros"
option on the pop-up menu. This will display a list of currently
defined macros. Press the key of the macro you wish to define
or <enter> for a multi-character macro. The macro's definition
will be displayed. Now press 'm' to invoke the menu macro
editor. A screen looking like this will be displayed (italicized
fields illustrate typical information as might be entered in a
completed screen):
EDITING MENU MACRO: <alt0>
Description: Sample Menu Macro
Title: Sample Menu Macro for Dos command line
Macros Exit Macros Exit
1 alt1 n 11 n
2 alt2 n 12 n
3 alt3 n 13 n
4 alt4 n 14 n
5 alt5 n 15 n
6 alt6 n 16 n
7 alt7 n 17 n
8 n 18 n
9 n 19 n
10 n 20 n
Footer: Select option, ESC to cancel
Starting row (0-24): 6 Beep (y/n): n
Column (0-79): 17 Clear screen (y/n): n
Foreground color (0-15): 15 Cursor off (y/n): y
Border on (y/n): y Exit key: esc
Border type (0-3): 0
PGDN PGUP F10-Save Esc-cancel
40
On the right hand side of the screen is a window displaying the
macros eligible for inclusion in the menu (sample macros
included for illustration). To be eligible a macro must have a
description, because when the menu is displayed, the description
is used as the menu choice. Although macros without
descriptions can be put in the selection list, they will not be
displayed when the menu macro is played back. The macro list
may be scrolled up and down by the PGUP and PGDN keys.
The following fields may be entered:
Field name Value Description
Description text macro's description
Title text title displayed at top of menu
Macros macro macro to be on selection list, press key
or type multi-character macro name, up
to 20 macros are allowed
Exit y/n exit menu macro after playback
Footer text footer displayed at bottom of menu
Starting row 0-24 top row in which to start menu
Starting column 0-79 left most column to start menu
Height 1-25 number of lines in window
Width 1-80 number of columns in window
Foreground color 0-15 see appendix E for list of values
Background color 0-7 see appendix E for list of values
Border on y/n display border around menu
Border type 0-3 Border type of window
0 = double line
1 = single line
2 = reverse video double line
3 = reverse video single line
Beep y/n beep when menu displayed
Clear screen y/n clear screen when menu displayed
Cursor off y/n turn cursor off when menu displayed
Exit key key keystroke that will cause menu to exit
41
8.2 Preparing to Define a Menu Macro
Creating a menu macro will be made easier if some initial
preparation has already been done. First, identify the menu
entries to be included and define a macro for each entry. At this
point it is only really necessary to create a description for each
macro, the body can be defined later. Keep in mind that the
description will be used as the menu selection when the menu
macro is played back.
When the description is entered you may also specify a select
letter by putting a '^' in front of the letter. Later, when the
menu macro is played back, the select letter can be used to
choose the menu selection as well as the moving bar. Although
not necessary, it will be easier to identify the select letter if it is
capitalized or is the first letter in the description.
8.3 How Menu Macros Work
When a menu macro is played back, a window is built with the
title at the top, the footer at the bottom, and the macro
descriptions in between. At this point Newkey waits for a
selection to be made or the exit key to be pressed. A selection
may be made by moving the bar to the desired choice and
pressing enter or by pressing the macro's select letter. When a
selection is made, the associated macro will be invoked. If the
exit option was specified for this macro control will not be
returned to the menu macro.
For a demonstration of menu macros see the "menu.key" file on
the Newkey disk.
42
CHAPTER 9 - KEYBOARD AND SCREEN FEATURES
9.1 Screen Saver Mode
The screen saver feature will blank your screen after five minutes
of inactivity. The screen will be restored whenever you press a
key or your program writes to the screen. This feature protects
your video terminal from "burn in" caused by prolonged display of
the same text over a long period of time. You do not have to
worry about turning down your video when you leave your PC.
The screen saver may be turned off by changing the "Blank
screen" option. This option and all of the other Screen saver
options described below may be changed by selecting the
"Parameters" option from the pop-up menu.
If you are have trouble restoring the screen, try pressing the alt,
ctrl, left shift, or right shift keys.
9.1.1 Blank Delay Time
The screen saver comes set up to wait 5 minutes before blanking
the screen, but you can change this to be any time between 1-
99 minutes by changing the "Blank screen delay" option.
9.1.2 Video I/O Restore Screen
Normally any type of video i/o will cause Newkey to restore your
blanked screen. But some programs are constantly writing to
your screen, even when they are not writing anything new. This
keeps the screen saver from working when you would usually
want it to. If you use programs like these, you should try turning
off the "Video i/o restore screen" option. Some versions of PC-
Write and Word Perfect do this.
If you are unsure about whether your program falls into this
category, start it up and then let it sit for more than 5 minutes (or
whatever you have set the blank delay time to). If the screen
does not blank, turn the "Video i/o restore screen" option off and
repeat the process. If the screen still does not blank you may
have an incompatible video board.
43
9.2 Extended Keyboard Buffer
This option increases the size of DOS's type-ahead buffer from
16 to 128 keystrokes. Although it has been designed for
maximum compatibility, it's possible that it may cause problems
when run with other software, especially other memory-resident
programs. If you are having trouble using Newkey, try turning
the "Extended Buffer" option off. This will cause Newkey to use
DOS's normal buffer. This option may be found by selecting the
"Parameters" on the pop-up menu.
9.3 Fast Key Parameters
Newkey will allow you to dramatically increase the speed at
which your keyboard will repeat a key which is pressed and then
held down. You may set both the delay before repetition will
begin and the rate at which repetition will occur.
To activate this feature select the "Fast key" option
on the "Parameters" menu and set the rate and delay parameters
described below. The best way to choose settings for these
options is to try various combinations out.
Newkey helps you control this option by monitoring the state of
your keyboard buffer and refusing to insert any additional keys if
your program has not already dealt with the previous ones. This
helps to prevent the overrun which might otherwise occur as
your keyboard buffer fills up with keystrokes that your program
cannot process. This means that when you release the key, your
program will not receive any more unwanted keystrokes.
The method Newkey uses to prevent overrun does not work with
all programs. If you find that key repetition is actually slower, try
the "Alternate fast key mode" described in section 9.3.3.
9.3.1 Fast Key Delay
The time Newkey will wait before beginning repetition may be set
to be between 1-18 in 1/18 second intervals. To do this select
the "Fast key delay" option on the "Parameters" menu.
44
9.3.2 Fast Key Rate
The rate at which Newkey will repeat may be set to between 1 -
99 characters per second. To do this select the "Fast key rate"
option on the "Parameters" menu.
9.3.3 Alternate Fast Key Mode
Newkey uses a special method to prevent overrun. While this
method works for most programs, such as 1-2-3, in a few cases,
such as Wordstar 4.0, it will actually slow up repetition. To take
care of this situation, a new parameter has been added to the
"Parameters" screen. This new parameter, "Alternate fast key
mode", changes the way the fast key option works so that it will
work with programs such as Wordstar 4.0.
If you are unsure which mode works best with a specific
program, try each mode out and pick the one which works the
best.
9.4 Keyboard Click
Newkey now offers an optional keyboard feature that will cause a
click each time you press a key. To turn it off/on, select the
"keyboard click" option on the "Parameters" screen.
9.5 Cap/Num Lock Indicators
Newkey will display the status of your Caps and Num lock keys
in the top right hand corner of your screen. To turn this feature
off select the "Cap/Num Lock Indicators" option on the
"Parameters" menu.
9.6 Caps/ctrl Key Switch on Enhanced Keyboards
In order to accommodate the many requests we have received to
switch the caps and ctrl keys on the enhanced keyboard, a
"switch caps/ctrl" option has been added. To invoke this option,
select the "switch caps/ctrl" option the "Parameters" screen.
45
CHAPTER 10 - CUSTOMIZING NEWKEY
Virtually every aspect of Newkey's operation can be customized
to accommodate your own unique hardware and software
environment. This chapter describes how to change Newkey's
"hot" keys and parameters.
10.1 Control Keys
The Newkey control keys are those keys which have a special
meaning to Newkey and are used to control Newkey's operation.
These keys are:
Key Description
<alt=> Begin macro definition
<alt-> End macro definition
<alt,> Playback multi-character macro
<ctrldel> Cancel Newkey processing
<ctrlh> Backspace and delete during macro definition
<ctrl]> Begin/end fixed length pause
<ctrl[> Begin/end variable length pause
<alt/> Pop-up features request
<ctrl2> Do not translate next key
<bks> Shorthand backspace & correct
<\> Shorthand delimiter key
<ctrl\> Edit macro being defined
<ctrl6> Newkey on/off toggle
<enter> End variable length pause
<ctrlins> Default key to cut to
<enter> Cut & paste line end key
You have complete control over which keys will be used for
these functions. You can even deactivate them completely if you
wish! To change them, select the "control Keys" option on the
menu screen, or type in "Newkeysp /x" and press <enter>. This
will display the control keys and allow you to change or
completely deactivate them if desired. Any changes will take
effect immediately. You will then have the option of making them
permanent by updating the Newkey.exe program.
46
10.2 Parameters
Newkey operates in several modes which are controlled by
various parameters. These settings may be customized to meet
your needs. These modes and their parameters are:
Options Messages
- Newkey status - Macro already defined
- Shorthand - Defining alpha character
- Upper case short hand - Enter description request
- Slow typing - Defining status line
- Slow typing delay - Status line position
- Disk wait - Beep while defining
- Single Step - Change cursor shape
- Shift Status Reset - Load/save file overwrite
- Black & White - Cap/Num lock indicators
- Fast key Other options
- Fast key delay - Blank screen
- Fast key rate - Video i/o restore screen
- Alternate fast key mode - Blank screen delay
- Keyboard Click - Switch caps/ctrl
- Zero fill date
To change them, select the "Parameters" option on the menu
screen. This will display the parameters. To make a change
select the number/letter of the parameter you want to change
and press it. If it is a mode parameter, the status will be toggled
on/off. If it is a number, the cursor will move to the selected field
and the new value can be entered.
These options may also be set within a macro by using the {set}
option.
10.3 Black and White Mode
The colors Newkey normally uses were chosen for their
compatibility with monitors (amber, for example) which use the
graphics card, but display in one color. But, just in case the
colors do not display on your monitor, a new option has been
added to Newkey. To invoke this option, load newkey and then
type in the following:
newkeysp/b
and press <enter>. This will cause Newkey to toggle its display
47
mode into black & white. Entering the command again will
cause the black & white mode to be toggled off. To make these
changes permanent, select the "Parameters" option on the pop-
up screen.
An alternative method is to use Newkeysp's color customization
described in section 10.6, "Customizing Colors".
10.4 Customizing Macro Definition Messages
Much of the macro definition processing (the presence of the
window, warning messages, the description request, and status
line) can be customized to suit your preferences. If you do not
need these aids or protection you can eliminate them and the
additional keystrokes they require. These options are described
below.
10.4.1 Macro Already Defined Warning Switch
Newkey will warn you when you are about to define a macro
which has already been defined. You will be requested to
confirm that you wish to reuse this key for a new macro.
Newkey comes with this option turned on, but you may change it
by selecting the "Macro already defined" option on the
"Parameters" menu.
10.4.2 Defining Alpha Character Warning Switch
Newkey will warn you when you are about to define a normal
letter (a-z) or number (0-9). You will be requested to confirm that
you wish to actually use this key for a macro.
Newkey comes with this option turned on, but you may change it
by selecting the "Defining alpha character" option on the
"Parameters" menu.
10.4.3 Enter Description Request Switch
You have the option to turn off the "Description =" request in the
macro definition window. When turned off, Newkey will
automatically close the window after you have entered the key to
be defined.
Newkey is designed to save you keystrokes and even that one
additional keystroke at macro definition time can be annoying to
48
some people. To turn this off, select the "Enter description
request" option on the "Parameters" menu.
10.4.4 Status Line Position
The macro definition status line's position may be moved to any
line on the screen by selecting the "Status line position" option
on the "Parameters" menu and choosing a number between 0 -
24. Usually you will want to move it to the bottom of the screen,
especially when using a program such as Lotus 123 which uses
the top line as its status line.
10.5 Preventing Key Creation
Newkey creates several new keys which are not normally
supported by IBM. For example, pressing shift and enter
together will normally return the same keystroke as just pressing
the enter key. Newkey, however, returns a new key code,
<capsent>, when you press shift and enter together. This
allows you to assign a macro to shift enter and extends the
number of keys to which you can assign macros. Sometimes
this can cause problems because some programs will recognize
that an enter key has been struck, check to see if the shift key is
being pressed, and if so, treat shift enter as a separate key.
But since Newkey has already given the shift enter its own code,
the program will never recognize that shift enter has been
pressed, leaving you without a way to create a shift enter for the
program.
Newkey now offers you the chance to specify a list of ignored
keys. Any key specified on this list will be ignored by Newkey
when it is creating new key codes causing the key to revert to its
original meaning. To put a key on the ignore list follow these
steps:
1. Run Newkeysp.
2. Select the "update Ignored keys" option.
3. Select a line number and press the key you wish to ignore.
Alternatively, you may select the last option to ignore all of the
keys that are created.
When you exit you will be given the option of making the change
permanent.
For example, assume that your IBM AT compatible used alt ctrl /
49
to switch back and forth between turbo and normal mode. Since
Newkey will normally create a new key code for both <alt/> and
<ctrl/> you will need to put both of these keys on the ignored
list. This will let your computer recognize the alt ctrl /
combination.
Another possible solution in some cases is to just use Newkey to
redefine shift enter as enter. This will work in many cases. For
a list of key codes created by Newkey refer to appendix C of the
User's Guide.
10.6 Customizing Colors
Newkey now offers you the ability to customize its menu and
message colors. To change Newkey's colors follow these steps:
1. Run Newkeysp.
2. Select the "update message cOlors" option.
3. Follow the instructions on the screen.
When you exit you will be given the option of making the change
permanent.
50
CHAPTER 11 - LOADING & SAVING MACROS
This chapter describes Newkey's many options that allow you to
control the contents of your macro buffer.
11.1 Save File
This function will save your current macros from memory in a
disk file, which may be loaded later. If you are about to
overwrite an existing file Newkey will warn you and request a
confirmation.
Select the "Save file" option on the menu screen and another
screen will be displayed requesting a file name.
To execute in batch mode use the following command:
newkeysp filename.ext/s
where "filename.ext" is the name of the macro file in which you
wish to save your current macros. The {begsave} macro
function may be used to save from within a macro being played
back.
11.2 Load File
This function will load macros from a disk file into memory where
they can be used by Newkey. Any previous macros in memory
will be erased (unless they have been "guarded" by Newkey's
guard function). If you have created any new macros, Newkey
will warn you and request confirmation before continuing.
Select the "Load file" option on the menu screen. Another screen
will be displayed requesting a file name.
To execute in batch mode use the following command:
newkeysp filename.ext/l
where "filename.ext" is the name of the macro file in from which
you wish to load a new set of macros. The {begload} function
may be used to load from within a macro being played back.
51
11.3 Merge File
This function will merge macros from a disk file into memory,
where they can be used by Newkey. The previous macros in
memory will be kept. If the same macro is defined both in
memory and in the merge file, the in-memory definition will be
retained, unless the overwrite option is specified. If you have
created any new macros, Newkey will warn you and request
confirmation before continuing.
To merge, select the "Merge file" option on the menu screen.
Another screen will be displayed requesting a file name and
whether you want to use the overwrite option.
To execute in batch mode use the following command:
newkeysp filename.ext/m - or -
newkeysp filename.ext/m/o
"Filename.ext" is the name of the macro file you wish to merge
into memory. The second form, ending in "/o", will invoke the
overwrite option. The {begmerge} and {begmergo} functions
may be used to merge from within a macro being played back.
11.4 Default Path and Extension for Macro Files
Newkey allows you to set a default path and extension for macro
files. When a macro file is loaded or saved, the default path and
extension will be used to build a full file name if a partial file
name is specified. To set the default path and extension select
the "options" choice on the Newkeysp menu. Some examples:
Default path: c:\newkey\macros
Default extension: key
Loading from or saving to file Generates
ed c:\newkey\macros\ed.key
ed.mac c:\newkey\macros\ed.mac
d:\macros\ed d:\macros\ed.key
d:\macros\ed.mac d:\macros\ed.mac
52
11.5 Clear Macros
This function will clear all current macros from memory.
To invoke it select the "Clear macros" option on the menu screen.
To execute in batch mode type in "Newkeysp /c" and press
enter.
11.6 Guarded Macros
To protect a macro in your macro buffer from being overwritten
when loading a new macro file or from being deleted when
clearing macros from your macro buffer you can guard it. This
will protect those macros you want to always be present from
being accidently deleted. To guard a macro follow these steps:
1. Edit the macro
2. Press F2.
3. Select the guard option.
4. Stop editing.
Guarded macros will be marked by a 'G' in the status field when
displaying the macro directory. To unguard a guarded macro
just edit it and delete the {guard} function. If at some time you
want to remove the guarded macro, display the macro and press
'd' to delete it.
53
CHAPTER 12 - NEWKEYSP OVERVIEW
Newkeysp, the Newkey Support Program, provides many features
to complement Newkey functions. You will need to use
Newkeysp in the following situations:
- To perform functions from batch files
- To perform functions not available in the small version
- To access customization features only available in Newkeysp
12.1 Invoking Newkeysp
Newkeysp may be invoked in one of two ways:
1. Type Newkeysp and press <enter>. A menu of options will
be displayed.
2. Type Newkeysp plus one or more parameters, and
Newkeysp will perform the requested functions. This option is
particularly useful in a batch file invoked at system initialization.
See the file "example.bat" for examples of Newkeysp's batch
functions.
12.2 Execute Multiple Newkeysp Commands
Newkeysp will process more than one command when invoked in
command mode. For example,
"newkeysp ed.key/l /on /ek=[ctrle]"
might be used to automatically load a newkey macro file, turn
newkey on, and then type a key to invoke your editor. The only
restrictions on this feature are that only one file oriented
command may be executed and it must be first on the command
line.
If you should want to execute multiple commands and then enter
Newkeysp's menu mode, place "/run" at the end of the command
string.
12.3 Newkeysp Batch Commands
To execute Newkeysp in batch mode, type "newkeysp" + one of
54
the parameters below.
Command Function
/b Toggle black & white mode
/c Clear current macros from memory
/d Display macro directory
/eb Clear Keyboard buffer
/ek=[macro] Execute macro (see section 12.4)
filename/l Load macros from filename
filename/m Merge macros from filename
/off Turn Newkey off
/on Turn Newkey on
filename/s Save macros to filename
/t Toggle Newkey on/off
/u Unload Newkey and reclaim memory
/x Display control keys
/zoff Turn off slow typing mode
/zon Turn on slow typing mode
For example:
newkeysp ws.key/l - Load Wordstar macro file
newkeysp /off - Turn off Newkey
The file "example.bat" contains a complete set of examples.
12.4 Executing Macros From a Batch File
This feature allows you to enter macros from a batch file just as
if you were typing them yourself. To invoke this feature issue the
following command:
"newkeysp /ek="
followed by the key you wish to type as described in appendix A.
For example:
"newkeysp /ek=h /ek=e /ek=l /ek=l /ek=o /ek=[altn]"
would type "hello<altn>". If any of these keys has a macro
associated with it, that macro will be invoked. "ek" stands for
"enter key". Be sure to use "[" and "]" instead of "<" and ">".
DOS uses the carats for its own special purposes. Only one
multi-character macro may be executed on a command line.
55
CHAPTER 13 - NOTES ON KEYS SUPPORTED
Newkey supports all of the keys normally supported on your
keyboard. Many other keys are also supported (For a detailed
list of the keys supported refer to appendix A.) These include
most keys in ctrl, alt or shift modes, but not combinations of
these modes. For example, <ctrlins> is supported, but <alt ctrl
ins> is not.
Newkey gives these new keys their own unique scan and ascii
codes and treats them just as if they were normal keys. This
means that, if they have not been defined, they will be passed
back to the requesting program.
This should not cause any problems if the requesting program
ignores unknown keys, as most do. But, some programs do not
handle strange keys well, and you should be aware of this as a
potential problem, especially since you may accidently press one
of these keys. See appendix C for a detailed list of these keys
and their codes.
13.1 Synonyms - Different Keys, Same Ascii Codes
There are several keys which generate the same ascii code, but
with a different scan code. These keys have been separated.
Only the original key will be translated and not its synonym. This
provides more flexibility in defining macros and eliminates a
potential source of confusion. A full listing of synonyms can be
found in appendix D.
13.2 Generating Extended Ascii Codes
Normally pressing <alt> plus some number(s) on the numeric
keypad will generate the key code equal to the numbers
pressed. For example, to generate the <enter> key (ascii code
= 13), you would press <alt>, 1, and 3 on the numeric keypad
and then release the alt key with the same effect as pressing the
<enter> key. But Newkey treats the same sequence as two
different keystrokes, <altend> and <altpgdn>.
In order to invoke this function, press the left shift key at the
same time as the alt key and hold until you release the alt key.
56
CHAPTER 14 - TIPS ON USING NEWKEY
14.1 Use Your Autoexec.bat File
Put the commands to load Newkey and your macro files in your
autoexec.bat file. This will cause Newkey and your macros to be
automatically loaded whenever you boot. If you have disks for
different purposes, each disk could contain a copy of Newkey,
Newkeysp, and your macro files.
An example of the statements you would want to use can be
found in LOADNEW.BAT, a batch file supplied with Newkey. Use
your editor to copy these statements into your autoexec.bat file
and change the parameters as appropriate.
14.2 Do Not Forget to Save Your Macros
Do not forget to save your macros at the end of a session.
Unless you save the macros you have defined during the current
session, they will be lost when you re-boot or turn off the
computer.
It is suggested that as soon as you have finished defining a set
of macros you wish to keep, that you save them immediately. It
is very easy to start a session defining new macros, proceed to
use them for the rest of the session, and then turn off the
computer. If this happens, you will have to redefine each macro
again. For information on saving your macros refer to section
11.1, "Save File".
14.3 Combining Macro Files
Occasionally, you may wish to combine two macro files. This
may be done by loading one of the files into memory, merging
the second into memory, and then saving the macros to disk.
You may also use your text editor to combine the two macro
files.
14.4 Multiple Macro Files
You may wish to define multiple macro files based on function.
This would allow you to easily build different macro files without
redefining each function's macros for each macro file.
57
For example, you could define a file for your word processor,
spreadsheet, general DOS commands, etc. and then merge
various combinations of them together to create one file. They
could also be used to create in-memory macros at boot time
(using the merge function), without combining them all into one
macro file.
14.5 Save All Macros Files in One Directory
Newkey now offers an option that makes it easy to save all of
your macro files in one directory. This option allows you to set
the default path and extension to use when loading or saving
macro files. This makes it easy to load and save macro files
because it is no longer necessary to specify the path and
extension when the file is accessed. Instead the default path
and extension will be added to the file name automatically. See
section 11.4, "Default Path and Extension for Macro Files", for
further information.
58
CHAPTER 15 - COMMON PROBLEMS
15.1 Keys That Used to Work No Longer Work
Several reasons why keys that used to work no longer work
follow:
- You are trying to use one of the synonym keys that Newkey
has assigned a different key code to.
- The program you are using is trying to assign its own key code
to one of the unused key combinations not supported by IBM,
yet Newkey has already intercepted that key combination and
assigned it a different code.
- The key is also used as one of Newkey's control keys. See
section 10.1, "Control keys", for further information.
See section 10.5,"Preventing Key Creation" and "Appendix D" for
more information on how to correct this problem.
15.2 Other Memory-resident Programs Hang
When invoked it appears that other memory-resident programs
have hung up or will not read certain keystrokes. Try turning off
the extended keyboard buffer feature and changing the load
order.
15.3 Monitor Does Not Clearly Display Newkey Menus
You are probably using an amber or other monochrome monitor
with a graphics card. In this case you should turn on Newkey's
black and white option. See section 10.3, "Black and White
Mode" for more information on how to correct this problem.
15.4 Screen Does Not Blank
There are many reasons why your screen may not blank
depending on the hardware and software you are using. Newkey
provides several screen blanking options designed to work with
these configurations. Before trying these options, please read
the full description of them in section 9.1, "Screen Saver Mode".
It is not always obvious exactly how they work.
59
One reason why screen blanking might not work is if your
software is continually writing to the screen, redisplaying the
same exact screen, even though you have not touched a key for
several minutes. In this case try turning the "Video I/O Restore
Screen Option" off. Some versions of PC-Write and Word Perfect
do this.
15.5 Cannot Restore Blanked Screen
Normally any keystroke or video i/o will restore the screen.
However, some programs completely takeover the interrupts
Newkey uses to determine when the screen should be restored.
If you are having trouble restoring the screen, try pressing the
alt, ctrl, left shift, or right shift keys.
If you are still unable to restore your screen then you may find it
easiest to turn off the screen saver mode before using the
problem program (see section 9.1, "Screen Saver Mode").
15.6 Newkey Does Not Work Right With Certain Programs
Some programs throw away parts of Newkey and you will notice
that certain Newkey features have ceased to function. When
these discourteous programs are running, they completely
takeover the interrupts Newkey uses. When this happens, these
parts of Newkey are lost until the guilty program stops running.
Fortunately only a few applications programs such as XYWrite
and Smartcom are guilty of this.
Newkey has been designed to work around these programs, but
it cannot protect itself completely. Rather than fight with these
programs, Newkey lets them take over, but tries to make sure
that the disappearance of one part will not affect another part's
functioning. Otherwise, you will have to live without the missing
Newkey functions while running these programs.
15.7 Cannot Access Extended Ascii (upper 128) codes
See section 13.3, "Generating Extended Ascii Codes".
60
15.8 Losing Part of Macro Definition
If your macro definition does not include all of the keystrokes you
originally typed you have probably used Newkey's error
correction key, the <ctrlh> key. If you wish to use the <ctrlh>
key with its normal meaning, you must either redefine or
deactivate Newkey's error correction key. For more information,
see section 2.6, "Error Correction".
Another reason part of your definition may seem to be lost
during playback is that some programs ignore keys which are
returned faster than they expect. For more information on
resolving this problem refer to section 4.6, "Slow Typing Mode",
and section 3.5, "Time Delay".
15.9 Limited Memory Considerations
If you are running into memory problems consider using
Newkeysm, which will save you 25K at the cost of the pop-up
features. See also section 16.1, "Newkey Requirements."