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