`Grover et al.
`
`[19]
`
`US0058.18437A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,818,437
`Oct. 6, 1998
`
`[54] REDUCED KEYBOARD DISAMBIGUATING
`COMPUTER
`
`[75] Inventors: Dale L. Grover, Lansing, Mich.;
`Martin T. King, Vashon, Wash.;
`Clifford A. Kushler, Wooster, Ohio
`[73] Assignee: Tegic Communications, Inc., Seattle,
`Wash.
`
`OTHER PUBLICATIONS
`Levine, S.H. et al., “Adaptive Technique for Customized
`Interface Design With Application to Nonvocal Communi
`cation,” RESNA 9th Annual Conference, Minneapolis, Min
`nesota, 1986.
`Levine, S.H., “An Adaptive Approach to Optimal Keyboard
`Design for Nonvocal Communication,” IEEE, 1985.
`Swiffin, A.L. et al., “Adaptive and Predictive Techniques in
`a Communication Prosthesis,” AAC Augmentative and Alter
`native Communication (1987).
`[21] Appl. No. 507,756
`(List continued on next page.)
`[22] Filed:
`Jul. 26, 1995
`Primary Examiner—Matthew M. Kim
`Assistant Examiner—Ba Huynh
`[51] Int. Cl." … G06F 15/00
`Attorney, Agent, or Firm—Christensen O’Connor Johnson
`[52] U.S. Cl. .......................... 345/326; 345/352; 34.5/353;
`& Kindness PLLC
`364/728; 364/728.1
`ABSTRACT
`[57]
`[58] Field of Search ............................. 395/326; 364/928,
`364/928.1, 928.2, 928.3, 928.4, 928.5, 928.6;
`A reduced keyboard disambiguating computer. The key
`345/326, 352, 353
`board has twelve keys, nine of them labeled with numerous
`letters and other symbols, and those nine plus one more are
`labeled each with one of the ten digits. Textual entry
`keystrokes are ambiguous. The user strikes a delimiting
`“select” key at the end of each word, delimiting a keystroke
`sequence which could match any of many words with the
`same number of letters. The keystroke sequence is processed
`with a complete dictionary, and words which match the
`sequence of keystrokes are presented to the user in order of
`decreasing frequency of use. The user selects the desired
`word. The letters are assigned to the keys in a non-sequential
`order which reduces chances of ambiguities. The same
`“select” key is pressed to select the desired word, and
`spacing between words and punctuation is automatically
`computed. For words which are not in the dictionary, two
`keystrokes are entered to specify each letter. The system
`simultaneously interprets all keystroke sequences as both
`one stroke per letter and as two strokes per letter. The user
`selects the desired interpretation. The system also presents to
`the user the number which is represented by the sequence of
`keystrokes for possible selection by the user.
`32 Claims, 24 Drawing Sheets
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`3,647,973 3/1972 James et al. .............................. 379/97
`3,967,273 6/1976 Knowlton .................................. 341/22
`4,191,854 3/1980 Coles ........................................ 379/96
`4,360,892 11/1982 Endfield
`... 395/796
`4,381,502 4/1983 Prame ....................................... 341/26
`4,426,555
`1/1984 Underkoffler ............................. 379/97
`4,427,848
`1/1984 Tsakanikas ................................ 379/88
`4,442,506 4/1984 Endfield .................................... 341/22
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`O 319 193 A3 6/1989 European Pat. Off. .
`0.464 726 A2 1/1992 European Pat. Off. .
`0.540 147 A2 5/1993 European Pat. Off. .
`0 651 316 A1 5/1995 European Pat. Off. .
`O 689 122A1 12/1995 European Pat. Off. .
`WO89/05745 6/1989 WIPO .
`WO90/07149 6/1990 WIPO .
`WO 97/05541
`2/1997 WIPO .
`
`109–
`
`110-so
`
`111->
`
`Now is the time for all good men to
`come to the] did
`
`208
`
`206-,
`307 - || ||did
`21.0-3.
`odd
`**** – a
`21.2-,
`168
`21.3-,
`<cancel
`
`107
`
`
`
`
`
`
`
`108-,
`
`
`
`\s
`
`Key 1 Key 2 Shift
`
`# 65
`
`MSFT EX. 1026
`Page 1 of 35
`
`
`
`5,818,437
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`4,481,508 11/1984 Kamei et al. ........................... 345/171
`4,549,279 10/1985 Lapeyre ....
`364/709.15
`4,649,563 3/1987 Riskin ....................................... 379/97
`4,661,916 4/1987 Baker et al. ......
`... 395/2.69
`4,674,112 6/1987 Kondraske et al. ...................... 379/96
`4,677,659 6/1987 Dargan ...................................... 379/97
`4,754,474 6/1988 Feinson ..................................... 379/96
`4,791,408 12/1988 Heusinkveld ........................... 364/189
`4,817,129 3/1989 Riskin ....................................... 379/88
`4,823,294 4/1989 Rouhani
`364/709.12
`4,846,598 7/1989 Livits ....
`... 400/472
`4,849,732 7/1989 Dolene ...................................... 341/20
`4,866,759 9/1989 Riskin ....................................... 379/97
`4,872,196 10/1989 Royer et al. .............................. 379/58
`4,891,777
`1/1990 Lapeyre ....
`... 364/206
`5,031,206
`7/1991 Riskin ....................................... 379/97
`5,035,205
`7/1991 Schiller et al. ...
`... 119/168
`5,063,376 11/1991 Chang ...........
`... 345/163
`5,065,661 11/1991 Hacker ...................................... 84/719
`5,067,103 11/1991 Lapeyre ............
`364/709.16
`5,087,910 2/1992 Guyot-Sionnest
`... 345/169
`5,131,045
`7/1992 Roth .................
`... 704/237
`5,156,475 10/1992 Zilberman .
`... 400/472
`5,163,084 11/1992 Kim et al. ................................. 379/88
`5,200,988 4/1993 Riskin ....................................... 379/52
`5,214,689 5/1993 O'Sullivan ................................ 379/88
`5,218,538 6/1993 Zhang ...........
`... 395/796
`5,229,936
`7/1993 Decker et al.
`... 395/760
`5,255,310 10/1993 Kim et al. ................................. 379/88
`5,258,748 11/1993 Jones .....
`... 345/172
`5,281,966
`1/1994 Walsh ........................................ 341/22
`5,289,394 2/1994 Lapeyre ........
`... 364/709.12
`5,305,205
`4/1994 Weber et al. .
`... 707/531
`5,317,647 5/1994 Pagallo ..........
`... 38.2/161
`5,339,358 8/1994 Danish et al.
`... 379/368
`5,388,061
`2/1995 Hankes ................................. 364/708.1
`5,392,338 2/1995 Danish et al. ....................... 379/93.27
`OTHER PUBLICATIONS
`Swiffin, A.L. et al., “PAL: An Effort Efficient Portable
`Communication Aid and Keyboard Emulator,” RESNA 8th
`Annual Conference, Memphis, Tennessee, 1985.
`Smith, Sidney L. et al., “Alphabetic Data Entry Via th
`Touch–Tone Pad: A Comment,” Human Factors, 13(2), pp.
`189–190, 1971.
`Witten, I.H., “Principles of Computer Speech,” New York:
`Academic Press, (1982), pp. 246–253.
`
`
`
`Minneman, S.L., “A Simplified Touch–Tone.(B) Telecommu
`nication Aid for Deaf and Hearing Impaired Individuals,”
`RESNA 8th Annual Conference, Memphis Tennessee, 1985.
`Levine, S.H. et al., “Computer Disambiguation of
`Multi-Character Key Text Entry: An Adaptive Design
`Approach,” IEEE, 1986.
`Foulds, R. et al., “Lexical Prediction Techniques Applied to
`Reduce Motor Requirements for Augmentative Communi
`cation,” RESNA 10th Annual Conference, San Jose, Califor
`nia, 1987.
`Foulds, R.A. et al., “Statistical Disambiguation of
`Multi-Character Keys Applied to Reduce Motor Require
`ments for Augmentative and Alternative Communication,”
`AAC Augmentative and Alternative Communication (1987).
`Levine, S.H. et al., “Multi-Character Key Text Entry Using
`Computer Disambiguation,” RESNA 10th Annual Confer
`ence, San Jose, California, 1987.
`Kreifeldt, J.G. et al., “Reduced Keyboard Designs Using
`Disambiguation,” Proceedings of the Human Factors Soci
`ety 33rd Annual Meeting—1989.
`Arnott, J.L. et al., “Probabilistic Character Disambiguation
`for Reduced Keyboards Using Small Text Samples,” AAC
`Augmentative and Alternative Communication, vol. 8 (Sep.
`1992).
`King, M.T., “Just Type"—Efficient Communication with
`Eight Keys,” Proceedings of the RESNA ’95 Annual Con
`ference, Vancouver, BC, Canada, 1995.
`Oommen, B.J. et al., “Correction to ‘An Adaptive Learning
`Solution to the Keyboard Optimization Problem,” IEEE
`Transactions on Systems, Man, and Cybernetics, 22:5 (Oct.,
`1992).
`Matias, E. et al., “Half–QWERTY: Typing With One Hand
`Using Your Two—Handed Skills,” Conference Companion,
`CHI '94, (Apr. 24–28, 1994).
`Kamphuis, H. et al., “Katdas; A Small Number of Keys
`Direct Access System,” RESNA 12th Annual Conference,
`New Orleans, Louisiana, 1989.
`“Speed Keyboard for Data Processor,” IBM Technical Dis
`closure Bulletin, vol. 23, pp. 838–839, Jul. 1980. Ó IBM
`Corp., 1993.
`Sugimoto, M. et al., “SHK: Single Hand Key Card for
`Mobile Devices,” CHI 1996 (Apr. 13–18, 1996).
`
`MSFT EX. 1026
`Page 2 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 1 of 24
`
`5,818,437
`
`
`
`f 03
`
`MSFT EX. 1026
`Page 3 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 2 of 24
`
`5,818,437
`
`
`
`809
`
`uue?SKS6u?ouado
`
`SS330Jeff
`
`Þ09
`
`?uDM}?OS
`
`pupoqKay!
`
`209
`
`MSFT EX. 1026
`Page 4 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 3 of 24
`
`5,818,437
`
`
`
`302
`
`Now is the time for all qood men to
`corne to the [did] add g 166 KConcel-
`
`101
`
`odd
`9
`166
`<concel-
`
`107
`
`2 W || D H
`M Q
`6
`4.
`] ][ ( )
`{
`} } | [
`S U X||P T V || C Y Z
`7
`8
`9
`
`O O O
`Key 1 Key 2 Shift -][,]º
`
`A/G. J.
`
`MSFT EX. 1026
`Page 5 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 4 of 24
`
`5,818,437
`
`Now is the time for all good men to
`come to the[did]
`
`AFG
`
`
`
`401
`402
`403
`404
`405
`406
`
`407
`
`A/G 4
`
`MSFT EX. 1026
`Page 6 of 35
`
`
`
`US. Patent
`
`Oct. 6, 1998
`
`Sheet 5 0f 24
`
`5,818,437
`
`Now is the time for all good men to
`come to the >>>
`
`501
`
`502
`
`503
`504
`
`507
`
`/ * \
`4
`
`'
`
`7
`
`a
`
`'
`5
`
`9
`
`f7é5
`
`MSFT EX. 1026
`
`Page 7 of 35
`
`MSFT EX. 1026
`Page 7 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 6 of 24
`
`5,818,437
`
`
`
`Now is the time for all good men to
`come to the XXX
`
`AFG
`
`[…][2][3]
`[…]DD|| “.
`[…][ ][ ]
`
`O O O
`Key 1 Key 2 Shift
`
`[...]
`
`902
`
`A/C 6
`
`MSFT EX. 1026
`Page 8 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 7 of 24
`
`5,818,437
`
`
`
`705
`
`706
`707
`708
`709
`710
`
`711
`
`712
`
`713
`
`A/C ZZ
`
`MSFT EX. 1026
`Page 9 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 8 of 24
`
`5,818,437
`
`
`
`715
`
`706
`
`<Setup>
`<Edit
`<Conce|X.
`
`MSFT EX. 1026
`Page 10 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 9 of 24
`
`5,818,437
`
`
`
`722
`
`Quick Help
`Select q setup option directly from keypad.
`Press "Help" for more details.
`
`
`
`721
`
`L.~ |
`
`720
`
`Lodd || Unload Î | New
`Vocob || Vocab || Vocab
`
`Sove || Defoult || Hide
`Setup || Setup ||Display
`
`-
`
`719
`
`Gº
`
`A
`1
`. #
`it X
`<Concel
`
`
`
`708
`
`
`
`
`
`
`
`O O O
`
`104
`
`MSFT EX. 1026
`Page 11 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 10 of 24
`
`5,818,437
`
`
`
`
`
`
`
`
`
`724
`
`
`
`
`
`
`
`
`
`
`
`723
`
`Quick Help
`The System Vocabulary contoins all
`common English words.
`
`
`
`725
`
`Reset
`Set
`Priority||Priority
`
`Hel
`elp
`
`
`
`Prop. Names
`Abbrev.
`User Voc 1
`User Voc 2
`
`
`
`O O O
`
`MSFT EX. 1026
`Page 12 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 11 of 24
`
`5,818,437
`
`
`
`<Concel.”
`
`731
`
`O O
`
`A/G Z2
`
`MSFT EX. 1026
`Page 13 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 12 of 24
`
`5,818,437
`
`
`
`
`
`
`
`
`
`732
`733
`
`AFG
`
`id
`Ai
`Add
`G
`166
`<Concel
`
`
`
`
`
`O O O
`
`A76, Z/
`
`
`
`MSFT EX. 1026
`Page 14 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 13 of 24
`
`5,818,437
`
`
`
`734
`
`735
`736
`737
`
`Fiddle
`Gi
`1666
`<Concel
`
`O O O
`Key 1 Key 2 Shift
`
`[...]
`
`/7& ZZ
`
`MSFT EX. 1026
`Page 15 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 14 of 24
`
`5,818,437
`
`740
`
`738
`
`74.1
`
`
`
`
`
`166635
`<Concel
`
`
`
`O O O
`
`A/C Z/?
`
`MSFT EX. 1026
`Page 16 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 15 of 24
`
`5,818,437
`
`742
`
`
`
`<Concel
`
`
`
`O O O
`
`/7(2 2/
`
`MSFT EX. 1026
`Page 17 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 16 of 24
`
`5,818,437
`
`
`
`746
`
`(AFC)(OH)(DH)(OH)
`
`745
`
`Move
`Up
`
`Move
`Down
`
`1666
`<Concel-
`
`Respell
`
`744
`
`Add
`
`Edit
`
`e
`
`O O O
`
`743
`
`A76, Z/
`
`MSFT EX. 1026
`Page 18 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 17 of 24
`
`5,818,437
`
`
`
`746
`
`Quick Help
`Creating shortcut to Fiddle. Enter Shortcut
`on keypod, then press <Save
`
`! Z & ?ó # $] [+ – =
`A F G|| B K N || J L O
`2
`2
`/* \) ( , , ; } |& 2 >
`M Q R |E 2 W | D H |
`4.
`5
`6
`{
`} || [
`] ] ( ( )
`S U X||P T V || C Y 7
`7
`8
`9
`
`103
`
`O O O
`
`Move
`
`A/G Z
`
`MSFT EX. 1026
`Page 19 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 18 of 24
`
`5,818,437
`
`Quick Help
`Creating shortcut to Fiddle. Enter Shortcut
`on keypad, then press <Sove
`
`748
`
`
`
`750
`
`MSFT EX. 1026
`Page 20 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 19 of 24
`
`5,818,437
`
`
`
`208
`
`808
`
`MSFT EX. 1026
`Page 21 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 20 of 24
`
`5,818,437
`
`
`
`
`
`
`
`
`
`
`
`
`
`Now is the time for all good men to
`come to the[did]
`
`
`
`AFG
`
`did
`add
`Q
`166
`<concel
`
`O O O
`Key 1 Key 2 Shift
`
`*:::"|| “...
`
`<– || E,..., || —2
`Exit
`Word
`
`Edit
`
`A76, 9
`
`MSFT EX. 1026
`Page 22 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 21 of 24
`
`5,818,437
`
`
`
`900!
`
`//
`
`900 / p00/8.00/
`// // //
`
`Kuouuauu u? Kup|nqooo^L40/D3S
`
`
`?ua?uoO 6013 dooS
`
`200 /| 00/
`// //
`
`
`6D} upupasKay!
`
`
`(suæquunu Kex) aouanbas
`
`
`
`sôb) upupas
`
`
`
`
`
`
`
`67/ 39//
`
`MSFT EX. 1026
`Page 23 of 35
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 22 of 24
`
`5,818,437
`
`
`
`
`
`
`
`
`
`
`
`! 0 ! !
`
`20 / /
`
`MSFT EX. 1026
`Page 24 of 35
`
`
`
`US. Patent
`
`%w6,aO
`
`e
`
`1
`
`7
`
`new;
`
`mom;
`
`
`
`
`
`
`
`SEZwQJm5238;3003meNam;
`
`960
`
`250
`
`3nM,N\wt
`
`
`
`oh,3852,3&5go:
`
`
`
`mxmxxonumfi
`
`#30>235
`
`
`
`MMKN‘M.6005:600:0}83:02
`n.338xoflm:8ame
`
`mNxm~
`
`mmczzom_m<
`
`
`
`
`
`ZNrnooo>nooo>nouo>95809;;39:
`
`
`
`
`
`\QNs
`
`“smg
`
`MSFT EX. 1026
`
`Page 25 of 35
`
`Sac;
`
`MSFT EX. 1026
`Page 25 of 35
`
`
`
`
`
`
`U.S. Patent
`
`Oct. 6, 1998
`
`Sheet 24 of 24
`
`5,818,437
`
`A/C 7–5
`
`MSFT EX. 1026
`Page 26 of 35
`
`
`
`1
`REDUCED KEYBOARD DISAMBIGUATING
`COMPUTER
`
`BACKGROUND
`For many years, portable computers which may be used
`for writing have been getting smaller and smaller. The
`principal size-limiting component is the keyboard. Pocket
`sized computers have been produced with miniature
`keyboards, but the keys are too small for fast entry with the
`fingers. If regular size keys are used, the size of the portable
`computer is limited by the width of the keyboard. IBM has
`addressed this problem by designing a full-sized keyboard
`that breaks into two pieces which overlap each other when
`the computer cover is closed.
`Another problem with portable computers for writing is
`the difficulty of holding the computer with one hand while
`entering keys with the other. For fast keyboard entry, the
`computer must be supported on a work surface so that the
`user can type with both hands.
`What is needed is a computer that can be supported with
`one hand while the other hand enters keystrokes on a
`keyboard which is no wider than the human hand and which
`has keys the size of human fingers. The keyboard therefore
`must have a reduced set of keys which is no more than five
`keys wide. Prior development work on such a reduced
`keyboard has focused on requiring two or more keystrokes
`for specification of a letter, either simultaneously (chording)
`or in sequence (two-stroke specification). Neither approach
`has produced a keyboard which allows adequate simplicity
`and efficiency of use. Two-stroke specification is too
`inefficient, and chording is too complicated to learn and use.
`SUMMARY OF THE INVENTION
`By our research and experimentation, we have found a
`method of producing a highly efficient reduced keyboard
`which is used in conjunction with a display. The display
`serves both the keyboard function and the usual functions of
`a computer, allowing a computer of very small size. The
`invented computer allows high speed entry of textual writing
`on full-sized keys.
`The user is presented with a keyboard with full-sized keys
`with a total required width no greater than three keys.
`Preferably, the keyboard has twelve keys: three columns by
`four rows. Alternative embodiments have as few as three or
`as many as twenty keys. A plurality of letters and symbols
`are assigned to most of the keys. Textual entry keystrokes
`are therefore ambiguous. The user strikes a delimiting key at
`the end of each word, delimiting a keystroke sequence which
`could match any of many words with the same number of
`letters. The keystroke sequence is processed with a complete
`dictionary containing the spelling of all of the words that a
`user might reasonably be expected to enter. Words which
`match the sequence of keystrokes are presented to the user
`on a display. The words are presented in order of decreasing
`frequency of use, and the user moves a cursor or highlight
`bar to the desired word to add that word to the textual
`composition.
`An important aspect of the invention which allows high
`efficiency is that the letters are assigned to the keys in a
`non-sequential order. That is, instead of assigning the letters
`from a to Z in sequential order, the letters are grouped onto
`keys in a way which reduces the frequency of ambiguities
`for the words of the English language. Foreign language
`versions use the same principle but have different groups of
`letters on each key to achieve minimum ambiguity in that
`language.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,818,437
`
`2
`Because ambiguities are reduced and the words are pre
`sented in frequency of use order, the desired word is most
`often the first word presented and is frequently the only word
`presented. In the preferred embodiment, the key which the
`user presses to advance from the most frequently used word
`to the second most frequently used word, and then presses
`again to advance to the third most frequently used word, is
`the same key that is used to delimit the end of a word.
`Furthermore, the highlighted word is automatically selected
`and added to the composition by the pressing of any letter
`key. No other key press is required between words, as the
`appropriate space is computed automatically.
`The combined effects of non-sequential assignment of
`letters to keys, making the delimit key the same as the select
`key, causing a selected word to be added to the composition
`by the pressing of a letter key, and automatically computing
`spaces produces a surprising result: for 99% of text entry, the
`same number of keystrokes is required to enter text with
`invented computer system as for entry of text with a con
`ventional keyboard. Typically, once a word is entered, the
`select key is pressed (rather than a space bar) and, as the first
`presented word is the desired word most of the time, the user
`simply proceeds to enter the next word with no more than
`the usual number of keystrokes, the select key having
`replaced the spacebar key.
`Upon striking the select key, the most frequently used
`word is presented both in a list of alternative words that
`might be intended and in the appropriate place within the
`text that the user is writing. The user keeps his or her eyes
`on the completed text. If it is correct, the user proceeds to
`enter the next word. If it is not, the user looks to the list of
`possible words and presses the select key an additional
`number of times to select the desired word before then
`proceeding to enter the next word.
`Of course, the computer system requires a method for
`entry of words which are not in the dictionary, such as
`unusual names and made up words. For this purpose, the
`invention uses a two-stroke specification method which is
`well known. However, the invention does not require the
`user to change modes to enter letters by the two-stroke
`specification. Instead, the system simultaneously interprets
`each sequence of keystrokes as both an ambiguous sequence
`of one stroke per letter and as a fully specified sequence of
`two strokes per letter. Both of the alternatives are displayed
`in the list of possible words. Therefore, when the user wishes
`to enter a word which is not in the dictionary, the user simply
`enters two keystrokes per letter and then presses the select
`key to select the two-stroke interpretation of the sequence of
`keystrokes. Having once specified the spelling of a word
`which was not in the dictionary, the user never again needs
`to enter it. The system automatically adds the word to the
`computer’s dictionary so that it can subsequently be dis
`played upon entry of one stroke per letter. To assist with
`two-stroke input, a visual indicator on the screen indicates
`which keystroke of the two-stroke method should come
`next.
`The method for entering numbers is similar. In one
`embodiment, ten keys including all of the keys that contain
`letters are each assigned one of the digits 0–9. Each
`sequence of keystrokes may therefore be interpreted as the
`entry of a number. This interpretation is one of the plurality
`of interpretations presented to the user so that it can be
`selected by the user by pressing the select key. If the user is
`entering a series of numbers, the user can select a command
`which changes the priority of presentation so that the
`number is presented first and the select key need only be
`pressed once for each number entered.
`
`MSFT EX. 1026
`Page 27 of 35
`
`
`
`5,818,437
`
`3
`In the preferred embodiment, the computer includes a
`standard dictionary so that the sequence of possible words
`presented to the user is always the same, and the user can
`commit to rote memory the keystrokes of those words which
`require two or more strokes of the select key. Additional
`vocabulary modules can be enabled within the computer.
`The additional vocabulary words can be caused to appear
`first or last in the list of possible words, with special
`coloration or highlighting, and the computer can be set such
`that selection of such a word causes an audible warning
`beep. Alternatively, the computer can be set to keep track of
`frequency of usage of words by the user and present first
`those words most frequently used by the user in his or her
`distinctive writing style.
`The dictionary includes entries which automatically com
`15
`pensate for common spelling errors or keystroke errors. For
`example, words which include the letter sequence “ie” or
`“ei” will appear in the list of words even if these letters are
`reversed from their proper sequence.
`The reduced keyboard disambiguating computer is also
`well suited for use by people with hand control disabilities.
`The keyboard may be configured to use seven keys for entry
`of letters and one key for “select”, for a total of eight. Such
`eight keys may be organized in a circle with each key
`corresponding to one of eight directions indicated by move
`ment of a joystick, head-pointing, or by movement of the eye
`as detected by an eye-tracking device.
`
`10
`
`20
`
`25
`
`4
`level keys, labeled “select” 104, “0” 105, and “Delete” 106.
`In general, the functions of any of the keys can be pro
`grammed or re-programmed by the user or by the system
`itself. When reprogrammed, the labels on the key tops are
`changed.
`The selection list menu window 107 lists choices avail
`able to the user. Its contents are sequentially accessed via
`repeated presses on the select key 104. The status window
`108 provides information about the current state of the
`system. An external connector 109, and infrared transmitter/
`receiver 110, each provide for bidirectional serial commu
`nications with other devices (for example, with a personal
`computer). A speaker 111 provides auditory information to
`the user.
`FIG. 2 shows the major components of the system. The
`touch-sensitive LCD 601 serves as both display 602 and
`keyboard 603. The processor 604 executes instructions and
`reads and writes data from memory 605. Software instruc
`tions in memory include the operating system 606, the
`disambiguation program 607 and its vocabularies 608
`(discussed below), and optionally one or more application
`programs 609, 610. For a dedicated purpose version of the
`system, such as a dictionary or a mere writing recorder, the
`processor and software instructions could be replaced by
`hard-wired logic circuits.
`Example of target applications include word processors,
`software dictionaries, and foreign language translators.
`When the target application is speech synthesis software,
`this portable disambiguating computer functions as a com
`munication aid.
`The serial link 611 allows the system to communicate
`with external devices.
`Basic Operation, Key Interpretations
`Data is entered on the keypad 103 which is comprised of
`individual keys 202. Most of these keys have multiple
`meanings, represented by single or multiple symbols or
`graphics. Keystrokes are displayed in the keystroke window
`102. Individual keys and multiple key sequences are inter
`preted in several ways simultaneously. The selection list
`menu 107 lists the various interpretations and options. The
`selection key 104 steps through items in the selection list
`menu, allowing the user to select one of the items. The
`selected item is highlighted 206. A copy of the data associ
`ated with a selected item 207 is posted provisionally as a
`highlighted item 208 in the output buffer 101.
`One way the system interprets keystrokes is as spelled
`words of a language. Keys 202 contain symbols which
`include the letters of the alphabet. Since individual keys
`contain multiple letters, key sequences are sometimes
`ambiguous, spelling two or more possible words. As keys
`are entered, a dictionary look-up is performed to locate
`matching words. Candidate words 207210 are presented for
`selection in the list menu, sorted according to a rank or
`priority associated with each word which reflects frequency
`of use. Surprising efficiencies can be achieved by ordering
`the letters as shown in FIG. 1. With theses keypad letter
`assignments, the desired word appears at the top of the
`selection list menu 107 about 99% of the time. For simple
`text, this translates to a keystroke efficiency of about one
`additional keystroke per hundred words typed.
`Another way the system simultaneously interprets key
`strokes is as digits. Individual keys 202 also contain symbols
`representing digits. Key sequences thus also appear as a
`string of digits 212 in the selection list menu.
`Another way the system simultaneously interprets key
`strokes is as unambiguous symbols formed by pairs of keys.
`The upper portion of the keypad 103 is comprised of 9 keys
`
`35
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`30
`FIG. 1 shows the reduced keyboard disambiguating com
`puter.
`FIG. 2 shows the major components of the system.
`FIG. 3 shows the selection list menu appearing in the
`output text buffer.
`FIG. 4 shows the select key replaced by a space key.
`FIG. 5 shows the selection list presented as a key menu.
`FIG. 6 shows a configuration where data input and direct
`menu selections are performed on the same keys.
`FIGS. 7a through 71 show the steps of the disambiguation
`method.
`FIG. 8 shows the algorithm for automatically handling
`capitalization and spacing.
`FIG. 9 shows the keys re-labeled for editing.
`FIG. 10 represents schematically the vocabulary storage
`and lookup method.
`FIG. 11 shows the temporary data structure associated
`with each selected word.
`FIG. 12 shows the architecture of the disambiguating
`software.
`FIG. 13 shows an eight-key version for individuals with
`disabilities.
`
`40
`
`45
`
`50
`
`55
`
`DETAILED DESCRIPTION OF THE DRAWINGS
`Overview
`The portable reduced keyboard disambiguating computer
`is shown in FIG. 1. The top surface of the computer 100 is
`a touch-sensitive, color liquid crystal display (LCD) which
`both displays information to the user and accepts informa
`tion from the user via key presses in the form of touches to
`the surface within regions that are programmed to be active.
`The text windows 101 serves as a buffer for text output and
`allows editing. The keystroke window 102 provides visual
`65
`feedback and also allows editing of individual keystrokes. A
`keypad region includes nine data keys 103 and three system
`
`60
`
`MSFT EX. 1026
`Page 28 of 35
`
`
`
`25
`
`5
`in a 3-by-3 array. Individual keys 202 likewise contain up to
`9 symbols, also arranged in a 3-by-3 array on the face of
`each key. In the figures, symbols for some of the nine
`positions on each key are not shown; they may be defined by
`the user or added by an application program 609, 610. The
`first keystroke in each two-stroke pair is ambiguous; it tells
`the system that the user may wish to choose one of the 9
`symbols grouped on this key, but does not specify which
`symbol. The second keystroke qualifies or disambiguates the
`first; by its position in the 3-by-3 array of keys it specifies
`which symbol is to be chosen from the 3-by-3 array of
`symbols on the first key. The resulting sequence of symbols
`211 generated by pairs of keystrokes appears in the selection
`list menu along with the other interpretations of the key
`sequence. Indicator fields in the status window 108 show
`whether the next keystroke will be the first 214 or second
`215 of a pair.
`Finally, any sequence of keystrokes may be given addi
`tional meanings by the user, by a vocabulary (discussed
`below), or by another component of the system. Multiple
`interpretations appear as multiple entries in the selection list
`menu or on the faces of individual keys. Disambiguation
`occurs when the user selects one of these multiple entries,
`either by directly pressing an associated key, or by using the
`select key to step to the item in the selection list menu.
`In some cases, disambiguating one group of items leads to
`another ambiguous group of items. For example, an item
`associated with a particular key or appearing in the selection
`list menu may, when selected or executed, take the system
`to a new state which provides the user with additional
`choices and selections. This is similar in operation to nested
`menus commonly employed by personal computers. Here,
`however, there are two complementary menu structures.
`One menu is comprised of the selection list menu 107. A
`second menu is represented by the keypad keys 103. The
`35
`system switches back and forth between these two menu
`structures, with an item selected from one menu bringing up
`a new group of items in the other menu. This process is
`described further below in conjunction with FIGS. 7a-71.
`The selection list menu 107 may be made to appear
`directly in the output buffer, either as a pop-up window or as
`a delimited string of options in the output text itself. In FIG.
`3 the user has enabled the feature which places an abbrevi
`ated form of the selection list menu 302 directly in the output
`text buffer 101. Individual items in the selection list appear
`sequentially. The currently selected item is highlighted.
`Once a selection is complete this in-line menu is removed,
`leaving only the desired item in the output. An important
`aspect of this “in-place disambiguation” feature is that the
`selection list is presented at the user’s point of gaze in the
`output document.
`Data keys and Selection List Menus
`Like keypad keys, items in the selection list menu 107 can
`also have multiple meanings or interpretations. This ambi
`guity is resolved by assigning individual keys to each choice
`or interpretation, so that selecting an item in the list menu
`brings up a new group of key choices. See FIGS. 7b and 7c.
`In the present device the key faces are redrawn during the
`selection process to reflect their new meanings as shown in
`FIG. 7d. This process is sometimes iterated: in FIG. 7a, a
`key with ambiguous meanings 713 leads to a list menu of
`multiple items for selection 706–710, and, in FIG. 7c,
`selection of a list item 708 leads to new meanings for some
`or all of the keypad keys 719.
`Items in the selection list menu may be selected and
`activated in three ways. First, items may be highlighted and
`selected by sequentially stepping to them with repeated
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,818,437
`
`10
`
`15
`
`20
`
`30
`
`6
`presses of the select key. Items selected in this fashion are
`acted on after a delay period whose duration is user
`programmable. Before this delay has expired, the user may
`type any key other than select to execute the selected item
`immediately. This keystroke is also interpreted as the first
`key of a new sequence of keys.
`The second selection technique is enabled via a system
`menu. As shown in FIG. 4, the select key may be replaced
`by a space key 407. Pressing the space key executes the
`currently selected item in the selection list box and appends
`a space to the output buffer (additional space key presses
`simply append additional spaces). By default, the first item
`in the selection list menu 402 is always selected. Selecting
`a different item is accomplished by touching the selection
`highlight bar 401 and dragging it to the location of another
`ite