Orca speech and Braille support added for Linux.#21
Open
stormdragon2976 wants to merge 1 commit intoaccessibleapps:masterfrom
Open
Orca speech and Braille support added for Linux.#21stormdragon2976 wants to merge 1 commit intoaccessibleapps:masterfrom
stormdragon2976 wants to merge 1 commit intoaccessibleapps:masterfrom
Conversation
Collaborator
|
Thanks for your work on this! |
Collaborator
|
Hey, I'm curious about the implementation approach here - I noticed this uses subprocess calls to gdbus rather than a Python D-Bus binding like dbus-python or pydbus. Was there a specific reason for going with the subprocess approach? Just wondering about the tradeoffs considered (dependencies, compatibility, etc.). Also, I noticed in the silence() method that the path becomes self.main_path + "/Speech" - is that accessing a submodule in Orca's D-Bus interface? Just curious about how that part of the API is structured. The code looks clean and well-documented - just interested in understanding the design choices! |
Author
|
Mostly I didn't want ot have to add more dependencies for dbus. There are python dbus libraries, but you never know which distro will have what package, and how out of date the package might be. Also, this support in Orca is new, and I figured this method is least likely to change in updates to Orca. I could be wrong about that of course. :)
Orca's dbus API is organized hierarchically with different functional areas, speech and Braille, as separate object paths under the
main service. This allows for more granular control. In this case, we can specifically target speech interruption through the Speech module's ExecuteCommand
method with the InterruptSpeech command, rather than affecting other outputs.
|
Author
|
I came back to check on the status of this, and saw my previous reply. I had 2 conversations going on at once, and it looks like although the first paragraph was correct, I answered the wrong question in the second one. I didn't check my current screen as thoroughly as I should have.
It's a dbus thing where paths have a top level generic path and subpaths for more specialized access. In this case the subpath gives more fine grained speech access.
Sorry for the mix up earlier. :)
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds Orca support. It falls back gracefully to speech-dispatcher if there is a problem, e.g. the Orca version isn't new enough, or something is up with dbus.