Patent ID: 7453376

Claim:
A method of determining a key press from a current keyboard state based on a current time, a last key pressed, a last key press time, and a last keyboard state, the method comprising the steps of: (i) determining which keys on the keyboard have been released at the current time based on comparison with the last keyboard state; (ii) determining which keys on the keyboard have been pressed at the current time based on comparison with the last keyboard state; and (iii) if step (ii) determines a single key pressed at the current time, then: if there exists a match between the key pressed at the current time and the last key pressed, then: if the elapsed time between the key pressed at the current time and the last key press time is larger than a preset bounce time, then: (a) determining the key pressed at the current time; if a discrepancy is found between the key pressed at the current time and the last key pressed, then: (b) determining the key pressed at the current time.