Hello,

As a blind developer I would be very happy to use QEMU's baum chardev for a 
braille display. Unfortunately, this device fails to detect the tty in which 
the spice client is running. I would like to improve this device but I don't 
yet know how to achieve a better solution.

The current code calls qemu_console_get_window_id() to get the tty. This 
function returns zero, which causes the code to skip even the default behavior 
of brlapi's brlapi__enterTtyMode() (including checcking some env variables such 
as CONTROLVT). Furthermore, window id sounds like something different 
than a tty number, maybe a number of X display? The code does not currently 
consider the fact that the lifetime of the connected graphical consoles is 
not the same as the lifetime of the VM.

I hardcoded a tty number to the sources of QEMU version 3.0.0 to gladly verify 
that the device is working besides these problems.

So, I have a handful of open questions to start with: Is it possible to get 
callbacks for connect and disconnect of a graphical console (like spice and 
vnc)? How? Is it further possible to get any information of the connected 
client to determine the tty, and possibly sub-windows too (see 
brlapi__enterTtyModeWithPath), in which the client is running? Such events 
should lead to calls of brlapi__EnterTtyMode() and brlapi__leaveTtyMode().

To get this device working properly would be a life changing lifehack for me so 
I highly appreciate any help!
It would allow the use of Linux side by side with Windows and ChromiumOS, which 
is a big leap in this rather poorly accessible world.
If this is successful, I'm looking forward to spreading the word and helping 
others too!

With kind regards and informally on behalf of the Finnish braille authority,
-- Teemu Kuusisto

Reply via email to