Closed dthain closed 3 years ago
Mouse and keyboard devices now route all events to a common event model and a KOBJECT_EVENT
. However, this event kobject only returns cooked keyboard events. Need some more machinery to make events available to processes.
All events now route through kernel window abstraction.
Currently, all streams between applications are (presumed) to be streams of untyped ASCII data, built up from keyboard or file streams. In order to support interactive graphical applications, we need an event stream coming from the mouse and the keyboard that can be easily interpreted and forwarded via the window manager.
Build up a common
event
module that buffers incoming events from the keyboard and mouse, and presents them as a single kernel object of typeevent
. Should yield fixed size objects looking something like this:Where type is something like
KEYUP
,KEYDOWN
,BUTTONUP
,CLOSE
,RESIZE
, and so forth. Some of these events are generated directly via the kernel, while others can be injected via the window manager to modify running applications.