SAM Driver for the Pegasus Braille Controller

This is a fully functional SAM driver for use with the Pegasus Braille Controller.

Please report any bugs to Henk Jansen
(jzhenk@ctv.es). If it crashes please tell us the crash address and registers etc, from the crash message box, also report the driver version number (check with explorer - file properties).

Features
Automatic detection of Braille displays.
Direct keyboard input mode.

Notes

It is recommended NOT to use a blinking cursor.
A static cursor enlarges the life of the Piezo cristals.  Working this way also enables the Pegasus to switch off all braille dots when not in use for a longer time, just as a screensaver does.


Key assignments

Below follows a list of the default key assignments for the Pegasus.

The layout of the frontkeys for the Pegasus is as follows:

From left to right there are 4 keys (8 on the 80 char machine)
They are labelled Key 1, Key2, Key3 etc.

Every key has 6 microswitches visible as 6 tiny bulbs on the key. They are labelled:

[ S1	S2	S3 ]
[		     ]
[S4	S5	S6 ]

The most common functions for these switches are:

HOME		= S1
UP		= S2
CURSOR		= S3
SHIFT		= S4
DOWN		= S5
END		= S6
LEFT		= S1 + S4  (Switch1 + switch4 pressed together)
RIGHT		= S3 + S6
ENTER		= S2 + S5

For reasons of convenience some switches are combinations of others.
Pressing S2 is the same as pressing S1 and S3 together. Also S5 = S4+S6

Below you will find an outline of the default commands. Note that your screen reader may not support all of these actions.

If  a number follows the keyname then this applies to pressing the specific key, i.e. HOME 1  means the Home switch of Key 1  (the leftmost key).
If the keyname is not followed by a number then you can use any key.

Navigation commands:
Move to top left of the screen		= HOME
Move to bottom left of the screen	= HOME 1 + DOWN
Move to cursor or focus of screen	= CURSOR
Move 1 line up				= UP
Move 1 line down			= DOWN
Read backwards				= LEFT 
Read forwards 				= RIGHT
Move 1 char to the left			= HOME 2 + LEFT 4
Move 1 char to the right		= HOME 2 + RIGHT 4
Move  display to the left		= HOME 3 + LEFT 4
Move  display to the right		= HOME 3 + RIGHT 4

Switch commands :
Cycle through Attributes 		= SHIFT + UP 1
Describe character			= SHIFT + UP 2
Show report 				= SHIFT + UP 3
Control Panel				= SHIFT + UP 4

Toggle commands:
Toggle six/eight dot			= HOME 4 + ENTER 1
Toggle through cursor styles		= HOME 4 + ENTER 2
Toggle showing blanks			= HOME 4 + ENTER 3
Toggle cursor visible			= HOME 4 + UP 1
Toggle audio				= HOME 4 + UP 2
Toggle logical/physical layout		= HOME 4 + UP 3
Toggle tremble capitals			= HOME 2 + HOME 4
Toggle character enhancement		= HOME 3 + HOME 4

Mouse click simulations:
Single left click			= HOME 2 + UP 3	
Double left click			= HOME 2 + ENTER 3	
Single right click			= HOME 2 + DOWN 3

Routing simulation:
Go to cell above key1			= ENTER 1		
Go to cell above key2			= ENTER 2		
Go to cell above key3			= ENTER 3		
Go to cell above key4			= ENTER 4		
Same over keys 5,6,7,8

Internal Routing and Arrowkey simulation: 
Due to its direct connection to the keyboard processor the Pegasus has a unique mode for reading and editing documents and/or menus. This Arrowkey mode makes it possible to read and edit without moving your hands from the braille display. It works by injecting keystrokes directly from the Pegasus into the keyboard processor.
All navigation key presses are converted to simulate keyboard presses and injected into the keyboard.

The Arrowkey mode is Toggled on/off  with  HOME1 + HOME 4

Compatibility problems with computers not having a standard keyboard processor may exist, but are not known.
	HOME		= HOME key
	UP 		= Arrow Up key
	CURSOR	= Page Up key
	SHIFT		= Page Dn key
	DOWN		= Arrow Down key
	END		= End key
	LEFT		= Arrow Left key
	RIGHT		= Arrow Right key
	HOME1+ENTER4  or HOME4+ENTER1 	= Enter key
	SHIFT + CURSOR = Windows Start Key (not all keyboard processors recognize this command)

The following navigation functions are also integrated in this mode:
HOME1_LEFT4   = 1 display width left
HOME1_RIGHT4 = 1 display width right
ENTER1,2,3,4	  = routes cursor to above this key
ENTER5,6,7,8	  = same on 80 char machines
Also the routerbuttons on the cursor routing strip and our special X-Y routing trackball work in this mode.


Possible Keystrokes

Below is a list of all possible navigationkey combinations you can use for your Hotkey definitions.

After the key combination you will find the default command function.
If the place is open it means that the keypress is free and has no function.

HOME				Top left
END			
CURSOR				Go to Focus
UP				1 line up		
DOWN				1 line down
LEFT				Back
RIGHT				Forward
HOME1_DOWN			Bottom left
HOME1_LEFT4			(Key simulation mode: 1 display left   (fixed))
HOME1_RIGHT4			Bottom left	(Key simulation mode: 1 display right (fixed))
HOME2_LEFT4			1 char left
HOME2_RIGHT4			1 char right
HOME3_LEFT4			 width left
HOME3_RIGHT4			 width right
SHIFT			
SHIFT_UP1			Cycle attributes
SHIFT_UP2			Describe Characters toggle
SHIFT_UP3			Show report
SHIFT_UP4			Show Control Panel
HOME4_ENTER1			Toggle six/eight dot Braille
HOME4_ENTER2			Toggle through cursor styles
HOME4_ENTER3			Toggle showing blanks
HOME4_HOME2			Toggle tremble capitals
HOME4_UP1			Toggle cursor on/off
HOME4_UP2			Toggle audio
HOME4_UP3			Toggle logical/physical layout
HOME4_HOME3			Toggle character enhancement
HOME2_UP3			Single left mouse click
HOME2_ENTER3			Double left mouse click
HOME2_DOWN3			Single right mouse click