Summary

Include the Speakup Screen Reader in the Ubuntu kernels, and provide some extra user-space enhancements to make working with speakup easier for users.

Rationale

The Speakup screen reader is one of the most well known screen readers available for the Linux console. Ubuntu has a screen reader for the GNOME desktop, but does not yet have one that can be used on the console, especially in cases where X/GNOME may not be available. Blind users may also wish to be able to administer servers which only have the console available, and may need direct access, requiring a screen reader to accomplish their work.

Use cases

Scope

This specification will discuss getting the speakup patches included into the Ubuntu kernel tree, as well as some userspace enhancements to make working with speakup easier for the user.

Design

Speakup can either get built directly into the kernel and be active as soon as the kernel boots, or it can be built as a set of modules, allowing the user to load the screen reader when they need it. Since only a small number of users may use speakup, it makes sense to build it as modules, and write userspace scripts to load/unload as necessary.

Speakup consists of several kernel modules. Two modules are the core of the screen reader, one of which is only loaded when the user enables keyboard help, to learn about the various keystrokes that speakup has. The rest of the modules are for the different speech synthesizers that speakup supports. Speakup provides an easy mechanism for switching between speech synthesizers, as well as changing various speech parameters for the currently loaded speech synthesizer. Luckily, these parameters can be changed by normal users, and speakup handles the loading of modules automatically, if the need arises.

Speakup also comes with various user-space utilities to load and save speakup configurations, and allow users to create and use custom keystrokes. These utilities, along with some extra scripts for better user configuration management will be provided in a package called speakup-userspace. Of particular note, is an init script which will load the speakup module at system startup, so that users can simply type a command to start using speakup with a speech synthesizer. Note that the speakup module loaded on its own will not have any effect on the currently running system.

Implementation

Outstanding issues

BoF agenda and discussion


CategorySpec

SpeakupInclusion (last edited 2008-08-06 16:21:31 by localhost)