1. A method of interfacing with a device, comprising: detecting an object in space in a position above a display associated with the device; selecting, based on at least a particular set of x and y components of the position of the object above the display, a particular defined user interface mode from a plurality of defined user interface modes when the object is detected in the space, each of the plurality of defined user interface modes corresponding to a different set of x and y components; displaying and enabling one or more GUI elements based on the selected user interface mode, the one or more GUI elements being virtual control devices for receiving touch input for controlling an application, and appearing in addition to any application graphics being displayed on the display, wherein the selected user interface mode is a defined data entry mode where the GUI element is a virtual keyboard, a defined edit mode where the GUI element is a tool bar or virtual keyboard, a defined control mode where the GUI element is a control panel, and a defined information mode where the GUI element is a window; and automatically transitioning between different user interface modes and causing GUI elements to be activated and displayed, or deactivated, as the object is detected as moving over different portions of the display.