Improve Braille keyboard shortcut support, especially for Focus displays#13152
Conversation
- Add support for gestures that toggle multiple modifier keys simultaniously - Remove the redundant "pressed" from the announcement for a modifier key - Update documentation to document the existense of the virtual modifiers and to account for new keyboard shortcuts
|
Hello @krzysz00 Thanks for this PR. |
|
Great initiative! One thing I noticed is that the chapter in the user guide has a lot of typos still. Might be worth going over these again and clean those up just like you did for the changes entries. And a question: is it intentional that you omitted the chord from these modifier toggles? In the documentation for JAWS input using Focus displays, it states that one should use Dot 8 chord plus the other modifier dot. If I see your script assignments correctly, you only require dot 8, without the space bar, and the other dot for the toggle. Is this intentional? |
Does "dot 8 chord" there mean that the space bar should be included? I wasn't familiar with the terminology and so assumed it just meant dot 8. If we want to include the space bar, then I'll also go ahead and put Shift back on dot 7. (as to the typos, turns out the VSCode spell checker wasn't on for Text2Tags files) |
Yes, that's what "chord" means in the Freedom Scientific, and many other Braille display manufacturers, terminology. Some dots with chord means to press them together with the space bar. |
|
Hi, the “chord” terminology was used a lot in the 1990’s and 2000’s when Blazie Engineering notetakers such as Braille Lite were still popular. When Freedom Scientific (now Vispero) brought in folks from Blazie Engineering and Henter-Joyce in 2000, the new company kept the terminology intact when introducing new products at that time. This carried over to combined efforts such as PAC (Personal All-Purpose Computer) Mate and Focus series, and naturally the term “chord” was used to describe commands requiring space bar to be pressed. The notion of requiring one to press Dot 8 with Space (DOT 8 CHORD) exists in Focus series and PAC Mate BX when using them with JAWS in order to emulate pressing computer keyboard keys (other products such as HumanWare BrailleNote did emulate QWERTY input but that’s beyond the scope of this PR). My personal philosophy for braille commands is to follow the command structure of the display from the manufacturer as much as possible – in this case, I advise adopting how Vispero talks about Focus commands, perhaps using JAWS as a reference with justifications (in this case, I think using JAWS as a reference is justified since Focus and JAWS come from the same entity). Hope this helps.
|
See test results for failed build of commit a7f246321e |
|
@josephsl Thank you for the history! I've updated my PR to make all the commands I introduced chorded and to bring them back in line with the Jaws specifies. One lingering question I have is whether we want to preemptively support the full combinatorical explosion of modifier chords or whether what I subjectively decided were the common combinations (from my personal experience) are enough for now. |
See test results for failed build of commit 06bf71f61b |
|
@CyrilleB79 Should I do anything with the removed changelog entries other than put them in the PR description? |
|
@krzysz00 you have correctly filled the template for the initial description (including the "Change log" paragraph). Thus you do not need to do anything else regarding the change log; NVAccess will take care of it once this PR is reviewed by them and ready to be merged. If you consider that your work on this PR is finished, i.e. ready to be reviewed by NVAccess, you need to switch this PR to "Ready" state, i.e. do not keep it as draft anymore. NVAccess will then review it and comment according to their priorities. Note that I am just a contributor and I do know very few regarding the content of this PR, so I will not personally provide a review. |
|
@josephsl Are you in a position to review this? |
|
Hi, not really as I don’t have a Focus display to test and review this PR, but I do know that we have folks who can review this PR. Thanks.
|
|
If the good reviewers aren't assigned here, could someone add them? I don't seem to have the ability to do that. |
|
It's been a month since there's been any movement here - should I do something to help move this along? |
feerrenrut
left a comment
There was a problem hiding this comment.
This looks fine to me.
Can you ensure someone else has been able to test this with a braille display?
@LeonarddeR Since you worked on the emulated kb gestures, could you also review this?
|
@feerrenrut Sadly, I don't know anyone else who has one of these displays, so I can't @ them in. |
|
cc @bramd |
Qchristensen
left a comment
There was a problem hiding this comment.
UserGuide changes read well. Good job!
|
@Qchristensen Thanks! |
|
Given the time that has past already, we'll just have to go ahead with this and let alpha users test. |
This comment has been minimized.
This comment has been minimized.
|
Hello, I'm translating the pr changes and I'm wondering if toggling modifiers will work for other braille displays, I really don't know what "Virtually toggles the some keyskeys to emulate a keyboard shortcut with braille input" does. Grateful |
|
@cary-rowen The modifier toggling will work for other Braille displays, but only the Focus has default commands defined for it at the moment. Also, to restate the functions of the commands in a different way, pressing the "Virtually toggle [keys]" command will make the next letter/number/... the user types in act as if they'd been holding down the [keys] while pressing it on the keyboard. The reason I said toggle is that if you press the command twice, it'll turn off the [keys] and make the letter/number/... act normally. |
|
Hi @krzysz00 Thanks for your reply, I've discovered the use of this feature on Seika Notetaker before this. best |
Add support for gestures that toggle multiple modifier keys simultaniously
Remove the redundant "pressed" from the announcement for a modifier key
Update documentation to document the existense of the virtual modifiers
and to account for new keyboard shortcuts
Link to issue number:
Fixes #7706
Summary of the issue:
The Freedom Scientific Braille driver doesn't bind the virtual modifier keys, and there are no bindings for toggling several modifier keys at once (which Jaws supports).
Description of how this pull request fixes the issue:
The PR adds support for toggling multiple modifiers to the Braille input system and adds bindings for them to the Freedom Scientific display driver.
Testing strategy:
Launching the changed NVDA and making sure I can use my Focus 40 Blue to input keyboard shortcuts, including Cntr+S in Notepad, Ctrl+Shift+P in VS Code (both with the Ctrl+Shift binding and the Control and Shift bindings), and Alt+1 in the Windows terminal. I also ensured that starting a keyboard shortcut flushed the contracted Braille buffer.
Known issues with pull request:
One caveat is that Shift goes to not 2 and not dot 7, since we need dot7+dot8 for sending contracted Braille.
Change log entries:
Bug fixes
For Developers
Code Review Checklist:
Pull Request description:
Testing:
Manual testing seems to be all I can do
API is compatible with existing add-ons.
(No breaking API changes)
Documentation:
I added some documentation that didn't previously exist
UX of all users considered: