[BRLTTY] BRLTTY and AT-SPI

Aura Kelloniemi spammi.helevetti at nbl.fi
Fri Aug 28 16:55:53 EDT 2015


Hello braillers!

BRLTTY has some support for working with AT-SPI2 applications, mostly their
terminal widgets. I would like to see some enhancements in this area for the
following reasons:

Firstly, X windows terminal emulators are in many ways better than the Linux
console (and worse in many others, but I now only list the highlights): their
font support is generally better than that of linux console (which limits
fonts to 512 glyphs at most), and because X terminal emulators can send many
more key combinations to terminal applications than the linux console (without
esoteric application-specific configurations).

Secondly, many (including me) are facing an increasing need to use X
applications for various reasons. Orca is in general a good screen reader, but
being implemented in Python, it is very slow especially on low-end
machines and embedded systems. Orca's braille support is also far from being
first class quality.

And now I come to my feature request. I wish that BRLTTY's AT-SPI support
could be expanded and enhanced. There are a few issues which currently prevent
me from using BRLTTY with any AT-SPI-aware terminal emulator, and I really
wish that somebody could take a look at these issues.

Some of the issues are bugs in brlapi, some are related to the AT-SPI2 driver.
Here they are:

- BRLTTY does not correctly detect the terminal size (it tries to guess it by
  examining line lengths, but this fails). Because of this the cursor is often
  out of BRLTTY's knowledge.
- Sometimes BRLTTY shows line-feed (\r) characters instead of breaking lines
- Sometimes BRLTTY shows incorrect text (text that has already disappeared
  from the visual window)
- There's no blinking cursor, or there is a double cursor (this is due to a
  bug in brlapi - cursor never blinks in brlapi applications)
- BRLTTY does not support showing screen attributes in AT-SPI terminals
- BRLTTY and Orca are having a hard time deciding which one has the control of
  the braille display - for example Orca should take precedence in menus,
  while BRLTTY should display the actual terminal widget.
- BRLTTY does not support copy/paste or cursor routing in its AT-SPI driver
- Immediate key presses (those defined in key table with !) don't work in
  brlapi - commands activated by immediate key presses are only run every
  second time the key is pressed.
- brlapi also does not support showing thext in the status cells of the
  display (this is not a problem for me though, because I don't have a display
  with dedicated status cells any more).

So I wish that somebody could take a look at the bugs in brlapi that I
mentioned. If there is going to be some sort of AT-SPI2 driver development, I
think that the driver should use the library interface to AT-SPI, instead of
directly calling the D-Bus methods - this way the code will probably look
better and it will be more tolerant to API changes.

I myself have some programming skills, and I'm willing to help. However, I
have no experience working with BRLTTY codbase, X windows APIs, AT-SPI,
D-Bus or even GLib, so I would need some help in getting started.

What do you think about this?

-- 
Aura


More information about the BRLTTY mailing list