Hi,
I've reached pre-alpha state
Here are some screenshots of the rescue shell. It's a microkernel, so behind the scenes lots of things happening when you press a key. To grasp the complexity involved, here's a brief list:
1. IRQ handler awakes the PS2 task and sends an IRQ message to it
2. PS2 task recevies the message and reads 8042, and sends a keypress message to the UI task with scancode
3. UI task receives it, translates to keycode according to the loaded keyboard map
4. UI task sees that the focused window is a tty window, so it translates the keycode further to a csi sequence and sends it to the FS task
5. the FS task puts the csi code into the shell's stdin pipe
6. shell reads it's stdin, and receives the csi code
7. shell writes the code to it's stdout
8. FS task receives the write, and sees that the pipe belongs to a tty window, so it forwards the message to the UI task
9. the UI task receives the csi code, and sees it's for a tty window, therefore forwards it to the vt driver
10. the vt driver renders the csi code into the window pixel buffer, and tells the compositor that window area is dirty
11. the compositor composes windows (only one for now), and updates the framebuffer
12. you see the key you've typed
In rescue shell mode there's only one fullscreen window for a root shell, which is started in place of the init system service. Hopefully soon I'll have a real init task too