A computer program product for use in conjunction with a handheld computing device, the computing device including a motion sensor to generate a signal after measuring movement of the entire handheld computing device over an interval of time, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
- a first signal analyzing module for analyzing the signal measured over the interval of time to determine a series of position commands that correspond to a series of orientations of the device;
- a second signal analyzing module for analyzing the signal measured over the interval of time to determine whether a portion of the signal that corresponds to the movement of the entire handheld computing device from a first orientation to a second orientation matches one of a predefined set of gesture command signal formats;
- a position command processing module for processing the series of position commands to control the device when the signal measured over the interval of time is determined not to be any of the predefined set of gesture commands;
- and
- a state data recall procedure for preventing execution of the position commands and processing the gesture command to control the device as of said first orientation when the signal measured over the interval of time is determined to be one of the predefined set of gesture commands.