PART TWO:  Chapter 7
MACRO MANAGER
(Also contained in the disk file "27MACRO1.MAN".
Also read disk Appendix 3, "33MACRO2.MAN".)
 
 
 
(Last revision:  November 1993.)
 
 
 
CONTENTS OF CHAPTER 7
 
    1.   INTRODUCTION TO MACROS . . . . . . .2-7.165
    2.   MACRO MANAGER. . . . . . . . . . . .2-7.169
    3.   MACROS MENU. . . . . . . . . . . . .2-7.171
         3.1  Revise. . . . . . . . . . . . .2-7.171
                   Selecting a Macro Key
                   Entering Macro Definitions
         3.2  Duplicate . . . . . . . . . . .2-7.173
         3.3  Erase . . . . . . . . . . . . .2-7.174
         3.4  Identify. . . . . . . . . . . .2-7.174
         3.5  Auto Macros and Frame Monitoring2-7.175
                   Structure and Use
                   Set and Clear
    4.   USING THE MACRO EDITOR . . . . . . .2-7.177
         4.1  Macro Revise Window . . . . . .2-7.178
                   Reading the Macro Definition
                   Editing the Macro Definition
         4.2  JAWS Function Window. . . . . .2-7.180
                   Moving the Menu Bar
                   Selecting a Function
         4.3  Macro Identify Window . . . . .2-7.183
    5.   SAMPLE MACROS. . . . . . . . . . . .2-7.184
         5.1  Say Current Line Macro. . . . .2-7.184
         5.2  Say Position of Cursor Macro. .2-7.186
         5.3  Voice Level Adjustment Macro. .2-7.187
         5.4  WordPerfect Spell Check Macro .2-7.188
    6.   BIOS MACROS. . . . . . . . . . . . .2-7.190
    7.   STRATEGIES FOR DEVELOPING MACROS . .2-7.192
    8.   MACROS THAT DO NOT WORK. . . . . . .2-7.193
         8.1  Macro Cannot Find Color . . . .2-7.194
         8.2  Macro Cannot Find Graphic Character2-7.194
    9.   MACRO FUNCTION SUMMARY . . . . . . .2-7.195
1.  INTRODUCTION TO MACROS
 
    This chapter is devoted to the subject of JAWS macros.  It
introduces the functions of the macro manager and explains how the
Macro Editor is used to create macros.  Sample macros will be analyzed
to show how each part of the macro contributes to the completion of
simple tasks.  Strategies for developing a set of macros for use with
software programs will be discussed, and solutions to commonly
experienced macro problems will be offered.  The chapter concludes with
a brief introduction to the various JAWS macro functions. 
 
    The disk file for Appendix 3 describes each macro function and
offers examples of how these functions can be used to increase your
control over screen access.  This disk appendix can be thought of as a
reference guide for creating macros.  It provides detailed descriptions of
each JAWS macro function, and in most cases, shows how each function
could be used within a macro.
 
    The next chapter will discuss the configuration manager and will
provide information on using the configuration files that are provided
with JAWS.  These configuration files contain sets of macros that have
been prepared for use with a variety of commonly used software
programs.  In many situations, these macros will meet your screen
reading needs, and will help you avoid the task of creating your own
macros.  Also, the chapter on Smart Screen describes how software
programs with menu bars and pop-up windows can be easily read
without developing macros.  If you are trying to develop a screen
reading strategy for a specific software program that uses color bars and
structured screen displays, then we recommend that you first try to use
Smart Screen before you spend time preparing macros.  Smart Screen
may provide all the screen reading access you need, or it could serve as
the center point of your screen reading strategy which later can be
enhanced with a few specific purpose macros.
 
    This chapter is written with the assumption that readers have
read each of the chapters in PART ONE of this manual, and all of the
chapters that precede this chapter in PART TWO.  This means that we
assume you already understand the terminology and methods associated
with the use of:  the JAWS Menu System, goto, place markers, search,
enhance, and frames.
 
    Before talking about how to use macros, it will be useful to define
the term "macro".  A Macro is defined as a sequence of operations that
are grouped together as a single operation.  Simple operations and
frequently used activities are the building blocks of macros.  The sole
purpose of a macro is to save time.  This is accomplished by reducing,
for example, thirty key strokes into one key stroke.  A macro can enter
key strokes, activate functions and can even make simple decisions.  A
macro executes the same kind of activities you perform when you are
using your PC, however, the macro performs the activities almost
instantaneously.  The term Execute means to perform, initiate, or
activate, and is commonly used when referring to macros and computer
commands.
 
    The classic "toothbrush" macro can be used to help explain a
computer macro.  This human macro is performed every morning by
millions of people and contains concepts that are quite similar to those
used with computer macros.  The toothbrush macro begins when you
find your tooth brush.  The macro sequence continues through the
following operations:
 
a.  Pick up toothbrush.
 
b.  Pick up toothpaste.
 
c.  Remove the cap from the toothpaste tube.
 
d.  Squeeze toothpaste tube and deposit toothpaste on toothbrush.
 
e.  Replace the cap on the toothpaste tube and set the tube down.
 
f.  Brush teeth, as instructed by your dentist.
 
g.  After completing the brushing sequence, rinse mouth and
    toothbrush with water.
 
h.  Place tooth brush back in its proper location.
 
    You can think of each of the above steps as either being
individual activities, or consider the steps to be one activity.  If you put
the steps together and give them a name, then you would have created
a macro; in this case, the "toothbrush" macro.  The toothbrush macro is
also like a computer macro in one additional way.  Most of the time,
when you perform the toothbrush macro, you do so without thinking
about the steps.  Similarly, when you use a computer macro you don't
give much thought to the steps that are being performed, you primarily
think about what it will do for you, i.e., the results.
 
    The sequence of steps in a computer macro are recorded and
assigned to a single key, and the macro is performed or executed
whenever that key is pressed.  The macro structure allows us to divide
macros into two parts; the "macro key" and the "macro definition".  The
key that executes a macro is called the Macro Key.  The set of key
strokes and related activities that are executed when the macro key is
pressed is called the Macro Definition.  We may, from time to time,
simply use the term "macro" in a general way to refer to both the macro
key and its definition.
 
    Almost any key or key combination can be used as a macro key. 
The letter keys, number keys, punctuation keys, cursor keys, and
function keys can be used as macro keys.  You also can use these same
keys in combination with the CONTROL, SHIFT, ALT, and INSERT to
create multiple macros for the same keys of the keyboard.
 
    In addition to combining SHIFT, ALT, CONTROL, and INSERT
