One key aspect of Screen that enables the development of fully interactive user experiences is the functionality to support input events and to deliver input and notifications back to applications.
An input event represents some sort of user interaction with the application. Although several events are supported by Screen, not all are input events. Events can be broadcast, but input events are always sent to only one recipient (usually the window or session that has focus).
Input is focused to a display, and then to a window or session. Input events are often, but not necessarily, associated with a physical device. For example, input events can come from calling screen_inject_event(), which may or may not be associated with physical device.