ihaveamac / ninfs

FUSE filesystem Python scripts for Nintendo console files
MIT License
458 stars 19 forks source link

Use a more accessible gui toolkit #92

Open ihaveamac opened 2 years ago

ihaveamac commented 2 years ago

Tkinter doesn't support screen reader functionality, so another one should be used. It seems wxWidgets/wxPython has the best support out of the popular gui toolkits for Python.

Related: https://github.com/ihaveamac/custom-install/issues/61

VIPPotato commented 3 days ago

Hello, I can confirm that I'm only able to read window titles. I'm using nvda as my primary screenreader. Object navigation only says unknown, and the only thing I'm able to do is to open the menu bar with alt and navigate it with out any issues. I'm not a dev, but wx seems the most compatible, alternatively you could use QT in accordance to the accessibility section of their documentation. I think this tool has a huge potential to be valuable for blind Nintendo console owners since consoles themselves don't include any screenreader, so maybe we are able to do the same thing as can be done in data management section of console settings by mounting SD card on the computer? The most valuable feature for me would be to backup game saves in order to transfer them to another console, or remove software from sd card which I no longer need, since all of that requires using a touchscreen. I'll follow this project and will be happy to assist by providing feedback once the screenreader support is implemented, because I'm using my 3ds a lot. Thanks for considerating this issue.

ihaveamac commented 3 days ago

Thanks. There's a couple reasons why this hasn't been done yet:

By the way, the GUI is not the only way to use ninfs. All of its features can be accessed through the command line. However I don't know how accessible this really is, so this could still be difficult to use. But once you have mounted something, you use the Windows File Explorer to navigate the filesystem.

VIPPotato commented 3 days ago

yeah that'll work. Thought I'll have to use a build in file explorer to browse stuff, but if it just needs to be mounted through cmd then I think I can do it just fine since it's just a wall of text.

ihaveamac commented 3 days ago

Once you have decided to mount something, you use a command like, for example, "ninfs game.cia F:". This would mount it to the drive letter F:, then you open File Explorer, and go to that drive letter, and all the contents are there. Once you are done you can exit the program through the command line by pressing Control+C.

VIPPotato commented 3 days ago

thanks, I'll try. I'm in process of moving game saves to a new console so that'll be very usefull

ihaveamac commented 3 days ago

Copying game saves on its own won't be enough unless you also copy movable.sed over to the new console's NAND, or fix cmacs for the save files. Both of these require a tool like GodMode9, which unfortunately does not have any audio support, since it doesn't run in an operating system and nobody knows how to use the speakers at this level.

Although I think I have the tools necessary to fix cmacs in pyctr (a library that ninfs uses), I haven't actually implemented it in a usable program yet.

VIPPotato commented 2 days ago

I'm able to use god mode 9 on my own. It takes lots of time and patience but is doable with a phone camera and gpt4 vision based app like be my eyes. Tbh it would be nice to have a .gm9 script which could backup all of those with just a few clicks, but guess that's not possible otherwise we wouldn't need to do that manually.

ihaveamac commented 2 days ago

It is possible to make a script that will back up and restore files like movable.sed, plus fix cmacs.

ihaveamac commented 2 days ago

But backing up all save files would be more tricky with a script.