Next Previous Contents

3. EvStack

(By Jason McMullan, for linux-kermel)

event

A keypress, mouse movement, or command that is passed through an evstack

evstack

A handler that processes/filters/ acts on events sent to it.

stack tree

A tree of evstacks

/dev/event

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.

scroller

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...

input device

A special evstack that generates keypress/mouse/etc events and receives control (head switch, capslock, etc) events.

output device

(ie, pc speaker) receives control events.

input_stack

The stack tree that processes events from input devices.

console_stack

The stack tree that recieves CmdTtyWrite events

termstack

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
      


Next Previous Contents