Years ago I built an Remote Procedure Call library that used 9p as the wire 
protocol. It handled event 'callbacks' by sending read requests to opened 
virtual files well ahead of time and treating the eventual Rread replies as 
events. As soon as it got an event it would send another Tread.

Perhaps an approach to the multiple event stream problem, then, is to talk 
directly to a 9p server using the wire protocol rather than going through the 
mnt device in the kernel. 9p already multiplexes data streams, so why not take 
advantage of that? As far as I understand it the fcall library already does the 
9p framing. The internal format of the input events is orthogonal to that.
If the kernel can't serve the 9p protocol for the input devices, then exportfs 
would, though possibly rio would be a better place to do that.

I probably need to have a closer look at drawterm. :)

kbdfs on 9front looks like it will be important for me. You can get the 
modifier transitions as events - it's missing the timestamps, but I'm not sure 
how much that will matter in practice.

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T1dee2a7aea3f7fa3-Mf8fed83725e8e515a35d1ac7
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to