Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native driver for Hims displays #7712

Merged
merged 16 commits into from Dec 8, 2017
Merged

Conversation

LeonarddeR
Copy link
Collaborator

@LeonarddeR LeonarddeR commented Oct 31, 2017

This driver has been written by @BabbageCom with the consent of Hims.

Try build

Link to issue number:

Closes #7459.
Fixes #7679.
Closes #6063
Fixes #6086.
Fixes #3157.
fixes #7837.

Summary of the issue:

The current Hims and syncBraille drivers currently require a vendor library and aren't thread safe. Furthermore, other prerequisites (such as disabling the driver when a write error occurs) aren't met by these drivers.

Description of how this pull request fixes the issue:

This:

  1. Implements a native driver based on the hims data protocol, version 1.1
  2. Properly supports all keys on Smart Beetle displays
  3. Has many more key assignments by default
  4. Has support for Sync Braille displays, although untested as of yet, since I don't have a Sync Braille myself. The Sync Braille is FTDI2, but according to Hims, it also exposes a generic COM port. Testing of Sync Braille devices would be greatly appreciated.
  5. Adds a Bulk class to hwIO, thereby adding support for Bulk style USB devices. This is specific to Hims displays for now, but Freedom Scientific displays also use Bulk style communication. This also contains code by @bramd

In comparison with the earlier Hims driver, this remaps the scroll keys for devices with multiple scroll keys to follow the conventions of the internal functionality and other screen readers. Furthermore, the keys that were known as advance keys earlier are now named f keys, since this is how Hims names them.

Testing performed:

Tested the following devices:

  • Smart Beetle (USB)
  • Braille Sense u2 mini (Both USB and Bluetooth)

I've also tested a Braille Edge, a Braille Sense u2 Qwerty and a Braille Sense u2 Perkins with earlier iterations of this driver.

Known issues with pull request:

  • Sync Braille is currently untested.

Change log entry:

  • Changes

    • The HIMS Braille Sense/Braille EDGE/Smart Beetle and Hims Sync Braille display drivers have been replaced by one driver. The new driver will automatically be activated for former syncBraille driver users. (Provide a native driver for Hims displays #7459)
      • Some keys , notably scroll keys, have been reassigned to follow the conventions used by Hims products. Consult the user guide for more details.
  • Bug fixes

  • Changes for developers

@LeonarddeR
Copy link
Collaborator Author

Note, I opened a pr for this to allow for easier tracking of progress. Though I consider this driver ready, I'd like feedback from Sync Braille users before this is ready for review.

@LeonarddeR
Copy link
Collaborator Author

I've received positive test results from a Sync Braille user and made some changes based on the feedback I've gotten. This is now ready for a review.

michaelDCurran added a commit that referenced this pull request Nov 23, 2017
@michaelDCurran michaelDCurran merged commit 14fb600 into nvaccess:master Dec 8, 2017
@nvaccessAuto nvaccessAuto added this to the 2018.1 milestone Dec 8, 2017
@michaelDCurran
Copy link
Member

Can hansoneConnect.dll be removed now that this pr is merged? Happy to do it, but just checking.

@LeonarddeR
Copy link
Collaborator Author

LeonarddeR commented Apr 20, 2018 via email

@LeonarddeR LeonarddeR added the BabbageWork Pull requests filed on behalf of Babbage B.V. label Oct 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment