Skip to content

Small BRLTTY driver improvements#15335

Merged
seanbudd merged 5 commits into
nvaccess:masterfrom
bramd:brltty-improvements
Aug 30, 2023
Merged

Small BRLTTY driver improvements#15335
seanbudd merged 5 commits into
nvaccess:masterfrom
bramd:brltty-improvements

Conversation

@bramd

@bramd bramd commented Aug 27, 2023

Copy link
Copy Markdown
Contributor

Link to issue number:

Partly related to issue #6483.

Summary of the issue:

The BRLTTY driver was available even when there was no BRLTTY instance with BrlAPI enabled running on the local computer (the only type of connection supported for now). Opening the actual connection has quite a long timeout, so this cannot be done as an availibility check. However, BrlAPI uses named pipes in a known location, so we can use that to check for availability. In the future we might also expose this as a port selection if multiple pipes are discovered and/or we add an interface to connect to a BrlAPI server on another host over TCP.

While I was working on this driver, I also marked it threadSafe and added a few more keybindings.

Description of user facing changes

The BRLTTY driver will not show up in the list of braille displays if no local BRLTTY with BrlAPI enabled is running.
More BRLTTY commands have been mapped to NVDA actions.

Description of development approach

Testing strategy:

Tested the availability of the BRLTTY driver in the following situations:

  • BRLTTY is not running
  • BRLTTY is running with brlAPI disabled
  • BRLTTY is running and BrlAPI is enabled

The BRLTTY driver only showed up in the last situation, which is the expected result.

Tested the new key bindings on a connected braille display through BRLTTY.

Known issues with pull request:

  • None

Change log entries:

New features
Changes

  • The BRLTTY driver is only available when a BRLTTY instance with BrlAPI enabled is running
  • More BRLTTY key bindings are now mapped to NVDA commands (Enable more braille keys via BRLTTY #6483):
    • learn: toggle NVDA input help
    • prefmenu: open the NVDA menu
    • prefload/prefsave: Load/save NVDA configuration
    • time: Show time
    • say_line: Speak the current line where the review cursor is located
    • say_below: Say all using review cursor

Bug fixes
For Developers

Code Review Checklist:

  • Pull Request description:
    • description is up to date
    • change log entries
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • API is compatible with existing add-ons.
  • Documentation:
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • Security precautions taken.

* Mark the BRLTTY braille display driver as thread safe
* Improve availability check for BRLTTY braille display driver: only report as available if a named pipe for BrlAPI is present
* Add more BRLTTY key bindings (nvaccess#6483):
  * learn: toggle NVDA input help
  * prefmenu: open the NVDA menu
  * prefload/prefsave: Load/save NVDA configuration
  * time: Show time
  * say_line: Speak the current line where the review cursor is located
  * say_below: Say all using review cursor
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 8285e215aa

@bramd bramd marked this pull request as ready for review August 27, 2023 22:29
@bramd bramd requested a review from a team as a code owner August 27, 2023 22:29
@bramd bramd requested a review from seanbudd August 27, 2023 22:29

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @bramd

Comment thread source/brailleDisplayDrivers/brltty.py
@seanbudd

seanbudd commented Aug 28, 2023

Copy link
Copy Markdown
Member

Can you please add the new gestures to the BRLTTY userGuide section?

@seanbudd seanbudd marked this pull request as draft August 28, 2023 04:11
Comment thread source/brailleDisplayDrivers/brltty.py
* Update URLs to brltty.app from brltty.com or mielke.cc
* Add new key bindings
@seanbudd

Copy link
Copy Markdown
Member

is this ready for another review?

@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Aug 28, 2023
@bramd

bramd commented Aug 29, 2023

Copy link
Copy Markdown
Contributor Author

@seanbudd Yes, unless @LeonarddeR has good reasons to change how we return the list of pipes (see his review at line 47).

@bramd bramd marked this pull request as ready for review August 29, 2023 07:43
@bramd bramd requested a review from a team as a code owner August 29, 2023 07:43
@bramd bramd requested a review from Qchristensen August 29, 2023 07:43

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @bramd

@Qchristensen Qchristensen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All looks good in the user guide, thanks!

@seanbudd seanbudd merged commit 1d902d1 into nvaccess:master Aug 30, 2023
@nvaccessAuto nvaccessAuto added this to the 2023.3 milestone Aug 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants