This document describes the many new features in Flipper 4.0 and
outlines changes to existing features.  It was designed for use
by people who are already familiar with version 3.  
It is intended to serve as a quick introduction to
the powerful additions which have been made to Flipper in this
version and to provide examples of their use.

One of the main innovations in this version of Flipper is a new
method of telling Flipper how you want it to respond to you and
the program which you are running.  Flipper guides you through a
simple interview as to what you want done, when you press
a key, something changes on the screen, or when the cursor moves,
for example.

Flipper 4.0 is designed to be just as easy to use, right out of
the box, as earlier versions.  In the this version, almost
anything that Flipper does can be changed to do just what you
want.  Flipper will guide you though any changes you want to
make, and current users may not even need to refer to any of the
instructions to use the new features.  Some of these new
features include being able to edit any of Flipper's messages,
including key names and symbol names.  You can also attach an
action or a sequence of actions to any key.  In addition, any of
ten reaction zones or cursor changes can do actions.  Flipper
can read sentences or paragraphs, current, forward or backward,
even if they are partially or totally off the screen.

Configurations can make applications talk as though they
were written for speech.  Flipper can react to pop up
windows, cursor movements and changes, and other events.
Configurations are automatically loaded when programs are started.

Many other hidden features are included, such as the ability to
adjust automatically to screen sizes larger that 25*80.

There are 50 general purpose windows, and all of them can do the
special functions like the alt underscore and alt slash windows used
to have.  There are also many other new options for individual windows.
There are now ten reaction zones that can do any sequence of actions, from
brailling a highlighted area to playing a short tune.

Cursor tracking has been improved and changed the most of any area of
Flipper.  Press d for define and c for cursor and you can either choose
between a simple DOS cursor, hardware cursor or enhancement cursors
of many different styles.  You can control the searching pattern, and the
specific appearance of acceptable cursors, if you wish.  You can also
pick the area of the screen where the cursor should be.
You can define up to ten different cursors simultaneously.  Flipper
will look for them in order, until it finds one that meets your
specifications.

Two of the main objectives of this version were to be able to
look and work more or less exactly like the old version with the
proper configuration preloaded, and to allow average users to
reconfigure Flipper and use the new features without referring to
documentation other than that built into Flipper.

The w key is now the key to use from the review mode for simple
window definition.  The d key is now the command that starts the
Define command, which lets you define keys, quiet windows,
margins, reaction zones, etc.  The w command under the define
menu allows you to define windows with many enhanced
capabilities.

The toggles on the function keys are being reorganized, and
their positions have changed.  Some toggles were eliminated
because their fuction is now in the define procedure.  For
example, if you want to turn keyboard echo off only for specific
keys, you can define them with "D" "K", and say that you do not
want them echoed.

You can change Flipper's messages by editing the text. First,
you run MESSAGES.COM which is a self extracting archive of the
files you need.  Flipper's messages are in the files that end in
FLS (Flipper strings).  Do not edit the lines in curly brackets,
they are the labels.  After the messages are edited, run the
program FLIPCOMP to generate the FLC files that Flipper will
load when it is booted.  FLIPCOMP will take about 3 minutes on a
386sx.

The program FLIP_VOC will load a pronunciation exception
vocabulary for FLIPPER.  Run the program FLIP_VOC without any
parameters to get the instructions.

There are changes to the way Flipper is loaded, primarily
loading a separate voice module for your synthesizer before
Flipper is run.  The install program can take care of writing a
new batch file, or see START.DOC for the loading procedure.

You can also set Flipper to react to pop-up windows when they
appear on your screen, and "cut and paste" by grabbing small
pieces of text while in Review Mode and copying them whereever
you wish with a single keystroke.

Cursor tracking has been improved and changed the most of any
area of Flipper.  Press d for define and c for cursor and you
can either choose between a simple DOS cursor, hardware cursor
or enhancement cursors of many different styles.  You can
control the searching pattern, and the specific appearance of
acceptable cursors, if you wish.  You can also pick the area of
the screen where the cursor should be.  Flipper has a powerful
automatic enhancement selection which can often find lightbar
cursors without your needing to specify a cursor color.  You can
define up to ten different cursors simultaneously.  Flipper will
look for them in order, until it finds one that meets your
specifications.

The program has been re-written from the ground up, and it came
out even faster than old versions.  It is also similar in size to
earlier versions, despite the large number of new features.

Many users may prefer to explore the new features on their own,
and refer to this document only if they have questions about a
feature, such as "Why would anyone want to do that?!?"  Most of
Flipper's new features can be found on the new "Definition
Menu", which you can access by pressing "d" within Review Mode.

For details on new toggle functions, please see the sections
below entitled "Non-Stop Review Mode,"Automatically Loading
Configurations," "Cursor Type" and "Reading by Paragraph."

** New Definition Menu: Flipper now has an extensive and
easy-to-use menu system for defining and editing its many
functions.  Some users may never need this menu at all.  With
the default configuration supplied with Flipper 4.0, the
program should work as it always has, right out of the box.
But if you wish to customize many of Flipper's powerful, new
features, you will want to use this menu system to define or
re-define the way Flipper does what it does.

If you want to find out what Flipper is already doing, you can
just hit return at each question (once you have picked a key, for
example).  Flipper will then tell you what each of the current
settings are as you go.  One good way to learn how to configure
Flipper is to explore existing configurations in this way.

You can move through the choices in this and all other Flipper
menus by using the up and down arrow keys.  To select a menu
choice, either press the <return> key when you are on the
selection you want, or type the first letter of your selection.

Pressing <return> in answer to a menu question will select the
previous setting for that option.  You can press the space bar
at any time and Flipper will announce the previous or default
setting for the current menu option.

Tip: Pressing the SPACE BAR is a good way to find out where you
are, should you be interrupted while using the menus.  Pressing
<backspace> will cause the question to be read again.

Pressing <escape> will back up to the previous menu, or, if you
are at the Definition Menu's main level, <escape> will quit and
put you back into Review Mode outside the Definition Menu
System.

Each time Flipper asks a yes or no question, you have similar
options, with spacebar to read the default, return to use the
old or default answer and backspace to re-read the question.

If Flipper is asking for a number, such as an enhancement number,
a row number, or a column, you can answer with a return to get the
old answer, a "C" to use the current location, "X" to use
the location of the mark, or a number 1-9 followed by "X" to
use the location of one of the numbered marks.  Remember, you
mark a location on the screen by pressing "X" during the review
mode, or a number and then "X" for one of the other marks.

For example, if you are asked for an enhancement number, you can
reply with a "C" and Flipper will take the enhancement at the
current location.  If you are being asked for a row number, you
can respond "9 X" and Flipper will use the row of the ninth mark
as the answer.

You can also press spacebar to hear the current setting, and
backspace to re-read the question, as usual.

To get to the Definition Menu, enter Review Mode and press "d".

(Note: In older versions of Flipper, "d" allowed you to define a
window. You can now use "w" to define a simple window--
supplying the top and bottom row and left and right-most
columns, as before.  For more sophisticated window definitions,
for example reading only enhanced areas,
use the "w" selection from the Definition Menu.)

When you press "d" while in Review Mode, you will hear the
following menu:

this is the menu to define Flippers functions.

Press k to define key functions.

  p to define prefixed key functions.
  c for cursor type.
  w for windows.
  q for quiet windows.
  m to define the margins.
  b to select the right margin bell column.
  z to create a reaction zone.
  e to edit messages.
  t to change Flippers timing.


Now, let's look at these menu selections and see what each of
them does and how to use it.

k to define key functions.
Flipper now has a user-definable keyboard layout.  You can move
all Flipper commands (except ALT-; to enter Review Mode and
ALT-SPACEBAR to exit Review or Help Mode), delete any which  you
do not need and create others by chaining Flipper functions
together and assigning them to a single keystroke.

If you select "K" to "Define Key Functions" (either by pressing
"k" or <enter> on this, the top line of the menu), you will be
asked for the key you want to define and then prompted for
information about what you want Flipper to do when you press
that key.

The questions and prompts are as follows:

First, Flipper asks you to "Type the key or key combination."
Press the key or keys which you want to define.  You can
re-define most of the keys on your keyboard, in combination with
Shift, Alt and Control or by themselves.  Commands may be
assigned to such combinations as CTRL-ALT-I, SHIFT-TAB and
CTRL-SPACEBAR.

Note: 
ALT-semicolon cannot be re-defined. This keystroke will always
enter review when Flipper is loaded.  ALT-SPACEBAR cannot be
re-defined, either.  ALT-SPACEBAR will always "get you out";
exiting the menus, Review or Help Mode, etc.

When you have pressed the key or key combination which you want
to define, you will be asked "Echo this key? Yes or No."  If you
want to hear the key's name spoken when you press it, answer "y"
for "yes."  If not, respond with "n" for "no."

You need not press <return> after the "y" or "n." Flipper will
immediately move on to the next question.

