NVDA integration with Godot (for sighted devs) #6757
Replies: 5 comments
-
Since it not full screen reader support (I'm working on integrating AccessKit for a proper screen-reader support right now) but essentially another TTS interface, it probably should not be in core. But should be easy to implement as GDExtension - see https://github.com/nvaccess/nvda/blob/master/extras/controllerClient/x86/example_c.c for the API example. |
Beta Was this translation helpful? Give feedback.
-
AccessKit sounds like the right long-term solution. If I proceed with my idea, I guess it would be a short-term stop-gap for Windows users only. I actually wanted to integrate the C# API here (as I'm far more experienced with C# than C/C++). Do you have any good links/tutorials/docs on how to make a GDExtension? |
Beta Was this translation helpful? Give feedback.
-
No, but it's really easy to do, here's a quick implementation - nvda_gde.zip (includes test project, GDExtension source, pre-build GDExtension and NVDA libs/headers), to re-build just clone https://github.com/godotengine/godot-cpp, copy
C# should be usable directly, but I do not work with it, so won't give any advice. |
Beta Was this translation helpful? Give feedback.
-
Thank you so much! I'll check out the extension zip and reopen this discussion if I have any questions. |
Beta Was this translation helpful? Give feedback.
-
For anyone who finds this through search engines, I got this working! You can find the up-to-date version on the Assetlib: https://godotengine.org/asset-library/asset/2519 |
Beta Was this translation helpful? Give feedback.
-
There's been a lot of work and discussion around NVDA integration and making Godot work with screen-readers for blind devs. This is not about that.
Rather: I'm a sighted developer, and I was able to quickly rig up a Godot project that can speak directly to the NVDA screen reader. This is platform-specific (Windows only) and requires my game to include a couple of NVDA DLLs (freely available/redistributable) and some "glue" C# code.
What's the best way to make this available to other Godot users? I don't imagine it will meet the criteria for going into the Godot core. I have experience with making Godot plugins, albeit simple ones that ship with simply some static images and GDscript code.
Beta Was this translation helpful? Give feedback.
All reactions