Hello, On Sat, 31 Dec 2016 15:03:08 +0100 (CET) Enrico Mioso <[email protected]> wrote:
> Hello to all of you reading this message. > > Sorry for my possibly ugly message: english isn't my native language. > My name is Enrico: and I am a blind computer user. I currently am > using Linux, with the help of a software called BRLTTY (of which > NetBSD has a port): so I can read what's on the screen via a device > called Braille Display. There are different vendors of such devices, > and each one uses it's protocol in general. Different models may need > different protocols, too. > The problem, as you'll know, is that in a *BSD kernel, there is no > such interface allowing an user-space process to inspect the content > of the console. On Linux systems, this is feabible via the /dev/vcs* > interface (VCS(4)), which is infact used by BRLTTY. On BSD, the used > approach was to patch an user-space application, namely GNU screen, > to be able to access it's memory. Actually, wsdisplay can do that, more or less, under the right conditions. Many wsdisplay drivers use text buffers, and support ioctl(WSDISPLAYIO_GETWSCHAR) to read those buffers, one character at a time. Of course that's far from perfect for what you need but it's probably enough. For something less kludgy, it would not be all that hard to put those text ( and attribute ) buffers into their own pages and allow userland to mmap() them. Supporting vcs(4) doesn't sound overly difficult either - would be a bit hackish though, since vcs apparently expects VGA-ish attributes and characters, while most wsdisplay drivers use something entirely different. have fun Michael
