blob: 3094799cf6a005d4a2dd2f7bc55ad349a8f64183 [file] [log] [blame]
Speakup project home:
Mailing List:
Speakup is a kernel based screen review package for the linux operating
system. It allows blind users to interact with applications on the
linux console by means of synthetic speech.
Currently, speakup has several issues we know of.
The first issue has to do with the way speakup communicates with serial
ports. Currently, we communicate directly with the hardware
ports. This however conflicts with the standard serial port drivers,
which poses various problems. This is also not working for modern hardware
such as PCI-based serial ports. Also, there is not a way we can
communicate with USB devices. The current serial port handling code is
in serialio.c in this directory.
Some places are currently using in_atomic() because speakup functions
are called in various contexts, and a couple of things can't happen
in these cases. Pushing work to some worker thread would probably help,
as was already done for the serial port driving part.
There is a duplication of the selection functions in selections.c. These
functions should get exported from drivers/char/selection.c (clear_selection
notably) and used from there instead.
The kobjects may have to move to a more proper place in /sys. The
discussion on lkml resulted to putting speech synthesizers in the
"speech" class, and the speakup screen reader itself into
/sys/class/vtconsole/vtcon0/speakup, the nasty path being handled by
userland tools.
Another issue seems to only happen on SMP systems. It seems
that text in the output buffer gets garbled because a lock is not set.
This bug happens regularly, but no one has been able to find a situation
which produces it consistently.
Patches, suggestions, corrections, etc, are definitely welcome.
We prefer that you contact us on the mailing list; however, if you do
not want to subscribe to a mailing list, send your email to all of the
following:,, and