2002.12.07 ~02 Q3VM devfs Well, another layer thrown in. This time to simulate kernel-level calls for file I/O. POSIX is hardly an optimal model to copy, but it's has a long-established tradition, and been documented to hell and back. I finally settled on having a separate /dev/keyboard, to allow for eventual reads of raw key events (press and releases). Key release events are not handled by /dev/tty; the tty device only handles byte streams, not structured data or release events. I'm wondering if I should have a separate /dev/mouse devices instead of integrating mouse events with the keyboard device. The keyboard device isn't actually _used_ yet, but it's a stepping stone towards getting /dev/tty to work as expected. BTW, doing /dev/null was very easy. Every function returns 0. :) Also, being the easiest device, it also doubled as scaffolding for the other devices. SUSv2 demands a /dev/console. It just demands the device exists, not that it does anything in particular. I'm thinking of implementing this as a replica of the currently extant chat box (the three text lines at the top of the screen that gets spammed with everything), as the sink for writes to stdout and stderr.