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: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140917184352.ac85ff24.freebsd>