Related issues, PRs or discussions
none
What is the current state of the codebase?
braille.BrailleDisplayGesture defines the routingIndex attribute used for routing to specific cells with a braille display when pressing routing keys.
Why are changes required?
There are several issues with this approach/wording:
- The scope of
routing is too small. For example, Handy Tech displays have the so called Active Tactile Control feature that let's you register what/where you're reading. In that case, it makes sense to generate a braille display gesture with the current reading index or indexes. Using cellIndexes makes clear that the gesture has to deal with the index of a specific cell, whether it is routing or other behavior related to that particular cell, such as touching it.
- Using a singular index has several disadvantages, most notably that pressing multiple routing keys causes unspecified behavior.
What technical changes are required?
- Create a new
list property called cellIndexesonBrailleDisplayGesture`
- Deprecate the older routingIndex property using a getter/setter. routingIndex is always an instance property, so deprecating it on a getter/setter behavior should ensure backwards compatibility. setter with
value should set cellIndexes = [value], getter should return the first value of cellIndexes
- Ensure that all builtin drivers set cellIndexes instead of routingIndex, let them appropriately deal with multiple routing buttons pressed. When multiple routing buttons are pressed, use the multiRouting id instead of the routing id.
- Bonus, create a script that lets you select text using multi routing, e.g. pressing routing buttons for cell 1 and cell 4 selects the word from cell 1 up to and including 4.
Are the proposed technical changes API breaking?
No
Are there potential risks or issues with the proposed implementation?
Backwards compatibility should be considered carefully, as well as testing should be performed with the braille display drivers. Multi routing should only be implemented for displays that can be tested.
Related issues, PRs or discussions
none
What is the current state of the codebase?
braille.BrailleDisplayGesturedefines theroutingIndexattribute used for routing to specific cells with a braille display when pressing routing keys.Why are changes required?
There are several issues with this approach/wording:
routingis too small. For example, Handy Tech displays have the so called Active Tactile Control feature that let's you register what/where you're reading. In that case, it makes sense to generate a braille display gesture with the current reading index or indexes. UsingcellIndexesmakes clear that the gesture has to deal with the index of a specific cell, whether it is routing or other behavior related to that particular cell, such as touching it.What technical changes are required?
list property calledcellIndexesonBrailleDisplayGesture`valueshould set cellIndexes = [value], getter should return the first value of cellIndexesAre the proposed technical changes API breaking?
No
Are there potential risks or issues with the proposed implementation?
Backwards compatibility should be considered carefully, as well as testing should be performed with the braille display drivers. Multi routing should only be implemented for displays that can be tested.