After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 521599 - [mike] Provide better support for BrlTTY commands
[mike] Provide better support for BrlTTY commands
Status: RESOLVED OBSOLETE
Product: orca
Classification: Applications
Component: braille
unspecified
Other All
: Normal normal
: FUTURE
Assigned To: Orca Maintainers
Orca Maintainers
post-3.0
Depends on: 354471 520612
Blocks:
 
 
Reported: 2008-03-10 15:52 UTC by Willie Walker
Modified: 2018-02-08 12:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Willie Walker 2008-03-10 15:52:46 UTC
BrlTTY provides a number of commands to allow the user to control a lot of application interaction from the braille display alone.  Orca currently supports very little.  In fact, we see these braille bindings in default.py:

        brailleBindings[braille.CMD_FWINLT]   = \
            self.inputEventHandlers["panBrailleLeftHandler"]
        brailleBindings[braille.CMD_FWINRT]   = \
            self.inputEventHandlers["panBrailleRightHandler"]
        brailleBindings[braille.CMD_LNUP]     = \
            self.inputEventHandlers["reviewAboveHandler"]
        brailleBindings[braille.CMD_LNDN]     = \
            self.inputEventHandlers["reviewBelowHandler"]
        brailleBindings[braille.CMD_TOP_LEFT] = \
            self.inputEventHandlers["reviewHomeHandler"]
        brailleBindings[braille.CMD_BOT_LEFT] = \
            self.inputEventHandlers["reviewBottomLeftHandler"]
        brailleBindings[braille.CMD_HOME]     = \
            self.inputEventHandlers["goBrailleHomeHandler"]

And cursor routing keys are handled somewhat specifically/hackedly in braille.py.  Orca should provide more complete support for the BrlTTY command set.
Comment 1 Willie Walker 2008-03-11 14:06:21 UTC
First coarse pass at GNOME 2.24 planning.
Comment 2 Jason White 2008-03-12 04:27:25 UTC
The following may be useful starting points. These are taken from the BRLTTY
sources:

BRL_CMD_LNBEG /* go to beginning of line */
BRL_CMD_LNEND /* go to end of line */

(Corresponding commands would be useful for speech output in flat review; if
there are plans to implement this, simply binding to the same commands would
suffice for braille here.)

I don't use the following much myself, but others may have different usage
patterns.

BRL_CMD_CHRLT /* go left one character */
BRL_CMD_CHRRT /* go right one character */
BRL_CMD_HWINLT /* go left half a window */
BRL_CMD_HWINRT /* go right half a window */
 BRL_CMD_FWINLTSKIP /* go left to nearest non-blank window */
BRL_CMD_FWINRTSKIP /* go right to nearest non-blank window */

The following is relatively important:
BRL_CMD_CSRTRK /* toggle cursor tracking on/off */
(bound to toggle flat review mode, equivalent to numpad minus in desktop key
bindings.)

More comments to follow later.
Comment 3 Jason White 2008-03-12 08:46:17 UTC
There are other motion commands that were not mentioned in my previous comment
as I am unsure of their applicability or usefulness in the Orca environment.

The following command would be a good candidate for implementation. Presumably
it must have a parameter, since on the braille display it behaves as two
separate commands issued by distinct key combinations.

BRL_CMD_SIXDOTS /* toggle text style 6-dot/8-dot */

In BRLTTY, this operation doubles as the command to switch between contracted
braille and uncontracted (computer) braille. If a contraction table is
defined, then choosing six-dot braille with the above command has the effect
of enabling contracted braille translation; choosing eight-dot braille
disables it. This allows rapid switching between contracted and uncontracted
braille without having to modify preference settings, and could be integrated
into Orca using the existing contracted braille support from liblouis.
Comment 4 Mike Pedersen 2008-05-20 17:04:29 UTC
For 2.24 we should at least enable the following brltty commands:

Toggle grade two on and off
Move to top and bottom of window

Cycle between the attributes presented 

Keyboard learn

There are many more but I'm hoping that these are the ones that might be low hanging fruit for the next release.   
Comment 5 Willie Walker 2008-06-17 19:52:22 UTC
Marking as FUTURE so we can reevaluate when BrlTTY 3.10 comes out.  At that time, Mike will provide the exact mappings.
Comment 6 Willie Walker 2009-01-21 15:56:37 UTC
Comments on the BrlTTY list indicate that WINUP/WINDN might be good for doing Tab and Shift+Tab injection.  We might consider these for 2.26.0.
Comment 7 Willie Walker 2009-01-30 14:11:42 UTC
(In reply to comment #6)
> Comments on the BrlTTY list indicate that WINUP/WINDN might be good for doing
> Tab and Shift+Tab injection.  We might consider these for 2.26.0.

I investigated this a fair amount last night and this morning.  It turns out not many of the BrlTTY drivers actually provide these commands.  In addition, our internals for BrlTTY support could be better (see http://svn.gnome.org/svn/orca/branches/phase2/src/orca/braille/brltty.py), so I think we need to refactor that stuff first.

Moving back to FUTURE for a Michael J. Fox sighting.
Comment 8 Joanmarie Diggs (IRC: joanie) 2010-04-03 20:23:28 UTC
Bulk reassigning Will's bugs to the default assignee. (Sorry for the spam!)