JFW & the HandyTech Terminal

The Braille terminal can be in one of several modes. Two
are defined at present.  Only Line mode is now functional.

When in String Mode, the Braille display shows information explicitly
sent to it and does not reflect the contents of the screen.  This is the
mode the terminal will be in when displaying status and other messages.

When IN line mode, the Braille display reflects the contents of the
line with the active cursor.  When the cursor moves, the line contents
change.  The cursor's location is indicated by dots seven and eight of
the corresponding Braille cell bouncing up and down, or if
AllDotsCursor=1 in the active .JCF file, by all dots of that cell bouncing.

When in Line Mode, the routing button above each Braille cell will
route the current cursor to that cell and generate a mouse click at
that location.  These keys presently have no
function in String Mode.

In Line mode, the pixel location is displayed in the first three
status cells, and a P or J appears in the fourth cell to indicate
whether the PC or JAWS cursor is active.  Nothing is displayed when in
string mode.

IN both modes, dots seven and eight of the status cells indicate how
much of the screen line is being displayed on the Braille line.  When
the complete screen line is being displayed, dots seven and eight of
all status cells are raised.  When the beginning of the screen line is
being displayed, dots seven and eight of status cells one and two are
raised.  When the end of the screen line is being displayed dots seven
and eight of status cells three and four are raised.  When the middle
of the screen line is displayed, dots seven and eight of status celles
two and three are raised.

All of  the keys on the Braille display other than the routing buttons
are mapped to appropriate functions using the JAWS macro language.
The key names are:

Braille Up
Braille Down
Braille F1
Braille F2
Braille F3
...
Braille F15

Braille NumPad 0
Braille NumPad 1
...
Braille NumPad 9

For those terminals which only have eight function keys, keys F9
through F15 can be simulated by holding down F8 and pressing one of
the other function keys.
 e.g F8+F7 = F15.

In addition, if multiple keys are pressed together as one would do to
type a Braille symbol, that symbol is translated to an ASCII character
and looked up as a macro.  e.g. Pressing F3, F4, F5, and F6 would
generate the Letter g.  This could be mapped to a special function by
using the key name

Braille g

Note that in the macro language, all key names must be enclosed in {}
pairs.

If a key combination could be both a Braille symbol and a function
key, the function key takes precedence.  e.g. F4 returns F4 and not
the letter a.  We will be adding a function so that pressing and
rleasing a specific key will cause the next key combination to be
unconditionally interpretted as a Braille symbol.  

There are several new functions in the macro language designed to
support Braille.  They are documented in function.jml.

Sample macros are defined in defaul.jms.  Brief Descriptions appear here.

Braille F1
	 Turn on the PC Cursor

Braille F2
	Turn on the JAWS cursor

Braille f3
	Move the Braille display to the left on the current screen line.
	If there is no text to the left, just beep.  Don't move up to
the Previous lin.e

Braille f4
	Move up to the Previous line of the display without changing the
	horizontal position

Braille up
	If there is more text to the left on the current line, display it.
	If not, display the final segment of the previous line.

Braille down
	If there is more text on the current line, then display it.
	Otherwise, display the first segment of the next line.

Braille F5
	Move down to the next line of the display without changing the
	horizontal position

Braille F6
	Move the Braille display to the right on the current screen line.
	If there is no text to the right, just beep.  Don't move down
	to the next line

Braille F7
	simulate pressing the Enter key  on the regular keyboard

We will be adding Attribute tracking, text marking, and tabs in the
near future.

I am eager to get your ideas and response to this preliminary Braille
support

.
