Trevor Astrope <astrope@xxxxxxxxxxx> writes: > Hi, > > Is anyone familiar with nosh? Specifically, its terminal emulator? It > claims to provide a linux-256color terminal type. It provides user > space virtual terminals and the blurb below indicates it uses a > framebuffer, so I'm guessing it doesn't work with speakup out of the > box. I'm aware of nosh, though I'm not as familiar with it as I would like to be. Its user-space virtual terminals completely obviate the need for Speakup. Speakup hooks in to the VT layer of the kernel, but if terminal emulation is done in userspace, the kernel's VT layer is not used. A kernel-space screenreader makes no sense in that world. Initially, Linux virtual terminals were all in kernel space. There's a whole honking bunch of hairy machinery -- the VT layer -- to support that. It is a VT100 emulator running inside the kernel, and the case for moving it to userspace is strong. There have been a couple of efforts along those lines, notably nosh, and also kmscon. I think the systemd people want to do terminal emulation in systemd now, too. In this world, what you need is a userspace screenreader of some kind. If I were going to hook into nosh VTs for accessibility and I didn't want to use brltty, I'd probably start by adapting something like tdsr <https://github.com/tspivey/tdsr>. It's a userspace screenreader that works by spawning a subshell and running a program under that shell. In other words, it works a lot like yasr does. It could probably be modified to speak nosh's "realizer protocol" without much effort. Does the nosh virtual terminal emulation work on Unix-derivatives other than Linux? If it does, then it makes the "adapt a user-space screenreader project to work with nosh" idea even more interesting, because the same screenreader could be used on other Unix derivatives. -- Chris Brannon Founder: Blind and Low Vision Unix Users Group (https://blvuug.org/). Personal website: (https://the-brannons.com/) Chat: IRC: teiresias on libera.chat and OFTC, XMPP: chris@xxxxxxxxxxxxxxxxx