(By Jason McMullan, for linux-kermel)
A keypress, mouse movement, or command that is passed through an evstack
A handler that processes/filters/ acts on events sent to it.
A tree of evstacks
At any point in the tree, a /dev/event `hook' can be inserted that reads events from the parent of the node, and can write events to the child. Allows for user-space implementation of what would normally be kernel code.
An interface to control text consoles. Provides mode setting, scrolling, font control, text display, etc. Display can be KGI driver, `null', a Braille display, etc...
A special evstack that generates keypress/mouse/etc events and receives control (head switch, capslock, etc) events.
(ie, pc speaker) receives control events.
The stack tree that processes events from input devices.
The stack tree that recieves CmdTtyWrite events
A VT's emulation stack. Recieves CmdTtyWrite events, draws on a scroller.
head[0]
|
|----input devices ----------\
| |
| input_stack
| |
| console_stack <- hold active VT#
| / | \
| xterm xterm xterm <- xterm emu termstacks
| | | |
| VT1 VT2 VT3 <- scrollers
| | | |
| \ | /
| \ | /
| KGI Head 0
|
\-----output_devices