Patent attributes
A computing device receives acceleration information from an accelerometer mechanically coupled to a wireless controller, magnetic bearing information from a magnetometer mechanically coupled to the wireless controller, and rotation information from a gyroscope mechanically coupled to the wireless controller. When the wireless controller is primarily vertical, the computing device determines a rotation angle of the wireless controller by filtering the rotation information using the acceleration information. When the wireless controller is primarily horizontal, the computing device determines the rotation angle of the wireless controller by filtering the rotation information using the magnetic bearing information.