with other keys, you can use the "Home Row" Mode and "Number Lock"
Mode to define other sets of macros.  When Home Row or Number Lock
is turned on, then almost all keys can be assigned additional macro
names.  For example, the alphabet keys are normally used to type words
and numbers, but if you press ALT + SPACEBAR to turn Home Row
Mode on, then you can assign macros to any of these keys.  These
"Home Row macros" will only function when Home Row Mode is active. 
Thus, you can type words and numbers with Home Row Mode off, and
alternatively turn Home Row Mode on and use the same keys to
perform macros.  Number Lock Mode works in the same way.  When it
is activated, then the speech pad keys and the alphabet keys can be
defined to perform an additional set of macro functions.
 
    The following macro definition, for example, could be assigned to
the macro key, INSERT + F1, and used to increase the volume of a
speech synthesizer.  (Please note, this key sequence cannot be used
exactly as written, and should not be used to create a macro. 
Information on creating this type of macro is described in a later section
of this chapter.)
 
"CONTROL + /, V, G, V, RIGHT ARROW, ENTER, ESCAPE"
 
    Macros make sense when they are broken down into their
component parts.  To understand this macro, you need to look at each
separate activity and determine what it is doing.  The following analysis
identifies the function performed by each key stroke in the preceding
macro.
 
a.  "CONTROL + /" activates the JAWS Menu System.
 
b.  "V" selects the voice menu.
 
c.  "G" selects the global sub menu.
 
d.  "V" selects global volume.
 
e.  "RIGHT ARROW" moves the menu bar one setting to the right. 
    This means the current volume setting is increased by one
    number.
 
f.  "ENTER" selects the new volume setting.
 
g.  "ESCAPE" is used to exit from the menu system.
 
    If the preceding macro is used to increase volume, then we could
also have one to decrease volume.  The macro could be modified to
decrease volume by changing one key stroke.  If a LEFT ARROW is
substituted for the RIGHT ARROW, then the macro will lower the
setting for global volume.  Please see the following example.
 
"CONTROL + /, V, G, V, LEFT ARROW, ENTER, ESCAPE"
 
    It is important to distinguish between JAWS macros and macros
that are used by application software programs.  They are different. 
This chapter only addresses JAWS macros.  If your application software
program also uses macros, then you will need to review the reference
materials for your application software to learn about using those
macros.  The concept of a macro is universal, but their potential use is
not identical.  For example, a JAWS macro can change the volume level
of your synthesizer, but a WordPerfect macro cannot perform that
function.  A JAWS macro, however, could be used to execute most any
function of WordPerfect, Lotus 123 or most any other application
software program.  In some ways, JAWS macros offer greater versatility,
because they can blend screen reading functions with application
software functions to create powerful tools.  A simple example of a
JAWS macro being used to execute application software key strokes is,
"F7, Y, ENTER, Y, Y".  For those familiar with WordPerfect, you may
have already determined that this macro is used to save the current text
document and to exit the program.  This macro could have been
embellished by adding a label that describes the fact that you are
exiting to DOS.
 
 
2.  MACRO MANAGER
 
    When you select "Macro" from the JAWS main menu, you bring
up a sub menu of macro utilities that can collectively be thought of as
the "macro manager".  The options of the Macro Manager can be used
to revise or create a macro, duplicate a macro, erase a macro, and
identify existing macro keys.  The "auto macros" option is used to
connect the execution of macros to the monitoring of frames.
 
** begin figure **
 
JAWS macro menu
Revise  Duplicate  Erase  Identify  Auto macro
Revise or create a macro, invokes external editor

** end figure **
  
    The selections in the macro manager refer to separate software
programs.  These macro utility programs are loaded from files stored in
your JAWS sub directory or on your JAWS program disk.  If JAWS
cannot find the files in the default location, then the macro utilities
cannot be used.  If you used the installation program when you installed
JAWS, and have not changed the location of your JAWS files, then the
files should be in the proper directory and the utilities will work
correctly.  The macro utility files can also be stored in a RAM drive,
which in some cases, may offer quicker performance.  If your PC only
uses floppy diskettes, then be sure the diskette with the macro utility
files is in the disk drive from which you launched JAWS.  The names of
the macro utility files are listed in the disk file for Appendix 4. 
 
    Occasionally, there may be other situations that interfere with the
ability of JAWS to load the macro utility programs.  Potential conflicts
could result from other terminate and stay resident (TSR) programs that
are also kept in memory.  These programs, like JAWS, reside in the
PC's memory and work in the background to perform various activities. 
A TSR, for example, could erase information that JAWS uses to find its
files.  Application software programs and extended memory managers
also could interfere with file access.  Most high quality software
programs will not cause problems, but the possibility always exists.  If
you experience a problem with software interfering with the loading of
the macro utility files, then please report it to us.  
 
 
3.  MACROS MENU
 
    The following menu selections are displayed on the selection line
of the menu display when you select "macro" from the JAWS main
menu.  "Revise" is used to create or revise a macro definition. 
"Duplicate" is used to copy a macro definition from one macro key to
another macro key.  "Erase" is used to remove a macro key and its
definition.  "Identify" is used to display the names of all macro keys that
are in the current macro configuration file.  "Auto macros" is used to
assign a macro to a frame so that when the frame changes, the macro
is triggered.  Auto macros and frame monitoring are the same functions,
but are located within two different JAWS sub menus.
 
3.1 Revise
 
    Selecting "Revise" allows you to create a new macro definition or
revise an existing macro definition.  As soon as you select "Revise",
JAWS loads the Macro Editor.  The Macro Editor utility will load
quickly, if you are using a hard disk drive or RAM disk, but may take
up to five seconds if you are loading it from a floppy disk.  If the Macro
Editor does not load and the menu display does not change, when you
make your selection, then this is an indication that JAWS was unable
to find the file it needs.  If this happens, then please refer to the
information presented earlier in the section on the macro manager .
 
Selecting a Macro Key
    As soon as the Macro Editor loads, you will be asked to identify
the macro that you wish to create or revise.  If you are creating a new
macro, then you identify the macro by pressing the key that you want
to use as the macro key.  If you are revising a macro definition, then you
press the key that you have been using as the macro key.  It is
important to note, that the key or combination of keys that you press at
this prompt is always assumed to be the macro key that you wish to
use.  This means that if you press the Say Line function, as if you
wanted to read the prompt line again, then the Macro Editor interprets
that key stroke as being the macro key that you wish to revise.  Thus,
if you didn't hear the prompt that was spoken when you selected
"revise", then do not try and read the prompt, just press the key that
you want to use for the macro name.  The reason that the Macro Editor
works this way is that every key on the keyboard is actually a macro
and can be revised by the JAWS user.  The Say Line, Say Next Word,
Say Enhancement, etc.  are all macros that could be revised.
 
    To enter a combination of keys at this prompt, for example the
CONTROL + T, then simply hold down the CONTROL key and press
"T".  If you want to name a macro key that would be used when Home
Row mode or Number Lock mode is used, then you must turn on one of
these modes before you select "Revise".  With the proper mode turned
on, then just press the key you wish to use as the macro key.
 
Entering Macro Definitions
    Once you have identified the macro key, then a new display will