Next, you will be asked if you want to "clear" the key you have
selected.  Answering "y" to this question clears the previous
definition for that key, leaving it as Flipper found it-- with
the keystroke going directly to your application or DOS and
doing nothing with speech.

If you select "y" to clear the key, Flipper will say
"Definition done" and you will be returned to Review Mode,
outside the Menu System.

If you select "n", to tell Flipper not to clear the key, you
will be moved on to the next question, which is send the key to
the application?  Yes or no.  Do you want this keystroke to be
passed on to you application program either before or after
Flipper performs its action, or is it to be a speech command,
only?  If you answer "y", Flipper will send the keystroke
through to your word processor, spread sheet, database or other
application, as well as acting on it.  This is useful if you
want to define one of your application's command keys to read a
Flipper window,  the current word or line or to speak a message,
in addition to performing its normal task.

If you want the keystroke to invoke a Flipper command or series
of Flipper commands, but do not want it to be passed on to your
application, you would answer this question "n."

For example, in the default configuration, the command ALT-I to
read the current line is not passed on to the application.  It
is a command for Flipper, alone.  The up and down arrows, on the
other hand, are passed to the application first.  Once the
application has moved the cursor up or down a line, Flipper
reads the new current line.

If you select "y" to tell Flipper to pass the keystroke on to
the application as well as acting on it, you will next be asked
"Do the action before the application? Yes or no."  If you want
Flipper to do its action before sending the keystroke on to the
application you would select "y" at this prompt.  An example
would be if you want Flipper to speak the name of the menu which
is called by this keystroke or load an appropriate
configuration before the application acts.

If you want the application to perforn its function first, and
for Flipper to do its action when the application is done-- say,
read the screen when it has changed as a result of the
application command you have sent-- you would select "n."

Next, Flipper will ask whether you want to "do different things
depending on whether the cursor is a light bar."  In many
instances when the cursor is a light bar, you would like
commands to act differently than you would otherwise want them
to.  You don't want to hear the entire line when you are in a
pull-down menu, for example.  You only want to hear the current
(highlighted) selection inside the menu box.  Flipper asks you
when you define a cursor if it is a lightbar.

Perhaps you want ALT-I to read the current line when you are not
in a light bar menu, but would like  it to read only the current
enhanced patch when your cursor is a light bar. Or you might
want to read a window or enhanced area instead of a word or line
when you press a given key (say the left or right arrow key) in
a light bar menu.  In this way, you can create an entirely
separate set of commands for use with light bar and non-light
bar screens.

If you answer "Y" to this question, Flipper will begin to prompt
you for what you want it to do if the cursor is a light bar.
When you have specified the action or actions for the keystroke
when the cursor is a lightbar, you will be asked what you want
the keystroke to do if the cursor is not a light bar.

If you answer "n", you will be asked what you want the key to
do, and those commands will be executed, regardless of whether
the cursor is a light bar at the time.

In either case, you will be prompted for the "first action."

You can tie as many actions to a single keystroke as you wish.
Think of these actions as building blocks.  You can combine them
to produce exactly the output you want.  Anything the old
Flipper could do, Flipper 4.0's default configuration does, and
all of those functions were created by tying these basic actions
to keys, cursor types or screen changes.

You will encounter these same building blocks when you set
Flipper to react to changes on the screen or changes in cursor
types.  They are the basic functions of Flipper.

You will be presented with the following menu from which to
choose an action:

Select what you want Flipper to do:

  r to read an item.
  s to spell an item.
  b to both read and spell an item.
  w to read a window.
  f to flip in another configuration.
  l to load an external configuration.
  p to put a grabbed line.
  c to read the cursor position.
  m for more functions.

Most of these choices are self-explanatory.  One, at least, is
not, since it represents a new feature of Flipper; namely "p to
put a grabbed line."  For details on this feature, please see the
section entitled "Grabbing Lines" later in this document.

When you elect to "read an item," "spell and item" or "both read
and spell an item", you will be presented with a list of "items"
from which to select.  These include: character, word, line,
sentence, paragraph, enhanced area and "a field delimited by
forms symbols."  The latter is to be found in many spread sheets
and database programs, such as Borland's Paradox.

When you are selecting an action to be performed when the cursor
is a light bar, you may often find the "enhanced area" to be a
useful item to read.  Reading the current enhanced area, for
example, often lets you hear the current menu selection in a
pull-down or pop-up menu.

Once you have selected an item, you will be asked which one you
wish to hear.  If, for example, you answered that you wanted the
key to read a line, you would be asked "What is the displacement
to the line you want?  0 for the current line, negative 1 for
the previous line, one for the next and so on..."  To read two
lines up (as the ALT-Y does in the default configuration), for
example, you would answer "-2" to tell Flipper you wanted the
ALT-Y command to read "back two lines."

You can also press "+", followed by a number to tell Flipper to
count from the edge of the screen, rather than from the cursor
location.  To select line 25, regardless of the cursor's present
location, for example, you would respond "+25".

Tip: It is often useful to set the up and down arrow keys to
read the "current enhanced patch" when there is a light bar
present and to read the entire line when no light bar is on the
screen.

The "b to both read and spell" action may be useful for working
in spelling checkers.

When you select "c for cursor position", you now have the option
of hearing both the row and column, only the row or only the
column.  Additionally, you are asked if you want to hear the
words "row" and "column" or only the coordinates.  This allows
you to customize Flipper to give you the precise information you
most often need and no more.

If you select "m", from this list of actions, you will be given
more choices. They are as follows:

More functions menu. Press

  c to read continuously.
  m to speak a message.
  l to read a label area for spreadsheets.
  b to braille an item.
  r to start the review mode.
  h to enter the help mode.
  s to make a sound with the computers speaker.
  z to change the reaction zones.
  w to wait before doing the next action.
  n to treat the next key normally, as though it was not defined.
  d to read a deleted character.
  j to say jump or no if the cursor jumps or does not move.

A few more of these actions are new to this version of Flipper.
They are described below.

M to speak a message: If you select "M to speak a Message," you
can instruct Flipper to speak a brief message when the key is
pressed.  Usually you would have this as only one of several
actions.

Perhaps you want to pass the key to your application, but want
it to speak the name of the command you are sending so you can
be certain you've pressed the right keys.  You could have
Flipper say "page up" when you press that key, then send the
command to your application, and finally read the resulting
screen, for example.  Maybe you want to hear "Dialing directory"
when you press ALT-D in your terminal program, or perhaps you
simply want to hear "shift control T" when that key combination
is pressed.  When you select "M" from the "More Functions" menu,
you will be presented with the message editor and given
instructions on how to enter a new message or select an existing
message which was previously entered.

The messages are limited to a total of 640 characters.  You can
edit these messages later, if you wish, by selecting "e to edit
messages" from the main Definition Menu.

Tip: Messages can be used to announce menus as they are called
up.  If, for example, your application uses ALT-X to bring up a
menu, you could have Flipper pass the keystroke to the
application and announce  the menu's name by reading a message
when ALT-X is pressed.

L to read a label area for spread sheets: By selecting "L" from
the "More Functions" menu, you can define a key to read the
"label" for the current cell in a spread sheet.  You can use
this key, then, to read the "header" for the current column of
data.  The header must be frozen on a particular line, using
that function of your spreadsheet.

B to Braille an item: This action allows you to send any of the
"items" (character, word, line, sentence, paragraph, etc) to a
Braille printer, just as Alt-= sent a marked block to a Brailler
in past versions.  You can tie the "Braille an item" command to
a key or use it as part of an automated sequence of events,
triggered by the appearance of specific text on your screen, for
example.  (See Reaction Zones for more on this.)

Tip: You can set a key to Braille the current line or the
current sentence or paragraph, or the contents of a specific
window.  Then you can Braille selected information without
having to enter Review Mode.  In this way, you could easily
define a single keystroke to quickly print an address or
telephone number from a database program, or to print a selected
paragraph from within your word processor for close
proof-reading.

S to make a sound with the computer's speaker: You can set
Flipper to make a tone or a short sequence of tones.  This is
most useful when the action is triggered from a cursor movement
or a reaction zone.  (See the section below on Reaction Zones
for more on this new feature.)

If you select "s" from the "More Functions" menu, Flipper will
prompt you for a number from 1 to 63.  The higher the number you
select, the higher the pitch of the resulting sound.  The pitches
are tuned to a chromatic scale, so that musical sequences can be
created.

Next, you will be asked for the sound's duration.  Enter a
number from 1 to 4, where 1 is the shortest duration and 4 is
the longest.

You will then hear the sound which you have selected. You will
be asked if that is the sound you wanted. If you respond "n",
you will be given the chance to try another sound setting.

Z to change the Reaction Zones: Flipper now has 10 "reaction
zones" each of which is more powerful than the old "screen
monitor".  This action is used to turn them on or off as they
are needed.  Please see the section on Reaction Zones, below,
for more details on this powerful, new feature.

W to wait before doing the next action: If you select "w" from
the More Functions Menu, you insert a pause into the sequence of
actions. This can be used to allow your application time to
perform a particular function, such as re-writing the screen.
If, for example, your editor used "CTRL-PAGEUP" to go to the top
of the document, and you wanted to hear the first line of the
document every time you moved there with the CTRL-PAGEUP
command, you might select a sequence of actions like this:

pass the key through to the application? (yes)
first action: wait
second action: read current line

This would send the command CTRL-PAGEUP to the application, wait
for it to move your cursor to the first line of the document
(this might take a while if your document is long and you were
close to the end) and then, after the application has had time
to move the cursor, read the current line.  In this way, you can
confirm that you have, indeed, moved to the top of your
document.

Tip: Perhaps your word processor or text editor has commands
which allow you to move forward and backward by paragraph.
Maybe you would like to hear the paragraphs as you move to them,
or maybe just the first line of each, so that you can "skim"
through a document, quickly identifying the paragraphs as you
move through them.  You may need to use the "wait" action in
defining a keystroke to do this, as shown below.

Let's say your word processor, (like WordPerfect,) uses CTRL-up
and CTRL-down arrows to move forward and backward by paragraph.
If you would like to hear the first line of each paragraph as
you move to it, you might define the CTRL-up arrow keystroke as
follows:

pass the key through to the application? (yes)
first action: wait
second action: read current line (or paragraph, if you want
to hear the whole paragraph)

If you determine that the action you were looking for was on the
first half of the menu, after all, <escape> will take you back
to the first set of action choices.

Note: These actions make up Flipper's set of basic functions.
They are the building blocks with which you can create
highly customized configurations.  You will see these two lists
again later as these actions can be set to be "triggered" by a
change in the text on the screen or by a change in cursor type,
as well as by pressing a particular key.

When you have selected an action, Flipper will ask you if you
want to do anything else.  If you want to add another action to
the keystroke or sequence of commands, you need only answer "y"
to this question and you will be prompted for the next action.
When you enter the last action in the sequence, answer this
question "n" and you will be asked one further question.

Finally, you will be asked if you wish to allow automatic output
during this action.  If you want to hear the results of this
sequence of actions, regardless of what else your computer is
doing, answer "n" to this question.  If you want to permit
Flipper to interrupt itself with automatic output so that you do
not miss anything which is going on on the screen, respond with
a "y".

When you have answered this last question, Flipper will say
"definition done" and return you to Review Mode.

Tip: Remember that all of Flipper's normal commands can be
created using these menus.  A useful exercise for those users who
want to create sophisticated new commands or re-arrange their
keyboards might be to figure out how all of Flipper's commands
can be constructed from combinations of the actions listed above.

For example, as was mentioned, the ALT-Y command to read two
lines above the current line is simply a key definition.  ALT-Y
is defined to read an item.  The selected item is a line.  The
selected line, in relation to the cursor, is "-2" for "back two
lines."  That's all there is to it.

If you cannot guess how a particular function is constructed from
these "building blocks," you can always load the default
configuration, enter the key definition menu, enter the keystroke
in question, and move through its definition by pressing <return>
repeatedly.  In this way, you can see all of the previous
settings without changing them.  This is one way to become
familiar with all of the tools now at your disposal.  The
possibilities are endless, should you wish to explore them.

c for cursor type:

You can describe up to ten different cursors which might appear
on your screen.  Flipper will look for each of these cursors in
turn and use the first of them which it finds on your display. In
this way, you can set Flipper to follow a number of different
light bars of varying colors when they appear and track the
regular DOS or hardware cursor when no light bar is present.  You
can prioritize the cursors so that Flipper will always find the
right one first.

When you press "C" for "Cursor Type", you will be asked "Start
with the Primary Cursor?"  If you want to begin creating a set of
cursors, you will probably want to answer "y".  If you are
editing an existing set, adding a new cursor, or inserting one in
the middle of the existing set, respond with "n", and you will be
prompted for the number of the cursor you want to start with.

Flipper will announce the number of the cursor on which you are
about to work and will offer you the choice of editing it,
deleting it, or inserting a new cursor at this location.

Note: Pay careful attention to the order of the cursors.
Remember that Flipper will always use the first one it finds,
searching for the primary cursor first, then the second cursor,
and so on, for as many cursors as you have defined.

Next, Flipper will announce the number of the cursor on which
you are about to work and prompt you:
what kind of cursor do you want this to be?

  d for the dos cursor.
  h for the hardware cursor.
  e for an enhancement cursor.
  c for a specific character.
  l for a particular location.
  m for an exact match of character and enhancement.
  n for none.

D will tell Flipper to look for the regular DOS cursor used by
most word processors, editors and telecommunication programs in
data entry mode.

To follow a light bar, you will want to set a cursor to track a
particular enhancement by choosing "E" from this menu.  Flipper
will then ask you to select the appearance of the enhancement
cursor you want.

  s for a specific enhancement.
  b for a particular background color.
  f  for a particular foreground color.
  i for inverse video cursor.
  a to have Flipper automatically choose the enhancement type.
  c for any color background except black.
  u for underlined text.

Tip: If your application has a regular, data entry mode and
pop-up or pull-down menus with light bars, you will usually want
to set the primary cursor to follow the light bar enhancement
and a later cursor as the DOS cursor.  That way, Flipper will
first look for the light bar cursor and then, if it doesn't find
one, will look for the regular (DOS) cursor and follow that.

If you select an enhancement cursor, you will be asked "is this
cursor a lightbar?"  and offered the following choices:

  n if it is never a light bar.
  a if it is always a lightbar.
  f if it is a light bar if the forground is black.
  b if it is a light bar if the background is not black.

As well as causing Flipper to follow the cursor, you can also
select an action or series of actions to be done when that
cursor appears on the screen.  You may choose from the same list
of actions or "building blocks"  which were available to you
when you were defining keys.

You will be prompted:

do something when this cursor is selected?

  n for no action
  c for action when cursor moves by more than one character spacing.
  m for action for all cursor moves.
  s for action when cursor is first selected.

Tip:  You might want to use the ability to tie actions to cursor
changes to have Flipper announce the name of a menu or load a
particular configuration for use with a menu or sub-program when
the cursor is selected.

Although you could tell Flipper to read the current enhanced
patch whenever the cursor moves and read a light bar menu that
way, it is probably more efficient to set it to read the current
enhanced patch when the cursor first appears  and to define your
up and down arrows to read the current enhanced patch whenever
they are pressed if the cursor is a light bar.

Character

Using a specific character as a cursor is useful, for example,
when your application uses an arrow or other similar symbol for
a pointer.  You can also displace the cursor to be where the arrow
is pointing rather than at the arrow itself.

Location

Just putting the cursor at a particular location is useful if
the application does not really have a cursor at all, and you want
to put Flipper in a specific place anyway.

You can restrict the area in which Flipper searches for the
cursor and the direction of the search (top to bottom, left to
right, etc.).  You will be prompted for this information while
defining your cursor.  In this way, you can eliminate problems
which might arise if your cursor is an enhancement cursor or a
specific character and that enhancement or character occurs more
than once on the screen. For example, if you want to follow an
inverse video cursor (enhancement 112), and there is a status line accross
the bottom of the screen which is also enhanced that way, you can tell
Flipper to only look on lines 1-24 for that cursor.

w for windows:

As has been mentioned, you can define or modify windows as
before through the "w" key in Review Mode, without having to go
into the Definition Menu.  Your choices are the same as when
using "D" in older versions of Flipper.  You can give the left,
right, top and bottom coordinates for the window's boundaries.
You can do this by entering a number, by pressing <return> to
accept the current settings, by using "c" for "current," or
using any of the Review Mode markers, x, 1x, 2x, etc.

"C" means "the current row" in answer to questions about top and
bottom window boundaries, and "the current column" in answer to
questions about left and right column limits.  Answering "c"
means "this one", in other words.

As before, you can use markers in Review Mode.  To set the first
marker, you need only type "x" at the spot you wish to mark.
Flipper will say "mark."  This makes it easy to mark the top
left corner of the window, for instance, move your Review Mode
cursor to the bottom right corner, and then respont to questions
about window boundaries with "x" for the left column, "c" for
the right, "x" for the top row and "c" for the bottom. You need
never even know the numbers of the rows and columns, let alone
remember them!

In Flipper 4.0, you can have up to 51 windows.  Each of these 51
windows can be set to read text in a particular color, as the
ALT-underscore window did in previous versions.  They can also be
individually set to read in a number of different ways.  These
options, however, are only available to you when you use the "w
for windows" option from the Definition Menu. To alter one
coordinate, or to set a simple window which will read everything
normally, you can use the "w" "quick window" command without
going into the Definition Menu.  The expanded window definition
process also allows you to specify in more detail how you want a
window read, for example, you can turn on all symbols for just
that particular window.

Windows can also be defined in terms of areas on the screen
which are marked with borders, a forms symbol box.  Flipper will
ask you how to find the box that you want to read, counting from
the top or bottom, for example.

