Method and apparatus for character entry with a virtual keyboard
10 claims: 6 independent, 4 dependent
- 1A method for implementing a GUI keyboard (10) and a text buffer (12) of a display in an electronic device, comprising:providing a plurality of keys (31, 34) on the GUI keyboard (10), wherein each key corresponds to a character;receiving a key selection from a pointer (28) upon pointer-down that corresponds to a current location of the pointer (28);inserting a character in the text buffer (12) of the display that corresponds to the key selection to identify an active character to a user of the electronic device;as the pointer (28) changes its current location by moving across the plurality of keys (31, 34), receiving a subsequent key selection that corresponds to a subsequent current location of the pointer;replacing the character inserted in the text buffer (12) with a subsequent character that corresponds to the subsequent current location of the pointer, thus making the subsequent character the active character;and accepting a character that is active upon pointer-up as a text character.
- 6The method as recited in any preceding claim, wherein the receiving a key selection step comprises receiving a pair of Cartesian coordinates that is representative of the current location of a pointer (28), and wherein the receiving a subsequent key selection step as the pointer changes its current location comprises receiving a subsequent pair of Cartesian coordinates that is representative of the subsequent current location of the pointer.
- 7The method as recited in any preceding claim wherein the pointer is a stylus.
- 8The method as recited in any preceding claim, further comprising highlighting a key on the GUI keyboard that represents the location of the pointer and wherein the character that is active corresponds to the key that is highlighted.
- 9The method as recited in any preceding claim, further comprising advancing the active position within the text buffer (12) after an active character has been accepted as a text character.
- 10An electronic device arranged to carry out the method steps as recited in any preceding claim.
Independent claims6
31 paragraphs, as filed
Field of the Invention
0001The present invention relates to a method and apparatus for implementing a graphical user interface keyboard and a text buffer on electronic devices.
Background of the Invention
0002Many small hand-held devices that require data entry rely on a graphical user interface (GUI) keyboard. Users typically select the keys of the GUI keyboard using a pointer, such as a stylus or a pen. One difficulty with such an approach is that each key on the GUI keyboard is very small since the whole device itself is small. For such keyboards, positioning the pointer accurately on the desired key is difficult. Moreover, identifying the character selected is difficult because the pointer obscures the character identified on the key.
0003As shown in FIG. 1, one solution to prevent the user from selecting and entering an incorrect character into a text buffer is to highlight the selected key upon pointer-down (i.e., when the pointer first touches the GUI keyboard). If the highlighted key corresponds to the correct character, the pointer is lifted from the GUI keyboard (pointer-up) and the character that corresponds to the highlighted key is entered into the text buffer.
0004If, however, the highlighted key that was selected upon pointer-down does not correspond to the correct character, the user has to either i) enter the incorrect character into the text buffer and subsequently edit the character by attempting to re-position the pointer accurately on the key that corresponds to the correct character upon pointer-down; or ii) move the pointer beyond the highlighted key to prevent from entering the incorrect character into the text buffer, thus adding nothing to the text buffer.
0005A problem with this method is that it still requires the user to position the pointer accurately on the key that corresponds to the correct character upon pointer-down in order to enter the correct character into the text buffer. In this method, a character is only entered into the text buffer if the pointer is lifted from the key that was selected upon pointer-down.
0006Another solution to prevent the user from selecting and entering the incorrect character into the text buffer is to magnify the character that corresponds to the key selected by the pointer. In this process, once a key is selected, its corresponding character is magnified. Such a magnification allows a user to identify the character that corresponds to the key that was selected before the character is entered into the text buffer. If the character that is magnified is incorrect, the user can select another key by moving the pointer across the GUI keyboard to the correct character. After the correct character is magnified, however, the user is required to "double-tap" on its corresponding key in order to enter the correct character into the text buffer.
0007One problem with this method, however, is that since the device is small, the pointer may also cover the magnified character, thus making it difficult to identify the character that corresponds to the key that was selected even though the character is magnified. Another problem with this method is that even if the magnified character is identifiable, the user is required to "double-tap" on its corresponding key before the character is entered in the text buffer. Such a selection method still requires the user to position the pointer accurately on the key that corresponds to the correct character upon pointer-down.
0008Thus, a need exists for providing a method and apparatus that easily identifies an active character in an area on the GUI that is not obscured by the pointer, allows subsequent characters to become active after pointer-down and accepts a character as a text character without requiring the pointer to be positioned accurately on the key that corresponds to the accepted character upon pointer-down.
0009<patcit id="pcit0001" dnum="EP0844571A"><text>European patent application no. EP-A-0844571</text></patcit> discloses a text input device arranged such that when an input pen touches a key representing a letter, a pull-down menu appears with candidate words starting with the letter.
0010<patcit id="pcit0002" dnum="EP0880090A"><text>European patent application no. EP-A-0880090</text></patcit> is part of the state of the art by virtue of Articles 54(3) and 54(4) EPC. This European application discloses a mobile station with a touch sensitive display. A first location of a tactile input, e.g. an users fingertip, is detected and the displayed keys in the vicinity of the first location are magnified to occupy a large display area. When a user lifts his/her fingertip from the display, the key corresponding to the last location of the tactile input is reported and the symbol associated with that last location is displayed.
0011<patcit id="pcit0003" dnum="US5579037A"><text>US patent no. 5,579,037</text></patcit> relates to a touch sensitive screen of a computer in which objects can be selected for display using a pen-like pointing device. Information displayed in a predetermined area of the screen containing the position to which the pen-like pointing device points is enlarged when the distance between the point of the pointing device is less than a predetermined distance.
Brief Description of the Drawings
0012A preferred embodiment of the present invention is now described, by way of example only, with reference to the accompanying drawings in which: <ul id="ul0001" list-style="none" compact="compact"><li>FIG. 1 (prior art) illustrates a state diagram of a method known in the art;</li><li>FIG. 2 illustrates a structural block diagram according to the preferred embodiment of the present invention;</li><li>FIG. 3 illustrates a screen shot where a first key is highlighted and its corresponding character is active and inserted in an active position within a text buffer according to the preferred embodiment of the present invention;</li><li>FIG. 4 illustrates a screen shot where a second key is highlighted and its corresponding character becomes the active character inserted in the active position within the text buffer according to the preferred embodiment of the present invention;</li><li>FIG. 5 illustrates a state diagram according to the preferred embodiment of the present invention;</li><li>FIG. 6 illustrates a screen shot showing a first configuration according to an alternative embodiment of the present invention;</li><li>FIG. 7 illustrates a screen shot showing a second configuration according to the alternative embodiment of the present invention; and</li><li>FIG. 8 illustrates a screen shot showing a third configuration according to the alternative embodiment of the present invention.</li></ul>
Detailed Description of the Preferred Embodiment
0013A method and apparatus for implementing a graphical user interface (hereinafter referred to as "GUI") keyboard on an electronic device, wherein the GUI keyboard comprises a plurality of keys, is described herein. The preferred embodiment of the present invention easily identifies an active character in an area on the GUI that is not obscured by the pointer, allows a subsequent character to become active in place of the previous active character after pointer-down and accepts the character that is active at the time of pointer-up as a text character without requiring the pointer to be positioned accurately on the key that corresponds to the accepted character upon pointer-down. It is important to note that a character "is active" or "becomes active" when its corresponding key is selected. Thus, the active character changes as the pointer selects subsequent characters prior to pointer-up. It should also be noted that the pointer is either a stylus, a finger, a pen or any other object that can be used to select a key on the GUI keyboard.
0014The structure of the electronic device according to the preferred embodiment of the present invention is illustrated in FIG. 2. The GUI of the electronic device comprises a GUI keyboard 10 and a text buffer 12. It should be noted that the GUI keyboard 10 can comprise any type of characters (e.g., letters, numbers, special characters, Chinese characters, etc.) and/or display any type of configuration thereof (e.g., the characters displayed in a particular order such as in a QWERTY keyboard).
0015The internal circuitry of the electronic device comprises a touch sensitive surface 14, a display unit 16 (e.g., a liquid crystal display), an input interface 18, a processing unit 20, a keyboard graphic module 22 and a display driver 24. The touch sensitive surface 14 is overlaid on top of the display unit 16 to create a touch screen 26. Preferably, the touch sensitive surface 14 is a resistive grid, but could alternatively be an inductive grid, capacitance grid or any other touch sensitive surface known in the art.
0016The input interface 18 is coupled to the touch sensitive surface 14. The input interface 18 translates pressure on the touch sensitive surface 14 into Cartesian coordinates (hereinafter referred to as "coordinates") and transmits the coordinates to the processing unit 20. The coordinates identify the current location of the pointer 28. Thus, as the pointer 28 exerts pressure on the touch sensitive surface 14 by moving across the GUI keyboard 10, the input interface 18 generates new coordinates in order to keep current of the location of the pointer 28.
0017The processing unit 20 is coupled to the input interface 18. Upon receiving the coordinates from the input interface the processing unit 20 is programmed by a computer-readable memory device 30 having instructions and data stored therein which, when loaded into the processing unit 20, cause the processing unit 20, as shown in FIGS. 3 and 4, to i) highlight a key 31 that represents the current location of the pointer 28; ii) select and insert a character into an active position 32 within the text buffer 12 that corresponds to the key 31 highlighted to identify an active character; iii) replace the active character, as the pointer 28 moves across the GUI keyboard 10, with a subsequent character that corresponds to the current location of the pointer 28 prior to pointer-up; iv) accept the active character as a text character upon pointer-up; and v) advance the active position 32 upon entry of the text character. It is important to note that as the pointer 28 moves across the plurality of keys on the GUI keyboard 10 prior to pointer-up, the active character inserted into the active position 32 within the text buffer 12 is replaced with a subsequent character (which is now the active character) that corresponds to the current location of the pointer 28.
0018Referring back to FIG. 2, the keyboard graphics module 22 is coupled to the processing unit 20. The keyboard graphics module 22 communicates to the processing unit 20 the type of characters associated with the GUI keyboard 10 (e.g., special characters, selected characters, Chinese characters, etc.) and/or their configuration displayed on the touch screen 26.
0019The display driver 24 couples the processing unit 20 to the display unit 16. The output from the processing unit 20 is transmitted to the display driver 24 which turns on or off pixels within the display unit 16.
0020In operation, as shown in FIG. 3, a character is active and inserted into the active position 32 within the text buffer 12 by selecting a key on the GUI keyboard 10 upon pointer-down. For example, when the key that corresponds to the character "I" is selected (e.g., key 31), the character "I" becomes the active character and is inserted into the active position 32 within the text buffer 12. Inserting the active character, in this case the character "I", in the active position 32 within the text buffer 24 allows the user to easily identify the active character that corresponds to the key 31 selected without solely relying on identifying the active character behind/under the pointer 28. When the pointer 28 is lifted from a key (e.g., key 31), the character that is active (e.g., the character "l") is accepted as a text character and the active position advances upon entry of the text character and waits for the next active character selected and inserted upon the next pointer-down.
0021Moreover, the present invention resolves the difficulty of accurately selecting a key that corresponds to the desired character upon pointer-down. For instance, as shown in FIG. 4, suppose that the user wants to make the character "o" a text character, but instead selects the key that corresponds to the character "I" (i.e., key 31) upon pointer-down (since the key corresponding to the character "o" (key 34) and the key corresponding to the character "I" (key 31) are in close proximity to one another on the GUI keyboard 10). As a result, the character "I" is active and inserted in the active position of the text buffer. The present invention allows the user to make the character "o" active by sliding the pointer 28 from key 31 to key 34. If the character "o" remains active (i.e., the pointer 28 has not moved outside the boundary of key 34) when the pointer 28 is lifted from the GUI keyboard 10, the character "o" is accepted as a text character, regardless of the fact that the character "I" was the active character upon pointer-down.
0022A further example is illustrated in FIG. 5 using a state diagram. In operation, a user enters a keyboard mode (See state 36) and selects a key upon pointer-down. The selected key is highlighted and its corresponding character becomes active (See state 38). As the user slides her pointer across the GUI keyboard, the processing unit 20 monitors the movement of the pointer 28 by selecting (and preferably highlighting) the key corresponding to the current location of the pointer 28 and making active its corresponding character. Thus, the active character inserted into the active position of the text buffer is updated with a subsequent character that corresponds to the key currently selected by the pointer. Whichever character is active at the time the pointer is lifted from the GUI keyboard, that character is accepted as a text character (See state 40). It is important to note that if the pointer is moved outside of the GUI keyboard, the active character is de-selected and the active position in the text buffer is left blank (i.e., there is no active character). If the pointer is lifted from the GUI keyboard when the active position in the text buffer is blank, nothing is accepted as a text character and the active position in the text buffer does not advance.
0023As described herein thus far, the preferred embodiment of the present invention identifies the active character in an area that is not obscured by the pointer 28. The preferred embodiment of the present invention also updates the active character with a subsequent character as the pointer 28 changes its location on the GUI keyboard 10. Moreover, the preferred embodiment of the present invention accepts the character that is active upon pointer-up as a text character regardless of the character that was selected and inserted into the active position within the text buffer upon pointer-down. In addition to that already described in the preferred embodiment, the present invention further provides a zooming/pop-up GUI keypad in relation with the GUI keyboard to further assist in identifying, selecting and accepting the desired character as a text character, which is the focus of the remainder of the discussion.
0024As shown in FIG. 6, when a key is selected on the GUI keyboard 10, a new GUI keypad 42 pops up according to an alternative embodiment of the present invention. This new pop-up GUI keypad 42 has fewer keys than the GUI keyboard 10, but the keys on the pop-up GUI keypad 42 are larger than the keys on the GUI keyboard 10. Preferably, the characters that correspond to the keys on the pop-up GUI keypad 42 depend on which key is selected (or which character is active) upon pointer-down or subsequently moved to prior to pointer-up. Further, the number of keys and the arrangement of the pop-up GUI keypad 42 are user determinable.
0025For example, as shown in FIG. 6, if the character "g" is active, the pop-up GUI keypad 42 may have nine keys arranged in a 3X3 grid. The first row of the pop-up GUI keypad 42 has the keys that correspond to characters "r", "t" and "y". The second row of the pop-up GUI keypad 42 has the keys that correspond to characters "f", "g" and "h". The third row of the pop-up GUI keypad 42 has the keys that correspond to characters "c", "v" and "b". In the same respect, if the character "p" is active, the pop-up GUI keypad 42 may have six keys arranged in 2x3 grid as shown in FIG. 7. If the character "1" is active, the pop-up GUI keypad 42 may have only four keys arranged in 2x2 grid as shown in FIG. 8.
0026It is desirable that the pop-up GUI keypad 42 displays the selected key (i.e., the key that corresponds to the active character) and a predetermined number of keys that are in the vicinity of the selected key to allow the user to easily select a neighboring key (that is magnified) to change the active character, if necessary. Preferably, the selected key is highlighted in the pop-up GUI keypad 42. It should be noted that a key can be selected from either the GUI keyboard 10 or the pop-up GUI keypad 42. Thus, since the keys on the pop-up GUI keypad 42 are relatively large in relation to the keys on the GUI keyboard 10, the active character is highlighted in the pop-up GUI keypad 42 and the active character is inserted in the active position of the text buffer, the user has good visual feedback about the identity of the active character before the character is accepted as a text character.
0027While the invention has been described in conjunction with a specific embodiment thereof, additional advantages and modifications will readily occur to those skilled in the art. The invention, in its broader aspects, is therefore not limited to the specific details, representative apparatus and illustrative examples shown and described. Various alterations, modifications and variations will be apparent to those skilled in the art in light of the foregoing description. Thus, it should be understood that the invention is not limited by the foregoing description, but embraces all such alterations, modifications and variations in accordance with the scope of the appended claims.
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0844571A | Cites | European Patent Office (EPO) | – |
| EP0880090A | Cites | European Patent Office (EPO) | – |
| US5579037A | Cites | United States of America | – |
| None | Non-patent | – | Examiner |
| PATENT ABSTRACTS OF JAPAN vol. 1995, no. 10, 30 November 1995 (1995-11-30) & JP 07 182097 A (TAMURA ELECTRIC WORKS LTD), 21 July 1995 (1995-07-21) | Non-patent | – | – |
| PATENT ABSTRACTS OF JAPAN vol. 1997, no. 09, 30 September 1997 (1997-09-30) & JP 09 128148 A (KATO YOSHINARI;KATO SHUNJI), 16 May 1997 (1997-05-16) | Non-patent | – | – |
8 members in 4 offices; this record represents the family
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 133751 | United States of America | – | |
| 13375198 | United States of America | A | |
| 13375198 | United States of America | A | |
| 133751 | – | – | – |
| US19980133751 | – | – | – |
Members8
| Document | Office | Kind | |
|---|---|---|---|
| EP0980039A2 | European Patent Office (EPO) | A2 | |
| CN1255663A | China | A | |
| US6169538B1 | United States of America | B1 | |
| EP0980039A3 | European Patent Office (EPO) | A3 | |
| CN1122208C | China | C | |
| EP0980039B1This record | European Patent Office (EPO) | B1 | |
| DE69937592D1 | Germany | D1 | |
| DE69937592T2 | Germany | T2 |
41 legal events, as 5 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Opt-out of the competence of the unified patent court (upc) registeredP01 | P01 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Change of name or company nameCD | CD | FR | |
| Transmission of propertyTP | TP | FR | |
| Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)REGISTERED BETWEEN 20170831 AND 20170906732E | 732E | GB | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Fee paymentPLFP | PLFP | FR | |
| Transmission of propertyTP | TP | FR | |
| Change of applicant/patenteeR081 | R081 | DE | |
| Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)REGISTERED BETWEEN 20110127 AND 20110202732E | 732E | GB | |
| No opposition filed against granted patent, or epo opposition proceedings concluded without decisionGrantedR097 | R097 | DE | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Fr: translation filedET | ET | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Standard patents granted in hong kongGrantedGR | GR | HK | |
| Dpma publication of mentioned ep patent grantGrantedR096 | R096 | DE | |
| Corresponds to:REF | REF | EP | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Designation fees paidAKX | AKX | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAL;LT;LV;MK;RO;SIAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0980039
- Publication, DOCDB
- 0980039
- Publication, EPODOC
- EP0980039
- Application
- 99115815
- Application, DOCDB
- 99115815
- Application, EPODOC
- EP19990115815
Titles3
- German
- Verfahren und Vorrichtung zur Zeicheneingabe mit einer virtuellen Tastatur
- English
- Method and apparatus for character entry with a virtual keyboard
- French
- Procédé et appareil pour l'entrée de caractères avec un clavier virtuel
Classification
- CPC, 3
- G06F3/0488
- G06F2203/04805
- G06F3/0233
- IPC, 2
- G06F3 033
- G06F3 048
Designated states1
- Contracting states, 1
- Italy