appear.  The display, shown below, is the Macro Editor.  The Macro
Editor contains three windows:  "Macro Revise", "JAWS Functions", and
"Macro Identify".  The windows are used to define the key strokes and
JAWS functions that are to be performed by the macro.  The Macro
Revise Window is at the top of the screen, the JAWS Function Window
is in the middle, and the Macro Identify Window is at the bottom of the
display.  Each window looks similar to the JAWS menu display.  The top
line displays the name of the window.  The middle line is the location
where information is read or  entered.  The bottom line in each window 
either displays directions about using the window or displays
information about highlighted macro functions.
 
** begin figure **
 
Macro Revise Window
Macro: 
Use Shift + Control + Numpad keys to edit
  
 
JAWS Function Window
Functions:
(Information about the function of the highlighted item)
 
  
Macro Identification Window
Defined macros:
Use Shift+CTRL F7 for Jump command, SHIFT+CTRL F6 for Perform
  
** end figure **
  
    The PC Cursor is always placed at the left end of the Macro
Revise Window when you first enter the Macro Editor.  The Macro
Revise Window is where the actual key strokes and macro functions are
displayed.  Everything that appears in this window is part of the macro,
and will be performed when the macro is executed.  This window is
where the editing/recording of the macro takes place.  The JAWS
Function window displays the JAWS functions that you can include in
a macro.  Almost everything that JAWS can do from saying a word to
speaking the row and column coordinates of a cursor are listed in this
window.  Functions are selected from this window and inserted into the
macro that is displayed in the Macro Revise Window.  The bottom
window, the Macro Identification Window, displays the name of each
macro key that has been used to name a macro.  This window is used
to identify macros that are either to be used in special ways, or that are
to perform more specialized functions.  Information about using the
Macro Editor is presented in a later section of this chapter.
 
3.2 Duplicate
 
    The macro duplicate function of the macro manager is used to
take an existing macro definition and assign it to a new macro key. 
When you select "Duplicate" from the macro menu, you are first asked
to enter the macro key you wish to duplicate, and then are asked to
enter the key that is to receive the definition.  Any macro definition can
be copied from one key to another.  The CONTROL, SHIFT, ALT,
INSERT keys as well as the Home Row and Number Lock modes can be
used with either the key being copied or defined.  When a macro
function is copied, the original macro key retains its definition so that
you will have two keys with the same definition when "duplicate" is
used.  
 
    If you select "duplicate" and you are not prompted for the name
of the key to be duplicated, then this means that JAWS was unable to
find the macro duplication utility program.  If this happens, please read
the earlier section on the macro manager for suggestion about solving
this problem.  If you enter the key to be duplicated, followed by the key
to be defined, and everything works properly, then JAWS says "OKay"
and returns you to the macro manager menu.  If the key you were
planning to use as the new macro key was already a macro, then you
would be told that the key is a macro and that the process was not
completed.  If the duplication fails for this reason, then you are returned
to the macro menu.  You are also returned to the macro menu if you
select a key for duplication that is not a macro.  If you wish to copy a
macro definition to a key that already is a macro key, then you must
first erase the key's definition before you can give it a new one.  
 
3.3 Erase
 
    This option is used to remove a macro definition from a key.  As
with duplicate (above), when you are erasing a macro, you are only
removing the macro that is being held in memory.  If you wish to
permanently erase a macro, then you must also save the revised set of
macros with the JAWS configuration manager.
 
    When "Erase" is selected, you are asked to enter the key (or key
combination) that you wish to erase.  If nothing happens when you
select this option, then JAWS cannot find the macro erase utility
program.  Please read the section on the macro manager, presented
earlier, for information about solving this problem.  If you activate the
erase function, and then decide that you don't want to erase a macro,
then just press any key that you know is not a macro and you will
receive an error message and be returned to the macro manager. 
Alphabet keys are usually not macro keys when home row and number
lock modes are turned off, and can usually be safely pressed to abort an
unintentional erase command.
 
3.4 Identify
 
    When you select this option from the macro menu, then JAWS
displays the names of all the macro keys that are currently in use.  This
display is very similar to the Macro Identification Window within the
Macro Editor.  There is not enough space on the selection line to display
all of the macro keys, and it will be necessary to move the menu bar to
read additional listings.  The list scrolls horizontally as you move the
menu bar.  The Say Prior/Next Character function and the Say
Prior/Next Word functions can be used to scroll through the selections. 
This display is useful for verifying the existence of macro keys before
using the other functions of the macro manager.  If you select "Identify"
and the window does not appear, then JAWS was unable to find the
macro identification utility program.  Please refer to the earlier section
on the macro manager for information about this problem.
 
3.5 Auto Macros and Frame Monitoring
 
    Auto Macros are macros that are executed by activity that takes
place within a frame.  Auto macros are triggered when the text or
screen enhancements within a frame change.  The auto macros selection
of the macro manager and the frame monitoring selection of the frame
manager are identical processes, and they are being discussed as one
subject in this section.  Instructions that apply to use of auto macros
also apply to frame monitoring.
 
Structure and Use
    There are two parts to auto macros; the frame that is monitored
and the macro.  The macro itself is no different than any other macro
we have discussed.  The macro consists of a macro key and a macro
definition.  The frames that are used with auto macros are standard
JAWS frames, and are defined in the usual way with the frame
manager.  Macros and frames are brought together by the addition of a
special feature that monitors activities taking place within frames.  The
possible uses for auto macros are as varied as the imagination and
creativity of the person who uses them.  The simplest auto macro will
watch for screen changes within a frame and then execute a macro, such
as one that reads line 25 of the screen.
 
    More complex macros can be tied to the monitoring of frames and
can perform a variety of activities in response to certain types of
changes.  Thus if a status line is being monitored by an auto macro, and
a certain word appears in the monitored frame, then the macro can
perform a distinct activity; but if the word does not appear then the
macro performs something else.  If the screen color changes to red, then
a third activity is completed.  A fourth activity is performed if the color
turns to blue.  This decision making ability is made possible by the use
of "If Then Else" statements.  This type of decision making tool poses
questions within the macro that are answered by examination of the
frame.  
 
    String searches, enhancement searches, and enhancement tests
can all be conducted by macros.  The results of these searches are used
to determine which of several responses will be implemented.  For
example, if the word "Options:" appears in the frame, then the macro
speaks the contents of the default frame.  If the word "Options:" does
not appear then the macro goes on to search for colors.  If red is found
in the frame then the macro reads the contents of the frame; but if blue
is found, then the macro will read a different frame.
 
Set and Clear
    To define an auto macro or to monitor a frame, you must have
already defined a frame and have defined a macro.  The frame should
enclose the portion of the screen where important changes occur.  The
proper location of the screen is critical to effective use of auto macros. 
You will need to study the screen to determine exactly where the frame
should be placed, and then you must fully assess the kinds of changes
that occur within the frame.  Your macro must be closely linked to the
specific changes that take place within that frame, and should reflect a
clear strategy for responding to those changes.  The intelligence of a
macro is directly related to the precision of the method used to examine
the frame for changes.  For example, if the text in the frame can never
turn green, then there's no reason to have a part of the macro that tests
for the color green.  If you do not clearly understand what is happening
on the screen and what you want the macro to do, then you are unlikely
to create a macro that meets your needs.
 
    You create an auto macro by selecting "Auto macros" from the
macro menu.  You are then presented with two options:  "set" and
"clear".  The "set" selection is used to define a new auto macro, and
"clear" is used to remove the automatic status from an auto macro. 
"Clear" does not erase the macro or the frame, it only disconnects the
monitoring function that ties the execution of a specific macro to screen
changes within a specific frame.
 
    When you select "set", you are prompted to identify the frame
that is to be monitored.  Type the number of the frame and press
ENTER.  You are next asked to press the macro key that is to be tied
to the frame.  This is the macro that will be executed when activity in
the frame is noticed by JAWS.  Any macro key that you press at this
prompt is interpreted to be the macro key you wish to use.  Thus if you
try to read the prompt with the INSERT + UP ARROW, for example,
then that macro key is then tied to the frame.
 
    After you have pressed the proper macro key, you are then asked
to enter a delay factor.  A Delay Factor is used to delay the execution
of the macro for a short time to determine if the change that was
noticed is significant.  Often there are many unimportant changes that
occur in a frame that last for only a fraction of a second.  The default
delay factor is "2", which is about one tenth of a second.  This means
that JAWS waits for a tenth of a second to be sure the screen change is
significant before executing the macro.  The higher the number of the
delay factor, the longer JAWS will wait before executing the macro.  Use
of a delay factor avoids useless chatter caused by quick inconsequential
changes that flash on the screen.
 
    JAWS can monitor up to 30 frames at the same time.  If, however,
you are having a large number of frames being monitored at the same
time, then this may slow down the performance of your PC.  This could
be especially noticeable with the early generation PC/XT computers.
 
 
4.  USING THE MACRO EDITOR
 
    The following three sections describe the use of each window in
the Macro Editor.  Moving the PC Cursor around within these windows
requires the use of a slightly different set of keys than those used
normally.  Each section describes the proper method for moving the
cursor and making selections.
 
4.1 Macro Revise Window
 
    If you select a macro key that already has a macro definition
assigned to it, then the key strokes and JAWS functions it performs are
displayed in the Macro Revise Window.  If the macro definition contains
a greater number of key strokes and functions than will fit in the
window, then only the beginning part of the macro is displayed.  The
remainder of the macro appears in the window as you move the cursor
through the macro.  If you are defining a new macro, then the window
is empty.  At this point, you are ready for creating or editing the macro
definition.
 
Reading the Macro Definition
    To read the contents of a macro, simultaneously hold down the
left CONTROL and left SHIFT keys, and then press any of the cursor
movement keys.  You must hold down the CONTROL and the SHIFT
keys at all times when using the cursor keys to read the contents of this
window.  Any key that is pressed, while the CONTROL and SHIFT are
not held down together will become displayed in the Macro Revise
Window, and therefore become part of the macro.  The specific key
combinations for reading information displayed in this window are
described below.
 
CONTROL + SHIFT + LEFT ARROW
Moves cursor to prior key or function of definition.
 
CONTROL + SHIFT + RIGHT ARROW
Moves cursor to next key or function of definition.
 
CONTROL + SHIFT + 5 (on the speech pad)
Speaks the key or function that appears under the cursor.
 
CONTROL + SHIFT + HOME
Moves cursor to beginning of macro definition.
 
CONTROL + SHIFT + END
Moves cursor to end of definition (after last key or function).
 
CONTROL + SHIFT + DELETE
Deletes the key or function under the cursor (all other keys and
functions move to the left to fill vacant space).
 
CONTROL + SHIFT + PAGE DOWN
Moves next group of keys and functions into the display window and
speaks the contents of the window.
 
CONTROL + SHIFT + PAGE UP
Moves previous group of keys and functions into the display window and
speaks the contents of the window.
 
CONTROL + SHIFT + INSERT
Speaks the information on the help line.
 
CONTROL + SHIFT + DOWN ARROW
Moves cursor down to next window.
 
CONTROL + SHIFT + UP ARROW or ESCAPE
Aborts the macro recording process and exits the Macro Editor.
 
Editing the Macro Definition
    When you press a key without holding the CONTROL + SHIFT,
then the keys or combination of keys you press will all become part of
the macro.  For example, if you press the INSERT + UP ARROW, as if
to read the current line, then JAWS does not speak, but instead, places
an up arrow symbol in the display window.  The Macro Revise Window
functions like a pass through mode; where JAWS keys do not perform
any of their usual functions.  You can press alphabet and number keys,
function keys (F1 through F12), cursor movement keys, etc.  You can
not, however, enter JAWS functions by pressing their keys when in this
window.  JAWS functions, such as Say Next Word and Say Character,
must be entered with the assistance of another window.  The next
section explains how the JAWS Function Window is used to enter JAWS
functions into a macro.
 
    If you start to record key strokes for a macro and wish to stop the
process, then hold the CONTROL + SHIFT and press UP ARROW or
ESCAPE to abort the recording process.  If you made changes in the
macro and have aborted the recording process, then the macro has been
returned to its original state.  If you wish to save the macro you have
created or edited, then hold the CONTROL + SHIFT and press ENTER. 
This temporarily saves the macro definition in RAM memory and
returns you to the selections of the macro manager.  You will need to
save the macro with the configuration file manager to make it a
permanent change.
 
4.2 JAWS Function Window
 
    This window is used to select functions from a comprehensive list
of all JAWS functions and special macro functions.  To make selections
from this window, you must move the cursor from the Macro Revise
Window to the JAWS Function Window.  This is done by holding the
CONTROL + SHIFT and pressing DOWN ARROW.
 
    The functions in this window are listed in alphabetical order. 
When functions from this window are selected, they are inserted in the
Macro Revise Window at the exact point in the macro definition where
the cursor was last located.  The JAWS Function Window is where you
can pick out JAWS functions such as Say Line, Route JAWS to PC
Cursor, and Say Next Field, and enter them into the macro definition. 

Moving the Menu Bar
    To select a function and place it in the Macro Revise Window, you
must first move the highlighted menu bar to the function that you want
to select.  The Macro Function Window cannot display all of the
functions at one time.  Thus, as you move the menu bar, additional
selections scroll into the window.  There are several ways to move the
menu bar when using this window.  The quickest way to find a selection
is to simply begin typing the name of the function you need.  As you
type, the cursor moves through the list and tries to match your typing
with selections in the list.  Each time you press a letter key and the
editor finds a match, then the matching word or phrase is spoken.  For
example, if you type "S", then you will move to the first of the "S"
selections, in this case, "Save JAWS Cursor".  Pressing "A", will not
move the highlight, since your typing still matches the highlighted
selection.  If you next press "Y", then the menu bar moves to the next
match, which is "Say All".  If you continue typing by pressing a SPACE
BAR  followed by "L", then the function "Say Line" is spoken.  If you
type a key and a match cannot be found then JAWS beeps to indicate
the failure and returns the menu bar to the last successful match.
 
    You can also move the menu bar with the cursor keys in a way
