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

HIDService(hid_descriptor=MY_HID_DESCRIPTOR)) causes NotImplementedError: Only one report id per Application collection supported #136

Open
ThomasAtBBTF opened this issue Sep 18, 2021 · 1 comment

Comments

@ThomasAtBBTF
Copy link

ThomasAtBBTF commented Sep 18, 2021

After adafruit/circuitpython#4868 was closed I tried again a hid_descriptor with multiple report id's for one device.
Using the latest libraries it is clear, that "/lib/adafruit_ble/services/standard/hid.py", line 419 still has the catch for multiple report id's

  if len(reports) > 1:
    raise NotImplementedError(
      "Only one report id per Application collection supported"
  )

Also, it looks to me, that the following code, which adds ReportOut's and ReportIn's is not prepared to handle multiple report id's for one device.

@dhalbert Just commenting out the if statement does not help.

I think, that there are also problems elsewhere, because when using the standard_hid_descriptor with an added braille_hid_descriptor, also a standard keyboard from this descriptor is not working anymore.

Here is a "minimal" sample file:
code.zip

@ThomasAtBBTF
Copy link
Author

I hope to bring this issue up again with this message.
I checked in the latest version and see the code did not change and still only one OUT (from the host) per Application is supported.
In Discord I saw that there were questions about supporting Braille HID devices implemented in CP.
Braille HID is documented in hut1_4.pdf as device 0x41.
The host will send the braille dots to be displayed on the Braille Display using OUT reports.
"loosing" or "dropping" these reports is not an option as blind users will then not be able to read the correct texts from the host.
Apple is only supporting Braille HID for new displays in IOS and MACOS to connect to VoiceOver over BLE!
It would be a pity if a CP project could not be a Braille Display for VoiceOver...

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

No branches or pull requests

1 participant