IP Library Granted Patent US 7,594,050
Granted Patent B2
US 7,594,050 · App. 11/285,087 · Granted Sep 22, 2009

System and method for recognizing a keystroke in an electronic device

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,594,050
App. No.
11/285,087
Granted
Sep 22, 2009
Kind
B2
Abstract

The invention provides a system and a method of processing keystrokes being entered in an electronic device. The method comprises: monitoring for activation of two or more keys on the device; determining whether a keystroke conflict occurs from the activation of the keys; and if a conflict has occurred, then executing further steps. The further steps include: identifying a selected key from the activated keys; generating a character associated with the selected key; and ignoring activation of any keys other than the selected key. The system comprises an electronic device with a display, a keypad and modules which perform the steps of the method as noted.

Claims (58)

1. A method of processing keystrokes on a keyboard being entered on an electronic device, the method comprising:

monitoring for activation of two or more keys on said keyboard within a set window of time;

determining whether said activation of said two or more keys occurs within said set window of time;

if said activation occurs within said set window of time, determining whether a keystroke conflict exists with said activation of said two or more keys;

if said activation of said two or more keys represent a chord keystroke, then generating a key represented by said chord keystroke and considering said activation as not being said keystroke conflict;

evaluating locations of said two or more keys on said keyboard as a factor to determine if said keystroke conflict exists, and if said keystroke conflict is determined to not have been produced then generating on said display characters for said two or more keys in order of activation of said two or more keys; and

if said keystroke conflict is determined to have been produced,

arbitrating between said two or more keys to select a key from said two or more keys by utilizing entries in a dictionary to automatically determine the key to be selected, said entries being related to each of said two or more keys combined with any previously entered keystrokes;

processing said selected key to generate on a display of said electronic device one character only, said one character being associated with said selected key; and

not processing the key or keys from said two or more keys not automatically selected,

wherein said set window of time is a fraction of a second.

2. The method of processing keystrokes as claimed in claim 1 , wherein said identifying said selected key comprises:

for each key of said two or more keys, building an alternative word using previously entered keystrokes;

selecting a likely word from all alternative words built using said two or more keys; and

selecting said selected key utilizing said likely word.

3. The method of processing keystrokes as claimed in claim 2 , wherein in said identifying said selected key, said selecting said likely word comprises:

examining records in a dictionary for any matching records for said all alternative words, each record of said records comprising a word segments and selection data;

selecting said likely word from said all alternative words after analyzing said any matching records,

wherein if said any matching records comprises two or more matching records, then assessing selection data in said two or more matching records to select said likely word from said alternative words.

4. The method of processing keystrokes as claimed in claim 3 , wherein after said generating said one character, if generation of said one character is corrected, then searching for an entry in said dictionary entries containing a word comprising said previously entered keystrokes and said different character, and if an entry is found, updating selection data associated with said entry to reflect the correction.

5. The method of processing keystrokes as claimed in claim 4 , wherein after said generating said one character, if generation of said one character is corrected, then changing said likely word to another word of said at least two alternative words.

6. The method of processing keystrokes as claimed in claim 3 , wherein said selection data comprises a ranking score.

7. The method of processing keystrokes as claimed in claim 3 , wherein said selection data comprises a frequency score.

8. The method of processing keystrokes as claimed in claim 3 , further comprising:

updating said records with revised selection data determined from usage data derived from text entered into said device.

9. The method of processing keystrokes as claimed in claim 1 , wherein:

said identifying said selected key comprises comparing activation characteristics of said two or more keys to identify said selected key.

10. The method of processing keystrokes as claimed in claim 9 , wherein said activation characteristics comprise times of activation of said two or more keys.

11. The method of processing keystrokes as claimed in claim 9 , wherein said activation characteristics comprise activation pressures of said two or more keys.

12. The method of processing keystrokes as claimed in claim 1 , wherein said identifying said selected key comprises:

identifying a highest ranking key of said two or more keys by evaluating rankings of said two or more keys; and

selecting said highest ranking key as said selected key.

13. The method of processing keystrokes as claimed in claim 1 , wherein:

said two or more keys are in a keypad having a reduced number of keys; and

said method further comprises disambiguating values for each of said two or more keys prior to said step of identifying a selected key from said two or more keys.

14. An electronic device comprising:

a keypad;

a display;

a microprocessor;

a keystroke activation module for detecting when two or more keys on said keypad are activated; and

an arbitrator for determining whether a keystroke conflict exists when said two or more keys have been activated within a set window of time, said arbitrator

determining if said activation of said two or more keys within said set window of time represent a chord keystroke and generating a key represented by said chord keystroke as said keystroke conflict is determined to have not been produced;

evaluating locations of said two or more keys on said keyboard as a factor to determine if said keystroke conflict exists, and if said keystroke conflict does not exist, then generating each of said two or more keys on said display in order or their activation; and

if said keystroke conflict exists, resolving said keystroke conflict by:

arbitrating between said two or more keys to select a key from said two or more keys by utilizing entries in a dictionary to automatically determine the key to be selected, said entries being related to each of said two or more keys combined with any previously entered keystrokes;

processing said selected key to generate on a display of said electronic device one character only, said one character being associated with said selected key; and

not processing the key or keys from said two or more keys not automatically selected;

wherein said set window of time is a fraction of a second.

15. The electronic device as claimed in claim 14 , said device further comprising:

a dictionary containing a plurality of records of word segments and associated selection data; and

a word building module building alternative words using each of said two or more keys and previously entered keys,

wherein said arbitrator evaluates said alternative words against entries in said plurality of records in said dictionary to identify a likely word comprising said selected key.

16. The electronic device as claimed in claim 15 , wherein after said generating said one character, if generation of said one character is corrected, then said device searches for an entry in said dictionary for a word comprising said previously entered keystrokes and said different character, and if an entry is found, said device updates a record of said plurality of records associated with said likely word if generation.

17. The electronic device as claimed in claim 16 , wherein said dictionary is periodically updated with new word segments and associated selection data for said plurality of records.

18. The electronic device as claimed in claim 15 , wherein said arbitrator utilizes activation time of said two or more keystrokes to determine whether said keystroke conflict exists.

19. The electronic device as claimed in claim 18 , wherein:

said two or more keys are in a keypad having a reduced number of keys; and

said arbitrator disambiguates values for each of said two or more keys prior to identifying said selected key from said two or more keys.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Apr 29, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 032784/0944 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2005
From: TYSOWSKI, PIOTR
To: RESEARCH IN MOTION LIMITED
Reel/Frame 017274/0989 →