that is similar to that used for moving the cursor in the Macro Revise
Window.  The cursor key movements are all done when the CONTROL
and SHIFT are both held down.  Because your key strokes are not being
recorded in the Macro Revise Window when you are in the JAWS
Function Window, you have more freedom to use screen reading keys. 
For example, you could activate the JAWS Cursor and examine the
layout of the Macro Editor display.  You can press speech pad keys and
they will speak, but you will hear more useful information if you
continue to hold down the CONTROL + SHIFT when using the cursor
movement keys.  You may find it helpful to stop searching for a function
by typing letter keys to get to the general location of your selection, and
then to use the cursor keys to find the exact function you need.
 
CONTROL + SHIFT + LEFT ARROW
Moves the menu bar to the previous item in the list.
 
CONTROL + SHIFT + RIGHT ARROW
Moves to next item in list.
 
CONTROL + SHIFT + HOME
Moves to first item in list.
 
CONTROL + SHIFT + END
Moves to last item in list.
 
CONTROL + SHIFT + PAGE DOWN
Moves the next group of selections into the window and speaks the
contents of the window.
 
CONTROL + SHIFT + PAGE UP
Moves the previous group of selections into the window and speaks the
contents of the window.
 
CONTROL + SHIFT + INSERT
Speaks information about the highlighted menu item.
 
CONTROL + SHIFT + ENTER or ENTER (by itself)
Selects the currently highlighted selection and places the function into
the Macro Revise Window.
 
CONTROL + SHIFT + UP ARROW
Moves the cursor up to the Macro Revise Window.
 
CONTROL + SHIFT + DOWN ARROW
Moves the cursor down to the next window.
 
Selecting a Function
    Once the item you wish to select is highlighted then all you need
to do is hold the CONTROL + SHIFT and press ENTER.  JAWS says
the name of the function and then adds it to the definition in the Macro
Revise Window.  You can also simply press ENTER to make your
selection.  You can make as many selections as you wish from the JAWS
Function Window, but you should remember that they are added to the
window sequentially.  The second item you select, for example, appears
after the first item, etc.  If there are already key strokes and functions
in the Macro Revise Window, then the items you select are placed at the
exact point where you left the cursor when you were last in the Macro
Revise Window.  It is, therefore, necessary to properly position the
cursor in the Macro Revise Window before you move down to the JAWS
Function Window and make selections.  You can move back and forth
between the Macro Revise Window and the JAWS Function Window as
often as you need by using the CONTROL + SHIFT + UP ARROW or
DOWN ARROW.  In this way, you can adjust the location of the cursor
in the Macro Revise Window, and then move back down to the JAWS
Function Window to make additional selections.  
 
    Each function that is highlighted by the cursor in the JAWS
Function Window will cause information that describes its use to be
displayed.  The information is displayed on the help line of the window
and can be read at any time with the CONTROL + SHIFT + INSERT. 
At times you may need to create or revise special functions that require
you to point to the name of a specific macro key.  This type of activity
is done within the Macro Identify Window.  The CONTROL + SHIFT +
DOWN ARROW will move the cursor down to the Macro Identify
Window.
 
4.3 Macro Identify Window
 
    The Macro Identify Window appears below the JAWS Function
Window.  It displays all the names of keys that have been defined as
macros.  The macro keys are listed in the order of their recording, with
the oldest macros appearing at the beginning of the list.  Names such
as "Insert Up Arrow" or "Pad 5" appear in this list.  You may be
surprised to discover that there is a large number of macros in this list. 
This list is large because all the JAWS keys that can be used for screen
reading are macros, and they are all listed in the Macro Identify
Window.
 
    You can read through the list with the Say Next Word and Say
Prior Word keys, or you can use the same cursor movement method that
was described above for moving within the JAWS Function Window. 
The CONTROL + SHIFT + 5 (from the speech pad) is used to read the
currently highlighted selection in this list.  When a macro key is
highlighted, it can then be selected for a small number of JAWS
functions and displayed in the Macro Revise Window.
 
    Once you have made your selection, then you can use the
CONTROL + SHIFT + UP ARROW to move back up to the JAWS
Function Window or use the CONTROL + SHIFT + DOWN ARROW to
wrap around to the Macro Revise Window at the top of the display. 
Exiting the Macro Editor is always done from within the Macro Revise
Window, and the options and keys used when exiting the Macro Editor
were described in the section on the Macro Revise Window.
 
 
5.  SAMPLE MACROS
 
    Several macros are analyzed in this section to illustrate the use
of the Macro Editor, and to introduce some of the macro functions.  A
complete list of all macro functions will be presented later in this
chapter.  
 
5.1 Say Current Line Macro
 
    When you press INSERT + UP ARROW, you activate a macro
that speaks the current line at the cursor.  We will create a new macro
key that performs this same function.  This macro will speak the current
line and will not move the cursor.  The following steps would be used to
create this macro.  We begin by invoking the JAWS main menu.
 
a.  Press M for macros, and press R for revise.
 
b.  You are next asked for the macro key.  Press CONTROL + K (or
    any other key that you would like to use in this example).
 
c.  You are now in the Macro Revise Window.  Remember, any keys
    that you press will be entered into the macro when you are in
    this window.  You must hold down the CONTROL and SHIFT
    keys before you can read the display with the cursor keys.
 
d.  Hold the CONTROL + SHIFT and press DOWN ARROW.  This
    takes you down to the JAWS Function Window.  
 
e.  Since you want the macro to speak the line, then you must find
    the "Say Line" function.  Do this by typing the letters between the
    quote marks and be sure to include the space after the first word. 
    Type SAY L.  You can use the CONTROL + SHIFT + 5 (speech
    pad) to verify the item that is being highlighted by the menu bar.
 
f.  Hold CONTROL + SHIFT and press ENTER to copy the Say Line
    function up into the Macro Revise Window.  
 
g.  You have two additional functions to select from the JAWS
    Function Window.  Type H and JAWS should say "Help Label". 
    Press ENTER to select the Help Label function and to copy it into
    the Macro Revise Window.
 
h.  Type L and then hold down the CONTROL + SHIFT and press
    RIGHT ARROW.  JAWS should say "Label End".  Press ENTER
    to copy this function to the Macro Revise Window.
 
i.  Next return to the Macro Revise Window by holding down the
    CONTROL + SHIFT and pressing UP ARROW.
 
j.  Do a CONTROL + SHIFT + LEFT ARROW to move the cursor
    left to the last item that was added to the window.  JAWS should
    say "Label End".
 
