Patent ID: 7280346

Claim:
A data processing apparatus having a memory for storing program code and a processor for processing the program code comprising: a body having a surface defining a first plane, the body comprising a first user interface including a first plurality of control elements for entering data and performing control operations and a second user interface including a second plurality of control elements for entering data and performing control operations, wherein the first plurality of control elements comprise a keyboard and the second plurality of control elements comprise a set of control buttons; a display having a display area defining a second plane, the display directly coupled to the data processing apparatus at a pivot point and rotatable around the pivot point in one continuous motion from a first position to a second position, wherein the first plane and second plane are substantially parallel when the display is in the first position and the first plane and the second plane are not parallel when the display is in the second position, wherein the display is substantially inverted when in the second position relative to the first position, wherein the display is viewable in both the first position and the second position, wherein an angle between the first plane and the second plane is adjustable over a specified range when the display is in the second position, and wherein both the first and second plurality of control elements are exposed when the display is in the second position, and wherein only the second plurality of control elements is exposed when the display is in the first position, an operational mode selection module for selecting between a first operational mode and a second operational mode in response to a plurality of triggering events, said triggering events including: output from one or more operational mode sensors configured to trigger when the display is rotated from the second position to the first position or from the first position to the second position; execution of program code from one or more applications currently running on the data processing device; and manual user input by selecting one or more of the plurality of control elements located within said first or second user interfaces; and image inversion logic to invert images on the display responsive to the selected operational mode, wherein execution of the program code by the processor causes the operational mode selection module to adjust the functions associated with the first and second plurality of control elements based on the selected operational mode, wherein the first and second plurality of control elements perform a first plurality of defined functions when the data processing apparatus is in the first operational mode and perform a second plurality of defined functions when the data processing apparatus is in the second operational mode.