Subject: Re: wsmux inject
To: None <tech-kern@netbsd.org>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: tech-kern
Date: 03/15/2006 00:25:58
On Tue, Mar 14, 2006 at 18:04:57 +0000, Iain Hibbert wrote:

> Hm, sort of - If I open that for reading with "hexdump /dev/wsmux1",
> then I can see the injected events showing on that input stream.
> 
> But what I want is for wsdisplay0 to be reading from wsmux1 so that
> I can inject events and have them appear as normal keyboard events
> by wsdisplay0.

You seems to be confused by the terminology here (which is not at all
surprising, wscons is such a maze...)

wsdisplay0 doesn't see "events" in the sense of struct wscons_event.
See wskbd_input() and sc->sc_translating (i.e. serving emul with
input).

With current code you can inject events into the mux for processes
that read from the mux (as your hexdump exepriment demonstrates),
e.g. you should be able to inject events for x server to read from the
mux, but you cannot inject "terminal input" for /dev/ttyE*

To feed terminal input from user space, you need a way to inject raw
scancodes that need to end up being passed to wskbd_input.

SY, Uwe
-- 
uwe@ptc.spbu.ru                         |       Zu Grunde kommen
http://snark.ptc.spbu.ru/~uwe/          |       Ist zu Grunde gehen