Re: [orca-list] OT: Best console screen reader for roguelikes?



nethack uses . for empty floor space if you use the nh-accessibility configuration file to play the game. When the . character isn't used and you encounter spaces, it means you're in a dark room and need to use a light source to see. Earlier I had suggested adding a white cane to the game and maybe a mobility instructor for newly blinded players but that went nowhere.



On Fri, 15 Jan 2021, Mewtamer via orca-list wrote:

Even with a console screen reader, I haven't had much luck with the
few console rogue-likes I've tried.

I think part of the problem is that rogue-likes tend to represent the
dungeon map on-screen as a grid of ascii characters with empty floor
tiles represented as white space while most console screen readers are
designed primarily for reading plain text. Reading whole rows of such
a map often doesn't parse well, especially with the asumption that
whitespace is unvoiced, and while it would be useful to be able to
read character-by-character up and down columns and not just
left-and-right across rows, or to have the screen position of the
character under the reading cursor spoken, to my knowledge, no console
screen reader provides either of these functions.

That said, regarding options for console screen readers:

Speakup is probably the most widely used console screen reader,
usually with espeakup acting as a bridge between it, the user, and
espeak(-ng). Alternatively, I believe speechdup can serve as a bridge
between speakup and speech dispatcher, allowing the use of any tts
engine with a speech dispatcher module. That said, unless things have
changed, speakup is stuck in the Linux Kernel's staging tree and isn't
available by default on distros with a blanket no staging policy for
the kernel packages they ship. I believe the main offenders in this
regard are Fedora and some other RedHat-Family distros. I've used
espeakup before, find it works well for text adventures such as those
made by Infocom, but I was never able to get the hang of its screen
review functionality.

Fenrir is the up and coming new kid on the block, written in python
and living entirely in userland with support for speech dispatcher and
I think direct support for a few TTS engines without speech dispatcher
needed as a go-between. I don't know much beyond that.

I personally use SBL, which I like for its hold caps lock and use
arrow keys for screen review, but it doesn't voice white space even
when reading character-by-character, and while I generally prefer it's
"print to the screen quietly" then screen review output style to
espeakup's "try to read everything as it's printed to the screen"
style, I find espeakup's style works better for text adventures,
though I've had no luck with either for rogue-likes. Sadly, as far as
I know, Knoppix(the distro my setup is based on) and OpenSuse are the
only distros it ships with, and the nature of Knoppix means there
isn't even a .deb readily available to try and install on other
Debian-based systems.

There's also yasr, but I know nothing about that one.

As for distros,

As mentioned above, Knoppix uses SBL as it's console screen reader,
and Knoppix is meant primarily as a live distro, so you can run it
without installing it... that said, Knoppix by default boots with
accessibility turned off, the ability to enter boot options isn't
accessible, and while you just need to change one line in one config
file on the iso to make booting with accessiblity enabled the default,
the read-only nature of the iso9660 filesystem means either editing ta
DVD-sized file in a hex editor or mounting the iso, copying it's
contents to a writeable folder, editng the config file, and rebuilding
the iso, or writing it to a bootable USB stick and changing the config
file afterwards.

If you use the talking version of Debian's installer and don't select
a desktop environment at the install additional software step, you'll
end up with a command-line only install of Debian with espeakup
talking before you even get to the log-in prompt. Do note, the talking
version of the Debian installer, unless things have changed, makes
useof long, numbered lists, and instead of scrolling and pressing
enter on your choice, you have to type in the number of your choice,
which can be quite annoying for steps with lots of options if you
don't want the defaults and don't know the numbers for your choices
ahead of time.

Slint, which is based on Slackware, offers a choice between espeakup,
speechdup, and Fenrir if memory serves... and I believe it's setup for
havign one as the default, but easily switching to another if one
works better for certain tasks.

All that said, if everything is setup properly, you should be able to
switch between the console and the GUI on the same system. Generally,
a Linux machine will run a number of virtual consoles referred to as
tty1-tty12(though some setups go all the way to tty24). Usually, if
your system boots directly into the GUI, it's doing so on
tty1(somethimes tty6, it depends on the distro) and all the other ttys
are available for working in text-only mode(and in fact, I don't think
it's allowed to have xservers running on more than one tty on most
systems). Generally, to switch between ttys, you use alt+the function
key corresponding to tthe number o f the tty(e.g. alt+f1 goes to tty1,
alt+f4 goes to tty4, etc... no idea how tty13+ are accessed when
available). When in a gui, you you might need to add ctrl to the
keyboard shortcut since many alt+Fx are taking by GUI-specific
functions. If your system is setup correctly, you can seamlessly
switch between Orca in the GUI ontty1 and a console screen reader in
the console on all the other ttys(Knoppix is setup this way if booted
with accessibility enabled, I'm not familiar with setting it up
elsewhere, though the main challenge is ensuring both Orca and the
console screen reader can access the sound system without locking the
other out).
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]