help with HID braille for open source devices for people with disabilities
Hello, I am developing a device for people with disabilities. I need to use the HID braille protocol but I am not getting anything with HID for esp32, could you help me with a sample code of how I can implement the HID braille protocol?
It is only to order it as a library so that later in the code you can call the library and pass the parameters that are needed such as the number of braille cells, buttons, etc.
something like that
#include < Blebraille..h>
Blebraille Blebraille(40); // para definir una pantalla de 40 caracteres
void setup() {
Serial.begin(115200);
Serial.println("Starting BLE work!");
Blebraille.begin();
}
void loop() {
if(Blebraille.isConnected()) {
Serial.println("Sending 'Hello world'...");
Blebraille.print("Hello world");
if (Blebraille.available()) { // Si hay dato en el enviado por el lector de pantalla
dato = Blebraille.read(); // Lo lee HID ble
}
delay(1000);
Serial.println("Sending Enter key...");
Blebraille.write(BRAILLE_KEYBOARD_DOT_1);
delay(1000);
}
Serial.println("Waiting 5 seconds...");
delay(5000);
}
This is what I have been able to understand so far
I understand that with 0x05 I must pass how many braille cells my screen has but I don't know how to do that
according to the hid code nvda source brailleDisplayDrivers hid.py is defined like this
I don't know if I'm on the right track or I'm totally lost, but if someone understands and knows how I can continue this structure, it would be good to help.
help with HID braille for open source devices for people with disabilities
Hello, I am developing a device for people with disabilities. I need to use the HID braille protocol but I am not getting anything with HID for esp32, could you help me with a sample code of how I can implement the HID braille protocol?
here are references to HID braille
https://usb.org/sites/default/files/hutrr78_-_creation_of_a_braille_display_usage_page_0.pdf
https://github.com/nvaccess/nvda/blob/00cd67b737bc5b23a6f5e31cf28110b64ebf2fee/devDocs/hidBrailleTechnicalNotes.md
my repository is the following https://github.com/brailletouch/Brailletouch
I found this library for esp32 on arduino https://github.com/T-vK/ESP32-BLE-Keyboard/blob/master/BleKeyboard.cpp
And this other https://github.com/T-vK/ESP32-BLE-Mouse/blob/master/BleMouse.cpp I think that modifying it could adapt to the HID braille it is in charge of automatically making the description table for the controller you just have to load the list of the hid braille then one in the code adds the keys or functions that you need to use
the libraries that are called to do all the work are "BLEHIDDevice" y "HIDTypes.h" en https://github.com/espressif/arduino-esp32/blob/master/libraries/BLE/src/
and
Those examples could be replaced by the HID braille example
It is only to order it as a library so that later in the code you can call the library and pass the parameters that are needed such as the number of braille cells, buttons, etc.
something like that
This is what I have been able to understand so far
I understand that with 0x05 I must pass how many braille cells my screen has but I don't know how to do that
according to the hid code nvda source brailleDisplayDrivers hid.py is defined like this
I don't know if I'm on the right track or I'm totally lost, but if someone understands and knows how I can continue this structure, it would be good to help.