Add ability to scroll automatically in braille#19126
Add ability to scroll automatically in braille#19126SaschaCowley merged 154 commits intonvaccess:masterfrom
Conversation
|
Some displays have capacitive sensors that can detect when you reach the end of the line of Braille and optionally advance automatically, so supporting this use case is also worth thinking about. |
…possible interferences, especially if speak while navigating by line or paragraph is enabled
This means that the speed would be dependant on the braille display size, but that doesn't seem to be the case in your code yet. I like the assumed characters per sec approach though. That would mean you can increase scrolling speed when a line only contains a few characters. |
|
Leonard wrote:
I write the code for that approach, but later I removed it due to feedback from people who is concerned about ability to understand this concept, thinking for example in older people, or people with cognitive difficulties. Seems that the BrailleExtender add-on used the seconds approach, not chars/sec. |
|
For now I'll try to create a combo box. I thought abou using the number of used cells, not the display size, too. But perhaps this produces an uncomfortable feeling if someone doesn't know if all relevant information has been read, if interval about scrollings is variable. So a combo box is more flexible than a checkbox, to add several options if desired. |
|
@SaschaCowley , I think that the failure of Pyright is not related to the code. Seems that the analysis is not performed due to something related to the cache. |
|
Sorry @SaschaCowley , forget my comment about Pyright. I've analyzed the code locally and have fixed it (now no I don't get errors and the check here has passed). |
|
I see that this has been labelled with ConceptApproved, so I'll continue working on this. I think that adding a combo box for cells/seconds and seconds can be confusing, since in one case the value increases the rate, and in the other one the delay is increased. So I'm thinking in adding just a value, but trying to reflect the conversion between cells/seconds to seconds deppending on the display size. I have found people who doesn't understand the concept of cells/seconds, at least the first time. But I think that it has more sense that jst seconds, since the same value can be applied regardless to the display size, for example if someone connects a different braille display. |
SaschaCowley
left a comment
There was a problem hiding this comment.
Just two things that will stop the settings dialog working, and then I think this is good to go
|
@SaschaCowley Thanks for your review. I've applied your suggestions and the dialog appears to work now. |
# Conflicts: # user_docs/en/changes.md
Link to issue number:
Fixes #18573
Summary of the issue:
Users may wish to scroll braille automatically.
Description of user facing changes:
Description of developer facing changes:
The
BrailleHandlerclass has a new method namedautoScrollwith anenableparameter, to toggle braille automatic -scroll.Description of development approach:
Added an
autoScroll`` method in theBrailleHandlerclass to toggle automatic scroll. This will usewx.CallLaterto call theautoScrollForwardmethod. Code has been added to stop autoScroll when the caret reaches the end of a document (the cursor is not moved), when a message is displayed in braille, when a new object is handled, on secure screens, and when the session is locked, via the_clearAll` method.Also, if automatic scroll is enabled, when scrolling back or forward, autoScroll will be disabled and enabled to reset the timer and scroll forward again.
Testing strategy:
Tested locally.
Known issues with pull request:
None.
Code Review Checklist: