-
-
Notifications
You must be signed in to change notification settings - Fork 679
add bluetooth support for seika notetaker #13191
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
Conversation
Hi, @feerrenrut I can test both Seika and Seika Notetaker Braille display. Best Regards, |
@feerrenrut |
This comment has been minimized.
This comment has been minimized.
Hello, I tested the latest build version, NVDA seems to behave the same as last time, and it still cannot connect to Seika Notetaker via Bluetooth. Here is the log: |
See test results for failed build of commit 1f2f203eea |
There is a short wait time when connecting, and the final result is that the connection fails. |
@cary-rowen Thank you for testing and providing the log. I have had to guess about the issue here, could you please test both bluetooth and USB and provide a log for me? With HID the first and third byte is discarded, for the serial connection the bytes coming through look like the standard command. In the log provided the following was received:
|
See test results for failed build of commit 82c1e231f7 |
Hi @feerrenrut , the latest build has been able to successfully connect devices using bluetooth. That is, there are a total of four items in the Port combo box:
Grateful |
Hi @feerrenrut BTW, both USB-HID and Bluetooth Serial COM port use the same data protocol. |
Hi @cary-rowen |
@moyanming can you test the latest PR build with bluetooth auto detection and report your findings. I believe this should be working, if so I'd like to merge this PR. Then we can raise a new issue and look at the listing of ports and see if we can prevent the wrong one from being listed. |
And, another question, in the case of a successful connection, the user re-selects the same port in the combo box and clicks the "OK" button, then what is our expected performance? Currently makes Seika Notetaker show nothing as if it's disconnected. |
Hi, @feerrenrut I got a crash issue when selecting the Bluetooth Serial COM port without TSM abcd: BTW, accidentally disconnecting the USB cable and then reconnecting the USB, the NVDA still can't connect automatically but needs to restart NVDA, #13143 , here is the log: |
Elsewhere the bytes are in 'big' byte ordering
HID and Serial seem to require different approaches
Use the bluetoothName to filter manual ports, matching the same approach used by auto detection of the seika notetaker device. In order to prevent a circular import, the initialization of the detection data (and new import of seika notetaker module method was moved into a contained method.
Add tests for serial (bluetooth)
0627c24
to
e544667
Compare
Can you try the latest build |
Hi, the build seems to introduce a regression,: |
|
||
def __init__(self, port="hid"): | ||
def __init__(self, port=bdDetect.KEY_HID): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While I'm not very familiar with NVDA's braille display drivers, this is the only one which specifies HID
as the value for the port
keyword argument in the constructor. For all others we either leave it with no default value in case of displays where port needs to be specified by the user, or for displays which can be auto-detected we assign "auto"
to it. Could you add a comment here to explain why this driver is different?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The short answer is I was trying to avoid making changes if not necessary. Looking at this closer, it seems like it should never be "hid". I have tried to improve the docs and typing elsewhere. One confusing thing in the NVDA braille code is that "port" is used to refer to many different things, in different parts of the code it may be a COM port string, a string description of where to look (auto, usb, bluetooth), a HID device path string, or a DeviceMatch class instance.
There does not seem to be any situation where the port should be hid.
@moyanming Is it possible to confirm how this command / gesture shows up in the input gestures dialog. I want to make sure this is consistent with other braille drivers. |
Hi @feerrenrut |
Looking at the other drivers, the |
For seika notetaker, userguide should refer to dot7 and dot8 not d7 and d8
Hi, There are currently two options with the word "Seika" in the braille device selection combo box, we don't seem to have reflected their differences in the user guide, can you try to mention this in the user guide, or do we The options that can be in the combo box themselves reflect their range of support, sorry this may be off topic. If you want, we can contact privately, my email is: Thanks |
@cary-rowen can you get a screenshot of this, or set NVDA to English and copy the speech output from the speech viewer. I want to make sure I understand the request. I think there will be one entry for "seika" and one for "seika notetaker"? |
Apologies, the last time I asked to check the user guide I linked to the changes file, I have corrected that link. Can @cary-rowen and @moyanming please confirm the accuracy of the user guide: |
Hi @cary-rowen |
Hi @feerrenrut |
Hi, @feerrenrut So please change from: Should change to: |
@moyanming @feerrenrut Grateful |
Hi @cary-rowen |
I have split the information for the two different drivers. @moyanming Can you review this? |
Hi @feerrenrut V6 and V6Pro are 40 cells Seika Notetaker, so please add V6 as well. So, please change: |
@moyanming done. The build will complete shortly. |
Hi @feerrenrut But the "Seika"( means "Seika v3/v5/v80") still can't connect with NVDA by using Bluetooth COM port, which is no the same type as "Seika Notetaker". Best Regards |
@moyanming |
Hi @cary-rowen |
Link to issue number:
fixes #13142
Summary of the issue:
Seika Notetaker can not be autodetected via bluetooth
Description of how this pull request fixes the issue:
Add a way to identify the Seika device when connected by bluetooth
As per #13142 (comment) the bluetooth name for Seika devices should be
TSM
, a space, then 4 digits.Testing strategy:
Ask Seika users to test when connected via bluetooth.
Known issues with pull request:
If ALL Seika devices use this bluetooth name, we may not be able to differentiate which driver to use
seika
vsseika notetaker
.Change log entries:
Code Review Checklist: