BRLTTY is a background process (daemon) providing access to the Linux/Unix console (when in text mode) for a blind person using a refreshable braille display.

Dave Mielke 3f9c7226b5 Add Danish translations for the Android strings. (og) 2 days ago
Android 3f9c7226b5 Add Danish translations for the Android strings. (og) 2 days ago
Authorization e23d2207f8 Rename the Polkit policy from org.brltty to org.a11y.brlapi. (dm) 4 months ago
Autostart 3fef92db97 Add a make file (for install/uninstall) to the AppStream directory. (dm) 4 months ago
Bindings 21352eede7 Document which new Python 3.6 warning is being suppressed. (dm) 2 months ago
Bootdisks c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
DOS c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
Documents 3f9c7226b5 Add Danish translations for the Android strings. (og) 2 days ago
Drivers 55cfdac313 Rename asyncSetAlarmIn() to asyncNewRelativeAlarm(). (dm) 3 months ago
Headers fe8166cd0f Rename the async alarm interval parameters to milliseconds. (dm) 3 months ago
Messages 9ba13bb7d6 Update the French translations. (jpm) 4 months ago
Patches a389067d56 Add a patch for screen-4.2.1. (rm) 2 years ago
Programs 69a1981f24 Don't build/install brltty-ctb if contracted braille has been disabled. (dm) 1 week ago
Tables 2baca70af2 On Baum devices with b9 and b10 keys on the side of the joystick, both keys 2 weeks ago
Windows f89ab7adb3 Fixes for building on Windows. (dm) 4 months ago
acdir c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
.gitignore 68bce393f4 Ignore *.so.* versioned shared objects. (dm) 2 years ago
LICENSE-GPL b0d71abbab Rename COPYING to LICENSE-GPL and COPYING-API to LICENSE-LGPL. (dm) 9 years ago
LICENSE-LGPL b0d71abbab Rename COPYING to LICENSE-GPL and COPYING-API to LICENSE-LGPL. (dm) 9 years ago
Makefile.in 3fef92db97 Add a make file (for install/uninstall) to the AppStream directory. (dm) 4 months ago
README d21dfb5556 Update various files to 5.5 (from 5.4). (dm) 4 months ago
aclocal.m4 6e5f2ab75b The configure help for --with-api-parameters= shouldn't refer to drivers. (dm) 3 months ago
autogen c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
bindings.mk c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
braille.mk 67f722ac36 The brldefs-* headers were being installed from the build tree instead of from the source tree. (st) 3 weeks ago
brltty.spec.in b99a45cb1d Update the rpm spec file. (dm) 4 months ago
cfg-android b3208d007c Disable liblouis (at least for now) on Android. (dm) 2 days ago
cfg-darwin c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
cfg-dos c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
cfg-grub c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
cfg-iris c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
chkhdrs c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
common.mk 3fef92db97 Add a make file (for install/uninstall) to the AppStream directory. (dm) 4 months ago
config.h.in 6e5f2ab75b The configure help for --with-api-parameters= shouldn't refer to drivers. (dm) 3 months ago
config.mk.in 69a1981f24 Don't build/install brltty-ctb if contracted braille has been disabled. (dm) 1 week ago
config.sh.in c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
configure.ac 69a1981f24 Don't build/install brltty-ctb if contracted braille has been disabled. (dm) 1 week ago
document.mk c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
docutils.conf 848ddfc023 Explicitly specify that HTML headers should be linked to their Table of Contents entries. (dm) 2 years ago
gendeps c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
getrevid c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
mk4build c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
mkdocktb c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
mkdocs c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
mkpot c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
mkrpm c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
mktar c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
mkzip c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
prologue.mk c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
prologue.sh c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
prologue.tcl c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
relpath.awk 51135ca1a9 relpath.awk shouldn't be executable. (dm) 11 years ago
run-brltty c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
run-command c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
run-xbrlapi c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
screen.mk c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
speech.mk c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago
updusbdevs c7eed8c6ee Update the copyrights to 2017 (from 2016). (dm) 7 months ago

README

BRLTTY is a background process (daemon) providing access to the Linux/Unix
console (when in text mode) for a blind person using a refreshable braille
display.

Version 5.5, Apr 2017

Copyright (C) 1995-2017 by The BRLTTY Developers.

Web Page: http://brltty.com/

BRLTTY is free software. It comes with ABSOLUTELY NO WARRANTY.

BRLTTY is placed under the terms of the GNU General Public License [GPL] as
published by the Free Software Foundation; see the file LICENSE-GPL for
details. Version 2 (or any later version) of the GPL may be used when
redistributing and/or modifying this software. This statement applies to all
the files contained within this directory structure except for those which are
explicitly listed as exceptions within the following paragraphs.

A special exception has been made for all of the text, attributes, and
contraction tables and subtables (which reside within the Tables/
subdirectory). They are placed under the terms of the GNU Lesser General Public
License [LGPL] as published by the Free Software Foundation; see the file
LICENSE-LGPL for details. Version 2.1 (or any later version) of the LGPL may be
used when redistributing and/or modifying these files. The files covered by
this special exception are:

*.ttb
*.tti
*.atb
*.ati
*.ctb
*.cti

A special exception has been made for those files which are part of the client
side of BrlAPI (BRLTTY's Application Programming Interface). They are placed
under the terms of the GNU Lesser General Public License [LGPL] as published by
the Free Software Foundation; see the file LICENSE-LGPL for details. Version
2.1 (or any later version) of the LGPL may be used when redistributing and/or
modifying these files. The files covered by this special exception are:

brlapi.h.in
brlapi_keycodes.h
brlapi_protocol.h
brlapi_client.c
brlapi_common.h
brldefs-ht.h
brldefs-vs.h

This software is maintained by: Dave Mielke

The members of The BRLTTY Team are:

Dave Mielke
Mario Lang
Nicolas Pitre
Stéphane Doyon

-------------------------------------------------------------------------------

Contacting Us
=============

We recommend that you contact us via BRLTTY's mailing list. You can post to the
list by sending an e-mail to . To subscribe, go to the list's
Information Page at [http://brltty.com/mailman/listinfo/brltty].

If you have any interest in BRLTTY, please drop us a note. We're interested in
knowing who BRLTTY's users are. Even if all goes well and you have no problems
with this package, please let us know you're there, and tell us which brand of
display you use. If you have problems, we'll be happy to help. All your
comments, suggestions, criticisms, questions, and contributions are welcome!

We offer a special invitation to the developers of braille displays. It's our
goal to support as many models as possible within the Linux/Unix environment.
While we always do as much as we can toward this end, we'd be even more
effective with your help. The most important thing we need is the details
regarding the communication protocol(s) of your braille display(s). If you
prefer to contact us privately for this sort of thing then we invite you to
send e-mail to any member(s) of The BRLTTY Team (see above).

-------------------------------------------------------------------------------

Introduction for Those New to Refreshable Braille
=================================================

There are two common ways in which blind people access computers.

The first, and more widely known, is synthesized speech. While having many
advantages, e.g. speed for reading plain text, speech does have its drawbacks.
Speech output generally gives little information about formatting, making
tables, spreadsheets, etc. difficult to use. It can also be difficult to use
speech output with particularly technical material containing lots of symbols
(though many determined people do use it for such things).

The other solution, which attempts to answer some of these problems, is Braille
output. A soft (or refreshable) Braille display typically consists of a single
line of 20, 40 or 80 characters, each made up of a matrix of four rows and two
columns of dots. Each dot is individually driven by a separate motor, making
the whole assembly extremely expensive.

A soft Braille display is connected to the PC by a serial, parallel, or USB
port. Software on the PC drives the display, reproducing a rectangle of the
screen image (which we shall call the window) in Braille. Buttons on the
Braille display itself are used to send signals back to the software,
instructing it to move the window around the screen, or to perform some other
specialized function.

Using a soft Braille display with a 40- or 80-character line, it is quite easy
for a blind user to appreciate the format of information on the screen, as well
as to read and edit on-line Braille documents (a concept not widely enough
utilized).

-------------------------------------------------------------------------------

Introduction to BRLTTY
======================

While soft Braille displays have been used for many years under MS-DOS, and are
now being used under Windows, it seems that they haven't been used on Unix
consoles too much. This could well be because blind people have been able to
access Unix systems through accessible terminals. With the advent of PC-based
Unix systems, e.g. Linux, the need has become evident.

BRLTTY attempts to fill this gap. It runs as a background process, possibly
started at boot-time, and allows a refreshable Braille user to access text mode
applications directly from a Unix console. Since BRLTTY runs as a background
process, it gives the user complete freedom of choice regarding applications
and development tools.

-------------------------------------------------------------------------------

Features
========

* Full implementation of the usual screen review facilities.
* Choice between `block', `underline', or `no' cursor.
* Optional `underline' to indicate specially highlighted text.
* Optional use of `blinking' (rates individually settable) for cursor, special highlighting underline,
and/or capital letters.
* Screen freezing for leisurely review.
* `Intelligent' cursor routing, allowing easy fetching of cursor within text
editors, web browsers, etc., without moving ones hands from the Braille
display.
* A cut & paste function which is particularly useful for copying long file
names, copying text between virtual terminals, entering complicated
commands, etc.
* Table driven in-line contracted braille (English and French provided).
* Support for multiple braille codes.
* Ability to identify an unknown character.
* Ability to inspect character highlighting.
* An on-line help facility.
* A preferences menu.
* Basic speech support.
* Modular design allowing relatively easy addition of drivers for other
Braille displays, or even (hopefully) porting to other Unix-like platforms.
* An application programming interface.

-------------------------------------------------------------------------------

Currently Supported Hardware
============================

BRLTTY has been tested on:

* a variety of Intel-based PCs (desktops, servers, laptops, PDAs)
* an Alpha workstation
* a StrongARM based Netwinder
* several Linux kernels (1.2.13 and beyond)
* all major Linux distributions (including Red Hat, Fedora, Debian, Ubuntu, Slackware, SuSE)
* Solaris/Sparc (release 7 and beyond)
* Solaris/Intel (release 9 and beyond)
* OpenBSD/Intel (release 3.4 and beyond)
* FreeBSD/Intel (release 5.1 and beyond)
* NetBSD/Intel (release 1.6 and beyond)
* Windows 95/98/XP
* MS-DOS
* Mac OS X (in conjunction with a supplied patch for the screen program)
* Android/ARM (4.0 and beyond)

The following braille displays are supported:

- Albatross [46/80]
- Alva [ABT(3nn), Delphi(4nn), Satellite(5nn), Braille System 40,
Braille Controller 640/680, Easy Link 12]
- B2G
- Baum [BrailleConnect 12/24/32/40/64/80, Brailliant 24/32/40/64/80, Conny 12,
DM80 Plus, EcoVario 24/32/40/64/80, Inka, Orbit 20, PocketVario 24,
Pronto! V3 18/40, Pronto! V4 18/40, RBT 40/80, Refreshabraille 18,
SuperVario 32/40/64/80, Vario 40/80, VarioConnect 12/24/32/40/64/80,
VarioPro 40/64/80, VarioUltra 20/32/40]
- BrailComm [III]
- BrailleLite [18/40/M20/M40]
- BrailleMemo [Pocket (16), Smart (16), 32, 40]
- BrailleNote [18/32, Apex]
- Braudi
- BrlAPI
- Cebra [20/40/60/80/100/120/140]
- CombiBraille [25/45/85]
- EcoBraille [20/40/80]
- EuroBraille [AzerBraille, Clio, Esys, Iris, NoteBraille, Scriba]
- FreedomScientific [Focus 1 44/70/84, Focus 2 40/80, Focus Blue 14/40,
PAC Mate 20/40]
- HandyTech [Modular 20/40/80, Modular Evolution 64/88, Modular Connect 88,
Active Braille, Active Star 40, Actilino,
Basic Braille 16/20/32/40/48/64/80, Braillino,
Braille Wave, Easy Braille, Braille Star 40/80,
Connect Braille 40, Bookworm]
- Hedo [ProfiLine, MobilLine]
- HIMS [Braille Sense, SyncBraille, Braille Edge, Smart Beetle]
- HumanWare [Brailliant 32/40/80 bi]
- Iris
- Libbraille
- LogText [32]
- MDV [MB208, MB248, MB408L, MB408L+, Lilli Blu]
- Metec [BD-40]
- MiniBraille [20]
- MultiBraille [MB125CR, MB145CR, MB185CR]
- NinePoint
- Papenmeier [Compact 486, Compact/Tiny, IB 80 CR Soft, 2D Lite (plus),
2D Screen Soft, EL 80, EL 2D 40/66/80, EL 40/66/70/80 S,
EL 40/60/80 C, EL 2D 80 S, EL 40 P, EL 80 II, Elba 20/32,
Trio 40/Elba20/Elba32, Live 20/40]
- Pegasus [20/27/40/80]
- Seika [3/4/5 (40), 80, Mini (16)]
- TechniBraille
- TSI [Navigator 20/40/80, PowerBraille 40/65/80]
- TTY [terminfo]
- VideoBraille [40]
- Virtual [TCP/Unix, client/server]
- VisioBraille [20/40]
- Voyager [44/70, Part232 (serial adapter), BraillePen/EasyLink]
- XWindow [X11, Windows]

The following speech synthesizers are supported:

- Alva [Delphi(4nn)]
- Android [text to speech engine]
- BrailleLite
- CombiBraille
- eSpeak [text to speech engine]
- ExternalSpeech [runs /usr/local/bin/externalspeech]
- Festival [text to speech engine]
- FestivalLite [text to speech engine]
- GenericSay [pipes to /usr/local/bin/say]
- Mikropuhe [text to speech engine]
- SpeechDispatcher [text to speech server]
- Swift [text to speech engine]
- Theta [text to speech engine]
- ViaVoice [text to speech engine]

The ability to add a new Braille display depends on the level of cooperation
from its manufacturer in providing programming information.

-------------------------------------------------------------------------------

Layout of the Archive
=====================

BRLTTY is distributed as a single GNU compressed tar file named

brltty-.tar.gz

where `' is the release number. When the archive is unpacked, there
should be a subdirectory called `Documents' which contains all of the general BRLTTY
documentation including the manual in various formats, and the list of
Frequently Asked Questions (FAQ).

The source files for the main, device-independent core of BRLTTY are in the
top-level directory. There is one subdirectory for each Braille display type,
containing display-specific source files and documentation.

Finally, some Braille definition tables, along with tools to manipulate them,
are available in the `Tables' subdirectory.

-------------------------------------------------------------------------------

Building the Package
====================

Building BRLTTY is a four step process. The first is to run `./autogen` to
setup your build enviroment for the first time. You typically only need to do
this once. The second is to run `./configure' to prepare the build environment
for your operating system, and to customize it for your particular requirement.
The third is to run `make' to compile and link BRLTTY and its drivers. The
fourth is to run `make install' to copy all the needed files into their proper
locations.

./autogen
./configure
make
make install

Before configuring BRLTTY, you may wish to check out what choices you have
regarding its customization. Invoking `./configure --help' will show you what
options are available. Although the defaults are adequate for most environments
and requirements, and although many things can be specified at run-time, there
are a couple of configuration options worth mentioning here. To build BRLTTY
with a specific driver built-in (usually only necessary when preparing BRLTTY
for use on a boot disk), use the `--with-braille-driver=' option. To set the
default device to the one which your display is usually connected to, use the
`--with-braille-device=' option.

For information specific to a particular driver, please see the `README' file
in the corresponding subdirectory. Finally, see the `Documents' subdirectory
for the manual as well as a few other interesting literary creations.

-------------------------------------------------------------------------------

RedHat Package Manager
======================

BRLTTY is also distributed in the RPM (RedHat Package Manager) format. The
following files are available:

brltty--.src.rpm
brltty--.i386.rpm

To build and install BRLTTY from scratch:

Download the .src.rpm file.
Install the source with: rpm -ivh brltty--.src.rpm
Build and install it with: rpm -bi brltty--

If your system is an x86 then you don't need to be concerned with building
BRLTTY since we provide prebuilt binaries for these platforms. Just do:

Download the .i386.rpm file.
Install or upgrade it with: rpm -Uvh brltty--.i386.rpm

-------------------------------------------------------------------------------

Executing BRLTTY
================

If you compiled BRLTTY with a braille driver built-in, simply invoking `brltty'
should start it with all defaults. Alternatively, you might need to specify a
Braille driver with the `-b' option. `brltty -h' displays a brief summary of
all available options.

You may use a configuration file for most options as well. See the example
configuration file `brltty.conf' in the `Documents' subdirectory.

And don't forget to review the notes for your Braille display. See the `README'
file in its driver's subdirectory.

-------------------------------------------------------------------------------