[BRLTTY] Questions about brltty and Orca

Dave Mielke dave at mielke.cc
Sat Sep 9 07:16:24 EDT 2017


[quoted lines by Didier Spaier on 2017/09/06 at 22:20 +0200]

>I prepare the next Slint version http://slint.fr
>On that occasion I will:
>_ upgrade brltty from 4.4 to 4.5,

I hope you mean 5.5, as that's the latest release, and, among other things, 
much better with respect to battery drain.

>_ make the installer speak with speakup, espeakup and espeak,

Sounds good.

>_ make the window manager and desktops speak with Orca whenever
>  possible. Orca and deps will be installed if speech is used during
>  installation, else available as packages.

That means that braille won't automatically work within a graphical environment 
if speech wasn't used during the install. Maybe the speech packages should just 
be available on the full system if speech isn't used during the install, but, 
in my opinion, Orca should be active if braille or speeh was used during the 
install. This also means, of course, that Orca should be preconfigured to have 
speech, braille, or both enabled in accordance with how the install was done.

>1) Compiling brltty 5.5 with speech-dispatcher installed, I had to help
>configure find the speech-dispatcher headers with:
>CPPFLAGS="-I/usr/include -I/usr/include/speech-dispatcher"
>No big deal, but maybe this can be avoided modifying some file used
>for configuration 

Yes, if this is a problem, we should fix our detection of Speech Dispatcher. 
You must be using an in between release. We have hard-coding for where the 
older releases were installed, and use pkg-config to find where newer releases 
are installed. It seems that you must be using a release somewhere in between 
these two where the newer layout is being used but a pkg-config file (.pc) 
isn't being provided. Perhaps you could check if the release you're using does 
provide a .pc file which, perhaps, you haven't installed on the system where 
you build brltty.

>(sorry I am a complete beginner wrt autotools, so I can just ask).

What's there to be sorry for? None of us knows everything about everything, 
and, when something is new to any of us, it's much better to ask than to guess. 
I don't want anyone to resist asking just because he/she thinks that it might 
be embarrassing to do so. At least on this list, all questions are respected 
and properly answered.

>2) In the source archive there is a file Autostart/Udev/brltty-wrapper
>including this comment:
># This script must be installed in the udev programs directory: /usr/lib/udev/
>
>I did that but don't really understand this script's purpose so am not
>sure why I need it. 

The simplest answer is because our latest udev rules invoke it rather than 
directly invoking brltty. This, of course, leads to wondering why we need the 
wrapper. The answer is that newer releases of udev (basically, ever since the 
Systemd people took it over) impose a five-second timeout on any program that 
udev directly invokes. Our wrapper does a bit of cgroup magic such that brltty 
won't be subject to that timeout.

>Context: Slackware and its derivatives do not use systemd, and include eudev 
>instead of udev.

I'm not familiar with eudev so am unable to comment on why those distributions 
dno't use our wrapper. I guess eudev allows brltty to be directly invoked 
without being unceremoniously killed after five seconds. Another possibility is 
that euvdev may be based on an older release of udev that doesn't impose the 
timeout.

>3) Orca has liblouis as optional dependency and if I understand well
>this allows Orca to send contracted Braille to a Braille terminal. Is that 
>right? 

Yes. Orca uses LibLouis even for uncontracted braille. In other words, Orca 
uses LibLouis, rather than brltty's tables, to render braille. This does create 
an inconsistency insofar as braille rendering is concerned between text and 
graphical consoles, but, for better or worse, that's just the way it is right 
now.

>If yes, is it widely used? I am wondering if I should provide a liblouis 
>package and link Orca to that.

You probably should. Another reason for including it is that brltty itself, 
i.e. in a text console, can now also use LibLouis's tables. Some users may 
prefer this, and it could even be that LibLouis has tables for languages that 
brltty doesn't have tables for.

>4) In the above described context, do I need to ship brlAPI? so far
>I target end users rather that developers, so I am considering not
>installing it by default, but providing it as a package. What do you
>think? Is it needed beyond developing new drivers or such use cases?

That depends on what's in your BrlAPI package. While you don't need to install 
its headers and documentation, you do need to install its shared object (.so 
file) and bindings (e.g. Orca uses BrlAPI's Python bindings).

-- 
Dave Mielke           | 2213 Fox Crescent | http://Mielke.cc/
Phone: 1-613-726-0014 | Ottawa, Ontario   | http://Mielke.cc/bible/
EMail: Dave at Mielke.cc | Canada  K2A 1H7   | The Bible is the very Word of God.


More information about the BRLTTY mailing list