The Screen reader system is designed to work with standard applications running on the host server and requires no modification of the application or libraries on that server. The screen reader intercepts communications at the X-Protocol level, from a modified X-Server, and builds up a model of the application.
We played a minor role in getting the Ultrasonix screen reader system to run under Linux, with a view to porting our XVI system to Linux one day. During the XVI development years we have had a number of requests from users asking for the XVI system on Linux, but we have been so busy developing, producing and supporting the "XVI Terminal" system we haven't had a chance, until now.
We have almost completed the port to the Linux operating system and
intend to release an Alpha version system in RPM form soon.
At present there is limited support for speech/braille devices but
the speech/braille server system we have developed specifically supports
the easy "plug-in" of additional drivers by third parties. The system
remains based on gathering information at the X-Protocol level, but we
have produced a prototype BEAM screen reader application interface, BSRAPI,
to allow applications to provide information directly to the screen reader.
We intend to provide BSRAPI support for the the main Linux GUI tool kits
to simplify integration with current applications.
XVI X-Server extension protocol
Our X-Server extension provides: magnification functions and Keyboard Focus area events for the screen magnifier, X-Protocol snooping functions for the Screen Reader and keyboard overrides for applications.XVI Speech/Braille Device protocol
The XVI speech/braille server provides application access to speech and/or braille devices. Multiple applications can use this server allowing console screen readers such as BrailleIn or speech enabled applications such as Emacs speak to function with the XVI system. The server can be implemented as software server on the local computer talking to attached devices or software speech synthesisers, or because of its network socket approach, by a dedicated speech/braille device on the network.XVI Screen Reader Application protocol
The XVI Screen Reader can get information on the X-Windows applications by means of snooping on the X-Protocol and building up a model of the applications GUI. However this does not provide full information. The XVI Speech/Braille applications protocol is designed for this. When an application starts up it connects to the screen readers BSBAPI socket. The screen reader can now get information on the applications GUI and current state as well as be informed of events such as a change of keyboard focus. This allows the screen reader to provide the user with information and data from the applications GUI. The BSBAPI interface can be implemented by any application, not just GUI applications. With GUI applications the BSBAPI generally connects to the GUI library in use and can be built in to the standard Linux GUI libraries such as Motif, LessTif, KDE, GNOME and Tk.
The tasks running on the system include:The X-Server
The X-Server is a standard XFree86 X-Server with the addition of the XVI Extension. This displays the GUI onto a screen as normal, allowing, in the case of blind people, teachers and other users to see what is going on. The XVI Magnification and Screen Reader clients connect through the XVI extension.The XVI Magnification Application
The XVI Screen Magnifier provides the ability to zoom and pan the display. It also provides other tools such as a magnifying glass, large cursors, cursor finding and colour override.XVI Screen Magnifier User Manual, in HTML format XVI Screen Magnifier User Manual, in PDF format XVI Screen Reader Application
The XVI Screen Reader provides a user interface to navigate and interrogate the running applications GUI displaying the information in braille or spoken forms. It maintains a model of each applications GUI gathered from either the X-Protocol requests the application makes and/or, if available, the applications BSBAPI interface. The Screen reader uses the BEAM Speech/braille server to access the speech and/or braille devices.
Because it is based on the X-Protocol, limited application information is available, so additional information is provided by an application information system that creates a file describing the application that can be used by the screen reader.XVI Screen Reader User Manual XVI Speech/Braille Device server
The XVI Speech/Braille server provides access to the speech and/or braille devices in the system.
Multiple applications can use this server allowing console screen readers such as BrailleIn or speech enabled applications such as Emacs speak to function with the XVI system. Physical device access is provided by "plug-in" driver modules. Currently defined driver modules support the Alva Delphi 440 Braille display, the Apollo 2 speech Synthesisor and the IBM Via Voice software speech synthesisor.XVI Speech/Braille Device Server API
Information on the downloading, installation and using the demo is given in demo.html.
Tool | Usage |
Alvaem | Alva Braille display emulator. Allows development of screen readers with braille interface, without an expensive braille line display unit. |
sbtest | Speech/Braille system test program |