k.  Next type the phrase:  SAY THE CURRENT LINE, DOES NOT
    MOVE THE CURSOR
 
l.  The macro definition in the Macro Revise Window should look as
    follows.  (The brackets "[]" have been added as dividers between
    parts of the macro.  [Say Line][Help Label Start]say the current
    line, does not move cursor[Label End].
 
m.  Next hold down the CONTROL + SHIFT + ENTER to save the
    macro in memory and exit the Macro Editor.
 
n.  Try it out.  Press CONTROL + K (or the macro key you used if
    you selected a different key for this example).  Did your macro
    speak the current line?
 
o.  Now turn on Help Mode and press your macro key.  Did JAWS
    say "say the current line, does not move cursor"?
 
p.  You can now delete this macro with the "erase" function of the
    macro manager that was described earlier.
 
    If you examine the preceding macro, you will notice that it has
four parts.  The Say Line function speaks the information on the line at
the active cursor.  The Help Label Begin function indicates that the
characters which follow will be spoken when the JAWS Help Mode is
active.  The words that follow the Help Label "say the current line, does
not move cursor", is the help message that is spoken when this macro
key is pressed with Help Mode on.  The Label End function tells JAWS
that the help label has come to an end and to not speak anything that
comes after this point in the macro.
 
5.2 Say Position of Cursor Macro
 
    Our next example speaks the position of the cursor and identifies
the active cursor.  It uses the "if then else" structure.
 
[Help Label Begin] position of active cursor [Label End]
[If] [JAWS Cursor]
[Then] [Label begin] JAWS cursor active at [Label end] [Cursor position-
Active]
[Else] [Label Begin] PC Cursor Active at [Label end] [Cursor Position-
Active]
 [endif]
 
    This macro starts with the Help Label that would be spoken when
Help Mode is active.  Next it asks a question (if) about which cursor is
active.  The "if" in the macro instructs JAWS to do one thing if the
JAWS Cursor is active and another thing if the PC Cursor is active.  If
the JAWS Cursor is active, then the macro performs the activities that
are between "then" and "else".  JAWS speaks the label "JAWS Cursor
active at" and follows this with an announcement of the cursor's
position.  Thus, if the JAWS Cursor were active, then you would hear
"JAWS Cursor Active at Row XX column XX".  Of course the X's would
be replaced by numbers.  
 
    If the question posed by the macro statement was answered with
the fact that the JAWS Cursor is not active, then the portion of the
macro that is between "else" and "endif" would be executed.  This part
of the macro is only executed when the PC Cursor is active (JAWS
Cursor not active).  This part of the macro would speak the label "PC
Cursor active at" and then state the position coordinates.  A macro that
uses an "if" must also use an "endif" to function properly.
 
5.3 Voice Level Adjustment Macro
 
    A variety of macros can be created for adjusting voice levels.  The
following example could be used to increase the speed of synthesizer
speech.  With a few minor adjustments, this macro could adjust or
toggle almost any of the settings in the voice menu.
 
[Help Label Begin] increases speech rate by one level [Label End]
[Menus]VGR[Say Next Word][ENTER]Z
 
    As with the preceding macros, the definition begins with the help
label.  The next function of this macro is "Menus" which is used to
silently activate the JAWS Menu System.  The letters that follow (VGR)
are used to select menu options:  "V" for voice.  "G" for global.  "R" for
rate.  The Say Next Word function moves the menu bar from the current
speech rate to the next higher speech rate and speaks the new rate. 
The "ENTER" means to select the new setting.  The "Z" at the end of the
macro means to exit the menu system.
 
    Other macros could use this same structure to change the voice
levels of additional menus.  By simply changing the letters in the macro
that activate different menu selections, you can adjust any menu level
in the voice menu.  For example, if you replaced the "G" in the above
example with a "J", then the macro would only change the speech rate
of the JAWS Cursor.  If you changed the "G" to "U" and the "R" to "C"
then the macro would rotate through the selections for speaking
uppercase characters.  If you change the Say Next Word to Say Prior
Word, then the macro would reduce the speech rate.
 
    You can use macros to execute string searches, find
enhancements, read frames, and go to place markers; all it takes is a bit
of creativity and some planning.
 
5.4 WordPerfect Spell Check Macro
 
    The configuration files for WordPerfect have several special
purpose macros, such as the spell check macro, that are used to do
things such as to find the word that is identified by WordPerfect as
being misspelled.  The macro finds the word, places the JAWS Cursor
on the first letter of the word and then speaks the word.  The macro key
for the spell check macro is the CONTROL + MINUS.
 
    In this example, we will assume you are using WordPerfect
version 5.1.  The spell check macro for Word Perfect version 5.1
determines whether you are using a color or monochrome monitor, then
uses "if then else" to search for a reverse video enhancement or a
background color of red.  Reverse video and red are the default screen
attributes used by WordPerfect to display misspelled words.  The spell
check macro is displayed below.  Information contained in brackets "[]"
represents a macro function.  Information contained in parentheses "()"
explains the purpose or intent of the macro function.  Letters or words
not enclosed by brackets or parentheses is information that is typed into
the macro.  The letters that precede each step in the macro creation
process do not appear in the macro.
 
a.  [IF] (start an "if" statement)
 
b.  [COLOR-FLAG] (is it color video, not monochrome?)
 
c.  [THEN] (yes, it is color)
 
d.  [MENUS] (invoke the JAWS Menu System)
 
e.  E (select the Enhancements menu)
 
f.  F (select Find to search for specific color)
 
g.  R (choose the color Red)
 
h.  T (start the search from the Top of the screen)
 
i.  [ENTER] (start the search)
 
j.  [ELSE] (not color video, must be monochrome)
 
k.  [MENUS] (invoke the JAWS menus)
 
l.  E (select Enhancements menu)
 
m.  F (select the Find menu)
 
n.  R (select Reverse video attribute)
 
o.  T (start at the Top of the screen)
 
p.  [ENTER] (start the search)
 
q.  [ENDIF] (end of the "if" statement)
 
r.  [IF] (start another "if" statement)
 
s.  [SUCCESS-FLAG] (was the search successful?)
 
t.  [THEN] (yes, the attribute was found)
 
u.  [SAY WORD2] (say the word, do not spell it)
 
v.  [ELSE] (the word was not found)
 
w.  [LABEL] (start of the key label to be spoken)
 
x.  FIND THE MISSPELLED WORD (this is the label)
 
y.  [END LABEL] (end of the label or phrase)
 
z.  [ENDIF] (end of the "if" statement)
 
    If you wanted the above macro to use a different color in the
search, then you would need to change item 7.  Invoke the
enhancements menu and select "find", just like the macro does, and
examine the color choices.  You will need to determine which keys are
to be pressed when selecting colors from the "find" enhancement menu. 
All you need to do is to identify the letters that must be pressed or the
cursor movements that must be made, and then put that same
information into step 7.  Similarly, the direction of the search could be
changed by modifying step 8.  Change "T" to a different search option
and you will change the direction of the search.
 
 
6.  BIOS MACROS
 
    As discussed in the beginning of this chapter, there is more than
one kind of macro.  We differentiated between JAWS macros and
application software program macros.  There is also more than one kind
of JAWS macro.  BIOS Macros are a special type of JAWS macro that
are used with PC functions such as "Caps Lock" and "Number Lock". 
These special PC functions do not generate a character or send
commands to the application, they communicate directly with the PC's
hardware.  BIOS Macros let the PC's own "Basic Input Output System"
(BIOS) handle the work; all JAWS does is to speak the name of the
function that is toggled and its on/off status.
 
    You create a BIOS Macro in the Macro Revise Window just as you
would any other macro.  You only add one key stroke to transform a
regular macro into a BIOS macro.  Press CONTROL + SHIFT + F6,
while in the Macro Revise Window, and a BIOS macro is created.  When
this type of macro is executed, JAWS lets the BIOS code handle the
appropriate PC function, such as toggling Caps Lock, while JAWS
speaks and performs all other functions that are recorded in the macro
definition.  If you have a BIOS macro that you wish to convert back into
a regular macro, then all you need to do is to activate the macro editor
and select the BIOS macro you wish to convert.  The macro  reverts
back to a regular macro as soon as it appears in the Revise Window. 
Next press CONTROL + SHIFT + ENTER to end the macro recording
and to save the macro and its regular macro status.  Any time a BIOS
macro is brought into the Macro Editor it loses its BIOS designation. 
Thus, if you want a macro to retain its BIOS designation when
modifying the definition, then you must press CONTROL + SHIFT + F6
before completing your changes  and exiting the Editor.
 
    BIOS macros are very powerful tools for software application
programs that are not otherwise compatible with screen reading
programs.  This is especially true for application programs that do not
move the cursor in response to signals from the keyboard buffer.  With
a BIOS macro, JAWS lets the application use whatever method it wants
for signaling cursor movement, and then performs the remaining portion
of the macro afterward.  Thus you could define the UP ARROW to be a
BIOS macro that contains the Say Line function of JAWS.  Because the
macro is a BIOS macro, the  application program recognizes the UP
ARROW signal and  responds appropriately by moving the cursor up,
and then JAWS uses the Say Line function to read the information at
the new cursor location.
 
 
7.  STRATEGIES FOR DEVELOPING MACROS
 
    If you need to create a JAWS macro to find a highlighted word,
like in a spell checker, or to follow a menu bar, then it will be helpful to
have a strategy.  You must analyze the activity that takes place on the
screen and discover the enhancements, text, graphic characters, etc. 
that can be used to guide you to the information you need.
 
a.  Find out what color/attribute/enhancement you want to "find" or
    "track".  Simply move the JAWS Cursor to the highlighted area
    and press the "Screen Color" macro, usually INSERT + 5 (on the
    number row).  You may need to experiment a bit to know if you
    are on the highlighted area you need.  There is no enhancement
    or color that is guaranteed to be the highlight.  You might want
    to use the "different" search option on the enhance menu to learn
    about the patterns of color that are being used.  In the case of a
    spell checker, you might simply misspell the first word in the
    document being checked, and then you can quickly identify the
    color that is used for highlighting the misspelled word, because
    you already know which word will be highlighted.
 
b.  Define a "search pattern" or search criteria to consistently find
    the highlighted area.  You already know the color or monochrome
    enhancement to search for, but should you search from the top
    down or the bottom up?  Should you start the search at the cursor
    and search down or search up?  Must you move the cursor to an
    appropriate place before starting the search?  Do you need to
    restrict the search to a particular frame?  
 
c.  Once you have found an effective search pattern, then create a
    macro to perform the search.
 
 
8.  MACROS THAT DO NOT WORK
 
    Sometimes you will find that one of the macros that we have
created for a popular application program will not work as promised. 
There are a variety of factors that could interfere with the proper
functioning of one of our macros:
 
a.  It is possible that you may not have the correct macro file loaded. 
    You should be sure that the proper macro configuration file or
    group of configuration files are being loaded.  JAWS should
    automatically load the appropriate macro configuration file when
    you load an application software program, such as WordPerfect,
    but you may want to verify this by looking at the name of the
    default macro file that appears in the configuration manager. 
    The autoload function will not load the correct set of files if you
    have previously used the "J_LOAD.EXE" program to load a JAWS
    configuration.  "J_LOAD" turns autoload "off", and you will either
    need to turn autoload back "on" in the configuration files menu, 
    or toggle it "on" with the INSERT + A macro to restore automatic
    loading of configuration files.  You can also use the "J_LOAD"
    program to load configurations if you do not want JAWS to
    automatically load these files.  The chapter on the configuration
    manager explains your options for loading configuration files.
 
b.  It is possible that the environment within which the macro is
    performing has changed.  The macro could have been created and
    tested on a different computer than the one you are currently
    using.  Computers and software versions frequently change and
    your software and PC may be different, in some ways, from the
    PC and software we used when we created the macro.
 
    Without discussing all the things that could affect the
performance of a macro, let's just assume that things are the same and
you want to correct the problem.  What can we do to fix it?  You must
first understand what the macro is trying to do, then figure out why it
is not doing it.  You then must decide on the proper steps that would
correct the problem, and create or modify the macro to perform the
correct steps.
 
8.1 Macro Cannot Find Color
 
    This is one of the most common problems we encounter with the
WordPerfect spell checker or with a highlighted menu bar.  Usually the
problem is that the macro is simply looking for the wrong color.  This
could be caused by someone changing the colors on the screen.  This also
can be caused by a change in hardware, like the installation of a
different (or non-standard) video card.  Sometimes software
manufacturers change screen attributes as they evolve to the latest
version.  This was the case when WordPerfect moved to version 5.1.
 
    The solution is to examine the screen with the Say Color function
to determine which screen attributes are currently being used.  You
then can either change the macro to fit the screen display or change the
screen display to fit the macro.  WordPerfect, for example, allows users
to change screen colors, and many other software programs provide this
option as well.  
 
8.2 Macro Cannot Find Graphic Character
 
    In some situations, JAWS may be looking for a graphic character
that happens to be highlighted and simply cannot find it.  This situation
occurs with the Professional Write word processing program and the
FirstChoice word processing program.  The JAWS macro that reads the
menu choice searches for the arrow that points to the highlighted menu
choice, but JAWS cannot find this character when it is highlighted on
some color PC's.  The solution is easy, just change the "Color Pallet"
being used by these software programs.  This is done in the setup or
configuration screen of the word processor, select the color pallet that is
not being used and the search will work.
 
 
9.  MACRO FUNCTION SUMMARY
 
Autoload = load config files automatically, toggles on or off.
 
Backspace = Do a "backspace", say the letter deleted
 
Beep = Make the PC beep, useful for error messages
 
Beep on Routing = Toggle cursor routing & say all beeps on or off
 
Caps Lock Status = Say the on/off status of caps lock
 
Color Bar = Toggle Smart Screen bar tracking on or off
 
Color Flag = Use in "if then else" statements to determine color or
monochrome
 
Cursor Position-Active = Say the position of the active cursor
 
Cursor Position-Inactive = Say the position of the inactive cursor
 
Delete = Do a DELETE and say the next letter
 
Else = Use in a "if then else" statement
 
End = Do a cursor pad END
 
Endif = Required to terminate a "if then else" statement
 
Fields = Toggle prior/say/next word to prior/say/next color field
 
Help Label Begin, = Start of help-mode label, requires "Label End"
 
Help Mode = Toggle Help Mode on or off
 
Hole Size Get = Smart Screen, expects input from keyboard
 
Home = do a speech pad HOME
 
Home-Row = Toggle Home Row mode on or off, a new level of macro
keys
 
If = Start of the "if then else" function
 
Insert = Do a speech pad INSERT
 
JAWS cursor = Activate the JAWS Cursor, can also be used in macro "if
then else" statements
 
Jump Macro = Use SHIFT + CONTROL + F7 in Macro Identify Window
 
Label Begin = Start a label, requires "Label end"
 
Label End = End the label or help-label
 
Margin Bell = PC beeps when cursor hits the margin
 
Menus = Invoke the JAWS Menu System
 
Menu-Flag = Can be used in "if then else" statements to see if the JAWS
Menu System is displayed on the screen
 
Next Character = Move the cursor to next character, does not speak
 
Next Field = Move the cursor to the next color field, does not speak
 
Next Line = Move cursor to next line, does not speak
 
Next Paragraph = Move cursor to start of next paragraph, does not
speak
 
Next Sentence = Move cursor to start of next sentence, does not speak
 
Next Unit = Move the cursor to the next unit of text, does not speak
 
Next Word = Move cursor to next word, does not speak
 
Not = Used to reverse the "if" in an "if then else" statement
 
Num Lock Status = say the on/off status of NUM LOCK
 
On/Off Toggle = Toggle or set menu items, like screen echo
 
Page Down = Do a speech pad PAGE DOWN
 
Page Up = Do a speech pad PAGE UP
 
Pass Key Through = The next key pressed will pass through to the
application
 
Pause Macro = Pause a macro for one-tenth of a second
 
PC Cursor = Activate PC Cursor, can also be used in "if then else"
statements
 
Perform Macro = Use SHIFT + CONTROL + F6 in the Macro Identify
Window
 
Prior Character = Move the cursor to the prior character, does not speak
 
Prior Field = Move the cursor to the prior color field, does not speak
 
Prior Line = Move cursor to the prior line, does not speak
 
Prior Paragraph = Move cursor to start of prior paragraph, does not
speak
 
Prior Sentence = Move cursor to start of prior sentence, does not speak
 
Prior Unit = Move the cursor to the prior unit of text, does not speak
 
Prior Word = Move cursor to prior word, does not speak
 
Read Line X = Read line specified by letter A-Y or 2 digits
 
Restore JAWS Cursor = Move cursor to its previously saved position and
say its on/off status
 
Route JAWS to PC = Move the JAWS Cursor to the PC Cursor
 
Route PC to JAWS = Move the PC Cursor to the JAWS Cursor if
possible
 
Save JAWS Cursor = Save the position of the JAWS Cursor and its
on/off status
 
Say All = speak all the text from the cursor down, until the cursor stops
moving
 
Say Character 1 = Speak the character the cursor is on, can change to
phonetic spell
 
Say Character 2 = Speak the character the cursor is on = does not
change to phonetic spell
 
Say Color = Speak the color or video enhancement the cursor is on
 
Say Date = Speak the current date
 
Say Field = Speak the text in the color field the cursor is in
 
Say From To = Read from one column to another, excludes "to" column
 
Say Line = Speak the line the cursor is on
 
Say Next Character = Move to and speak the next character
 
Say Next Field = Move to and speak the text in the next color field
 
Say Next Line = Move to and speak the next line
 
Say Next Paragraph = Move to and speak the text of the next paragraph
 
Say Next Sentence = Move to and speak the text of the next sentence
 
Say Next Unit = Move to and speak the text in the next unit of text
 
Say Next Word = Move to and speak the next word
 
Say On or Off = Say the on/off status of the last flag toggled
 
Say Paragraph = Speak the paragraph the cursor is in
 
Say Prior Character = Move to and speak the prior character
 
Say Prior Field = Move to and speak the text in the prior color field
 
Say Prior Line = Move to and speak the prior line
 
Say Prior Paragraph = Move to and speak the text of the prior
paragraph
 
Say Prior Sentence = Move to and speak the text of the prior sentence
 
Say Prior Unit = Move to and speak the text in the prior unit of text
 
Say Prior Word = Move to and speak the prior word
 
Say Sentence = Speak the sentence the cursor is in
 
Say Time = Speak the current time
 
Say Unit = Say the text in the current unit of text
 
Say Version = Speak the JAWS version number
 
Say Word 1 = Speak the word the cursor is on, can change to spell word
 
Say Word 2 = Speak the word the cursor is on, does not change to spell
word
 
Scroll Lock Status = Say the on/off status of SCROLL LOCK
 
Set Character Units = Set text units to characters
 
Set Field Units = Set text units to a field of color
 
Set Line Units = Set text units to lines
 
Set Paragraph Units = Set text units to paragraphs
 
Set Sentence Units = Set text units to sentences
 
Set Word Units = Set text units to words
 
Singles/Controls = Move the cursor to another word with single arrow
key movements or by CONTROL + arrow key movements
 
Smart Attribute = Set the attribute/color at cursor for use with Smart
Screens
 
Smart Focus = Focus JAWS Cursor movement on only Smart Screen
changes
 
Smart Level = Set speaking level for Smart Screens
 
Smart Speak = Automatically defines and speaks Smart Screens
 
Smart Screen Toggle = Turn Smart Screen on or off
 
Spell  Mode Toggle = Cause Say Word or Say Field to spell text when
this mode is on
 
Spell Word = Spell the word the active cursor is on
 
Standby = Turn JAWS off, press CONTROL+FORWARD SLASH to turn
back on
 
Success Flag = Use in "If" statement, true if previous function was
successful
 
Synth1 = Adjust a special parameter for this synthesizer
 
Then = Required as the "then" in an "if then else" statement
 
Toggle Units = Toggle text units between characters, words, lines, etc.
 
User Flag 1 through User Flag 5 = Toggle the user flag on or off, used
in "if then else" statements
 
Wait For ENTER = Pause macro for typing of data, continues when
ENTER is pressed
 
Wait For Key = Pause macro to enter 1 key stroke
 

