[BRLTTY] Some more about SBL (Re: attribute tracking, was re: Recommended live distribution)

David Renström david at davidrenstrom.com
Thu Sep 20 07:26:38 EDT 2012


Hi,

I would prefer if you re-added the brltty bootloading options. Apparently my
displays aren't detected automatically even though I use USB connections.
Or, perhaps, add some boot options for ADRIANE/SBL to specifically tell it
to use a given braille display and port. When, like for me, the sound card
doesn't seem to work automatically without some configuration I'm kind of
stuck.

AFAIK, there are no additional sound cards other than the built-in one. But
I'll check that.

Cheers,
/David R.

-----Original Message-----
From: brltty-bounces at mielke.cc [mailto:brltty-bounces at mielke.cc] On Behalf
Of Klaus Knopper
Sent: Thursday, September 20, 2012 2:17 AM
To: lists at wolfdream.ca; Informal discussion between users and developers of
BRLTTY.
Subject: [BRLTTY] Some more about SBL (Re: attribute tracking, was re:
Recommended live distribution)

Hello S.M.,

On Wed, Sep 19, 2012 at 06:18:47PM -0400, S. Massy wrote:
> On Wed, Sep 19, 2012 at 02:04:28PM -0400, Nicolas Pitre wrote:
> > On Wed, 19 Sep 2012, Dave Mielke wrote:
> > 
> > > [quoted lines by Klaus Knopper on 2012/09/19 at 17:38 +0200]
> > > 
> > > >What about attribute cursor routing, automatic profile detection 
> > > >and selection etc.?
> > > 
> > > i'm all for adding useful features. Perhaps you could describe how 
> > > each of these works so that we can try to get it right the first time.
> > > 
> > > For example, I understand what attribute-based routing is, but 
> > > what I don't know is the best way to define it.
> > > 
> > > I think I know what you mean by profiles - changing brltty's 
> > > settings based on the current foreground probram - but I'm not 
> > > sure how detecting which program is currently in the foreground is 
> > > best done, especially given screen-managed windows, ssh sessions, etc.
> > 
> > Let's answer this last question first.  The best approach would 
> > probably involve screen content signature. So, given a set of 
> > application profile specifications, the first item in each profile 
> > would describe some screen content that has to match for the profile 
> > to be activated.  That match would need to be reconfirmed whenever 
> > the screen content changes, and if the match fails then the search for
another profile would happen.
>
> I wonder what would be some reasonable use-cases for such "profiles".
> Can't come up with a whole lot off the top of my head. This is the 
> kind of feature more useful for GUIs than consoles usually.

Answering your and Daves question simultaneously: The "profile" feature in
SBL works like this:

1. SBL detects the program running on the current text console by reading
its associated processes command name. For example, "elinks".

2. SBL automatically sets volume, pitch, speech, language, braille modes,
charmode or linemode and attribute cursor tracking and other behaviour
specific to this program, in this example from a config file
/etc/sbl/profile/elinks.

3. If you switch consoles, or start a different program, SBL will adjust its
settings to this program again with no manual interaction needed.

4. It's also possible to switch between 4 preconfigured profiles manually by
hotkeys, and switch off automatic profile detection whenever desired.

The automatic handling of diffrent programs in the screenreader is very
practical especially for beginners who don't know the commandline as
well: By adding a profile for dialog, elinks, mutt, lynx, bash and other
programs you frequently use, each program can be assigned the optimal
screenreader settings rather than having to adjust the screenreader
manually. For example, elinks reads the highlighted hyperlinks by default
and thus allows you to quickly jump through a websites navigation, while
mutt reads the highlighted mails title, while in bash, the screenreader just
follows the text cursor and reads the entire line or char-by-char.

Answering your second mail:
SBL consists of a braille driver (brld), a keyboard handler (kbdsniffd), and
the screen reader (sbl), all running as separate processes that communicate
via unix sockets or TCP. The text console screen reader part of SBL
currently works best with a text screen size of 80x25, which is what I set
automatically in the ADRIANE frame buffer setup (we need the frame buffer
mode in order to be able to start video with mplayer and other graphical
display programs as well, for conveniennce and sighted assistance, without
needing to start X first). The 80x25 screen size also blends with 40 or 80
char braille devices nicely, so, I did not see much advantage in using
higher screen sizes. Because of that, the question of detecting screen sizes
automatically, did not arise for me yet. The braille part of SBL (brld) on
the other hand, is also reused for orca, which is what brltty probably does
as well when switching between text and X mode.

SBL has (almost) no own autodetection of braille devices, I use a script for
this in Knoppix/Adriane, like for most parts of the hardware detection. So,
in Knoppix, USB braille devices should get autodetected (which is not an SBL
feature), and bluetooth devices have to be set up once with a preferences
dialog (which is operating with speech-only until braille gets active). In
some non-autodetectable cases where the protocol does not reveal any device
information, you can use the same dialog to set up braille with no sighted
help using speech and keyboard navigation. One of the design goals of
ADRIANE was that it should function with or without braille, which around
2005, just was not possible with brltty.

Because SBL worked very well with autodetection in the ADRIANE setup, I
removed the brltty-specific boot options because I felt they were no longer
needed, and it was not easy to type them without having a talking bootloader
anyways.

Regards
-Klaus
_______________________________________________
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY at mielke.cc For general
information, go to: http://mielke.cc/mailman/listinfo/brltty



More information about the BRLTTY mailing list