Skip to content

NLS eReader Zoomax braille driver#18332

Merged
seanbudd merged 1 commit into
masterfrom
nlsEreader
Jun 25, 2025
Merged

NLS eReader Zoomax braille driver#18332
seanbudd merged 1 commit into
masterfrom
nlsEreader

Conversation

@seanbudd

Copy link
Copy Markdown
Member

Link to issue number:

Closes #15863
Copy of #18260

Summary of the issue:

This is the NVDA driver for the NLS eReader Zoomax braille display.
It supports both USB and Bluetooth automatic detection.

Description of user facing changes:

With this driver the user can use directly the NLS eReader Zoomax display without the need to manually install it as an addon.

Description of developer facing changes:

Description of development approach:

The driver is similar with the existing braille display drivers for NVDA.

Testing strategy:

Known issues with pull request:

Code Review Checklist:

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

@coderabbitai summary

Copilot AI review requested due to automatic review settings June 25, 2025 07:55
@seanbudd seanbudd requested review from a team as code owners June 25, 2025 07:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

Add support for the NLS eReader Zoomax braille display by providing a new driver implementation and updating documentation.

  • Introduce nlseReaderZoomax.py with USB and Bluetooth detection and communication protocol handling
  • Update user guide and change log to list Zoomax as a supported device and include key mappings

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
user_docs/en/userGuide.md List Zoomax in supported displays and add key chart
user_docs/en/changes.md Add changelog entry for Zoomax support
source/brailleDisplayDrivers/nlseReaderZoomax.py New driver with connection, send/receive, and gestures
Comments suppressed due to low confidence (2)

user_docs/en/userGuide.md:4513

  • This entry appears to be incorrect—replace "* NLS eReader HumanWare" with "* NLS eReader Zoomax" to accurately reflect the Zoomax device.
* NLS eReader HumanWare

source/brailleDisplayDrivers/nlseReaderZoomax.py:84

  • [nitpick] There are no unit or integration tests for this new driver; consider adding tests for connection logic and key event handling to ensure future maintainability.
class BrailleDisplayDriver(braille.BrailleDisplayDriver):

if command == DeviceCommand.DISPLAY_DATA:
self.numCells = ord(arg)
elif command in COMMAND_RESPONSE_INFO:
arg = int.from_bytes(reversed(arg))

Copilot AI Jun 25, 2025

Copy link

Choose a reason for hiding this comment

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

Calling int.from_bytes on reversed(arg) without specifying byteorder will fail; use something like int.from_bytes(arg[::-1], 'big') to convert correctly.

Suggested change
arg = int.from_bytes(reversed(arg))
arg = int.from_bytes(arg[::-1], 'big')

Copilot uses AI. Check for mistakes.
@seanbudd seanbudd merged commit 071247b into master Jun 25, 2025
4 of 5 checks passed
@seanbudd seanbudd deleted the nlsEreader branch June 25, 2025 07:58
@github-actions github-actions Bot added this to the 2025.2 milestone Jun 25, 2025
@florin-trutiu

Copy link
Copy Markdown
Contributor

@seanbudd
Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NLS E-Reader Zoomax braille display should possibly be supported by NVDA, but isn't

3 participants