Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Sep 2014 18:43:52 +0200
From:      Polytropon <freebsd@edvax.de>
To:        tyler@tysdomain.com
Cc:        questions@freebsd.org
Subject:   Re: FreeBSD and accessibility
Message-ID:  <20140917184352.ac85ff24.freebsd@edvax.de>
In-Reply-To: <541853D5.20104@tysdomain.com>
References:  <54184440.8060901@tysdomain.com> <20140916162332.2207b5aa.freebsd@edvax.de> <541853D5.20104@tysdomain.com>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Tue, 16 Sep 2014 11:14:29 -0400, Littlefield, Tyler wrote:
> I'm not sure how this is supposed to work. The braille readouts
> you speak of are called braille displays.

I'm also not entirely sure how they worked, but I can
imagine the following way:

The text output on the screen is directly correlated
with a specific region in the RAM. If I remember
correctly, that is 0x8800 for color screens (VGA,
EGA, CGA) and 0x8000 for b/w screens (MDA, "Hercules").
The regions are 4000 bytes in size: 80x25 characters
are 2000 bytes text, plus another 2000 bytes color
(one byte to hold background, foreground, attributes).
So a TSR was installed to "scan" that memory region
and transfer the character information (and stripping
color information) via serial port to the Braille display
which would then output it. Having _that_ kind of access
to the screen content is quite easy. I know because I
once wrote a program that copied the text of the color
screen to the b/w screen. In Pascal. Real programmers
don't use Pascal, but I was young and stupid. :-)

I don't remember if there are any PC displays which
don't take "pre-processed" analog signals do show on
the screen. There _were_ displays in the late 1970's
that were sent a _data stream_ (like with a daisywheel
or dotmatrix or even laser printer), so you could say
the "graphics card" was inside the screen. If you
duplicated that stream, you'd have the characters.
The robotron ANA-000 series is an example of such
displays.

Even though today's flatscreens usually are called
"digital", I don't think you could easily capture the
text displayed from their data stream.



> I have this:
> http://www.freedomscientific.com/Products/Blindness/Focus40BrailleDisplay

Yes, this looks much more advanced than what I tried.
It was an accessory to a regular 102 key PC keyboard.
Sadly, this was _before_ the dawn of the WWW, so it's
hard to find images of how they looked like. I must
have some printed product sheets somewhere...



> It presents a line of braille (an 80x24 display doesn't exist
> apart from research currently). It can be connected via USB
> to the system.

Okay, so USB is the way to get the data in. This is
logical.



> There needs to be a couple things to make that work though,
> one of which is brltty and another of which is the actual
> driver for the display. You also mentioned speech synth:
> that also does exist and is what I was asking about.

This explanation makes sense, I understand the problem
now. If you're old, things look easy in retrospect. :-)



> Sadly it doesn't come for free. You need sound and a
> software synth such as Espeak, or you need a hardware
> synth.

Yes, such "external voices" also have been part of the
machinery I've been trying back then. They were probably
also connected to a serial port to receive the text data.



> I do not know of any synths that are USB, but I do think
> there are a couple, which also requires a driver.

Probably they're proprietary and only support a very narrow
range of operating systems. And they're probably expensive. :-(

Having that functionality in (free) software would be
much better and could enable blind people to access computers
more easily and more flexible (!), as they aren't tied to
proprietary operating systems. The components are basically
available, it's just the question of how you can integrate
them into a "working conglomerate" that is available right
after booting from a CD / DVD or USB stick - so a live
system for performing the installation would be good, as
well as a preconfigured installation set that would contain
those parts, so you can start using what you have installed
right away.



> You also need a program which will allow you to navigate
> the screen and read line by line, char by char etc (yasr).

Exactly. The systems I've seen had sliders beneath and
next to the keyboard, to select which region of the 80x25
screen to display in Braille (usually 80x1 or 40x2). The
voice system also used those.



> You would need some sort of driver for the characters
> on the screen to be recognized and then printed to the
> display, unless this used some sort of OCR (which probably
> wouldn't be hard given an 80x24 screen), though it would
> require considerably much more hardware.

When you have "BIOS access", it's easy: You just need to
read from a memory region. However, with VESA based text
modes, or worse, inside X, this option doesn't exist anymore.
It relies on the fact that the graphics card contains a
character set and will render your text.



> Well, either braile or voice would work on a text or graphical
> installer. The screen reader presents the data to the synth
> and display that is currently in focus.

The only problem (or task) would be to transfer the data in
the required (!) format to USB.



> this is totally doable, but again requires that I somehow
> bootstrap brltty+drivers or something else in to the live cd.

Exactly. And I'm not sure if it's possible to attach _all_ kinds
of Braille displays, as I assume they're using different data
protocols which aren't documented publicly (even though I hope
I'm wrong).



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?20140917184352.ac85ff24.freebsd>