<<

||||IHHHHHHIII USOO.5128672A United States Patent (19) 11 Patent Number: 5,128,672 Kaehler 45 Date of Patent: Jul. 7, 1992

(54. DYNAMIC PREDICTIVE KEYBOARD Primary Examiner-Donald . Yusko Assistant Examiner-Michael Krakovsky (75) Inventor: Edwin . Kaehler, Palo Alto, Calif. Attorney, Agent, or Firm-Timothy Casey 73 Assignee: Apple Computer, Inc., Cupertino, 57 ABSTRACT Calif. A keyboard having the ability to predictively display 21 Appl. No.: 606,014 different characters in association with its various keys within a variety of predefined character set layouts, 22 Filed: Oct. 30, 1990 based upon either the character preceeding an insertion 51) Int. Cl...... H03M 11/OO point in a corresponding text field on a display or the 52 U.. Cl...... 341/23: 340/711; last character entered from the keyboard is disclosed. 340/712 Although each key of the keyboard is capable of dis 58 Field of Search ...... 341/23, 28; 400/91; playing numerous different characters, each key repre 340/712, 711 sents only one character at a time and each character is displayed at only one key location. The user can also (56) References Cited manually change character set layouts. When a user U.S. PATENT DOCUMENTS selects a particular key or selects an insertion point 4,280,121 7/1981 Crask ...... 340/712 within the text field, all keys are updated to display a 4,333,097 6/1982 Buric et al...... 340/71 character set layout that corresponds to the set of char 4,633,227 12/1986 Menn ...... 340/71 acters from which the user would be most likely to want 4,803,463 2/1989 Sado ...... 341/23 to select a character from next, based upon the fre 4,823,311 4/1989 Hunter ...... 340A712 quency of that particular character combination being 4,853,888 8/1989 Lata ...... 34/23 used in either a particular language or application. The 4,885,580 12/1989 Noto et al...... 340/71 organization of the characters within each character set layout is also based on the frequency of those characters FOREIGN PATENT DOCUMENTS being used in either a particular language or application. O099536 6/1984 Japan ...... 341/23 The keyboard can be implemented to operate as either a touch-sensitive display or as a collection of interactive OTHER PUBLICATIONS images on any of a number of different displays. The J. Becker, Aug. 1983, "User Friendy Design for Japa keyboard can also be used in conjunction with the spe nese Typing', Xerox Office Systems Division Report cial function keys or buttons that are common to con No. OSD T8301, p. 15. puter system for performing function-character com -. A. Hamilton and A. A. Schwartz, Memory Arrange mand operations. ment Representing a Keyboard Having Both Fixed and Variable Characters, Feb. 1979. 59 Claims, 10 Drawing Sheets

D1

U.S. Patent July 7, 1992 Sheet 1 of 10 5,128,672

H

36

MEMORY

TEXT DISPLAY SCREEN U.S. Patent July 7, 1992 Sheet 2 of 10 5,128,672

HA

U.S. Patent July 7, 1992 Sheet 3 of 10 5,128,672

H

U.S. Patent July 7, 1992 Sheet 4 of 10 5,128,672

FH -

U.S. Patent July 7, 1992 Sheet 5 of 10 5,128,672

H -

U.S. Patent July 7, 1992 Sheet 6 of 10 5,128,672

U.S. Patent July 7, 1992 Sheet 7 of 10 5,128,672

E H -

D11

U.S. Patent July 7, 1992 Sheet 8 of 10 5,128,672

4 -

DD USER SELECT GO TO BLOCK A KEY 2 9

SET CHAR BASED - ON D!SPLAY WAS THE CONTROL SEND CONTROL POSITON BUTTON DOWN WHEN CHAR TO CONTROL SELECTED BY KEY WAS SELECTED 2 HANDLER USER (TABLE 1)

WAS THE OPTION SEND OPTION BUTTON DOWN WHEN CHAR TO OPTION KEY WAS SELECTED 2 HANDLER

S SELECTED DSPLAY AFTER KEY THE SHIFT CAPLOCKED SHIFT LAYOUT KEY 2 TRUE 2 (TABLE 2)

S SELECTED DISPLAY AFTER S CAPLOCK KEY THE FLP FLP LAYOUT TRUE 2 KEY 2 (TABLE 3)

DISPLAY CAP GO TO BLOCK LOCKED LAYOUT 86 (TABLE 4 ) U.S. Patent July 7, 1992 Sheet 9 of 10 5,128,672

86 88 9 O 92

S CHAR SET DELETE PREV. SET INSERT S THERE TEXT BEFORE THE TO DELETE 2 CHAR CHARO NL NSERTON P

SET CHAR TO

SET CHAR TO THE CHARACTER SPACE BEFORE THE

NSERTON PT

GO TO BLOCK O 6

SET CAPLOCKED SET CAPLOCKED TO FALSE TO TRUE

S CHAR SET S CAPLOCKED TO CAPS TRUE 2 LOCK ?

SET INSERT CHAR TO CHAR

GO TO BLOCK O6 U.S. Patent July 7, 1992 Sheet 10 of 10 5,128,672

O6

S CHAR SET TO SPACE, RETURN, SINGLE-QUOTE, DOUBLE-QUOTE, OR TAB, OR IN THE SET: AEIOU o eioup ( ) "it 2: O8

S CAPLOCKED TRUE 2

S CHAR THE SET:

"O 123456789 + -/ >k = "? O

D!SPLAY D6 DISPLAY D5 LAYOUT LAYOUT

1S CA PLOCKED TRUE 2 DISPLAY D11 LAYOUT DSPLAY D2 LAYOUT DISPLAY D1

LAYOUT

26

IS INSERTCHAR SET TO NL 2

DISPLAY

INSERTCHAR INTEXT FELD

GO TO BLOCK 5O 5,128,672 1. 2 distinctive characters could be typed using the five DYNAMIC PREDCTIVE KEYBOARD keys. U.S. Pat. No. 4,885,580, issued to Noto, et. al., de FIELD OF THE INVENTION scribes a multi-function key input device having a fixed display section and a variable display section. The vari The present invention relates generally to keyboards able display section displays differing information, and touchpads, and more particularly to a keyboard for under the control of a central processing unit, for each predictively displaying different character set layouts of a number of different operating modes, which may be based upon the last character entered by the user from specified by selecting one or more of the fixed display the keyboard or an insertion point entered in a corre O keys. sponding text field on a display. There have also been numerous attempts to combine a standard key entry system with a display, so as to BRIEF DESCRIPTION OF PRIOR ART further reduce the amount of space required by the As microprocessor based devices have been reduced keyboard and to make the keyboard more dynamic. For in physical size, a great demand has arisen for keyboards 15 example, a number of touch-sensitive displays, having and/or touchpads ("keyboards') which can be readily dynamically interchangeable character set layouts, used with such devices, especially for the purpose of have been produced for use as keyboards. Although the standard English text entry. Several schemes exist for character set layouts of such displays may be dynami encoding various alphabets on small keyboards for use cally interchanges, the different character set layouts with such devices, but these keyboards have not com 20 are only exchanged in response to specific user initiated pletely satisfied this demand. For example, a number of commands. handheld electronic planner/calender products, pro A different type of dynamic keyboard, aimed at re duced by various Japanese manufactures, utilize differ moving the need for finger respositioning, as required ent types of alphabetized keyboards for entering text. on standard keyboards, was forwarded in U.S. Pat. No. Although some of these keyboards follow the English 25 4,333,097, issued to Buric, et. al. This patent describes a character set layout popularized by QWERTY style 10-key keyboard having blank keys for use in combina keyboards ("QWERTY' stands for the organization of tion with one or more replicas of the 10 keys displayed six letters on the second row of the keyboard), the size on a CRT. The characters and organization of charac of the keys and the spacing between keys have been ters displayed within each replica row was determined reduced to the point that the keyboards can no longer 30 by the relative frequency of usage of each character in be used for rapid text entry. Users of such products are common English and the strength of the operator's forced to use one or two fingers at a time to type text, finger required to type each key in a row. To shift be which is typically referred to as the "hunt and pack' tween the fixed-character rows on the display, the oper method of typing. The QWERTY layout has been used ator was required to push either an upshift or downshift 35 button which would when cause the active replica row on most typewriters and computer keyboards and has to shift up or down accordingly on the display. This become the generally accepted standard for touch typ approach was reported to require about 1.5 keystrokes ists. Small QWERTY layout keyboards are unaccept per character typed. a able because they force the use of the "hunt and peck' Another type of dynamic keyboard is described in an method of typing, which is inefficient and uncomfort article by Joe Becker, entitled "User Friendly Design able to touch typists. Attempts to modify the for Japanese Typing', Xerox Office Systems Division QWERTY layout have also met with little success, Report No. OSD T8301, August 1983. The Becker either because of the reduced key spacing or size, the article, at page 15, describes a virtual keyboard, like that bizarre arrangement of the characters in the layout, or of Buric, which was designed to reduce the number of the keystroke methodologyy employed. 45 hardware keys required to type a particular language. Mitsubishi Corp. of Japan produces a cellular phone The software system which operated this virtual key with a touchpad having three separate letters assigned board was implemented in a PC-based system named to each of the keys, i.., the key for the digit 2 has the Fuji Xerox 8012-J Star. The keyboard was devel "ABC" as its letters. To select a letter, the user must oped to allow the average Japanese person to learn and press a digit between one to three times, depending on 50 use a PC for everyday typing. Such a keyboard was the letter to be selected. This technique requires an required because the Japanese script uses up to 6,000 average of two keystrokes to be performed per letter. Chinese ideograms (kanji), 170 Japanese syllabic char A Federal Aviation Agency telephone interactive acters (kana), various Roman letters, and Arabic nunner information system uses a touchpad that requires the als. user to first press the digit for a group of three letters, 55 To operate the keyboard, a user would type a Japa then indicate the letter to be selected from within the nese word, such as "shiyousareteiru', from a mechani group by pressing a key in one of the three columns of cal QWERTY-style keyboard, and then press a lookup keys, i.e., “1” for the first letter, '2' for the second key. The PC would then analyze the typed word and letter, or "3" for the third letter. This scheme requires display several different Kanji characters correspond that at least two keystrokes be performed per letter. 60 ing to the phonetic word, such as the homophones In the mid-1960's, SRI International produced a "used", "tried out", "bred", eliminated", and "put to chord keyset, having five piano like keys that could be personal use", on a displayed replica of the mechanical pressed simultaneously to produce different characters. keyboard. The keyboard replica did not, however, al Each stroke of the keyset was a combination of the five ways exactly resemble the mechanical keyboard. For keys that stood for that one letter. The user of the key 65 example, when a long word was to be displayed, the set was required to learn a completely arbitrary set of replica would combine a number of keys in a row into chords for the letters, and was unable to look at the keys one long key so that the homophone could be displayed if a combination for a letter was forgotten. Only 32 in an uninterrupted manner. To select the appropriate 5,128,672 3 4. group of Kanji characters, the user would then press any of the keys assigned to a particular homophone. If DETAILED DESCRIPTION OF PREFERRED more than eight homophones existed for the typed EMBODIMENT word, the user would need to press the lookup key A dynamic predictive keyboard, as used in combina again to have those words displayed. Frequency tables 5 tion with a handheld display device, and for use in such were implemented in this system so that the most fre devices as calculators, computers, appointment books, inventory recorders, telephones and the like, is herein quently used homophones were always shown first. In disclosed. The keyboard and the display device, gener addition, under this system, kanji words would always ally shown as 10, are illustrated in FIG. 1. The display appear on the same keys, independent of their reading in 10 device is comprised of a text display screen 12, a charac a given context, thereby facilitating touch typing. Al ter set display screen 14, and various well known elec though Buric and Becker describe dynamic virtual key trical components required to operate those displays boards, neither describe or suggest a reduced key dy contained within the housing 16. Also connected to the namic keyboard capable of predicting a user's next housing 16 are shift buttons 18, on either side of the move and providing a character set layout which corre 5 housing, a control button 20, and an option button 22. sponds to that prediction. The keyboard of the present invention is displayed within the character set display screen 14 and includes SUMMARY OF THE INVENTION a number of dynamic key locations 24 which can be A preferred embodiment of the present invention variously controlled by the display device 10 to display comprises a keyboard having the ability to predictively 20 different key images or characters within the display display different key images in association with its vari screen space allocated to each key. If desired, a number ous keys, within a variety of predefined sets of key of the keys 24 can be set to display particular key images images, based upon either the character preceding an until reset. For example, as shown in FIG. 1, key 26 has insertion point entered in a corresponding text field on been set to display the English word "Flip" and key 28 25 has been set to display the abbreviation "Del" for the a display or the last key image entered from the key English word "Delete". board. Although each key of the keyboard is capable of It should be noted that although the keyboard and displaying numerous different characters, each key rep display device 10 are shown as an integrated handheld, resents only one character at a time and each character touch sensitive unit throughout this description of the is displayed at only one key. The user can also manually 30 preferred embodiment, a keyboard having the basic change character set layouts. When a user selects a elements of the present invention could also be dis particular key or selects an insertion point within the played on any standard type of display, such as CRT or text field, all keys are updated to display a character set LCD, or incorporated into any environment where it layout that corresponds to the set of characters from was possible to dynamically change the character set which the user would be most likely to select a charac 35 layout corresponding to the keys. Although a separate ter from next, based upon the frequency of the particu display area should typically be reserved for the key lar character combination being used in either a particu board, the keyboard could be shown in the same area as lar language or application. The organization of the the text when necessary. When the keyboard is utilized characters within each character set layout is also based on the screen of a standard display using replicas of the on the frequency of those characters being used in ei keys and/or interative software-based images, the keys ther a particular language or application. The keyboard and buttons can be activated by a pointing device or cursor control device, such as a mouse. For example, can be implemented to operate as either a touch-sensi control button image 20 could be selected by simply tive display or as a collection of interactive images on positioning the cursor over the button and depressing any of a number of different displays. The keyboard can 45 the selection button of the mouse to select the contrl also be used in conjunction with the special function function. Alternatively, a set of hardware key switches keys or buttons that are common to computer system could also be used. In one embodiment, individual dis for performing function-character command opera play elements would be positioned within each switch tions. for displaying the different key images. In a second SO embodiment, the switches would be left blank, but the BRIEF DESCRIPTION OF THE DRAWING hardware keyboard would be operated in association FIG. 1 is a representation of a dynamic predictive with a display upon which replicas of the keys and the keyboard, in combination with a hand-held display various key images could be projected. device, illustrating a partially blank character set dis Regardless of the manner in which the present inven play screen and a blank text display screen, in accor 55 tion is implemented, the basic operation of the keyboard dance with the preferred embodiment of the present system and the software and electronics which allow it invention; to operate, can be described with reference to the block FIG. 2 is a block diagram of a computer system for diagram of FIG. 2. The character set display screen 30 use with the dynamic predictive keyboard of the pres displays sets of the key images (character set layouts) that were selected to be displayed by the central pro ent invention; cessing unit (CPU) 32 and acts as an interface between FIGS.3a through 31 are representations of the differ the user and the keyboard system. In the preferred em ent character set layouts which can be displayed in bodiment, the display device screens 30 and 40 are com accordance with a preferred embodiment of the present posed of touch sensitive overlay screens in combination invention; and 65 with display units, the operations of which are well FIGS. 4, 5 and 6 illustrate a method for implementing known to persons of ordinary skill in the computer arts. the dynamic predictive keyboard of the preferred em When a user selects a particular key or button from the bodiment of the present invention. character set display screen 30 or selects an insertion 5,128,672 5 6 point from within the text field of the text display screen the preferred embodiment of the present invention, as 40, a select signal corresponding to the selected charac implemented in English, one particular character set ter, function key or button, or the character preceding layout is displayed after the user types a consonant and the insertion point, is output to the CPU 32 for process another is displayed after the user types a vowel. Char ing. If the user selected a particular character to be 5 acter set layouts could also be based on exactly which displayed or a particular insertion point, the CPU 32 letter was typed last, which would yield some twenty would analyze the select signal, determine (predict) the six or more character set layouts. The order of these next character set layout to be displayed based upon layouts can either be based on statistics relating to the that select signal (layouts are stored in memory 36), particular language being used, which is further ex display the next character set layout in the character set 10 plained below, or on specific applications running on display screen 30, and display the character correspond the particular machine with which the keyboard is ing to the select signal in the text display screen 40. being used. Character definitions and character set layouts are By typically displaying each character at only one drawn from memory 36 when appropriate. As previ key location, a user can gradually learn where each of ously stated, the designations for display screen 30 and 15 the characters should appear, thereby aiding in the display screen 40 could easily correspond to the same development of touch typing with the keyboard. This is display screen if desired. also true because each specific sequence of letters al With reference now to FIGS. 3a through 31, repre ways has the same sequence of keystrokes. For example, sentations of the different character set layouts D1 the word "computer" may always be typed"-o--Flip through D12, which are shown in these figures as they 20 p-u--e-', which allows the user to consciously or sub would be displayed within the character set display consciously learn to type sequences of keystrokes for screen 30 in accordance with the preferred embodiment words, as do touch typists. The word "Flip' refers to of the present invention, are shown. As explained above the Flip key 26 of FIG. 1, which can be selected by the with reference to the prior art, the standard English user to cause the keyboard to manually change charac language keyboard for typing is the QWERTY key- 25 terset layouts. In the example, the user knew that a "p' board. The QWERTY keyboard has a total of forty would not automatically appear after the "m' was nine keys, including Shift and Return (or Enter) charac typed, so that user pressed the Flip key to manually ter keys, but not including Tab, Caps Lock, or Delete cause a character set layout having the "p' character to character keys, and not including any of the other char appear. The only letter that was not predicted in the acter keys which are commonly used on computer key- 30 example was the letter "p', hence, the Flip key only had boards, such as Control, Option, Function 1 through 15, to be pressed once. etc. These forty nine keys, together with the shift key, The layout of the character sets and organization of allow users to type all 26 letters of the English language, the layouts for the preferred embodiment of the present in both upper and lower case, the 10 digits of our stan invention were determined using a statistical analysis. dard numbering system, the 32 punctuation marks and 35 The purpose of this analysis was to calculate the fre symbols most commonly used in English, and Space, quency of various letter combinations in the English , Return, and Tab. language so as to derive character set layouts which An object of the present invention is to reduce the would represent the most likely characters to be used. A number of keys required on a keyboard, thereby reduc database of standard text was analyzed to determine ing its size, without significantly increasing the number 40 which characters were most commonly used amongst of keystrokes (typed keys) required to type all of the all of the characters of a QWERTY keyboard. The characters of the QWERTY keyboard. The present most commonly occurring characters were then ana invention meets this objective by providing a keyboard lyzed using the same database to determine which char having a minimal number of keys while providing all of acters were most likely to follow each of the most con the characters of a QWERTY keyboard and minimizing 45 monly occurring characters. This same analysis format the number of keystrokes to type the characters of the was then repeatedly used to determine the most com QWERTY keyboard. In the present invention, unlike a mon characters following different sets of characters, standard fixed keyboard, some if not all of the keys are vowels, consonants, etc., until the character sets D1 dynamic, in that they have the ability to display differ through D12 of the preferred embodiment were de ent characters while the keyboard is in use. Hence, each 50 rived. Through careful selection of the character sets to key may represent several letters, digits, or symbols. display after each keystroke, the number of Flips or Although different arrangement are quite possible, each switches required to produce a desired character can be key typically only represents a single character at a time kept low. For example, out of a sample of 130,880 char and each character is typically only displayed at one acters, it was determined that only 18,800 flips, or key location. In addition, the user has the ability to 55 14.36% extra keystrokes, were required to enter the text manually cause the set of characters being displayed to using the character set layouts of the preferred embodi change, such as by selecting either the Shift, Flip or ment. Hence, for typical English text or numeric input, Delete characters, which are fixed characters further fewer than 20% of the user's keystrokes would be Flips, described below, or to predictively change the charac resulting in fewer than 1.2 keystrokes per letter typed. ter set layout by simply selecting a character to be 60 This same analysis can equally be applied to different typed. languages, different usages within a particular lan When a user selects a key, all of the keys are updated guagek, or other particular applications, so as to derive to display the set of characters which would most likely character set layouts which provide the greatest effi be used by the user to type another character. The ciency (the least number of keystrokes per character). choice of what character set layout to display next is 65 Hence, because the type of text being typed may cause based on the frequency of character combinations typi the most commonly required keystrokes to change, the cally used by the machine or the particular application character set layouts of FIGS. 3a-3l are only presently with which the keyboard is being used. For example, in believed to be the best mode of practicing the present 5,128,672 7 8 invention with respect to the English language as used screen 14 so that layout D1 is the default layout. The at this time. It is impossible to say whether these charac basic rules for determining which of the character set ter set layouts represent the optimum arrangement of layouts are to be displayed after a keystroke are as fol characters possible in every instance or will continue to lows: do so in the future. For example, in the above men (1) After the user types any vowel, Space, Return, tioned sample, the largest contribution to the number of Tab, Single Quote, Double Quote, ")” or "(', then flips required was caused by typing a "p' after a space, character set layout D5 is to be displayed. which accounted for 583 flips. Hence, in some in (2) After the user types any character in the set stances, it may be necessary to switch one or more of "0123456789---/* ='', then character set layout the characters on the character set layout D1, which 10 D11 is to be displayed. forms the first layout displayed, with different charac (3) After the user types any remaining character, then ters, such as a "p', so as to reduce the number of key character et layout D1 is to be displayed. strokes required to reach that particular character. It is Additional rules, which will be explained below with therefore highly desirable to provide a user with the reference to Tables 2,3 and 4, apply after the user types ability to individually select the composition and order 15 a Shift key 18, a Flip key 44, or the "Caps Lock' key 46. of character set layouts. With reference now to FIGS. 4 through 6, the opera The composition and order of character set layouts tion of the keyboard in association with the display may be selected in many different manners. Some users device 10, or any dynamic predictive keyboard, is de may wish to establish character set layouts in their own scribed. FIG. 4 illustrates a first portion of a method for particular fashion, while others may wish to simply use 20 implementing the dynamic predictive keyboard in ac an initial default layout which can be subsequently mod cordance with the preferred embodiment of the present ified according to various feedback data relating to invention, and in particular with respect to a method for previously selected key images, or actions performed by handling select signals corresponding to functional the keyboard or controlled device as a result of key icons representing Control and Option commands and image selections. For example, a processor performing 25 Shift and Flip key selections. When the display device the predictive operations of the keyboard could be pro 10 is activated, the electronics system associated with grammed to suggest different character set layouts after the device, as generally described in FIG. 2, initially a user had used the keyboard while set in a default mode starts off by waiting, block 50, for the user to either over a first period. select a character key 24 or select an insertion point In the character set layouts of the preferred embodi 30 within the text field of the text display screen. Upon ment, illustrated in FIGS. 3a-3l, three particularly im receiving a select signal, the system first asks whether portant keys, the "Delete" key 28, the "Return" key 42 that signal was generated as a result of the user selecting and the "Flip' key 44, were added as fixed characters one of the keys 24 from within the display screen 30, within each of the twelve character sets. The "Shift' block 52. If the user did select a key, the row and col key could also be added as fixed character to these 35 umn of the display corresponding to that key, and there character sets, rather than as the button depicted in fore its corresponding character or functional icon, are FIGS. 1 and 3, if a particular embodiment did not sup reported to the CPU as the select signal. The CPU then port buttons. The Flip key, as briefly described above, sets a variable named "CHAR' based on the reported provides the user with the ability to switch between display position selected by the user, block 54. The difference character set layouts when a desired key is value assigned to the CHAR variable corresponds to a not found to be immediately available on the layout position within a look-up table stored in member 36 present being displayed. containing data for creating images on the text display Returning now to the actual composition of the lay corresponding to selected characters. A look-up table in outs D1 to D12, it should be noted that layouts D1, D3, accordance with the preferred embodiment of the pres D5, D7, D9 and D11 correspond to all of the lower case ent invention, corresponding to a keyboard having a characters from the QWERTY keyboard and that lay maximum of four rows and five columns of keys, and outs D2, D4, D68 D8, D10 and D12, which match the corresponding to the character set display screens illus character set layouts of the odd numbered character set trated in FIGS.3a through 31, is shown below in Table layouts, corresponding to all of the upper case charac 1, with corresponding rows from the display running ters from the QWERTY keyboard. The character set 50 from top to bottom and corresponding columns from layouts are displayed within the character set display the display running from left to right.

TABLE 1. Row 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 Col 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 Character Di o A e t r i a s d h , u ... if Sets D2 O Y A G E T R I A S D H & U > f D3 m f A c in j k p ; b f D4 M F A C N J K " Q Z P X : B V w if D5 o an if A c in t r 1 is a s d h b u w if D6 O M F A C N T R L A S H B U w if D7 y A g e j k q Z p X ; , v ... if D8 Y A G E J K " Q Z P X : < V > f D9 A ( ) ) f DO A ( ) { } f D. 7 8 9 A v 4 5 6 -- . 1 2 3 + = 0 f 5,128,672 9 10 TABLE 1-continued Row 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4. Col 2 3 4 5 1 2 3 4 5 2 3 4 5 1 2 3 4 5 D12 & ( A 2 S 9% --- G # - ) f = Return as Tab A as Delete f = Flip = Caps Lock S = Space If the user did not select a key, block 52, the CPU would then look to see if the user had selected an inser upon the character set layout for the combination of tion point within the text field of the text display screen, characters will change to uppercase versions of the block 56. The test field could be selected in different characters shownl. Upon selection of a character, the manners, depending on how the keyboard system is 5 layout is reset to display lowercase characters. If the implemented. In the preferred embodiment, the user user selects the Shift key again, the character set layout would simply touch a portion of the touch sensitive is toggled back to the prior layout. The Caps Lock key display comprising the text display area with a finger. If 46 sets the CAPLOCKED variable to true and the the keyboard was being implemented in software, so as character set layouts of the keyboard to uppercase for to appear on a standard display screen and thereby 20 all characters entered until the uses presses the Caps interact with a cursor control device, such as a mouse, Lock key again. For this reason, the Shift key has no the user whould simply have to click within the text effect when CAPLOCKED is true. display portion of the display. If the user did not select Returning now to block 70, if the condition CA a position within the text field, the CPU 32 would then PLOCKED is true, the system goes back to waiting, go back to waiting. If the user did select a position 25 block 50, because selecting the Shift key when CA within the text field, a select signal indicating the inser PLOCKED is true is not supposed to have any effect. If tion point, and thereby corresponding to the preceding CAPLOCKED is not true, the CPU determines which character in the text, would be sent to the CPU. The character set layout to display from Table 2, set out CPU would then proceed to block 90, which is further below, and displayes that layout in the character set described below. 30 display screen, block 72. Table 2 represents a look-up The present invention could also be implemented for table stored in memory 36 illustrating which character use in computer systems such as the Macintosh (R) com set layout is to be displayed after a user presses a Shift puters manufactured by Apple Computer, Inc., of Cu key or button. pertino, Calif., which use special functional icons, but TABLE 2 tons or keys, such as "control' and "option', in combi 35 CURRENT NEW LAYOUT nation with character keys, to perform certain special LAYOUT AFTERSHIFT computer functions. As depicted in FIGS. 1 and 3, such functionality is provided in the present invention through the Control and Option buttons 20 and 22 of D3 D4 the preferred embodiment, which are implemented as 40 momentary contact hardware buttons, like on any Mac intosh computer. To implement a control or option command, the user must be holding down either the D9 DO Control or Option button while the desired key is se D10 D9 lected. Option and Control buttons, like any key, could 45 D1 D2 also be implemented as a portion of an interactive dis D12 D1 play which could be selected by a cursor or a user's finger. In such instances, the option or control functions If the selected key was not the Shift key, the CPU would then apply to the next character or combination looks to see if the selected key was the Flip key, block of characters selected by the user. 50 74. If the selected key was the Flip key, the CPU looks Returning now to block 54, once the variable CHAR to see if the CAPLOCKED condition is true, block 76. has been set, the CPU then looks to see whether the If CAPLOCKED is not true, the CPU determines Control button 20 was depressed at the time the key was which character set layout to display from Table 3, set selected, block 60. If the Control button 20 was down, out below, and displays that layout in the character set a CONTROL CHAR is sent to the control handler of 55 display screen, block 78. Table 3 represents a look-up the CPU, block 62. If the Control button was not down, table stored in memory 36 illustrating which character the CPU looks to see if the Option button 22 was down, set layout is to be displayed after a user presser the Flip block 64, and if it was, sends an OPTION CHAR to the key. option handler of the CPU. If neither button was down when the key was selected, the CPU moves on to deter TABLE 3 mine which character set should be displayed in re CURRENT NEW LAYOUT sponse to the selected key. LAYOUT AFTER FLIP If the selected key was the Shift key, block 68, the CPU looks to see if the value CAPLOCKED is true, block 70. In the preferred embodiment, the Shift key is 65 D3 D1 being reated as a "sticky shift” instead of a momentary D4 D11 contact button. To type an uppercase character, the user need only press the Shift key and let go, where 5,128,672 11 12 set to either Space, Return, Single-Quote, Double TABLE 3-continued Quote, or Tab, or is in the set "AEIOUaeiourO', block CURRENT NEW LAYOUT 106, and CAPLOCKED is false, block 108, then layout LAYOUT AFTER FLIP D5 is displayed, block 110. But, if CAPLOCKED is D8 D1 true, block 108, then layout D6 is displayed, block 112. D9 D5 D10 D5 If CHAR is not set to any of the characters of block 106, D11 D9 then the CPU looks to see if CHAR is in the set D2 D9 "0123456789---/* =”, block 116, and if it is, displays layout D11, block 118. If CHAr is set to anything other 10 than the characters of blocks 106 and 116, and if CA If CAPLOCKED is true, the CPU refers to look-up PLOCKED is true, block 120, then layout D2 is dis Table 4, also stored in memory 36, to determine which played, block 122. But, if CAPLOCKED is false, then layout should be displayed when CAPLOCKED is true layout D1 is displayed, block 124. and the user selects the Flip key, block 80. After determining and displaying the next layout, the TABLE 4 5 CPU checks to make sure that INSERTCHAR is not CURRENT NEW LAYOUT W/ set to nil, block 126. If INSERTCHAR is set to nil, LAYOUT CAPLOCKED TRUE meaning nothing is to be put into the text, the system D D2 goes back to waiting, block 50. If INSERTCHAR is set to anything but nil, the character corresponding to the 20 value of INSERTCHAR is displayed in the text field of the text display screen. After inserting the character into the text, the system returns to its wait state, block 50. Although the present invention has been described D10 D9 25 with reference to FIGS. 1-6 and with emphasis on a D1 D11 particular embodiment, it should be understood that the D12 D2 figures are for illustration only and should not be taken as limitations upon the invention. It is contemplated that FIG. 5 is a continuation of the flow chart illustrated many changes and modifications may be made by per in FIG. 4 and further illustrates the deletion of charac 30 son of ordinary skill in the art to the elements, process ters and the toggling of the Caps Lock key. If the se and arrangement of elements or steps of the invention lected key was not the Flip key, block 74, the CPU without departing from the spirit and scope of the in looks to see if CHAR is set to Delete, block 86, meaning vention as disclosed above. the user has selected the Delete key. If CHAR is set to I claim: delete, the previously typed character within the text 35 1. A dynamic predictive keyboard for communicat display screen, that character to the right of the inser ing information to a display, comprising: tion point or cursor, will then be deleted from the an input means for use in combination with a plurality screen, block 88, and the variable INSERT CHAR will of key images and operative to output select signals be set to nil, block 90. If the user has selected an inser corresponding to said key images in response to tion point, block 56, the variable INSERT CHAR is one or more of said key images being selected with also set to nil, block 90. To determine which character said input means by a user, each of said select sig set layout to display after deleting a character or select nals corresponding to an action to be taken by said ing an insertion point in the text field, the CPU looks to keyboard and/or a device in communication with see if the there is text before the cursor position or said keyboard; insertion point, block 92. If there is text before this 45 predictive means for determining a set of said key point, CHAR is set ot a value corresponding to the text images to use in combination with said input character being displayed before the insertion point, means in response to receipt of one or more of block 94. If there is no text before the insertion point, said select signals, said set of key images includ CHAR is set to Space, block 96, so as to initiate the ing at least one key image most likely to be next display of one of the character set layouts. After the 50 selected by said user; and variable CHAR has been set in either blocks 94 or 96, means for displaying said key images in association the system moves on to block 106 of FIG. 5. with said input means. If CHAR was not set to Delete, the CPU looks to see 2. A dynamic predictive keyboard as recited in claim if CHAR is set to Caps Lock, block 98. If CHAR is set 1, wherein said displaying means is operative to project to Caps Lock, the CPU checks to see if CAPLOCKED 55 said key images on said display. is already true, block 100. If CAPLOCKED is true, the 3. A dynamic predictive keyboard as recited in claim CPU sets CAPLOCKED to false, block 102, and then 2, wherein said input means includes a touch sensitive sets INSERTCHAR to nil, block 90. If CAPLOCKED screen overlaying said display. is false, the CPU sets CAPLOCKED to true, block 104, 4. A dynamic predictive keyboard as recited in claim and then sets INSERTCHAR is set to nil, block 90. If 60 2, wherein said input means includes a pointing device CHAR was not set to Caps Lock, the CPU set IN operated in associated with said display. SERTCHAR to the value of CHAR, block 105, in 5. A dynamic predictive keyboard as recited in claim preparation for inserting the value of CHAR into the 1, wherein said input means includes a plurality of key text buffer. switches, wherein said displaying means includes a plu FIG. 6 is a continuation of the flow chart illustrated 65 rality of display elements associated with each of sai key in FIGS. 4 and 5 and further illustrates how particular switches, and wherein said displaying means is opera character set layouts are predictively selected for dis tive to project said key images within said display ele play within the character set display screen. If CHAR is ments. 5,128,672 13 14 6. A dynamic predictive keyboard as recited in claim 18. A dynamic predictive keyboard as recited in 1, wherein said input means includes a plurality of key claim 16, wherein said set of rules includes a rule for switches, wherein and said displaying means is opera defining a set of key images to use in combination with tive to project replicas of said key switches on said said input means in response to one of said text charac display, and wherein said displaying means is operative ters being deleted from said display. to project said key images within said replicas, whereby 19. A dynamic predictive keyboard as recited in said user selects one of said key images by selecting a claim 15, wherein said set of rules includes a rule for corresponding key switch. defining a set of key images to use in combination with 7. A dynamic predictive keyboard as recited in claim said input means in response to an operation performed 1, wherein said input means includes a plurality of key O by said device. switches, and wherein said input means further includes 20. A dynamic predictive keyboard as recited in means for variably arranging said key switches in a claim 15, wherein said set of rules is modifiable accord predefined configuration. ing to feedback data derived from said keyboard and/or 8. A dynamic predictive keyboard as recited in claim said device. 1, wherein said means for displaying said key images 15 21. A dynamic predictive keyboard as recited in includes means for variably arranging said key images claim 20, wherein said feedback data is statistically to be displayed according to a statiscal analysis of key derived based on key images selected by said user. images selected over a first period. 22. A dynamic predictive keyboard as recited in 9. A dynamic predictive keyboard as recited in claim claim 20, wherein said feedback data is based on opera 20 tions performed by said device. 1, wherein said key images include text characters cor 23. A dynamic predictive keyboard as recited in responding to letters and characters for writing in a claim 15, wherein said set of rules includes a rule for particular language. defining a set of key images to use in combination with 10. A dynamic predictive keyboard as recited in said input means in response to each text character claim 9, wherein said input means includes a plurality of 25 selected by said user. user selectable keys having fixed key locations, and 24. A dynamic predictive keyboard as recited in wherein each of said key images is associated with only claim 15, wherein said key images include text charac a single key location, whereby key locations associated ters corresponding to letters and characters for writing with said key images are learned by said user in such a in a particular language and functional icons corre manner so as to facilitate touch typing using said key 30 sponding to commands for performing predefined oper board. ations, wherein said set of rules includes a rule for defin 11. A dynamic predictive keyboard as recited in ing a set of key images to use in combination with said claim 9, wherein said key images further include func input means in response to combinations of said text tional icons corresponding to actions to be taken by said characters and/or said functional icons simultaneously keyboard and/or said device. 35 being selected by said user. 12. A dynamic predictive keyboard as recited in 25. A dynamic predictive keyboard as recited in claim 11, wherein one of said function icons corre claim 15, wherein said key images include text charac sponds to an action for switcing said key images from ters corresponding to letters and characters for writing lower case text characters to upper case text characters. in a particular language and functional icons corre 13. A dynamic predictive keyboard as recited in sponding to commands for performing predefined oper claim 11, wherein said displaying means is operative to ations, wherein said set of rules includes a rule for defin project said text characters on said display, and wherein ing a set of key images to use in combination with said one of said functional icons corresponds to an action for input means in response to a series of said text charac causing said displaying means to delete one or more of ters and/or said functional icons being selected by said said text characters projected on said display. 45 use. 14. A dynamic predictive keyboard as recited in 26. A method for operating a keyboard for entering claim 11, wherein one of said functional icons corre text on a display, comprising the steps of: sponds to an action for causing said displaying means to displaying a first set of key images associated with a manually switch between sets of said key images. plurality of keys, said key images including text 15. A dynamic predictive keyboard as recited in 50 characters, said key images corresponding to ac claim 1, wherein said predictive means includes a set of tions to be taken by said keyboard and/or said rules for defining a set of key images to use in combina display in response to one or more of said keys tion with said input means in response to each of said being selected by a user, select signals. detecting said user's selection of a key on said key 16. A dynamic predictive keyboard as recited in 55 board or an insertion point on said display, claim 15, wherein said key images include text charac determining a best set of key images to next display ters corresponding to letters and characters for writing based on said user's selection of one or more keys in a particular language, and wherein said set of rules is from said keyboard or based on a text character on based on said language. said display preceding said insertion point, said best 17. A dynamic predictive keyboard as recited in 60 set of key images including at least one key image claim 16, wherein said input means further including most likely to be next selected by said user, and means for selecting an insertion point for text characters displaying said best set of key images in association on said display, said input means being operative to with said keys. output a select signal corresponding to a text character 27. A method for operating a keyboard as recited in preceding said insertion point, and wherein set of rules 65 claim 26, wherein said key images are displayed within includes a rule for defining a set of key images to use in said keys. combination with said input means in response to each 28. A method for operating a keyboard as recited in of said select signals. claim 26, wherein said keys are key replicas displayed 5,128,672 15 16 on said display and said key images are displayed within taken by said device in response to one or more of said key replicas. said keys being selected by a user, said set of key 29. A method for operating a keyboard as recited in images including at least one key image most likely claim 26, wherein said actions include displaying a text to be next selected by said user, and character on said display in accordance with a key 5 means for displaying said set of key images in associa image selected by said user. tion with said keys. 30. A method for operating a keyboard as recited in 41. A dynamic predictive keyboard and display de claim 26, wherein said step of determining a best set of vice as recited in claim 40, wherein said key images are key images to next display includes the step of switch projected by said displaying means on said display. ing between sets of said key images in association with O 42. A dynamic predictive keyboard and display de said keys. vice as recited in claim 41, wherein said keys are formed 31. A method for operating a keyboard as recited in by a touch sensitive screen overlaying a portion of said claim 30, wherein said step of switching between said display displaying said key images. sets of key images includes the step of following a set of 43. A dynamic predictive keyboard and display de rules for predictively switching between said sets of key 15 vice as recited in claim 40, wherein said keys are hard images. ware switches, wherein said displaying means includes 32. A method for operating a keyboard as recited in a plurality of display elements associated with each of claim 31, wherein said set of rules is based on a language said keys, and wherein said displaying means includes entered from said keyboard and/or an application per means for displaying said key images within said display formed by a computerized device in association with 20 said display. elements. 33. A method for operating a keyboard as recited in 44. A dynamic predictive keyboard and display de claim 31, wherein said set of rules is modified after said vice as recited in claim 40, wherein each of said key keyboard is used according to feedback data derived images is displayed in association with only one key, from said keyboard and/or a computerized device oper 25 whereby a key location associated with each of said key ated in association with said display. images is learned by said user thereby facilitating touch 34. A method for operating a keyboard as recited in typing using said keyboard. claim 33, wherein said feedback data is statistically 45. A dynamic predictive keyboard and display de derived based on key images selected by said user. vice as recited in claim 40, wherein said actions to be 35. A method for operating a keyboard as recited in 30 taken by said device include displaying text characters claim 33, wherein said feedback data is based on actions on a display screen. taken by said computerized device. 46. A dynamic predictive keyboard and display de 36. A method for operating a keyboard as recited in vice as recited in claim 40, wherein said determining claim 31, wherein said set of rules includes a rule for means includes means for storing a plurality of said key determining said best set of key images in response to 35 images and wherein said display means includes means said user deleting a text character from said display. for alternatively displaying different sets of said key 37. A method for operating a keyboard as recited in images in association with said keys. claim 31, wherein said set of rules includes a rule for 47. A dynamic predictive keyboard and display de determining said best set of key images in response to vice as recited in claim 46, wherein said means for alter each text character selected by said user. natively displaying includes means for manually switch 38. A method for operating a keyboard as recited in ing between said different sets of said key images. claim 31 wherein said key images include text charac 48. A dynamic predictive keyboard and display de ters corresponding to letters and characters for writing vice as recited in claim 40, wherein said determining in a particular language and functional icons corre means includes a set of rules for determining said set of sponding to commands for performing predefined oper 45 key images. ations, wherein said set of rules includes a rule for deter 49. A dynamic predictive keyboard and display de mining said best set of key images in response to combi vice as recited in claim 48, wherein said set of rules is nations of said text characters and/or said functional based on a language being typed from said keyboard icons simultaneously being selected by said user. and/or an application being performed by said device. 39. A method for operating a keyboard as recited in SO 50. A dynamic predictive keyboard and display de claim 31, wherein said key images include text charac vice as recited in claim 48, wherein said key images ters corresponding to letters and characters for writing include text characters, and wherein said set of rules in a particular language and functional icons corre includes a rule for causing said set of key images to be sponding to commands for performing predefined oper displayed in association with said keys in response to ations, wherein said set of rules includes a rule for deter 55 said user selecting an insertion point for text characters mining said best set of key images in response to a series on said display screen. of said text characters and/or said functional icons 51. A dynamic predictive keyboard and display de being selected by said user. vice as recited in claim 48, wherein said key images 40. A dynamic predictive keyboard and display de include text characters, and wherein said set of rules vice, comprising: includes a rule for causing said set of key images to be a display, displayed in association with said keys in response to a set of user selectable keys arranged within a prede said user deleting a text character from said display termined configuration, Screen. a housing for securing said display and said keys, 52. A dynamic predictive keyboard and display de means for determining a set of key images to display 65 vice as recited in claim 48, wherein said set of rules in association with said keys after one or more of includes a rule for causing said set of key images to be said keys has been selected by said user, each of displayed in association with said keys in response to an said key images corresponding to an action to be operation performed by said device. 5,128,672 17 18 53. A dynamic predictive keyboard and display de displayed in association with said keys in response to vice as recited in claim 48, wherein said set of rules is combinations of said text characters and/or said func initially predefined before said keyboard is used and tional icons simultaneously being selected by said user. subsequently modified after said keyboard is used ac 58. A dynamic predictive keyboard and display de cording to feedback data derived fron said device. vice as recited in claim 48, wherein said key images 54. A dynamic predictive keyboard and display de include text characters corresponding to letters and vice as recited in claim 53, wherein said feedback data is characters for writing in a particular language and func statistically derived based on key images selected by tional icons corresponding to commands for performing said user. predefined operations, and wherein said set of rules for 55. A dynamic predictive keyboard and display de O vice as recited in claim 53, wherein said feedback data is includes a rule causing said set of key images to be based on actions taken by said device. displayed in association with said keys in response to a 56. A dynamic predictive keyboard and display de predefined series of said text characters and/or said vice as recited in claim 48, wherein said key images functional icons being selected by said user. include text characters, and wherein said set of rules 15 59. A dynamic predictive keyboard and display de includes a rule for causing said set of key images to be vice as recited in claim 40, and further including at least displayed in association with said keys in response to one user selectable function button supported by said each text character selected by said user. housing and in communication with said determining 57. A dynamic predictive keyboard and display de means, said keys and said button being simultaneously vice as recited in claim 48, wherein said key images 20 selectable by said user in such a manner so as to cause include text characters corresponding to letters and said device to perform a special action, said special characters for writing in a particular language and func action being different than said action that would be tional icons corresponding to commands for performing performed had one or more keys been pressed without predefined operations, and wherein said set of rules simultaneously pressing said button. includes a rule for causing said set of key images to be 25 k s x k

30

35

45

50

55

65

UNITED STATES PATENT ANDTRADEMARK OFFICE CERTFCATE OF CORRECTION PATENT No. 5,128,672 DATED : July 7, 1992 NVENTOR(S) : Edwin B. Kaehler It is certified that error appears in the above-identified patent and that said Letters Patent is hereby Corrected as shown below:

in the claims: Claim 4, Column 12, line 60, "associated" should read - -association --. Claim 5, Column 12, line 65, 'sai' should read -- said --. Claim 6, Column 13, line 3, please delete "and".

Signed and Sealed this Second Day of March, 1999 2.76%

Q. TODD DICKINSON Attesting Officer Acting Commissioner of Patents and Trademarks