GNO/ME starts up the Event Manager so it is always available to the kernel and shell utilities. Changes were made so that the Event Manager obtains keystrokes from the GNO/ME console driver (.ttyco). This allows UNIX-style utilities and desktop applications to share the keyboard in a cooperative manner. This also makes it possible to suspend desktop applications; see Chapter 7, Suspend NDA.
EMStartUp sets the GNO console driver to RAW mode via an ioctl(2) call, to allow the Event Manager to get single keystrokes at a time, and to prevent users from being able to kill the desktop application with Ĉ or other interrupt characters. The four “GetEvent” routines, GetNextEvent, GetOSEvent, EventAvail, and OSEventAvail now poll the console for input characters instead of using an interrupt handler.