A computer implemented method for determining a position of a controller in a three-dimensional space to interface with an application running on a games console having a fixed depth camera, the method comprising: (a) calibrating a computer program to identify a group of recognized fixed points (402, 404) from a plurality of fixed points within the three-dimensional space using a depth camera integrated with the controller; (b) activating use of the controller and depth camera of the controller during interface with the application, the use comprising: (i) capturing image and depth data within the three-dimensional space using the depth camera of the controller and using the fixed depth camera, wherein images captured by the fixed depth camera include the controller; (ii) analyzing the image and depth data to find one or more of the group of recognized fixed points;(iii) repeating (i) and (ii); (iv) determining changes of position of the controller based on a change in position of the found ones of the group of recognized fixed points between successive analyzing steps and based on a change of position of the controller identified from images captured by the fixed depth camera; and (v) triggering an input command based on the determined change in position of the controller, wherein the input command causes an action by the application. (a) calibrating a computer program to identify a group of recognized fixed points (402, 404) from a plurality of fixed points within the three-dimensional space using a depth camera integrated with the controller; (b) activating use of the controller and depth camera of the controller during interface with the application, the use comprising: (i) capturing image and depth data within the three-dimensional space using the depth camera of the controller and using the fixed depth camera, wherein images captured by the fixed depth camera include the controller; (ii) analyzing the image and depth data to find one or more of the group of recognized fixed points;(iii) repeating (i) and (ii); (iv) determining changes of position of the controller based on a change in position of the found ones of the group of recognized fixed points between successive analyzing steps and based on a change of position of the controller identified from images captured by the fixed depth camera; and (v) triggering an input command based on the determined change in position of the controller, wherein the input command causes an action by the application. (i) capturing image and depth data within the three-dimensional space using the depth camera of the controller and using the fixed depth camera, wherein images captured by the fixed depth camera include the controller; (ii) analyzing the image and depth data to find one or more of the group of recognized fixed points;(iii) repeating (i) and (ii); (iv) determining changes of position of the controller based on a change in position of the found ones of the group of recognized fixed points between successive analyzing steps and based on a change of position of the controller identified from images captured by the fixed depth camera; and (v) triggering an input command based on the determined change in position of the controller, wherein the input command causes an action by the application.