摘要:
A computer system in which multiple processes may run concurrently includes a window manager for displaying windows associated with different processes. One of the processes represented by a window may be designated as active. Keystrokes are translated by a keyboard driver to events represented by keycodes. The keycodes are routed to processes with which they are associated by reference to a routing table. Unless otherwise indicated, a keycode is routed to the active process. Where a keycode is associated with and transferred to the window manager, subsequent keycodes are stored in a typeahead buffer. The window manager may modify the routing table. After completion of the window manager operation, all keycodes remaining in the buffer are routed to their associated processes as determined by the modified routing table.