Request, sample and event are the three basic modes of input.
Keyboard is a device ideally suited for use in sample mode.
A mouse is typically a device for inputting an absolute position on the screen.
Special graphics hardware support is essential for providing a menu-driven user interface to an application.