If you want to define a window by its positon, you will be asked
if you want to define any of the boundaries of the window
relative to the cursor.  You can easily define a window to read
from the cursor location to the right edge of the screen, for
example, by defining the left edge to be at the cursor, the
right edge to be the right edge of the screen, and the top
and bottom edge both to be the line the cursor is on.

If you define a window relative to the cursor, when the cursor
moves, so does the window. This may be useful when working with
programs which do not place information in consistant places on
the display, but do have significant data in the same positions
with respect to your moving cursor.  When using a window
defined this way, when your cursor is on line 5, the window
would read lines 2 and 3, while, if the cursor was on line 14,
the window would read lines 11 and 12.  If the data you want is
always on lines two and three of the screen, you could define a
normal window to read it.  If, on the other hand, it is always
two and three lines above your current cursor location, you
would want to use this option to set the window relative to your
cursor so that its definition changes dynamically as your cursor
moves.

Next, you will be asked if you wish to restrict the window to
reading only enhanced text.  You can set a window to read only
text displayed in a particular color or enhancement in this way,
just as you could set the single ALT-_ window to do in older
versions of Flipper.  You also have the option of setting the
window to read all text except a specific enhancement.

Next, you are prompted for information about how you want to hear the
selected data spoken.

how do you want this window read.

  r to just read this window.
  s to spell the window.
  b to both read and spell the window.
  m to spell using the military alphabet and ascii codes.
  a to read all symbols whether they are turned on or not.
  p to send the window to a braille printer.
  i to read while including spaces between the words.
  e to read everything, including spaces and all symbols.

As you can see from this list, you can set a window to read in
many ways.  You could even set several windows with the same
screen coordinates but with different options set for the way in
which they are read.

The option to "both read and spell" a window's contents is
especially useful for work with a spelling checker.  You can set
a window to read only text in the color used for the misspelled
word and set it to "both read and spell" the window contents.
So far as Flipper is concerned, the window's contents are
limited to text in that one color, so the misspelled word will
be read normally and then spelled when you read the window.

Finally, Flipper will ask a series of questions to determine
what other information you might want about the window's
contents.  You will be asked if you want to limit the window to
within the current margins, whether you want to hear returns
spoken, to hear "blank" for blank lines within the window and
much more.  By answering these questions, you can customize the
output of the window completely, determining exactly what you
want to know about the text inside the window boundaries.

Remember, if you do not want any of this information and do not
want to limit your window to a particular enhancement, you can
use the "w" key from outside the Definition Menu to define a
window's boundaries, only.

q for quiet windows:  quiet windows work as they did in previous
versions, allowing you to mask of areas of the screen so that
things that are written to those areas are not read from
automatic output.

m to define the margins:  In previous versions of Flipper, you
could set the effective screen width for speech by using the "w"
key in Review Mode to define "margins."  In Flipper 4.0, "w" is
used to define simple windows.  To define screen margins, use
"m" from the Definition Menu.

b to select the right margin bell column: In previous versions
of Flipper, the "G" in Review Mode set the "gong" or right
margin bell to the specified column.  Now, you set the bell from
within the Definition menu, by pressing "B." You will be asked
"What column do you want to set the right margin bell to?" Enter
a number from 1 to 80 (or higher, if your screen has more than
80 columns across) and press <return>.

z to create a reaction zone:

A Reaction Zone is a monitored area, similar to the "\ window"
in older versions of Flipper.  Flipper watches a given area of
the screen (the Reaction Zone) for changes and performs a set of
actions when a change occurs in the text in that part of the
display.  The reaction could be as simple as reading a window,
or could be a sequence including things such as turning itself
off or loading another configuration.

A change in a Reaction Zone can trigger a series of events or
actions.  When we defined keys, assigning a keystroke to an
action or series of actions, we saw a long list of actions or
functions;  "read an item," "spell an item," "make a sound with
the computer's speaker," "flip in another configuration", "speak
a message" and so forth.  You can instruct Flipper to
automatically perform any of these actions when a change occurs
within the Reaction Zone.

So, you could watch for the appearance of a specific string of
text in a screen location and read a window, load in another
configuration, or even enable another set of Reaction Zones.

Selecting "Z" from the "More Functions" menu when you are
selecting actions allows you to toggle a Reaction Zone on and/or
off.  when you choose "Z" from the "More Functions" menu, you
are asked to select "e" to enable the Reaction Zones, "d" to
disable them or "t" to toggle them on or off.  Next, you are
asked if you want to enable, disable or toggle all Reaction
Zones.  If you want only one Reaction Zone to be turned on or
off with this command, answer "n" and you will be prompted for
the number of the Reaction Zone you want to be affected by the
command.

t to change Flipper's timing:
Flipper is designed to automatically pick how long to wait
before deciding that an application is done, and it is time to
read something.  Under unusual circumstances, it may be
desirable to speed it up or slow it down.  This feature allows
you to do this tuning for all of Flipper's functions.

** Grabbing and Putting Lines

Flipper now has a simple "cut and paste" feature built in.  With
this, you can locate small chunks of text while in Review Mode,
mark or "grab" them, and later copy them back out whereever you
wish.  This is handy for moving a few lines from one document to
another in your word processor, copying a phone number out of
one file into another, quoting from another area of the screen
when using telecommunications systems or copying the correct
spelling of someone's name directly from a database into a
letter.  There are many other uses for "Grabbed lines" and we're
sure you'll find dozens, yourself.

To use this feature, you must assign the function "put a grabbed
line" to a key on your keyboard-- ALT-G, perhaps.  To do this,
enter the Definition Menu from within Review Mode, select "K for
key definition" and enter ALT-G (or whatever key you want to use
to copy the text "back out" once you have grabbed it) and select
"p to put a grabbed line" from the list of actions.

Now, to "grab" a line, enter Review Mode and move your Review
Cursor to the beginning of the text you want to grab.  Use "x"
to mark the beginning of the text.  Now, move the Review Cursor
to the end of the chunk of text you want to grab and press "g"
for "grab."  (note: in previous versions of Flipper, a number
preceding a "g" in Review set the "gong" or right margin bell to
that column.  The "Gong" or right margin bell may now be set
from the Definition Menu by pressing "B.")

When you press "g" to "grab" the text between the marked
location and the Review Cursor, Flipper will say "Add this to
the text already in the buffer?" If you wish to over-write any
existing "grabbed" text, answer "y".  If you answer "n", the new
text will be appended to the old and both will be copied out
when you "put" the grabbed text.

Now, exit Review Mode and move your cursor to where you want the
copy of the grabbed text.  This might be another part of your
document, or you might quit out of your application, altogether
and run another.  When your cursor is where you want the grabbed
text to be copied, press the key to which you assigned "put a
grabbed line" (ALT-G in our example, above), and the text which
has been saved in the buffer will be written out again.

You can copy the text in the grab buffer as many times as you
wish.  It will remain there for copying until you over-write it
with other grabbed text.

The "grab buffer" can contain about three lines of text.

** Pronunciation Dictionary

To create an exception vocabulary, write an ascii file with the
words whose pronunication you want to change one per line,
followed by an equal sign, and the characters that you want to
send to the synthesizer instead.  To load the exception table,
use the program FLIP_VOC followed by a space and the name of the
dictionary file.  The space taken by the dictionary is close to
the size of the text file itself.  There is no need to sort the
dictionary, FLIP_VOC will take care of that.  There is a example
vocabulary in EXAMPLE.VOC.  To load it, you would give the
command:

FLIP_VOC EXAMPLE.VOC

after Flipper is loaded.  The text after the equal sign for each
word can be a misspelling, or phoneme strings particular to the
specific synthesizer.

** Changing Flipper's Messages: fls/flc files

Flipper's messages are in the files that end in FLS (Flipper
strings).  Do not edit the lines in curly brackets, they are the
labels.  After the messages are edited, run the program FLIPCOMP
to generate the FLC files that Flipper will load when it is
booted.  FLIPCOMP will take about 3 minutes on a 386sx.

** Non-stop Review Mode

Non-stop review mode is one of the new toggles.  This allows the
application program to continue to run while you are inside
review mode.  This is useful, for example, when you want to
examine the screen by moving around, but you do not wish to stop
a download, compile etc.

** Automatically Loading Configurations:  You can instruct
Flipper to automatically load the appropriate configuration(s)
when you run your applications.  No more complicated batch files
and no more forgetting to load the right configuration before
entering your word processor or spread sheet.  To set Flipper to
load a configuration when you run an application, you must
create a file with the same name as your application, and with
an extention of ".FAC" (Flipper automatic configuration).  This
file should be a simple text file which contains one
configuration filename per line.  The first line would be the
configuration you want to load as the primary configuration, the
second line will be the configuration loaded as the secondary
configuration, and each subsequent file listed will be loaded as
an external configuration.  If you don't want to change a
particular configuration, you can leave a blank line.  If you do
not have a sufficient number of external configurations loaded
with flipext, Flipper will give you an error message.
  
This option is not saved and loaded with configurations.  To change
it from a batch file, use the "FLIP" command.
