IP Library Granted Patent US 7,522,070
Granted Patent B2
US 7,522,070 · App. 11/803,735 · Granted Apr 21, 2009

Method and apparatus for high performance key detection with key debounce

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,522,070
App. No.
11/803,735
Granted
Apr 21, 2009
Kind
B2
Abstract

A system for detecting a key with key debounce including a circuit for detecting a key activation; a first counter coupled to the circuit and a clock for testing the key activation for a first predetermined number of clock cycles; a key debounce buffer for storing a key index identifying the activated key, if the key activation is valid for the first predetermined number of clock cycles; a second counter for testing the identified activated key for a first predetermined number of hardware key scan cycles; and a key event buffer for storing a key activation event, if the key activation is valid for the first predetermined number of hardware key scan cycles.

Claims (44)

1. A method comprising:

detecting a key activation of a user operated input device;

testing the key activation for a predetermined number of clock cycles;

storing a key index identifying the activated key in a buffer when the key activation is valid for the predetermined number of clock cycles;

testing the identified activated key for a predetermined number of hardware key scan cycles; and

establishing a key activation event when the key activation is valid for the predetermined number of hardware key scan cycles.

2. The method of claim 1 , further comprising:

detecting a key release;

testing the key release for a predetermined number of clock cycles;

testing the key release for a predetermined number of hardware key scan cycles, if the key activation is valid for the predetermined number of clock cycles; and

establishing a key release event, if the key release is valid for the predetermined number of hardware key scan cycles.

3. The method of claim 2 , wherein the predetermined number of hardware key scan cycles for testing the key activation is the same as the predetermined number of hardware key scan cycles for the key release.

4. The method of claim 1 , further comprising adding a predetermined time delay to each of the hardware key scan cycles.

5. The method of claim 1 , wherein the clock cycles are related to system clock cycles.

6. The method of claim 1 , wherein the key activation is a key activation selected from the group consisting of a pressed down key on a keyboard, a movement of a mouse, a movement of a joystick, and a sensed event.

7. The method of claim 1 , wherein the predetermined number of hardware key scan cycles for testing the key activation is different from the predetermined number of hardware key scan cycles for the key release.

8. The method of claim 1 , wherein the user operated input device is a wireless device.

9. A system for detecting a key with key debounce comprising:

a circuit configured to detect a key activation;

a first counter coupled to the circuit and a clock configured to test the key activation for a first predetermined number of clock cycles;

a key debounce buffer configured to store a key index identifying the activated key when the key activation is valid for the first predetermined number of clock cycles;

a second counter configured to test the identified activated key for a first predetermined number of hardware key scan cycles; and

a key event buffer configured to store a key activation event when the key activation is valid for the first predetermined number of hardware key scan cycles.

10. The system of claim 9 , wherein the circuit is configured to detect a key release, the first counter is configured to test the key release for a second predetermined number of clock cycles, the second counter is configured to test the key release for a second predetermined number of hardware key scan cycles when the key activation is valid for the second predetermined number of clock cycles, and the key event buffer is configured to store a key release event when the key release is valid for the second predetermined number of hardware key scan cycles.

11. The system of claim 10 , wherein the first predetermined number of clock cycles is the same as the second predetermined number clock cycles and the first predetermined number of hardware key scan cycles is the same as the second predetermined number of hardware key scan cycles.

12. The system of claim 10 , wherein the first predetermined number of hardware key scan cycles is different from the second predetermined number of hardware key scan cycles.

13. The system of claim 9 , wherein the clock cycles are related to system clock cycles.

14. The system of claim 9 , wherein the key activation is a key activation selected from the group consisting of a pressed down key on a keyboard, a movement of a mouse, a movement of a joystick, and a sensed event.

15. The system of claim 9 , wherein the first counter is an up/down counter.

16. The system of claim 9 , wherein the second counter is an up/down counter.

17. A system comprising:

a wireless keyboard for receiving input from a user;

a first counter coupled to the circuit and a clock configured to test an activation of a key in the keyboard for a predetermined number of clock cycles;

a key debounce buffer configured to store a key index identifying the activated key when the key activation is valid for the first predetermined number of clock cycles;

a second counter configured to test the tested activated key for a predetermined number of hardware key scan cycles when the activation of the key is valid for the predetermined number of clock cycles;

a key event buffer configured to store a key activation event when the key activation is valid for the first predetermined number of hardware key scan cycles; and

an antenna configured to transmit a signal to a host indicating a key activation when the key activation is valid for the first predetermined number of hardware key scan cycles.

18. The system of claim 17 , further comprising:

a circuit configured to detecting a release of the key;

a circuit configured to test the release of the key for a predetermined number of clock cycles;

a circuit configured to test the release of the key for a predetermined number of hardware key scan cycles when the key activation is valid for the predetermined number of clock cycles; and

a circuit configured to establish a key release event when the release of the key is valid for the predetermined number of hardware key scan cycles.

19. The system of claim 17 , further comprising a circuit configured to add a predetermined time delay to each of the hardware key scan cycles.

20. The system of claim 17 , wherein the clock cycles are related to system clock cycles.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED AT REEL: 047195 FRAME: 0827. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Nov 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047924/0571 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047195/0827 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →