Abstract: A controller (10) for two handed user input of linear and orientation data to control graphical images on a computer (12), and thus to permit the user to interact with application software running on the computer (12) in first person perspective. The controller (10) includes a first control sub-unit (14), for inputting data for two axes, and a second control sub-unit (16), for inputting two additional axes of data. Control-ware (18) is further included which combines the data from the first and second control sub-units (14, 16) into an integrated data set which is communicated to the computer (12). The control-ware (18) is capable of optional pre-processing tasks on the contents of the data set before communicating it to the application running on the computer (12). One example of such an optional pre-processing task is auto-leveling (100), whereby under desirable conditions the users first person perspective view in the graphical images is automatically urged toward level in an overrideable manner.