CPC A63F 13/24 (2014.09) [A63F 13/214 (2014.09); A63F 13/22 (2014.09); G06F 3/02 (2013.01); G06F 3/0312 (2013.01); G06F 3/0338 (2013.01); G06F 3/03549 (2013.01); A63F 2300/1018 (2013.01); A63F 2300/1043 (2013.01); A63F 2300/1068 (2013.01)] | 18 Claims |
1. A game controller, comprising:
a housing;
a trackball rotatably retained within the housing;
a motion sensor, located within the housing, that detects a rotation of the trackball;
a touch sensor, located within the housing, that detects when a user is touching the trackball; and
a processor, located within the housing, coupled to the motion sensor and the touch sensor;
wherein the game controller allows the user to operate the trackball as a mouse in a first mode and as a joystick in a second mode, wherein the game controller automatically determines an input type for a game and automatically switches between the first and second modes based on the input type,
wherein, in the first mode, the game controller determines an incremental movement of the trackball in a particular direction, and
wherein, in the second mode, the game controller determines a movement of the trackball from a central position of a simulated joystick by:
determining an offset value indicating the rotation of the trackball when the user is touching the trackball, wherein a zero value for the offset value represents the central position;
setting the offset value to the zero value when the user stops touching the trackball; and
determining a distance and a direction in an X-Y coordinate system based on the offset value.
|