Method for typing letters in alphabet by using computerno marking
RELATED APPLICATIONS
This application is related to a subsequent application filed on U.S. patent application No. US08/705093, filed on 1996-29/8.
Background
1. Field of the invention
The invention relates to a method and a device for learning typing more easily, which improves the accuracy of typing operation, improves typing speed and reduces the fatigue of a user. The present invention is particularly directed to a system for rapid text entry into a microprocessor controlled word processing system that employs a keyboard having a plurality of alphabetic characters from the alphabet, the alphabetic characters being assigned to at least 1 and up to all of the keys.
2. Description of the Prior Art
A common typewriter uses 26 letter keys, one for each letter of the english alphabet. One 1 of the original keyboard layouts is the "QWERTY" style keyboard, which is still standard in the art today. Other layouts have been devised, such as a Dvorak keyboard that places the keyboard on the keyboard in an ergonomic manner for ease of use and accessibility. These alternative layouts are intended primarily to increase the speed and accuracy of the typing operation and to reduce user fatigue.
Typically, all conventional keyboards are equipped with 1 separate key for each letter of the alphabet. In addition to the letter keys, function keys such as an alternate key (ALT), a control key (CTRL), a SPACE BAR (SPACE BAR), an ENTER key (ENTER), and the like are provided. Thus, the above-described keyboard is full of many keys and requires a large amount of space. Also, these conventional keyboards require the user to remember, or be able to find, a specific key corresponding to each letter preferred by the user.
Other keyboard layouts assign more than 1 character to a key, which is often referred to as a "multi-letter key" or a "two-touch system". However, these systems require a user to operate a plurality of keys to select a desired character. Systems requiring simultaneous or synchronous operation of multiple keys, such as shown in US4891777, are sometimes referred to as "harmonious systems". This harmonious system requires the user to spend double the effort for each letter to be selected. In addition, these harmonies require the user to be able to remember 26 key combinations, each 1 corresponding to each letter of the alphabet.
Other multi-key systems require the user to operate a particular plurality of keys in a sequential manner. For example, US5062070 gives a system in which a plurality of characters are provided for each key. However, in order to select the particular character desired, the user must make 2 consecutive keystrokes. The user must then remember 26 different combinations of consecutive keystrokes, 1 of which corresponds to each letter of the alphabet. On the other hand, US5007008 proposes a keyboard in which the user must repeatedly press 1 key to determine one of a plurality of letters represented by the key by scrolling.
These dual or multi-letter key systems are slow, tiring and prone to typographical errors as a result of the number of keystrokes that must be made to select a single character. Thus, these systems are primarily used where small keyboard sizes are important, as opposed to speed and accuracy.
Another improved method of typing, known as "abbreviation typing," involves an operation that only requires typing a portion of a word. For example, US4459049 discloses an abbreviation input system in which the user need only input 4 or fewer characters. The system searches for abbreviated words in memory. When the position of the abbreviated word is found, the entire word is entered into the text from memory.
All of these keyboard systems are difficult to use and even learn. As a result, the key-in operation is slow and prone to error. In addition, these keyboards are difficult for a person who does not learn to use the specific type of keyboard described above. These "look-and-key typing" typists must retrieve the desired characters, often arranged in a non-alphabetic order and between a large number of keys.
Another type of keypad entry is encountered on a telephone that is used to access a remote system called an "automated response system". Typically, these automated response systems identify characters in the alphabet that correspond to keys pressed on a remotely located telephone keypad. For example, the highest court of the United states employs a system in which a user merely dials the highest court telephone number to locate the case number status of the pending action. The user can access the system from any common remote telephone location.
Upon accessing the automated response system of the highest court, the user is prompted by a voice message to specify the name of the desired action by pressing a key on the remote telephone keypad. In response to the current instruction, the user enters up to 10 alphabetic characters on the keypad of the remote telephone, which are the alphabetic characters in the name of one of the parties to the incident. The conventional telephone keypad is composed of 12 keys, i.e., a number key of 0 to 9, "+" key, and "#" key. A plurality of letters correspond to each of the number keys 2-9 so that all the letters are designated except for the letters Q and Z, which are designated to the number key 1. The user presses the 10 numeric keys corresponding to the names of 1 of the parties. Alternatively, the user may enter fewer than 10 digits, followed by an ". about." key or a 4 second delay. Once the name of the party is entered, the system retrieves the court action incident form for the court clerk and provides a voice indication of the 3 closest cases determined by the action number, the party and the situation. If the user is not satisfied with any of these cases, the user may talk to the bookmarker.
The automated response system described above is intended to accommodate a conventional telephone keypad, with a limited vocabulary in memory, which cannot be implemented in a word processing environment. As a result, the operation of the above system is extremely slow and is not suitable for character layouts for fast typing. In addition, the above-described system is limited to use with voice, or sound, communication systems and telephone keypads. As a result, the automated response system cannot edit the memory, define preferred terms, or define derivatives of new words. In addition, the telephone keypad is not suitable for typing operations, let alone typing quickly.
As an alternative to the common keyboard, the input device has been placed on the hand and fingers. Such devices are for example given in US5581484, patented Prince, and US4414537, patented Grimes. Basically, these systems place switches at various locations around the hand in order to simplify the operation of inputting information into the computer. However, these systems do not involve rapid typing.
Summary of the invention
The present invention relates to systems and methods for fast typing operations using a keyboard having a plurality of characters assigned to at least 1 and up to all of the keys, such that with the present system, there are fewer keys than the number of letters in the alphabet (e.g., corresponding to the english alphabet, having fewer than 26 letter keys, or fewer than 33 letters in the russian alphabet). For example, all 26 letters of the alphabet may be assigned to 4, 6, 8, or 17 keys. Each such key on the keyboard corresponds to a number, whereby 1 or more strings of numbers form a code. The system described above uses numbers in memory locations corresponding to the numbers to access a vocabulary or dictionary stored in the memory of the computer. The system may display all of the words available to the user in response to the input code. If more than 1 word corresponds to the encoded numeric string, the user selects 1 of the available words to be placed in the file.
The user is also provided the option of selecting the preferred word or words corresponding to any given number. When the code is entered, the computer displays all the words, with the preferred words being displayed in rank order. However, the user may choose to display only the preferred word or words.
Additionally, the user may be provided the option of obtaining a word corresponding to any given number displayed in a variety of ways, such as: (1) according to a user-defined preference or order; (2) according to a predefined preference list, which gives a higher ranking to those words that are most frequently used; (3) in alphabetical order; or (4) according to a predefined category of use, such as legal or scientific terms. The user has the option of obtaining a preference list that automatically adjusts according to the user's selection of words when a desired word is specified from the group of words having the same numeric code.
Another feature of the present invention is that the user can select from a range of keyboard layouts, such as 4, 6, 8, or 12 letter keys that specify 26 letters of the alphabet. In addition, the system forms a complete word and displays the word before the user completes typing the longer word on the keyboard. The present invention is preferably implemented with a conventional QWERTY-style keyboard, wherein a plurality of letters are assigned to the number keys 0-9. Typically, the row of numeric keys is located along the top row of the keyboard. Or a rectangular grid of numbers assigned the above-mentioned plurality of letters, which grid is usually positioned on the right side of the keyboard, or on a horizontal row of keys assigned letters in a usual manner. A specially designed keyboard embedded in a computer is also proposed in order to implement the present invention. The provision of fewer keys makes the specialized keyboard particularly suitable for use by persons with physical disabilities, and the specialized keyboard may be used in place of, or in addition to, a conventional keyboard.
Therefore, an object of the present invention is to provide a system for performing a key input operation more quickly by using a keyboard having a number of keys desired by a user, which is easier to memorize.
It is another object of the present invention to provide a fast typing operation system which may be used with a compact keyboard which is not flooded with an excessive number of keys, thereby reducing the size and space requirements of the input device.
It is a further object of the present invention to provide a keyboard in which each key has a plurality of letters, which requires only one touch to select a desired letter key.
It is yet another object of the present invention to provide an ergonomic keyboard for fast typing which reduces user fatigue, is easy to learn, and increases accuracy and efficiency.
It is a further object of the present invention to provide a keying system that is easy to use for people with disabilities, such as arthritis.
Another object of the present invention is to realize a quick key input system by a finger-placed input device.
It is a further object of the present invention to provide contoured keys for a keyboard that enable a user to feel the relative position of his hand on the keyboard.
It is a further object of the present invention to provide a quick and easy method of inputting information for editing and typing using a speech recognition system.
It is a further object of this invention to provide such a system that compresses data to reduce the memory required to store the data and increase the speed of transmission.
These and other objects and advantages will be readily apparent when reference is made to the drawings and the following description.
Brief description of the drawings
FIG. 1 illustrates, in block diagram form, an overall preferred embodiment of the word processing system of the present invention;
FIG. 2(a) shows an 8-key layout of the preferred embodiment of the present invention formed on the top number row of a standard QWERTY-style keyboard;
FIG. 2(b) shows a 14-key layout formed on a common character row of a standard QWERTY-style keyboard of a preferred embodiment of the present invention;
FIG. 3 shows a 6-key layout of a specially designed keyboard for another embodiment of the present invention of the system of FIG. 1;
FIG. 4(a) shows a flow chart of a preferred method of operation of the above system;
FIG. 4(b) is a flow chart illustrating another method of operation of the system described above;
FIG. 5 shows an output screen of the present invention of the monitor of FIG. 1, in accordance with a preferred embodiment of the present invention;
FIG. 6 is a flow chart of another embodiment of the present invention;
FIG. 7 shows an output screen of the present invention of the monitor of FIG. 1, in accordance with another embodiment of the present invention;
FIGS. 8(a) - (d), 9, 10, 11, 12, 13, 14, 15, 16, 17(a) -17 (d), 18, 19 and 20 show other keyboard layouts for the keyboard of FIG. 1;
FIG. 21 shows another keyboard layout for the touch screen monitor of FIG. 1;
fig. 22(a) to (b) are tables showing the number of word codes corresponding to 1 or more words when two letters of the alphabet are combined on the same key;
FIGS. 22(c) - (d) are tables of 5-21 key keyboard layouts generated based on the table of FIG. 22(a), showing for each layout the number of word codes corresponding to 1 or more words and the total number of words corresponding to those word codes having 1 or more words;
FIGS. 22(e) - (x) are other keyboard layouts based on FIG. 22 (b);
FIG. 23 illustrates a finger-placed input device and input selection panel employed in connection with the height entry system of the present invention;
FIG. 24(a) is a top view of a contoured keypad embodying the present invention;
FIG. 24(b) is a side view of the center top, bottom and side keys shown in FIG. 24 (a);
FIG. 24(c) is a perspective view of the 4 corner keys of FIG. 24 (a);
FIG. 25 is a block diagram of a word processing system in combination with a speech recognition system;
FIGS. 26(a) - (y), 27(a) - (z) and 28(a) - (m) show various alternative keyboard layouts;
fig. 29(a) to 29(1) show various alternative keyboard layouts.
Detailed description of the preferred embodiments
In describing the preferred embodiments of the present invention illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the invention is not intended to be limited to the specific terms so selected, and it is to be understood that each specific term includes all technical equivalents which operate in a similar manner to accomplish a similar purpose.
Referring to the drawings, FIG. 1 shows a rapid entry system 100 of a preferred embodiment of the present invention. In general, the system 100 described above includes a computer 10 having a microprocessor, an internal memory 12, and corresponding input/output components as is well known in the word processing arts. The keypad 14, printer 16 and display 18 are arranged in a conventional manner. In addition, a separate specially designed keypad or keyboard 50 may be selectively used in the manner to be described. The word processing system described above is controlled by programming instructions in a computer that recognizes keystrokes performed by an operator, and then displays and prints the text. The software instructions described above are modified relative to the generic instructions to implement the functionality of the present invention. The software that implements the functionality of the present invention may be located in preprogrammed instructions of the word processing system or stored on disk, CD-ROM, or stored and retrieved remotely for input into the computer via the internet or a local area network or other similar system, and may be linked to all large word processing programs in a manner well known in the art through conventional interface techniques. The above-described modes include, for example: enhanced or object linking and steering (Abetting) or standard interfaces through dynamic databases.
Although the system 100 is shown as being comprised of separate components, the system 100 described above may be implemented in a variety of ways (e.g., a handheld computer 10 having a memory 12 integrated with a keyboard 50 and a display 18). The output end of the hand-held computer or the portable input device can be connected with the computer in a remote mode by a direct wired mode or a wireless transmission mode. Thus, the portable input device can be used to remotely access the system (by remote telephone, over a common telephone line, or wirelessly, using tone signals or binary code signals generated by the input device).
The present invention is designed so that a user may decide to use certain letter keys of a conventional keyboard, or the number keys of a conventional keyboard, which keys are generally located along the top row of the keyboard or along the right hand side of the keyboard. Likewise, the present invention may be implemented on a touch screen monitor via a trigger-type joystick similar in appearance to a joystick, or via other similar input devices. The above keys may also be mounted on a portable keyboard in which finger keys are pressed inward in 1 direction, and thumb-operated keys are mounted on the side of the keyboard and pressed inward by the user's thumbs. The thumb is used in particular for function control, space, backspace, or for control of the cursor direction and for changing to a high-brightness state.
Fig. 2(a) shows a conventional extended QWERTY-style keyboard 14 for implementing the present invention in a manner consistent with a preferred embodiment of the present invention. Examples of the present invention are provided for the english language. The keyboard 14 includes 10 numeric keys along the top row and 10 numeric keys along the right hand side of the keyboard, labeled with the numbers 1-9 and 0, respectively. The keyboard overlay 23 is shown above the top row of numeric keys and represents the alphabetic symbols assigned to each respective numeric key. In addition, a sticker (not shown) having a plurality of letters may be selectively provided on the number keys located at the right portion of the keypad 14 or on the keys marked with letters in a general manner.
In 1 preferred embodiment, the qwerty keyboard is an 8-key layout. As shown in the keyboard overlay 23, the numeric keys 1-7 are each assigned 3 letters alphabetically, and the numeric key 8 is assigned 5 letters alphabetically. The number assigned to each numeric key is used as an input member code or number corresponding to the corresponding letter.
Fig. 2(b) shows another embodiment corresponding to the 14-key layout, in which, as shown, the common letter keys "a", "s", "d", "f", "r", "c", "j", "u", "n", "I", "k", "," l ", and"; redefined as shown. The letters of the keys vary within 1-8 for a single key. It is preferable that the present embodiment combines vowels with 1 or more consonants instead of combining consonants with consonants or combining vowels with vowels. Vowels and consonants are often not interchangeable in a given string of letters used to form a word, so the layout described above makes words with the same code less likely to occur. In addition, the most commonly used letters are sometimes provided with individual keys that are easily accessible. On the other hand, the rarely used letters are preferably collected on 1 key or keys which are not positioned in the usual manner.
Fig. 3 shows 1 example of a specially designed keyboard 50 corresponding to a two-handed 6-key keyboard layout. The keyboard 50 generally includes letter or character keys 52 and function keys 54. The character keys 52 are disposed in the middle row of the keyboard 50, while the function keys 54 are disposed along the top and bottom 56 and 58, respectively, of the keyboard 50. In addition, cursor control 55 and selection buttons 57 are disposed along the top 56 of keyboard 50. The keyboard 50 may be arranged in any manner suitable for other keyboards, such as in an arcuate arrangement of keys. Keyboard 50 interfaces with word processing computer 10 in a conventional manner.
The function keys 54 described above may correspond to any suitable function to be performed. Preferably, however, the bottom row of function keys 54 includes, for example, a SPACE key 60, a TAB key 62, a SHIFT key 64, and an ENTER key 66. The top row 56 of function keys 54 may correspond to numbers, characters, cursor movement keys, definable function keys, case shift keys, backspace keys, or keys with other similar operations. In addition, keyboard 50 may be used with keypad 14. The keypad 14 provides numeric or function keys 54 not provided by the keypad 50. Thus, the above-described keypad 14 is optional, and complements the special keyboard 50 by providing a full array of conventional functions and character keys.
The letter keys 52 are divided into two groups 68, 70, each group including 3 keys. Each key 52 in the left group 68 is assigned 3 characters, which are preferably printed on the key, but which may also be located on a control pad or overlay above the key so that the user's fingers do not obscure the letters (not shown) located on the keys themselves. The left key 52 includes the letters a, B, C, D; the middle key 52 includes letters E, F, G, H; the right key 52 includes the letters I, J, K, L. The keys 52 in the left group 70 each include 4-5 characters: the left key 52 includes the letters M, N, O, P, Q; the middle key 52 includes the letters R, S, T, U; the right key 52 includes letters V-Z.
Each of the letter keys 52 is also assigned a number corresponding to a number or piece code 72, which is printed on the bottom right side of the key 72. The purpose of the digital or input code is more readily derived from the following. The left group 68 of keys 52 is for left-hand use by a user and the right group 70 is for right-hand use.
As shown in each of fig. 2 and 3, the letters are arranged generally alphabetically from left to right along the letter keys 52. This arrangement tends to familiarize the user with and remember the locations of the keys, and tends to allow a "looking at the keyboard typing" typist to find the desired key. However, the letters may be arranged in any suitable manner, such as according to frequency of use. The less commonly used letters are grouped together or interspersed with more commonly used letters. The letters may also be arranged in part alphabetically, such as placing vowel letters alphabetically on individual keys. The letters may also be arranged so as to reduce the number of words corresponding to a single word code. In addition, the user or programmer may run a program to place letters on the keys in accordance with the number of keys determined by the user.
The computer may also be configured to conform to word usage and to determine the letters and words most commonly used by the user, and the information may also be used to automatically rank the terms in memory in order of preference, as will be more readily appreciated from the following. For example, if the letters are arranged in alphabetical order, the letter "o" may form a group with "n" or "p". However, since the words "on" and "no" are often used in large numbers, it is preferable to group the letter "o" with the letters "p" or "m", which are similar in the alphabet. Additionally, letters having similar shapes may be placed together in groups to aid the user in remembering their location. In addition, the additional key may be aligned around the index finger so that the key is easily accessible.
Further, the number of keys of the above-described keyboard layout may vary, for example, from 5 or less than 5 to 21 or more letter keys (see, for example, FIGS. 22(c), (d) and (e)), and the number of letters per key may vary from 1 to 8. There are many other possibilities in addition to the layouts shown in fig. 22(c) - (e). These possibilities are also practical and can be designed for the user, integrated with the computer program. As will be more readily appreciated from the following, the greater the number of keys (through the fine layout of the letters relative to the keys), the less editing or other interactive processing that the user requires. However, since there are many key positions, the key-in operation is slow and difficult to learn. Similarly, the fewer the number of keys, the easier it is to become familiar with and through the system to perform typing operations, but the more editing the user requires.
Turning now to fig. 4(a), a functional flow diagram of the present invention is depicted, as executed by programming instructions stored in the computer memory 12, or from a floppy disk. The system 100 begins at block 102 where the system itself formats. In the formatting process, each key is pre-assigned a specific set of letters and numbers or codes 72 according to the designated keyboard layout. For example, the preferred default keyboard layout is the 8-key layout of fig. 2(a), or the 10 or 12-key layout. Thus, from left to right, the 8 input members (here, keys 52) are assigned the numbers 1-8, respectively. In addition, for each letter a, B, C, a number or input number 1 is assigned; the letters D, E, F are assigned the number 2, etc. Thus, at step 104, when the letter key 52 is pressed on the keyboard 14, the corresponding number 72 is identified by the computer 10.
The operator may modify the standard 8-key layout according to the system design. That is, alternate layout options may be displayed to the operator, such as by 4, 6, or 13 keys, which are operator selectable, with the operator selecting the letter designated by each key. Each layout may be completed by a corresponding handle or cover plate 23.
After the layout selection, a typing operation may begin. At step 104, the operator types a word and the depression of the key is read. At step 106, the number corresponding to each key is read and, when the key is pressed, stored until the operator hits the key representing the end of the word to be typed. For example, if the character is a punctuation mark, a space, or a carriage return, the system determines that the entry of the word is complete and proceeds to step 108. Otherwise, the system returns to step 104 where the system waits for the next character to be entered at step 104.
When typing a word, the display preferably displays each letter corresponding to each key pressed. For example, as shown in FIG. 5, if the key "l" is pressed, the display displays a straight column or row presenting "ABC". Alternatively, the number "1" may not be displayed, or may be displayed. Further, only asterisks or other symbols may be displayed. These display symbols will be automatically deleted when the system determines to receive the entered word, or when the user deletes the word in order to enter another word.
Once the entire word is received at step 106, the system retrieves the memory 12 by comparing the value of the input code to a word code table stored in the memory 12 at step 108. In table 1 of the standard 8-key layout of fig. 2(a), several examples of numeric codes or word codes are given. As shown in table 1, each word code is stored in a specific storage location, and each storage location has 1 or more word lists. The word code is formed by 1 or more number input codes. Thus, each word in the dictionary is stored in the table memory corresponding to a particular code. The memory may be formed by any standard word processing dictionary or similar system.
TABLE 1
| Code | Preferred words | Word |
| 5-55-5-85-5-8-7 | now | noonnowmowmows |
In addition, fewer words than each word in the dictionary may be stored in the table memory. For example, the user may select a limited category of information corresponding to a more precise vocabulary, such as for use including business letters or scientific works, accessing medicine (addressing medicine), biology, physics, proper nouns, philosophy, and so forth. The reduced lexicon reduces the memory requirements and reduces the time required for the computer to retrieve the memory. Also, the user requires less interactive processing because there are fewer codes in the memory, so that each code can also correspond to fewer words, thereby increasing typing speed.
The user can select which dictionary to use, any dictionary can be combined with any other dictionary, or used with a base dictionary of common words. Thus, if no words are found in 1 lexicon, the user can expand the search to another lexicon. Such retrieval may also be made automatic. The user may also define a dictionary of frequently used words, and words may be added or deleted from any dictionary.
If the input number is located or present in the memory table in step 108, the system proceeds to step 118. At step 118, the system checks the storage location to determine if more than 1 word, i.e., multiple words, correspond to a particular input code. However, if the word is not found in memory at step 108, the user has the opportunity to correct any misspellings of the word at step 109. If the user determines that the code was not entered correctly at step 109, the user may return and re-enter the code at step 104. The correction of spelling errors follows standard word processing operations, such as deleting typed words and entering new text codes when needed. After correction, the system determines whether a code has been found in memory for the corrected word, step 108.
On the other hand, assuming no typing errors, the user may add words to the memory in step 110 by: a particular word is added to the dictionary memory corresponding to the selected digit. The user selects a new word by highlighting the appropriate letter in the alphabet above or below the original line being typed. Alternatively, the letters may be displayed in a window at any position of the screen. When the above letters are changed to a highlighted state and selected from the window, they are input into the original line.
Once all the letters in the word are highlighted, the user hits the enter key and the computer stores the new word in the storage location corresponding to the corresponding number. If the user chooses to add a word to the memory, the memory is updated at step 112. The selected word is then displayed in the text of the document at step 114, and then at step 117 the system returns to step 104 where it waits for the next key to be entered at step 104.
On the other hand, if the user does not add any words to the memory at step 110, the instruction is displayed at step 116 and the system returns to wait for the next key at steps 117, 104. The instructions may indicate that the word has not been located and that the user should determine whether there is a typographical error or that the user should reconsider whether a new word is defined. Thus, the above can be read as "check spelling" or "code not recognized". Alternatively, the system may display the word corresponding to the closest code located in memory and indicate that no perfect match was found.
If at step 108 there are at least 1 word stored in memory that corresponds to the input code, then the system performs step 118. At this step 118, if only 1 word is stored in the storage location corresponding to the input code, the word is displayed at step 120. If the word in memory is not the word that needs to be displayed, the user has the opportunity to modify (i.e., add or delete) the word stored in memory at step 122. The memory is updated to include or delete the modified word at step 124 as described above for step 110, the new word is displayed at step 126 to replace the originally displayed word, and the system returns to step 104 at step 127. If the word is not modified at step 122, it indicates that the displayed word is correct. In step 127, the system returns to step 104.
The process of modifying words in memory in steps 110, 122, 152 (as will be described below) allows the user to update the memory to make special definitions for words not normally included in the standard dictionary. For example, the proper noun may not be in the dictionary memory, and the operator may wish to modify or add the proper noun to the memory for the particular code. Thus, a user may add proper nouns, technical terms, abbreviations, etc. to the computer memory. This is done in any suitable programmed manner, such as by simply adding a new word to the storage location corresponding to a given code. In addition, the user may modify the memory to delete terms previously contained in the memory at a later time.
Assuming there are more than 1 word in memory at step 118, all the words are displayed at step 142, and any preferred words are displayed at the top of the list of words. The user then has the option of selecting a word at step 144, generating a preferred word at step 148, or setting a new word in memory corresponding to the code at step 152.
If the user selects a word among the displayed words at step 144, the selected word is displayed at step 146 and the system returns to wait for a new input character at steps 147,104. However, if a word is not selected at step 144, the user may wish to generate a preferred word at step 148. At step 148, the user may define the displayed word or words as the preferred word listed at the top of the list, or as preferred words to be listed in a certain order. If the preferred word is modified at step 148, the memory is updated at step 150, the word is displayed at step 146, and the system returns to step 104 again at step 147.
The above preferred words are selected or designated by the user in advance as the most commonly used terms. The system may also be provided with words that are pre-specified as preferred words. Further, the system may be formed such that the preferred word is a word selected at the last time the user inputs the same code. As shown in Table 1, for example, the term "now" is defined as the preferred term for codes 5-5-8. Although the above preferred terms are given as separate lists in the storage table 1, they may be labeled as preferred terms only and stored with other words of the above storage locations.
Finally, if the user does not select a word at step 144 and does not modify the list of preferred words at step 148, the user may modify (i.e., add or alter) words in memory at step 152. For example, as described above, a desired word may be missing in the displayed words, or the user may wish to include a new word corresponding to the input number. If so, the memory is updated at step 150 to reflect the new information and the new word is displayed at step 146. Then, in step 147, the system returns to step 104, where the system waits for a new character to be entered.
If the user does not select the word at step 144, the preferred word is formed at step 148 or the word is modified at step 152 and the instruction content is displayed at step 154. The system then returns to step 104 to wait for the next key to be entered at step 147. The foregoing may indicate to the user that "check spelling" or indicate that "words are skipped".
Turning now to fig. 4(b), another embodiment of the flow chart of fig. 4(a) is described. As a standard practice, the above system displays all words in the manner shown in fig. 4(a), with the preferred word displayed at the top of the list of words. However, fig. 4(b) allows the user to first display a list of only preferred words. If the desired word is not found in the preferred terms, the user may decide to view a list of all words.
Thus, steps 302-327 of FIG. 4(b) are similar to steps 102-127 of FIG. 4 (a). Referring to step 318, the user now has the option of first displaying only a list of preferred words. Thus, if there are more than 1 word stored in the memory location corresponding to the input code, as verified at step 318, the system then checks the list of preferred words at step 328. If a preferred word is stored in memory, then at step 330, the system displays any preferred words corresponding to the input code. An asterisk or message can be displayed with the preferred word so that the user knows that other words can be obtained in addition to the preferred word already displayed.
After viewing the list of preferred terms at step 330, the user decides to view the entire list of words at step 332. After this step, all words are displayed at box 342 to provide the operator with various choices, as will be described later. If not, the system determines whether a plurality of preferred words are stored in memory at step 334, and if so, the user may select from the preferred words at step 338. If a word is selected, the selected word is displayed at step 336 and the system returns to wait for a new keystroke at steps 337 and 304. If the word is not selected, a message is displayed at step 340 and the system returns to receive the next key at steps 337, 304.
Returning to step 332, if the user chooses to display all of the words stored in memory at step 332, or if there are no preferred words to begin with at step 328, then all of the words are displayed at step 342. Thus, at step 342, all words at the appropriate storage location are displayed in the monitor 18. Once the words are displayed at step 342, the user may select a word at step 344, generate a list of preferred words at step 348, or set a new word in memory corresponding to the code at step 352.
Steps 342-354 are substantially similar to steps 142-154 of FIG. 4 (a). However, at step 348, the user may define one or more words that have been displayed as preferred words, or view and modify the list of preferred words at step 348, or generate a new list of preferred words.
An example of the operation of the present invention will now be described with reference to fig. 5, together with fig. 4 (a). The monitor 18 is shown to include a main screen 22 on which output pictures are displayed. Suppose that the user desires to type the term "Dear Tom, Now is the time for all good men to come to the aid of the hair counter. After the computer has performed the formatting process at step 102, the user may type the word "Dear" by hitting the key string 2-2-1-5, which is recognized by the system at step 104. As each keystroke is made, the letter corresponding to each key is displayed on the screen 22.
The letters are preferably displayed vertically upward above the home row 25, which is the middle row. The bus bar is the row being typed. This behavior shows the row of the most preferred word. If there is no preferred word, the word displayed in the bar may be the 1 st word listed in alphabetical order, or the word selected when the code is input last time. Below the above-mentioned busbars, there is displayed a list of words with lower priority, which may be listed in alphabetical order. When a word below the busbar is selected, the word moves to the busbar. It is preferable to display letters and words in a horizontal direction, especially when there are fewer words to edit, so that most edits involve only selecting 1 out of two words.
For a large number of letters assigned to a particular key, the user may choose to have the system limit the letters displayed to the first 3 or 4. An asterisk is then set to indicate to the user that additional letters may be scrolled to obtain. Referring to fig. 5, for example, when the user presses the key 8 including the letter "w", the letters "v", "w", and "x" are displayed. Asterisks are also shown, indicating that the other letters "y" and "z" have not been shown. Of course, the user may choose not to display these letters. If the desired word is not selected, the user may choose to display the letters. Thus, letters may be displayed only when there is no word code in the memory. If there is a word code in the memory, only the word is displayed and the letters of the individual keys pressed are not displayed.
Now assume that the user has completed the typing operation of the word "now" by striking the code 5-5-8. Once 5-5-8 is entered, the user presses the space key 60, which indicates to the system that the word is to the end, step 106. At this point, system 100 retrieves memory, corresponding to 1 code in memory 12, and identifies input codes 5-5-8, as shown in Table 1, at step 108.
In another preferred embodiment, the numbers may be retrieved as the user strikes each key. Thus, when the user hits the number 5 for "N", then the memory skips all numbers, including numbers less than 5. When the user then hits the numeral 5 against "o", the memory scrolls to the numeral 5-5 (at this point, the currently obtained words "no" and "on" may be displayed on the screen 22 although the user does not complete the operation of typing the above specific word). When the user next hits the number 8 against "w", the system just needs to scroll down a short distance to position the appropriate code 5-5-8.
Continuing the present example at step 118, the system will identify the code corresponding to code 5-5-8, with the two words "now" and "mow". At this time, the system can make a sound to remind the user to edit the file.
Further, the above system determines that the word "now" has been labeled as a preferred word. Therefore, the word "now" is displayed in the bus bar 25 on the screen 22, and becomes a highlight state. In addition, the word "Mow" is shown below "Now" as shown in FIG. 5. The user may display all words in any suitable manner, such as by selecting a function from a drop down menu. The words corresponding to the input codes are preferably displayed starting from the bus bar 25 downwards. The user may then scroll down to one of the 1 highlighted displayed words, such as "Mow," at step 144. The method comprises the following steps: using scroll keys on the keyboard 14 or 50, the mouse 20, or the cursor control 55. Once the appropriate term is highlighted and the user presses the enter key, the selected term is displayed on the screen 22 at step 146. At steps 147, 104, the system returns to wait for the next key.
FIG. 5 is an example of a scroll down represented for codes 3-5-5-2. After the full code is entered, the words "good", "home" and "good" are displayed downwards, while the term "good" is located at the busbar 25. But in the position shown in figure 5 the user has scrolled down to highlight the term "good". When "good" is highlighted, the enter key is pressed to delete the words "good" and "home" and the letters from the display screen. In addition, as shown by the word "for all", the term "good" is displayed in the bus bar 25 without being turned to a high-luminance state.
Of course, the system described above may not highlight the desired word, instead, line the underside of the desired word, place the displayed and selected words in brackets, or any suitable method or combination to distinguish the selected word from the displayed list of words. In addition, the words may be displayed side-by-side rather than in a vertically aligned manner. The letters may be displayed within the window and the letters may remain within the window until the desired word is edited and placed in the busbar 25.
Also, the word may be selected by moving to the bus bar 25 in a scroll manner and pressing an enter key. Alternatively, the user may select a number adjacent to the listed word, thereby placing the word in the parent row. Of course, the above words may be shown above and below the busbar. When there are 3 words, so that 1 word is above the busbar and 1 word is below the busbar, the user has the option of pressing the "+" and "-" keys to select the word above or below the busbar, respectively. Also, the user may hit the scroll key (which is preferably located between the "+" and "-" keys) to view the next set of 3 words that are then displayed in the same manner. Furthermore, the words may be displayed in windows elsewhere on the screen.
The user may also determine to add a new word in memory (or, if there is no word code in memory due to a spelling error) at step 152. Referring to fig. 5, assume that the user inputs a code 7-5-5 for his name "Tom". The standard dictionary memory may not have the proper noun Tom, but have other words corresponding to the codes described above, including "Ton" and "Son". As described above, when the corresponding key is pressed, all the letters corresponding to the codes 7-5-5 are displayed on the screen 22. In addition, in the absence of any preferred terminology, the words "Ton" and "Son" would also be displayed on the screen 22. To define a new word, the user may proceed with the option of displaying all letters by pressing the function keys, as shown in FIG. 5, and then turn the letters used to form the new word "Tom" to highlighted by: vertically moving the letters into the busbar 25 by scrolling or moving the cursor and clicking.
Once all words are highlighted, the user, at step 114, strikes the enter key and displays the word in the busbar 25, deleting all letters and the remaining words from the display. Of course, the user may not highlight each individual letter, but instead move to a standard 26-key keyboard layout (as will be described below) to type the word directly. Further, the system may underline the letters without highlighting, put the letters in brackets, or use any suitable method including a combination of underlining and highlighting to distinguish the selected letters. The letters may also be displayed side by side rather than in a vertical alignment.
However, once the letter is selected and a word is formed, the system updates the memory to store the new word "Tom" (information indicating that there is no word in the memory may be displayed) at a memory location corresponding to the number 7-5-5 at step 150. The system then returns to step 104 to await the next key to be pressed. Once the operator is done typing, the operator may print the file on the printer 16, save the file on disk, or perform any other function commonly used by word processing systems.
Turning now to fig. 6, a flow chart of yet another alternative embodiment of the present invention is shown. Fig. 6 differs from fig. 4(a) in that it allows the user to complete typing of an entire sentence, paragraph, page, or document before having to select the word to be finally displayed. In addition, as shown in fig. 4(b), a preferred word is displayed together with the entire phrase. Thus, rather than only displaying a list of preferred words, the system displays all of the words with the preferred word at the top of the list. Scrolling of the longer list may be accomplished in any suitable manner.
Like fig. 4(a) and 4(b), the system first performs its own formatting process in step 202 and reads the key in step 204. After the entire word is entered in step 206, the system checks the code in memory in step 208. If the input code is not located in memory, then at step 210 a message is displayed or the code is displayed highlighted to indicate that no word was found. If the code is found at step 208 and there are only 1 word at step 212, the word is displayed at step 214. Assuming more than 1 word is in memory, then at step 216 the system displays all words, with the top level preferred word always displayed on the bar and the other words displayed above and/or below the bar. However, here, since there are only 1 word, the step of checking more than 1 word (step 212) may be eliminated, since the single word must be displayed at step 216.
After displaying the code or word at step 210, 214, or 216, the system determines whether to edit or verify the file at step 218. Here, the user may choose to edit the document after entering a line, paragraph, or page of the document. The system alerts the user at appropriate intervals. Thus, after entering each line, sentence, paragraph of text, the system will automatically prompt the user to return and edit the line, although the user may continue to type the document and later edit the document. When the file is edited later, the system can automatically go from 1 word to be edited to the next word to be processed, skipping all word codes with only 1 word in memory. Alternatively, the system may allow the user to toggle back and forth between words to be edited by using a TAB key, function key, or the like.
The user may also select among a plurality of displayed letters and/or words using the "+", "-" and "0" keys. For example, assume that the user must select from 9 words displayed on the screen for the entered word code. The words are shown above and below the busbar so as to be centered on the busbar (with any preferred word in the busbar and the remaining words listed alphabetically or in priority). The user can then hit the "+" key to narrow the displayed words to the words above the busbar (here, the top 5 words) and delete the remaining words from the display. The 5 displayed words are centred on the busbar and the user can then hit the "-" key to select the word displayed below the busbar (if this is the position of the desired word). Once the area is reduced to only 3 words, the "+" and "-" keys select words above or below the busbar, respectively. Of course, the words in the mother row may be selected by hitting the enter key all the time, or the user may continue typing.
Furthermore, the system may be formed such that only 3 of the 9 words are displayed at a time, the "+" and "-" keys selecting the words above and below the busbar respectively, the "0" key being available to move to the next group of 3 words by scrolling. In addition, the user may click on a number displayed adjacent to the above-mentioned word so as to immediately input the word, or the user may select a desired word using a cursor.
Also, the user may choose to edit the file at any time during the text entry process. If the file is not to be edited, the system returns to step 204 to await the input of the next key. Thus, the system displays the replacement words and letters up to the time the document is verified.
Once the file is edited, the system proceeds to step 220. Here, the system processes each input code. There are more than 1 word in the memory for the input code. When there are only 1 word, the word is received in the text of the document and displayed. When there are more than 1 word, the system displays a list of words, with the preferred word listed first. The system then prompts the user to select a word, enter a new word into the dictionary, or select a word as preferred. The above process is similar to steps 118-147 of FIG. 4(a) described above.
The most preferred words are displayed on the busbars and any remaining preferred words are displayed in their respective order of preference. The priority order may be user defined or pre-specified in the system. This is done by way of the user assigning a preferred order to the list of words. Alternatively, the rank order may be predefined by the system described above. Any non-ranked words are also displayed below the higher priority words in alphabetical order.
The term with the highest priority is shown in the busbar 25. The user may then scroll down (or up if the word is displayed above the busbar) to highlight any term to be selected. However, if the user does not select a word (e.g., by continuous typing), the word in bar 25 (here the preferred word) is displayed in the text of the document. The system may also be formed so that the user immediately selects all words in the highlighted state. As described above, the preferred word defaults to a highlighted state according to the user's selection, and the user can select a different word by: scrolling down or up to highlight the desired word without having to press the enter key for each individual word. If there are no preferred words, the first listed word located in the bar 25 defaults to a highlighted state.
All the operating steps of the invention are carried out according to known programming methods. For example, the step of indicating a word loss in steps 110, 122, 152, the step of selecting a preferred word in step 148, or the operation of modifying the keyboard layout is performed by methods well known in the programming arts, such as using a pop-up menu or a display window.
In this manner, all of the functionality available to the user is provided. Such as selecting a keyboard layout, adding new words to memory, etc. These functions may be implemented via drop-down menus, or via a display window that is accessible at any time during operation of the present invention, or only at selected times. Other operations, such as updating the memory at steps 124 and 150, may also be implemented by known programming methods, examples of which are described below.
According to the operation of fig. 6, an example of implementing the present invention through a window is shown in fig. 7. Setting a function display window to allow the user to select among available functions, such as entering a new word not in memory; selecting a new keyboard layout; generating a preferred word; editing files, etc. Additionally, letters and words are also displayed in a scrollable window, with the most preferred terms listed first in a highlighted state. Then, non-preferred or lower priority words are displayed below the most preferred words. However, the user does not necessarily have to highlight the preferred word.
Upon selection of a word, the window disappears and the word is displayed in the text of the document, e.g., as shown by "time" in FIG. 7. As an alternative to selecting words, each word and letter (where a new word is defined) may be displayed next to a number (not shown in the figure). The user may then select a word or letter by clicking on the number displayed adjacent to the desired word. The user can then perform a typing operation with one hand and another edit or select words and letters, or otherwise control the operation of the system.
Turning now to fig. 8-20, various alternative embodiments of keyboard layouts are shown. These keyboard layouts may be pre-programmed into the system described above, or may be specified by the user. FIGS. 8 to 10 show examples of the layout of a two-handed keyboard, and FIGS. 11 to 20 show examples of the layout of a one-handed keyboard. These embodiments require the user to position their fingers over most keys, thereby reducing finger and hand movement and fatigue.
The layout shown in FIG. 10 corresponds to a 14-key keyboard (since the keys 12 are repeated), which passes the phrase "Now is the time for all good men to come to the aid soft hair counter. It was found through this test that only the word "aid" requires editing by the user, while the remaining terms are words that are uniquely associated with the entered code. Thus, the number of keys is greatly reduced from the standard 26 keys to 14 keys, wherein the amount of editing required is minimized.
When having 4 or fewer keys for one or both hands, the user can always position 4 fingers over the respective keys, as shown in fig. 12. Or, as shown in fig. 11, the user may use two fingers, each finger being assigned two keys. For the case of 5-9 keys, the user can choose to use 3 fingers of one hand by using 2-3 keys for each finger, as shown in the layout of fig. 13. For 12 keys, the user may use 4 fingers of one hand, as shown in FIG. 13. Thus, the keyboard is preferably formed so as to minimize user fatigue by reducing finger movements.
Fig. 21 shows a further alternative embodiment of the invention, implemented on a touch screen 22 as located on the monitor 18 of a conventional computer. The key layout 80 is shown on the monitor 18 as being substantially octagonal, but may take any suitable shape, including circular or hexagonal. Like the manual keyboard shown in the figures, each key is assigned letters and numbers.
The user positions the pointer (not shown) in the center of the octagon and slides the pointer along the screen 22 outward into one of the 1 keys 80. This movement is generally indicated in correspondence with arrow 82. When the pointer enters the key, the key is activated. This selects the letter corresponding to the key and the user returns the pointer to the center position of the octagon. The touch screen system is particularly suitable for disabled persons and in addition it may recognize inputs from suitable input means, e.g. it reacts to light emitted from a pointer.
For the layout of these "keys", the "writting" technique may be employed. Techniques are known that employ a special writing instrument and/or tablet that can recognize the direction of a stroke and the change in that direction. The length of the stroke may also be identified, if desired. Successive uses of the same letter may be indicated by a circular motion, the length of the motion, or the depression of a key. For a 6-key keyboard, the following method may be employed:
(a) the user lets the pen move in 1 of 6 directions and then lifts it up at the end of the stroke.
These directions include:
(1) upper left;
(2) the upper right;
(3) left lower;
(4) right lower;
(5) vertically upwards; or
(6) Vertically downwards.
At the end of the word, a space key may be struck.
(b) The pen remains in contact until the end of the word. At this point the pen is lifted from the tablet, which drives the space key. The direction of the above-mentioned stroke is given in paragraph (a) above.
The computer must be asked to know whether the same key is struck two or more times in a row. There are several different ways to achieve this: (i) the user can touch the key on the pen through the index finger to indicate that the key is actuated alone; (ii) the button can be clicked by a finger not holding the "pen" described above. The key may be located on the tablet or elsewhere. If the next letter is located in the same key, the user can stroke the line as described in paragraph (a) above, or press the key (button) again. Alternatively, (iii) the user may move the pen in a direction other than the direction listed in paragraph (a) above, for example, it always moves in a horizontal direction towards the left-repeat hit for the 1 st of the key-if the next letter is also located in the same key, the user may move the pen as described in paragraph (a) above.
The input code may be an optically read handwritten symbol. Each symbol representing a keystroke or input formed by a handwritten symbol as described above, may come from a stylus and/or tablet communicating the shape of the symbol to the computer; that is, it can identify the direction of the stroke, the change in that direction, and the length of the stroke. The grouping of the letters is preferably based on features common to the shapes of the letters.
As shown in Table 2, the letters listed in column I have the common characteristics shown by the shapes of the symbols in column II and are therefore easy to remember. Table 2 is merely exemplary and other variations may be employed.
TABLE 2a
TABLE 2b
In each case shown in tables 2a and 2b, the symbols shown in columns II and III are written on the tablet relatively simply, relatively short and relatively quickly with respect to the symbols in column I, groups 1, 2, 3. Thus, 26 letters of the alphabet can be represented by 6-16 symbols. Of course, there are many other possible choices for the above-mentioned symbols, such as, for example, using "-" for the letter "t", or "d" for the letter "h", or the letter "d" by the symbol "⊂", or "f, j and l" for the letters
In addition, other symbols may be selected to represent the above-described letters, and fewer or more symbols may be used. (1) The writer may lift the stylus from the writing board at the end of each letter to indicate the end of a word by using a special symbol or pressing a key, or (2) the writer may contact the stylus with the writing board until the end of a word, signaling the formation of a space between words by lifting the stylus. In addition, if the stylus is in contact with the writing pad, in order to distinguish the end of 1 symbol from the position where the next symbol begins, the direction of the strokes of some symbols that are used consecutively must be reversed. Then, the word "bit" is written by the downward stroke "|, then turns back upward, and then turns back downward. On the other hand, if the stylus is lifted after each symbol, the word "bit" is written as "| | s".
In addition, for objects such as "finSome symbols in the word a "may take a mirror or upside down position. Then, after the upward stroke, "n" is formed by the downward movement, which generates "u" so as to represent the same letter group. For become toSymbol ofThe same operation can be performed. The handwritten symbol may then be input from a stylus and/or pen that communicates the shape of the symbol to a computer. The symbol may be selected to fit the basic shape of the corresponding letter, e.g., select "⊂" for "abcd"; for "efvwx", select "\\"; for "ghijkl", select "-"; for "mno", select "#"; for "pqr," ⊃ was selected; for "tu", selecting "U"; for "yzs,"/"is selected. The grouping of these letters is done according to their order in the alphabet and/or the shape characteristics that these letters have in common. Column III indicates that at least 16 "symbols" are available when different orientations are used (as indicated by the arrows in table 2) and when mirrored. For symbols Other similar symbols areAnd
arranging more than 1 letter on the same key reduces the number of keys on the keyboard. This makes it easier to remember the location of the letters. In addition, they are all close to each other due to the fewer bonds. Thus, the need for movement of the hand and fingers to reach the keys is reduced, which results in faster typing operations and less fatigue.
However, placing more than 1 letter on the same key may form a word code corresponding to more than 1 word. For example, if the letters B and G are assigned to the same key, the words "berry" and "merry" have the same word code. The system displays these two words and the user must "edit" the typed document by selecting the desired word. This editing step, which slows down the typing operation, can be minimized by careful selection of the combined letters on the keyboard.
When a combination of two letters is placed on 1 key and the remaining 24 keys have 1 letter each, the number of word codes corresponding to 1 or more words is defined herein as the number 1 frequency, or F #1, for the combination of letters described above. The value of F #1 for each combination of letters provides the basic information needed to select which letters should be combined on the keyboard in order to minimize the amount of editing required. To obtain this information, the following steps are taken. Two letters are first assigned to 1 key on the keyboard and the remaining 24 letters are assigned to the remaining 24 keys, respectively. Then, an input code is designated for each key, so that 24 input codes correspond to 1 letter and the other 1 input code corresponds to 2 letters, respectively. Then, these input codes are assigned to letters of each word in a dictionary having 21110 words, thereby forming a word code corresponding to each word.
The word codes with the specified two or more words are then sorted in numerical order, with words being specified with word codes listed adjacent to the respective word codes. Next, a calculation of the number of word codes assigned to two or more words is performed. In the tables of fig. 22(a) and (b), the above-mentioned calculated value F #1 is listed. As shown in fig. 22(a), (b), the above steps are repeated for the merging of two letters of the alphabet. Each letter of the alphabet is listed through the top horizontal row and along the left vertical column.
For example, the number of word codes assigned to more than 1 word is found for a combination of E and F on 1 key by traversing the top row until the letter E is found, and then browsing the columns down until the corresponding letter F is found. As described above, it was found that for the E-F combination, there are 11 word codes, each corresponding to two words, for a total of 22 words. The 22 words are: (1) ear, far, (2) east, fact, (3) ear, fat, (4), light, (5) fief, fit, (6) chafe, chaff, (7) hale, half, (8) light, life, (9) ser, serf, (10) scar, scarf, (11) reserve, surf.
It can also be found that more than 99% of the word codes assigned to more than 1 word have two words, and only about 1% correspond to 3 or more words. Certain letter combinations, such as "EJ", "OV", "BI", "AZ", and "FI", correspond to few word codes corresponding to more than 1 word, that is, they have a lower F #1 value. The selection of the above letter combinations for the opposite key is preferably made among those letter combinations with the lowest F #1 values. Combinations of letters with lower F #1 values in the range of 0-32 may be organized in a single chart by F #1 value to facilitate selection and layout of the letters on the keys.
It is also found that many combinations of letters having lower F #1 values are alphabetical, or substantially alphabetical. Thus, for lower F #1 values, an alphabetical layout of the letters on the keys is possible, so that the alphabetical order can be employed without greatly increasing the amount of editing required. The above letter combinations include "AB", "EF", "HI", "IJ", "IJK", "JK", "MO", "NO", "OP", "PQ", "QR", "SU", "TU", "UV", "UW", "UX", "VW", "WX", and "YZ". It should be noted that many of these combinations include vowels and consonants. The reason for this is that vowels and consonants are generally not interchangeable in the letter strings used to form a given word. In addition, as indicated by the higher F #1 values, certain combinations such as "NR", "RT", "RP", "LR", "TN", "NL", "DT", "TL", "PT", "TS", "RD", "RL", which are combinations of consonants and consonants, should be avoided.
From the information in fig. 22(a) to (b), various keyboard layouts of 2 to 21 keys are formed. For example, FIGS. 22(c) - (d) show these layouts with 5-21 keys. Each of fig. 22(c) to (d) shows a key on the keyboard. Each key forms 1-6 letters assigned to it. For example, an 8-key keyboard includes 6 keys each having 3 letters, and 2 keys each having 4 letters. Each letter is assigned the input piece code of the key it specifies. The input piece code for each letter is then assigned to the letter of each word in the dictionary. For example, if a key on which a letter ABC is assigned has a code 1, the above code 1 is assigned to the letter every time a, B, or C appears in the dictionary. As a result, a word code is assigned to each word in the dictionary having 21110 words. Next, the word codes to which 2 or more words are assigned are sorted in numerical order, with words being assigned to word codes adjacent thereto.
Then, the number of word codes specifying 2 or more words is calculated, and the value is given as frequency No. 2 or F #2 in fig. 22(c) to (d). In addition, the number of words corresponding to each word code corresponding to 1 or more words is calculated for each keyboard layout, which is represented by frequency No. 3, or F # 3. In fig. 22(c) to (d), the number of keys to which letters are assigned varies from 5 to 21. The keypad having 21 keys includes 4 keys having 2 letters, respectively, 1 key having 3 letters, and 16 keys having 1 letter, respectively. The reason that F #2 has a value greater than that of F #1 is that F #2 includes any layout having more than 2 letters assigned to the same key, in contrast to F #1, because the value of F #1 is based only on 2 letters combined on 1 key, while the remaining 24 keys have 1 letter assigned to them, respectively.
The increase in the number of words assigned the same word code from F #1 to F #2 is shown by the following example. The following combinations of letters and codes are assumed: g-1, E-2, N-3, R-4, O-5 and I-6. Thus, the word code for "inner" is 15324, and the word code for "inner" is 63324. If the letter "I" is assigned to the same key as the letter "G" (so that 2 letters have the code 1), the word code of "inner" becomes 13324. Thus, for these 2 words, the two codes are still different. However, if the letter "N" is also designated later to the same key as the letter "O" (so that 2 letters have the code 3), the word code of "goner" becomes 13324. Then, the above 2 words have the same word code, and F #2 is larger than F # 1. F #1 exhibits the minimum value of F #2, for which reason this F #1 is the best indicator of the possible values of F # 2. Fig. 22(d) shows values of F #1 and F #2 for various keyboards.
For the case of 14 keys or more, F #3 is substantially 2 times as large as F #2 because any editing is most often only 2 words for a given code. As the number of keys decreases, more keys have 2 or more letters, and the number of word codes of the designated 3 or more words increases. Thus, for an 8-key keyboard, each word code has an average of 2.33 words.
As shown in fig. 22(c) to (d), a plurality of keys are assigned 2 or more letters. 16 different keyboards with 8-21 keys were derived. As the number of keys having 2 or more letters increases, the number of word codes corresponding to 2 or more words also increases. For example, if C and D are combined on the same key, and all other keys have 1 letter assigned to them, the words "calf" and "dale" do not have the same word code. Assume that A has input code 1; c, D has a corresponding code of 2, L has a corresponding code of 3, E has a corresponding code of 4, F has a corresponding code of 5, then "calf" has a word code 2135 and "dale" has a word code 2134. However, if the letters F and E are assigned the same input piece code 5, then the two words have the same word code, 2135.
The keyboard layout of fig. 22(c) - (d) is a preferred embodiment in which it is important that the letters remain in alphabetical order. In order for the keyboard to have a layout that is substantially alphabetical, each letter must be grouped on the same key, or on adjacent keys having letters adjacent thereto in alphabetical order. Thus, for example, the letter "J" is preferably on the same key or adjacent keys of the letters "K" and/or "L". By using alphabetical order or partial alphabetical order, the location of the letters is more easily remembered. Other criteria for arranging letters on a keyboard are the number of word codes having more than 1 word, the frequency of commonly used words or phrases having the same word code (e.g., "tion", "ing", and "the"). Various other keyboard layouts are readily understood because of the lower emphasis on having alphabetical order.
For example, for an 11-key keyboard layout, the layout has a total F #1 value of 412 word codes corresponding to more than 1 word. The 1 st key includes letters "a" and "B", which are determined to have 12 cases of word codes corresponding to more than 1 word. Likewise, down the table, key 2 "CD" has 70 word codes, "EF" has 11 word codes, "GHI" has 42 word codes, "JKL" has 87 word codes, "MNO has 109 word codes," PQR "has zero word codes," SYZ "has 38 word codes," TU "has 8 word codes," VWX "has 35 word codes, and a total of 412 word codes corresponds to more than 1 word.
F #1 of each key is based on the values derived from fig. 22(a) - (b), with 2 or more letters on the key at this time. For example, for a 3-letter key "GHI", the combination value is taken from a 2-letter combination (i.e., "GH" 36; "GI" 3; "HI" 3; 42 total). Of course, when 1 or more keys are designated with 1 or more letters, the number of word codes corresponding to 1 or more words is larger than that shown in fig. 22 (a).
The total number given in fig. 22(a) provides a good indication of the letter combinations having the least number of word codes corresponding to more than 1 word. For a keyboard layout with fewer keys, the number of words with the same word code is larger since a smaller number of keys forms more keys with more than 2 letters. Of course, when the size of the dictionary is reduced, for example, the dictionary has only medical terms and the like, fewer word codes correspond to more than 1 word.
Fig. 22(c) - (d) (at bottom row)) also gives the number of approximate averages of lines that are entered before a word needs to be edited when the system described above is run through a dictionary with 21110 words. The amount of editing is directly related to the number of keys on the keyboard, and the layout of the letters on the keys. For a smaller keyboard with 8 keys, about 10% of the words, or about 1.1 words per row, require editing. However, for larger keyboards, little editing is required, in fact a 21-key keyboard requires only about 1 word to be edited for every thousand rows typed. The above editing is further reduced by the use of preferred words. In addition, when the word code corresponds to only 2 or 3 words (accounting for the majority of the keyboard layout), the required word takes 50% or 331/3% of the time to be located in the mother line, respectively. In these cases, editing is not required, and the desired word is selected by continuous typing.
The keyboard layout shown in fig. 22(c) to (d) is also implemented for a dictionary having 230000 words. It is confirmed that for a 10-key keyboard, the user will encounter approximately 1 word code corresponding to more than 1 word per row. However, as the number of keys increases, the amount of editing decreases greatly. For an 18-key keyboard, each page only encounters about 1 word code corresponding to more than 1 word. Of course, the amount of editing required depends on the content being typed.
New typists can start typing with a keyboard with fewer keys, which will turn to a keyboard with more keys as the typing skills improve. This method of learning typing, which progressively increases the length of the keyboard, can be developed in a simplified manner from 8-key or less keyboards to 20-key keyboards, as desired. The assignment of letters to the keyboard in fig. 22(c) - (d) is such that some people learning typing start with a 5-key keyboard. After being familiar with the keyboard, the user may employ a larger keyboard. Each keyboard is substantially similar to the next larger keyboard in that it is easier to remember the letter locations on the keys and the movement of the hand to the key, thereby facilitating the learning process.
Fig. 22(e) - (x), 26(a) - (y), 27(a) - (z) and 28(a) - (m) show several alphabetic layouts of the keyboard layout, although they do not necessarily correspond to the layouts of fig. 22(c) - (d). Fig. 22(e) - (q) and 26(a) - (r) are two-hand operated keyboards, and fig. 22(r) - (x), 26(s) - (y), 27(a) - (z) and 28(a) - (m) are for one-hand operation. These arrangements are merely exemplary and other suitable arrangements may be employed. For a two-handed keyboard layout, the left and right sides may be interchanged, and the corresponding keys may also be moved back and forth, or interchanged in other ways. For a one-handed keyboard layout, the key positions and regions may also be moved back and forth. Furthermore, the rows may be interchanged.
For a two-handed keyboard layout, the left-hand and right-hand operational keys shown are preferably provided on a single keyboard. However, the left-hand operational keys may be arranged on a separate keyboard independent of the keys that are reached by the user's right hand. These layouts maintain the order of the alphabet as a whole while also incorporating letters to minimize the amount of editing required.
While other layouts are suitable, the vowels on a one-handed keyboard layout preferably have the following overall layout with respect to each other:
A E A E I A A E I
i O or O or E O or O U
U U I U
For a two-handed keyboard layout, 1 hand touch is preferred for all vowels. In some keyboard layouts, several letters may be arranged in more than 1 position (i.e., on more than 1 key) in order to make them more accessible. Thus, a faster key input operation is realized. Since the vowels are most frequently used, it is preferable that the vowels be positioned in a manner to facilitate middle and index finger manipulation in order to achieve faster typing operations. Meanwhile, the order of the vowels is substantially in the order of the alphabet.
As another feature of the invention, when entering longer words, the system recognizes that there are only 1 word headed by the code that has been entered before the typist types all the letters. At this time, the word is printed on the screen 22 and a sound is made. The user then begins typing the next word. The user may also modify the word in the manner described above.
For example, referring to Table 3, assume that the user enters the codes 1-3-2. At this point, there are several possible words from which the user can select, specifically, "aid", "age", and "bid". More importantly, however, the user can continue to type in order to further define the words with respect to many words that have not yet been able to be identified, such as "managed," "agents," "managed," "bids," "biding," and the like. However, if the user later hits the letter key 4, the available option is the word "ageness". At this time, the word "ageness" may be displayed on the screen 22. Thus, the user does not have to type longer words, such as "ageness," in their entirety.
TABLE 3
| Code | Word |
| ···11-3-21-3-2-21-3-2-4-2-7-7··· | aageaidbidchefagedbideageless |
As shown in Table 3, to determine whether there are other words that begin with codes 1-3-2, computer 10 must search for codes that have at least the numerical order described above. However, as shown in Table 4, each storage location in memory 12 may be formed such that all available options are stored at the basic codes 1-3-2. Thus, once the user types 1-3-2, a limited number of options are all displayed at this time. That is, the words "age", "aid", "bid", "chef", "agent", "bid", "agent" and corresponding derivatives, such as "bidding", "chefs", etc., are displayed on the screen 22. The operation of this embodiment is faster and the memory requirements are reduced, but is only suitable where there are a limited number of subsequent derivatives to the input code.
TABLE 4
| Code | Word |
| ···11-3-21-3-2-21-3-2-4-2-7-7··· | aageaidbidchefagedbideagelesschefagedbideageless |
As a further feature of the present invention, the user may return to the word at any time (such as by placing a cursor anywhere in the word). When the user returns to the word, the number corresponding to the word is recalled. The user may then choose to display the preferred word, or all words corresponding to the code. The user may also modify the code to enter a new word.
As described above, a further feature of the present invention is to provide the user with the option of switching between different keyboard layouts, including the standard 26-key QTERTY keyboard layout. Although not shown in the flow chart, the user may choose to modify the keyboard layout at any time during operation of the system described above. Essentially, the user may select any suitable number of keyboard layouts, such as a 4-key, 6-key, or 8-key keyboard layout.
The memory 12 stores a separate table for each selectable keyboard layout. One way to access the appropriate storage location is through an automated approach and internally treating the keyboard code as the 1 st digit of the number. For example, to identify a code from a 6-key keyboard layout, the code "6" is automatically appended to the forefront of each word as each new word is started, as shown in FIG. 5. Thus, the system described above is able to switch between keyboard layouts in the middle portion of a file while still recognizing input codes that are consistent with a particular keyboard layout. Thus, the next time the system is operated, the system defaults to the last saved layout when formatting at step 102.
TABLE 5
| Code | Word |
| ···6-16-1-3-26-1-3-2-26-1-3-2-4-2-7-7··· | aageaidbidchefagedbideageless |
In addition, the user may choose to define his/her own keyboard layout in addition to the predefined standard layout. As described above, each numeric key is used as an input number corresponding to a corresponding letter. The user selects the number assigned to the particular letter and key. This information is then stored in memory, which is further updated to reflect the new code corresponding to the word in storage. The computer then orders and stores all words corresponding to the same number in a single storage location corresponding to the particular number.
However, the memory 12 shown in table 5 stores each word several times, each time for each keyboard layout. In an alternative embodiment, the numerical values for each keyboard layout are stored for each word, as shown in Table 6. The computer 10 then searches the numbers for a particular keyboard layout.
TABLE 6
| Code | Word |
| 6 keys type | 8 key type |
| 2-5-5-52-5-5-5 | 2-5-5-62-6-5-6 | doordrop |
As a further feature of the invention, the user may select to display the words in memory at any time. At this point, the user may add, delete, or modify the words stored in memory, or verify the correct spelling of the words. The user may also list all words in the database or memory beginning with the 1 st letter of the typed word. In other words, the typist may type the first 4, 5, or 6 letters of a word and then have the system choose to form a list of all words headed by those letters. The typist can select this option while typing or editing the word. In this manner, the system described above can be used to determine the correct spelling of a word.
Thus, the user need not complete the operation of typing a longer word, which may be automatically displayed after the user enters, for example, the first 4, 5 or 6 letters of the word. Then, the user selects a desired word by making the word highlighted and pressing the enter key. The word is then moved to the text of the document. As another option, the system may be formed so as to display only words corresponding to the number of letters typed by the user. That is, if the user types 7 letters, only a word composed of 7 letters with the first 4 keys is displayed.
The fast typing method of the present invention is compatible with common WORD processing programs such as "WORDPERFECT" and "WORD" and may be used in DOS, WINDOWS, or Macintosh operating system environments. Additionally, the database of words and numbers may be retrieved in any suitable manner.
The invention simplifies the operation of learning how to type because of the multiple characters arranged on 1 key. In addition, less motion is required for typing, thereby reducing user fatigue while increasing speed. In addition, the keyboard is not crowded and is easier to use for people who have not learned typing. In addition, there is more space on the keyboard, allowing the size of the keys to be increased, thereby facilitating use by people with arthritis or other physical disabilities.
The present invention is particularly well suited for use with laptop computers and handheld electronic devices, such as electronic diaries (electronic diaries), because the size of the keyboard 50 is greatly reduced, but the full character set is maintained. With fewer keys, the position of each key is easier to remember, all keys are easier, faster, and with higher accuracy to reach.
Also, since the present invention reduces the number of keys required for a key input operation, a general harmony system (chord system) becomes more practical. The system may then be configured so that the user presses more than 1 key simultaneously or sequentially to select a particular code to which a letter has been assigned. In a sequential system, a 9-key keyboard can be reduced to 3 keys because there are 9 combinations of keys (i.e., 1-1, 1-2, 1-3, 2-1, 2-2, 2-3, 3-1, 3-2, and 3-3) that are sequentially accessible. Also, for a 4-key keyboard employing sequentially operated keys, there are 16 combinations. For a 4-key keyboard employing simultaneous selection of keys, there are 10 possible sets of combinations (i.e., 1, 2, 3, 4, 1-2, 1-3, 1-4, 2-3, 2-4, and 3-4).
For ease of illustration, a particular key may correspond to the letters "v", "w", "x". If the user then presses the key 1 time, the system can identify "v" and "w". The system described above detects the same code "1" twice when the same key is driven for the 2 nd consecutive time period (or when different keys are driven), which code may correspond to different sets of letters, e.g., the letters "x", "y", and "z". Alternatively, for the letters "v" and "w", the actuation of the 1 st key may correspond to the code "1"; for "x", "y", and "z", the actuation of the 2 nd key may correspond to code 2.
There are various methods that can assign 1 code or a plurality of codes to 1 key, such as by sequential actuation of the keys described above. Also, 1 or more codes can be assigned to a plurality of keys by, for example, harmonious synchronous driving of the plurality of keys.
The present invention may be formed in various shapes and sizes and is not limited in scope by the preferred embodiments. Also, the terms "key" and "keyboard" as used herein are not limited to a set of mechanical components that are actually depressed by an operator. The input code may be optically read and written symbols, each symbol representing a keystroke.
The input may also be mood-actuated (telekinetic), where the user aims his eyes at the alphabet in order to actuate the key. Alternatively, the input code may be voice activated, whereby the voice recognition system may translate the spoken "keystrokes" into an encoded input. The operator may then recite "5", "5", "8" (or a desired letter), which symbol is detected and converted to a 5-5-8 code and displayed as "now" or "mow" in the manner described above. Alternatively, the user may dictate the letters or words to be displayed. In addition, the memory table of the present invention may be integrated with dictionary information and other editing methods currently existing in word processing systems. The dictionary just needs to be updated with the appropriate numbers.
In yet another embodiment of the present invention, function keys (or, alternatively, shift keys) may be provided to perform various functions. For example, function keys may be provided to control a numeric keypad, such as the numeric keypad shown on the right side of the ordinary keyboard in fig. 2(a) and (b). The function keys allow the user to switch the key regions so as to realize the function of a numeric keyboard or an alphabetic keyboard. If the user designates the keypad for operation as a numeric keypad, the function keys may also be used to display punctuation choices when, for example, the function keys and the number 7 (from the keypad) are pressed. Also, the above function keys can be used to operate the cursor from the direction. A mode indicator light or message may also be provided to indicate whether the keypad is being used as a numeric keypad or an alphanumeric keypad.
For ease of further description, the function keys may be used on a keypad similar to a common telephone keypad. Typically, the telephone keypad has 3 rows of keys, each row of keys has 3 keys, and all the keys are numeric keys; and a bottom row of keys having numeric keys, star keys and # keys. Letters of the alphabet may be assigned to the 3 rows of numeric keys, and the bottom row of keys may correspond to functions.
In the bottom row of the telephone keypad, the number keys (which are often zero) are used to designate that capital letters are to be typed. The star key may be a space key and the # key may be a backspace key. The sequential driving of the function keys described above may correspond to various additional functions.
For example, pressing the asterisk key before the # key will cause the keyboard to switch between letters, numbers and symbols (including punctuation marks). In addition, two actuations of the numeric keys in front of and behind may be operated as cursor control for a predetermined period of time (and/or before actuation of any other key).
In an alternative embodiment, the telephone keypad may be formed such that the keys 1, 2, 4, 5, 7 and 8 are assigned letters; the # key and the asterisk key are assigned the "-" and "+" signs, respectively (which, as noted above, are used to scroll the word during editing); the zero key is used to switch to other keyboard layouts.
It should also be noted that the simultaneous actuation of two keys may also be used to perform various functions. Thus, there are a variety of ways in which function keys may be employed that fall within the spirit and scope of the present invention.
As mentioned above, the system may be formed in a hand-held computer or portable input device with an output located remotely and connected to the computer by wire or wirelessly.
The 3-bit binary code has 8 permutations, 001, 010, 011, 100, 101, 110, 111, 000. 6 of these arrangements are assigned to 6 keys on a 6-key keyboard layout having letter groups assigned therein. The above designation may be performed in the following manner:
binary code designated by key number
1 ABCD 001
2 EFGH 010
3 IJKL 011
4 MNOPQ 100
5 RSTU 101
6 VWXYZ 110
For the input of additional data (e.g., control of punctuation marks, numerical data, cursors and other functions), the above system is formed to "switch" to another binary code that makes the additional data available, which is the case when a particular 3-bit binary code (assumed for this purpose to be "000") is input. For example, the "switch" described above may be from a 3-bit binary code to an 8-bit binary code, which makes 256 8-bit binary codes available.
For word codes corresponding to more than 1 word (e.g., ACT, BAT, and CAT with binary codes 001, 001, 101 for each word), a selection or identification code is required to identify the desired word. One method (described above) for selecting the desired words (e.g., ACT, BAT, and CAT) is for the user to enter a number adjacent to the desired word above the "bus bar".
Thus, unless the user enters the number 1 corresponding to "BAT" or the number 2 to select "CAT", the word in the mother line, here "ACT", will be automatically entered. If the user inputs the number 1, the word "BAT" is moved to the bus bar, displayed, and printed. In order to store or transmit in memory, or to apply additional compression techniques to word codes formed from 3-bit binary codes, each word must have a unique code. To this end, suffixes (e.g., identification codes) are added to words that do not have unique word codes.
The word code with the suffix must be checked against other word codes listed in the dictionary to verify that no other words have the code. For example, if a 3-bit binary code 010 is appended to the word code of "BAT," a word code of the word "BAT" is also generated. However, another 3-bit binary code, such as 110(VWXYZ), may not produce any repetition. Wherever possible, 1 binary code of 3 bits is used to distinguish words having the same basic word code; however, 1 or more binary codes of 3 bits may be used. Multiple 3-bit suffixes may make it possible for each word to have a unique word code. Another scheme for forming a unique word code is to add a 3-bit binary code, such as "000", to indicate a conversion from a 3-bit binary code to an 8-bit binary code, and then to append an 8-bit binary code to distinguish the word code from other word codes. The 8-bit binary code selected for this purpose also indicates that it is the end of the word. The space after the word is thus formed and then automatically converted back to the 3-bit binary code described above.
The terminal of the word may be indicated by a particular 3-bit binary code specified for this purpose, such as "111" (or, as noted above, a binary code greater than 3 bits used as a suffix to the end of the word code). The indication of the end of a word minimizes transmission errors for the 1 word that is adversely affected.
Since each letter employs a 3-bit binary code, a word consisting of 4 letters requires about 12.712 bits. For a word consisting of 4 letters, an 8-bit binary code requires 32 bits.
The 12.712 bits are derived as follows: with a dictionary with 21100 words, a 6-key keyboard has 17008 words assigned unique word codes, which then do not require any suffixes. The remaining words, 4092 words not designated with a unique word code, are designated with a total of 1588 word codes. The 1 word on each of these word codes is not designated with a suffix because they are different from the other word codes with suffixes. The remaining part, i.e. 2504 words, is assigned a suffix. If 6 bits are required on average for suffixes over 2504 words, these suffixes require on average 0.712 bits (6 x 2504 ÷ 21100) for each word in a dictionary with 21100 words. If a word is composed of 4 letters on average, each word requires 12.712 bits [ (4 x 3) +0.712 ]. An 8-bit binary code requires 32 bits.
The 3-bit binary code has 8 available binary codes. The 4-bit binary code has 16 available codes. Among these codes, 14 codes may be assigned to keys assigned letters, 1 code (e.g., 111) for specifying a space at the tail of a word, and 1 code (e.g., 0000) for converting to another binary code in order to encode numbers, punctuation marks, function keys, cursor control, and the like. If a 4-bit binary code is used for each letter, about 16 bits are required for a word consisting of 4 letters. For a word consisting of 4 letters, an 8-bit binary code requires 32 bits.
The 14 bits are described as follows: a 14-key keyboard has about 590 words assigned 251 word codes. Thus, suffixes are only needed on 259 words to have a unique word code for each word (590-. The 4-bit binary code is added with 1/20(4 × 259 ÷ 21100 ═ 1/20) of the 4-bit binary code on average per word in the 21100 vocabulary dictionary. If the average word is a 4 letter word, each word requires about 16.05 bits. In contrast, an 8-bit binary code requires 32 bits. It is then clear that with a 3-bit code for a 6-key keyboard and a 4-bit code for a keyboard with 7-14 keys, this case requires less code than an 8-bit binary code for encoding letters.
As one would expect, 3-bit and 4-bit binary codes of the word code allow the required code to be greatly reduced. A word code consisting of a binary code formed of 3 characters and a suffix is transmitted to a receiver, where a computer compares the value of an input code with a word code table in a memory, and then displays words corresponding to the input code stored in the memory. Switching of the code may be accomplished by a special code string, such as 000, 111, 000, to shift out a 3-bit binary code (or, to shift out a 4-bit binary code by the code string 0000, 1111, 0000), and then using the "0000" switching code string to return from the 4-bit binary code to the binary code. A switching code string of "00000" is employed to switch back to a 4-bit 3-bit binary code. For example, when punctuation is used (which is located at the end of a sentence, such as a period or question mark), with some other input system, the spacing between a word and the capital letters of the next word is automatic.
Each word in the dictionary is also assigned a binary code consisting of more than 3 binary characters, so that each letter has a unique binary code (e.g., an 8-bit binary code). In the database, the two sets of binary codes (for each input element, 1 set of characters with 3 bins and 1 other set of characters with more than 3 bins) are adjacently arranged.
When data is received, the data is decoded so that a 3-bit binary code can be located on a file in the memory of the computer receiving the data. A binary code having a unique binary code assigned to each letter is stored adjacent to the code. The text may be displayed and/or printed at the receiver location.
When receiving the word, the desired specific word is next to the word code received by the transmission. Errors in transmission are minimized by using 3 1's in a string 111, which, as described above, represents a space between words and which can be used simultaneously as a reorder key when the receiver sees the 3 1's. The use of 3 character bits (111) minimizes transmission errors for 1 word that is adversely affected.
Data can also be compressed by having the system automatically convert the text to a format that uses 3-bit binary code. For each word, 3 codes are stored in memory: (1) a 3-bit code (a code with the maximum degree of compression), (2) a binary code having a unique code for each letter (for example, an 8-bit binary code), (3) a word code for a keyboard layout for inputting text. The 3-bit binary code may be further compressed by employing well-known compression methods.
In a further embodiment of the invention, in order to further reduce the dictionary stored in the memory, the prefix and suffix may be stored separately. For example, instead of saving "necessary", "unecessary", "published", and "unpublished", only the words "necessary" and "published" need to be kept. In addition, a common list of prefixes and suffixes are stored in memory, respectively. When the user types "un," the system recognizes that the prefix is entered. When the remaining words are entered, the words are located in memory and then prefixes and suffixes are appended to the located words. Also, plural numbers of words, past times, present times, and future times may be stored in the memory in a manner that belongs to the same group of words.
The system 100 described above is also formed as a means of translation by including translated words for each word listed in memory. For example, the contents of the memory 12 may be organized as shown in table 7, which is performed based on the 8-key keyboard of fig. 2 (a). Here, the user may display the translated word together with or without the english word.
TABLE 7
| Code | Preferred words | Word | Translated words |
| 3-5-7-7-2 | | house | casa |
Alternatively, the foreign language dictionary may be stored in a memory other than the English words. Thus, the user may instruct the system to employ a foreign language dictionary for typing in the selected language. For example, to type the word "casa" in Spanish as representing "house," the user simply types 1-1-7-1 (from the keyboard layout of FIG. 2 (a)). The user then has the option of printing the entered document in one language or a variety of different languages.
In addition to entering foreign words into memory, digitally processed or prerecorded sound signals corresponding to each word may be stored. Thus, the English words and/or translated words can be played in a vocalized manner as desired by the user. The words are sounded by means of a speaker or similar device (not shown) in a known manner.
The system may also be combined with a speech recognition system, whereby the system displays spoken words on a screen. The combined system is particularly suitable for use by persons with hearing impairment or other disabilities. The third party dictated words may be displayed on a portable device carried by the disabled person.
In combination with a sound reproduction system, the disabled person can react to the displayed content by typing in a piece of content that is read out to the 3 rd person by means of the device. By adopting the keyboard with smaller size, the key-in operation is greatly simplified, and the device is easier to use, quicker to operate and easier to carry. The system may also be integrated with or used with a conventional telephone. The speech recognition system may include a microphone and may be implemented by a conventional system that receives a sound signal and converts it into recognizable words for word processing.
As shown in fig. 25, the fast typing method of the present invention may include an automatic speech recognition system (ASR)400 including a microphone 410 so that editing required by the above-described word code typing system (i.e., when more than 1 word corresponds to the same word code, the required word is required to be selected) can be accomplished in whole or in part by a speech recognition component. Although the ASR system 400 is shown as being separate from the system 100, the ASR system may be integrated with the computer 10. Likewise, the microphone 400 may be integral with the ASR system 400 or 1 of the keyboards 14 therein, or directly connected to the computer 10.
When a prompt of "the just-entered word code requires editing" is given to the user by a unique sound during the key-in operation (since there are more than 1 word corresponding to the key-in word code), the user reads the desired word into the microphone 410. Alternatively, the user may return to the word to be edited, place the cursor over the word to be edited, and then dictate the desired word. The system just needs to compare the spoken word with the word corresponding to the entered word code and not with the entire dictionary.
In this regard, even in the case where a dictated word must be compared with a plurality of words in a dictionary, in order to further increase the typing speed, only a portion of the word needs to be typed. Corresponding to fig. 4(a) and (b), ASR functions after steps 144, 338, 344, respectively. That is, once the user needs to select a word at steps 144, 338, 344, the user can select by dictating the word. The system then retrieves those words in memory that correspond to the entered word, while the word also has information corresponding to the spoken word. Thus, by reducing the number of words corresponding to spoken words, the operation of the ASR described above is significantly accelerated and more accurate.
For some keyboard layouts, especially those with 2 or 3 keys, the user needs to dictate each word when entering the word code, since 45% -85% of these word codes require editing. The 2-key keyboard described above has, for example, letters a to L on the key 1 and letters M to Z on the key 2. For example, a 3-key keyboard has letters A-H on key 1, letters I-Q on key 2, and letters R-Z on key 3.
The average number of words corresponding to the word code is:
for each word code on a 5-key keyboard, 2.8 words;
for each word code on a 4-key keyboard, 3.39 words;
for each word code on a 3-key keyboard, 4.52 words;
for each word code on a 2-key keyboard, 11.25 words.
As the number of words per word code rises, the amount of editing required and the time of editing increases. The number of words, which refers to the number of words required in the ASR vocabulary if each word without a unique word code is included in the ASR vocabulary, the values given for F #3 are shown in fig. 22(c) and fig. 22(d), changing from 5918 words for a 5-key keyboard to 13 words for a 20-key keyboard.
For a 5-key keyboard, the user will decide to use the ASR system only if there are more than 3 words per word code, which requires that the ASR system be used for 1 word in each row. Of course, the user may decide to employ the ASR system 100% of the time for editing. At any time editing is required, the user is prompted by a unique sound, and then the user vocalizes the desired word.
The word codes, the words assigned to the word codes, and the language patterns of the words are stored in a database, or in a plurality of databases connected to or integrated with the system. The database is accessed by entering a word code and/or by entering spoken words via the microphone 410. The words are selected in a known manner by comparing the words read into the microphone with the speech patterns in the database corresponding to the entered word code. The selected word is then transferred to the appropriate location in the base file.
If the system is not able to select a word, information indicating this is displayed, and the user then returns to select the desired word in the manner described above for the quick typing method. In addition, if the user determines that a new word should be input, the user does so in the manner described above for the quick typing method. In addition, if the new word has a non-unique word code, i.e., also has other words with the same word code, the user also enters the new word into the ASR vocabulary that already corresponds to the word code.
The speech recognition feature described above may be used with a fast typing device to perform punctuation, capitalization, backspace, and other types of functions. Recognizing the voice command and executing the required command.
When a typist reads words into the microphone, the process of analyzing the words read into the microphone is greatly simplified by linking the ASR system with the method of quickly typing word codes of the present invention, since the number of words in the ASR system that need to be analyzed at any time is limited to the number of words corresponding to the word code input by the typist. It is not necessary to attempt to recognize a spoken word from the entire vocabulary in the ASR system, but rather, it is only necessary to distinguish that word from other words that are assigned the same word code.
Also, the entry of word codes gives information on the length of the word and information on the beginning and end of the word (by way of the user hitting the space key or punctuation keys). Since each keystroke has only some letters corresponding to it, some information is provided for the possible letters at each position of the word. The combination of the two systems reduces the total time required for editing, and the speed of typing can be fast with few keys. A method of fast typing word codes may be used as an adjunct to an ASR system to assist the ASR system when it is not possible to recognize words read into the microphone or to type unrecognized words, or to type new words to be input into the ASR program, or to type text with vocabulary that is not present in the ASR system.
In yet another embodiment of the present invention, the keyboard may have a layout with a set of keys in the top row, the set of keys including 2-4 or more keys. The same set of keys is in the bottom row, which is immediately below the top row. Thus, each key on the top row is identical to each corresponding key on the bottom row, respectively, wherein each key corresponds to the same letter or letters.
The user then switches between the lines to indicate that a new word is starting and a space should be entered. That is, the user types the 1 st word on the top row of keys, the 2 nd word on the bottom row of keys, and the 3 rd word on the top row of keys. Each time the user switches lines, the system knows that a new word is being entered and should add a space before the 1 st letter typed. It will be apparent that such a keyboard may be used in any suitable layout and need not be limited in size, shape, or number of keys.
In yet another embodiment of the present invention, the user may type without having to space between words. This eliminates the need to hit the space key, which on average accounts for about 25% of all typing. For most words and sentences, it is easy to understand the text where the space between words is not separated. For example, consider the phrase "the time for all". The above system is used to add spaces as each complete word is typed. Thus, when the word "the time for" is entered, the system knows that each is a word and will add a space.
However, there are often cases where the shortest word is not the desired word. For example, when typing the phrase "now is the time", the shortest 1 st word is "no". Then, the "w" is checked by adding 1 letter at a time to determine if there is a word code that fits in the sequence (i.e., retrieving the matching word code in memory).
Here, the word "wist" is found in memory, so that the phrase may be entered as "no wist he time". However, the user need only enter a space after "w" in order to correct the entire phrase itself. In addition, if the word "wist" is not located in memory, then "w" is checked with the preceding word "no" so that the system knows that the word "now" is to be entered. Thus, the user can perform some editing operations as the key-in operation proceeds.
The cancellation of the "space key" may be tested by a computer program and if there are no other decoding possibilities, some of the "space keys" may be cancelled and text stored or transmitted without these "space keys". For example, there is no other possibility of THE word "IN THE" followed by a number of words (e.g., THE word "compact"). That is, THE space key can be canceled between THE words "IN" and "THE", but cannot be canceled again until THE end of THE word "action" is reached, otherwise THE word reads "action", which obviously has a different meaning.
In addition, when in text entry mode, the user may choose to cancel the space bar between words so that the user can select a particular number of words, or arbitrarily determine that number. This requires more editing effort. For the letter groups, the computer displays all possibilities and the user selects accordingly. For example, if THE word "IN THE complexity MODE" does not have a space until after THE word "MODE" is reached, THE user is provided with THE following possibilities:
“IN THE COMP ACT ION MODE”;
“IN THE COMPACT ION MODE”;
“IN THE COMP ACTION MODE”;
“IN THE COMPACTION MODE”
the user selects 1 of the 4 phrases. Or, as long as all letters are used, the program displays only the shortest word, and the user edits by moving the words together.
A 6-key keyboard produces about 2500 words that require editing (i.e., they must be moved towards the busbars). By using rules of the grammar and statistical information about how often certain words are used with other words, the amount of editing required is reduced.
Characters such as ellipses, colons, semicolons, and hyphens are identified in a manner corresponding to adjacent letters. For example, ellipses indicate that preceding and following letters are to be grouped together, with some exceptions (e.g., when representing words having plural numbers) where colons, semicolons, and spaces are to be attached to preceding letters. Since there are few word codes corresponding to more than 1 word, the space key is most easily eliminated when implemented in larger keyboards, such as 15-18 key keyboards.
Turning to FIG. 23, the system 200 is particularly advantageous for a conventional computer input device 220 placed on a hand or finger. In the figure, the finger-placed input device 220 is represented generally by box 220, which represents any suitable finger-placed device 220, such as those described in the description of the related art section above. The input device 220 generally has a switch 222, and the switch 222 is located around the user's finger or hand. The system 200 may also be equipped with a keyboard 210, 1 or more input selector panels 202, and any other suitable components (e.g., a display as shown in FIG. 1). The input selection pad 202 and finger placement input device 220 are connected to the computer 10 in a known manner.
Preferably, two finger-placed input devices 220 are provided, one for each hand of the user. Of course, the system 200 may have a single-handed finger-mounted input device 220, as shown, so that the user has a free hand that can operate the keyboard 210 and/or the input selector panel 202. The system 200 described above may be operated by any suitable number of switches 222, such as, for example, only 3 or 4 switches 222 for each hand, or more than 1 switch 222 for each finger.
1 or more letters, characters, symbols, or commands are assigned to a selected switch 222, key 206, 212, combination of switches 222, or combination of switches 222 and keys 206, 212. Additionally, 1 or more codes correspond to each switch 222, and each defined combination of switches 222 and keys 206.
The user equipped with the finger-placed input device then presses the switch 222 against the one or more keys 206 in the selection pad 202, the keys 212 in the keyboard 210, and/or presses the switch 222 from a flat surface (not shown), such as from a table or desk. However, it is preferable to employ the finger-placed input device 220 corresponding to 1 or more input selection devices or pads 202. The input selection pad 202 has a flexible keypad 204 that overlays several input keys 206 (shown generally in phantom).
For convenience of explanation, the user may press the switch 222 of the finger-placed input device 220, and by pressing the switch 222 on the table, the switch is attached to the index finger of the user's right hand, preferably on the tip of the user's finger. The input code 8 may be assigned to a single actuation of the switch 222 described above. The code 8 may correspond to the letters "m", "n", "o". However, if the user presses the same switch on the 1 st key 206 from the 1 st input selection pad 202, the combination may correspond to, for example, the input code 9. The input code 9 may in turn correspond to the letter "m" (which is a subset of the letters corresponding to the code 8) or the letter "q". On the other hand, the user instead presses the key 222 against the 1 st key 206 in the 2 nd input selection pad 202. The combination may correspond to an input code 10, which may correspond to a command to move a displayed cursor upward.
Of course, any suitable number of keys 206 and keypad 204 may be used, with a wide variety of characters or commands, combinations of keys, and selections thereof corresponding to any of the input codes. The system described above may be formed so as to allow a user to select from a variety of finger-placed switch 222 and key 206 configurations, or to allow a user to define a configuration. In addition, as described above, the finger-placed device 220 described above may be used with the keys 212 in the conventional keyboard 210. Here, for example, the switch 222 in the input device 220 is driven corresponding to a different code in the memory, compared with a case where the switch 222 in the input device 220 is pressed together with the key 212 in the general keyboard 210.
In the preferred embodiment, the input selection pad 202 has 4 input keys 206 located below the keypad 204. Two input pads 202 are provided and may be placed side by side, on top of each other, or in any suitable arrangement by the user. The input keys 206 may be any conventional mechanical push-type keys, such as those found on a standard keyboard, capacitive-driven keys, or any other known keys. Each keypad 204 may also be associated with a keyboard overlay (not shown) that recognizes characters or commands corresponding to particular locations on the input selection device 202.
Turning to FIG. 24(a), another invention is shown. Wherein the keys 302 are contoured to assist the user in positioning their hand between the keys 302 in the keypad 300. The keys 302 described above may be used as part of the quick typing system described above, or with any device having keys. The contoured keys 302 are particularly well suited for use with keyboards having a small number of keys, such as calculators, telephones (and particularly car phones), and the like.
Fig. 24(a) shows contoured keys 302 for use in a specially designed 9-key keyboard or keypad 300. The keypad 300 includes a top row 304, a middle row 306, and a bottom row 308. The gradient across the key 302 is generally represented by a contour. As shown, the middle keys 310, 312 in the top and bottom rows 304, 308, respectively, generally slope downward toward the middle row 306 of the keypad 300, as shown in fig. 24 (b). Likewise, the middle side keys 314, 316 are sloped downward toward the middle column of keys. The intermediate keys 310, 312, 314, 316 preferably have curved or parabolic slopes, but they may also be straight.
Each corner key 318, 320, 322, 324 also has a bevel. The corner keys 318-324 are generally angled inwardly and face toward the center of the keypad 300. As shown in FIG. 24(c), the corner keys 318-324 preferably form curved surfaces that conform to the shape of the user's fingers. However, the corner keys may also be flat. The middle key 326 is flat.
The contoured key 302 shape indicates the position of the user's hand on the keypad 300 by tactile means. Each key 302 generally faces the middle key 326 so that a user can feel the corresponding position of the hand by touching any 1 key 302. The user will be familiar with the characters assigned to each key 302 without having to look down at the keypad 300 in order to know which key has been pressed, or which character has been selected. The contoured keys 302 have particular advantages when used with the system 100 of the present invention with a smaller keyboard.
Thus, there are many ways in which keys may be contoured in order for a user to perceive the relative positions of the respective keys. These contours are preferably a function of the general shape, size and layout of the keys. Keys with contour lines may be implemented in any size and shape of keyboard. For example, in a keyboard with 4 rows and 4 columns, for a total of 16 keys, the top row is formed as shown in fig. 24(a) with the addition of a center key 310 between the corner keys 318, 320. The left and right columns of the bottom row are formed in a similar manner. The 4 middle keys may be straight relative to the center key 326.
Typically, the keys in existing keyboards have downwardly extending tubes that contact rods that extend upwardly from the keyboard. Thus, existing ordinary (i.e., non-contoured) keys can be easily removed by prying them up on the key. Therefore, the original keys of the keyboard can be detached and replaced by keys with contour lines. Alternatively, contoured inserts or components may be affixed to the keys in existing keyboards to give the shape of the keys. The insert may be secured by any suitable adhesive or the like. Additionally, the key or insert may be formed of any material, such as hard plastic, rubber, and other materials commonly used to form keys. Also, it is not necessary to have contour lines for each key.
Other layouts of the keyboard are given in the figures and tables. These layouts have letters, which are designated by the following keys, respectively: 9-14 keys on the keyboard for inputting by 1 hand; 12-18 keys on the keyboard for inputting by two hands. Other keys on the keyboard are used for punctuation, direction, enter, control, shift, backspace, number, deletion and selection of individual letters, order of letters, and other purposes on a standard keyboard. The above system described herein may be implemented on a standard keyboard. Additionally, the shift key may be used to switch one set of keys from one set of uses to another, thereby reducing the number of keys required on the keypad; for example, FIG. 50 shows such a keyboard with 50 keys.
Many keyboards according to the figures place the most frequently used letters in the middle row (also called the "mother row", or "mother row") and the index finger is typically placed above this row when starting the typing operation. This results in a minimum amount of movement and facilitates faster, less fatiguing typing operations. For example, the middle row of the keyboard shown in FIG. 31a is designated with letters that occupy 67% of the time of use. According to fig. 22a and 22b, letters located on the same key are sequentially selected so that the frequency of an undesired word corresponding to a desired word to be input is low, and words formed by the same input are viewed so that the number of common words formed using the same keyboard input is minimized.
The layout of the letters on the keyboard and the number of keys assigned letters are such that their positions are easily memorized. The test for the ease of remembering the keyboard is one that is easily recalled by the user without viewing the letters located on the keyboard. The alphabetical order of vowel letters that fit the alphabetical order in the entire alphabet makes the keyboard layout easier to remember (see fig. 31 a). In the above layout, 1 or more consonants, which generally represent the order of symbols in the alphabet relative to the vowel, are assigned to the keys assigned the vowels. In most cases, the above-specified combinations are "ab", "ef", "ijk", "opq", and "tu". When the set of letters (from "ab" to "tu") is in the order given above, they are referred to as an "alphabet-compliant vowel/consonant set".
The drawings are divided into 3 groups based on factors including a) the alphabetical vertical or horizontal direction of the "vowel/consonant alphabet" and the position of the alphabet (e.g., the top or middle row), b) the alphabetical vertical or horizontal direction of the alphabet throughout the alphabet.
Mode # 1: in fig. 31a to e and fig. 34a to d, the "alphabetical vowel/consonant group" is located in the middle row of keys in the horizontal direction. And above and/or below each of these keys are consonant letters that conform to the alphabetical order with respect to the keys in the middle row. The entire alphabet layout is vertical.
Mode # 2: in fig. 32 a-e and fig. 35 a-e, the alphabetical vowel/consonant alphabet "runs horizontally through the top row of keys on the left side of the keyboard and then through the middle row on the right side of the keyboard. All letter patterns of the entire alphabet are vertical.
Mode # 3: in fig. 33a and 33b, the alphabetical "vowel/consonant group" has a vertical form. The entire alphabet is horizontal.
In terms of the letter layout as vertical or horizontal letter layout on the keys, the directions of the letter layout of the "vowel/consonant letter group" and the overall letter layout of all the letters in the alphabet are opposite in the #1, #2, and #3 patterns, that is, when 1 pattern is vertical, the other 1 pattern is horizontal. The advantage of this staggering of the directions is that it is convenient to memorize the keyboard. By recalling the location of the vowel letters, the user can locate the consonant letters relative to the vowel letter's order in the alphabet, and vice versa.
For all the figures, there is no correlation between the vowel/consonant groups and the entire alphabet as described above. However, they all have an overall alphabetical order. Letters selected on the same letter have been carefully selected to preserve alphabetical order and minimize the number of unwanted words.
A person using this system may select a preferred keyboard based on the following considerations:
1) the layout of the keys on the keyboard is in a staggered mode or in a rectangular grid shape;
2) preference for performing a typing operation with both hands, or only the right hand, or only the left hand;
3) the layout of the letters on the keys, i.e. the user's preference for the preferred keyboard mode No. 1, No. 2 and No. 3;
4) the number of keys with letters is specified.
For an overview of the keyboard design relative to the above considerations, see fig. 59.
The following table gives the keyboard design described above.
TABLE 9
| Drawing number | Interleaving | Rectangle | Layout | Mode number | Key number |
| 31a | × | | Both of them | 1 | 17 |
| 31b | × | | Both of them | 1 | 16 |
| 31c | × | | Both of them | 1 | 15 |
| 31d | × | | Both of them | 1 | 14 |
| 31e | × | | Both of them | 1 | 12 |
| 32a | × | | Both of them | 2 | 17 |
| 32b | × | | Both of them | 2 | 16 |
| 32c | × | | Both of them | 2 | 15 |
| 32d | × | | Both of them | 2 | 14 |
| 32e | × | | Both of them | 2 | 12 |
| 33a | × | | Both of them | 3 | 17 |
| 33b | × | | Both of them | 3 | 16 |
| 33c | × | | Both of them | All horizontal | 15 |
| 33d | × | | Both of them | All horizontal | 14 |
| 33e | × | | Both of them | All horizontal | 12 |
| 34a | × | | Left or right | 1 | 14 |
| 34b | × | | Left or right | 1 | 13 |
| 34c | × | | Left or right | 1 | 12 |
| 34d | × | | Left or right | 1 | 11 |
| 34e | × | | Left or right | 1 | 10 |
| 35a | × | | Left or right | All horizontal | 12 |
| 35b | × | | Left or right | All horizontal | 11 |
| 35c | × | | Left or right | All horizontal | 10 |
| 35d | × | | Left or right | All horizontal | 10 |
| 35e | × | | Left or right | All horizontal | 11 |
| 35f | × | | Left or right | All horizontal | 9 |
| 36a | × | | Left or right | All horizontal | 14 |
| 36b | × | | Left or right | All horizontal | 13 |
| 36c | × | | Left or right | All horizontal | 12 |
| 36d | × | | Left or right | All horizontal | 11 |
| 36e | × | | Left or right | All horizontal | 10 |
| 37a | × | | Left side only | 1 | 13 |
| 37b | × | | Left side only | 1 | 12 |
| 37c | × | | Left side only | 1 | 10 |
| 51a | × | | Left side only | All vertical | 13 |
| 51b | × | | Left side only | All vertical | 12 |
| 51c | × | | Left side only | All vertical | 11 |
| 51d | × | | Left side only | All vertical | 10 |
| 51e | × | | Left side only | All vertical | 9 |
| 52a | × | | Left side only | All horizontal | 14 |
| 52b | × | | Left side only | All horizontal | 13 |
| 52c | × | | Left side only | All horizontal | 12 |
| 52d | × | | Left side only | All horizontal | 11 |
| 52e | × | | Left side only | All horizontal | 10 |
| 53a | | × | Both of them | 2 | 12 |
| 54a | | × | Both of them | 1 | 15 |
| 54b | | × | Both of them | 1 | 17 |
| 57e | | × | Left or right | 3 | 15 |
| 57f | | × | Left or right | 1 | 15 |
| 58h | | × | Left or right | All vertical | 10 |
| 54c | | × | Both of them | 1 | 12 |
| 55a | | × | Both of them | 3 | 16 |
| 55b | | × | Both of them | 3 | 17 |
| 55c | | × | Both of them | 3 | 12 |
| 56a | | × | Both of them | 2 | 12 |
| 57a | | × | Left or right | - | 15 |
| 57b | | × | Left or right | 2 | 15 |
| 57c | | × | Left or right | 2 | 12 |
| 58g | | × | Left or right | All vertical | 16 |
| 58a | | × | Left or right | All horizontal | 9 |
| 58b | | × | Left or right | All horizontal | 15 |
| 58c | | × | Left or right | All horizontal | 12 |
| 58d | | × | Left or right | All horizontal | 10 |
| 58f | | × | Left or right | All vertical | 10 |
| 58e | | × | Left or right | All vertical | 9 |
The user decides which one he prefers. The user may request to start with a smaller keyboard and gradually turn to a keyboard with more keys.
For convenience of explanation, we provide the following examples relating to the operation of typing a word and the display viewed by the user. When the word "FRIEND" is input using the keyboard shown in fig. 31a, a key having the letter shown at the middle of the key is pressed. The above display is then read as EF, R, IJK, EF, N, D. If the user sees the above letter string on the display screen, it is difficult for the user to recognize the word "frind". In addition, if a display of a desired word appears on the display screen after all letters are input, the user does not know until the word is typed if a spelling error occurs.
However, if the user sees a series of display screens shown for the word "friend" of example 5 in fig. 40, the operator will notice the line headed by the letter "f" and will see the word being formed when entering each letter, and then have a good chance of finding an error. In addition, many typists find it helpful to view the word being typed, rather than to view the word that has been entered.
Method I
In order for the user to view the words formed when each letter is typed, the 1 st of the 4 methods is described below. Although some keys are designated herein with more than 1 word. In this specification, the term "string" is used to describe a series of letters that may or may not constitute a word. The term "string" is used above to emphasize that the user can enter any string of letters. In these illustrations, it is assumed that the letter input employs a QTERTY-style keyboard. However, it may be a keyboard with non-staggered keys, but with a rectangular shape. Further, a code other than ASCII code may be used.
Also, the switch that is closed when a key on the QTERTY-style keyboard is pressed may be closed by some other means (e.g., eye gaze); the main features of the present description still apply. The QTERTY-style keyboard shown in fig. 31a is a standard layout of letters in most typewriter and computer keyboards. The alphabetic layout of the standard keyboard is called "QTERTY-style alphabet" which is shown in the upper right hand corner of the keys on the keyboard in FIG. 31 a.
Other letters may be assigned to the keys, such as letters printed on the middle of the keys in fig. 31 a. The letters shown in columns 1 and 2 in fig. 38 are based on the letter layout shown in fig. 31 a. The letter shown in the middle of the key (as shown in fig. 31 a) is a letter designated for implementing the typing method of the present specification, and is referred to as a "redefined letter" herein. When a key on a QWERTY-style keyboard is pressed, the SCAN code determined by the position of the key on the keyboard is transmitted to a computer where a program typically translates the SCAN code into ASCII code for the QWERTY-style alphabet.
In order to display the "redefined letters" without displaying the QWERTY-style letters, the SCAN code (or ASCII code for the QWERTY-style letters) must be translated into ASCII code for the "redefined letters".
In order to make the word "friend" displayed on the screen, when each letter is pressed, the above procedure: (1) displaying each redefined letter as it is entered; (2) determining where each redefined letter should be displayed; (3) it is determined which of certain letters or letter strings that have been entered should be cancelled so that there is room for displaying the next line of text.
Fig. 39 shows how letters are displayed when a word is input. This is given by the sentence "He is veryfrai". In the example for explanation, the alphabetical layout shown in fig. 31a is adopted. The key that is first pressed to display the word "FRAIL" is the key designated with the letters "E" and "F". After the last 1 word (word "very") previously entered, the 1 st letter "E" is placed in the mother row and the letter "F" is displayed below the letter "E".
Each word in the dictionary is placed in memory by an ASCII code for each letter in the alphabet. When a key is pressed, a program (e.g., a keyboard enhancement program, a keyboard driver, or a macro program) monitors the SCAN code along with its receipt and translates it into ASCII code for the "redefined letters" assigned to the key. Whenever terms such as keyboard enhancer or keyboard driver are used, these terms include similar software programs that may be used for this purpose.
The ASCII code is then used to search the dictionary to determine if there are words in the dictionary with the same letter string. However, since each letter of the alphabet is the 1 st letter of a certain word, a letter newly defined for the input 1 st letter can be displayed without such a search. The ASCII codes for the above-mentioned redefined letters match the ASCII codes for the letters in the dictionary file.
When each key is pressed after the 1 st input, the above-mentioned ASCII code for redefined letters is used to determine whether a word having the previously input letter plus the same string currently input exists in the above-mentioned dictionary file.
The ASCII codes that have been entered for the redefined letters are matched with the ASCII codes for the letters of the words in the dictionary. When a key is pressed that specifies 1 or more redefined letters, each redefined letter assigned to the key is tested separately to determine if there is a word in the dictionary that matches the previously entered letter string and the letter under test. If a match is found, the letter under test is displayed.
For example, if the word "friend" is being input, the 1 st letter "f" is input without performing an action of searching the dictionary in order to keep agreement since each letter is the 1 st letter of a certain word. A matching letter string to the 2 nd letter can be found in the word "fracas" and a matching letter string to the 3 rd letter "I" can be found in the word "fricable". Thus, matching letter strings for the remaining letters can be found in the word "friend". Since, in this example, each input finds a matching letter string, the letter string is displayed on the display screen as the input progresses.
However, if a letter is input and a matching letter string is not FOUND, a message such as "NO MATCH FOUND" is displayed on the screen. When this occurs, the user should be aware that: (1) a spelling error has occurred, or (2) it is entering a string of letters that is not listed in the dictionary. The user can decide to continue the key-in operation at any occasion. If the user presses a key designated with 1 or more letters thereafter, each of the letters will be added to the letter string input before "NO MACH FOUND" is displayed. The user can select the string of letters that is correct at any time, thereby eliminating any other strings and successively adding letters to the string of letters until it is complete. A more complete description of the method of performing this operation is provided below.
After the user has completed the input of the "desired letter string" (which will be referred to as "letter string a"), more than 1 letter string (which will be referred to as "letter strings a, a1, a2, … An") is displayed. Then, if the desired word is "relax" instead of the word "relax", the user selects the desired letter string, which is located: (a) mother row or "location equivalent to mother row"; or (b) the row below the parent row shown in example 3 in fig. 40. The above "position equivalent to the mother line" means that there is no other word in the mother line and the letter string desired by the user is located at the top of the list of any letter strings below the mother line. An example of this is given in figure 40 at column 5 of example 8. From now on, the term "mother row" or "busbar" includes a string of letters located at an "equivalent" position in the "mother row".
If the "letter string A" is in the "mother line," the user presses the space key. As a result, (1) the letter string under the mother line is canceled thereafter; (2) a space (which will be referred to as "space X") is formed, which is required between the "letter string a" and the 1 st letter in the next letter string to be input. If "letter string A" is located below the mother row, "enter X" formed by pressing a below-described key or other mechanism causes (1) "letter string A" to move to the mother row; (2) the other letter strings ("letter string a" above and below) are cancelled, and (3) a "space X" is formed. "input X" may begin by the 6 methods listed below.
(1) By pressing the "selection key No. 1": if the "letter string A" is one line below the mother line, the "selection key No. 1" is pressed 1 time. Every other row with the "letter string a" below the mother row requires the selection key No. 1 to be pressed again.
(2) By pressing the "select key No. 2": (a) if the "letter string A" is two rows below the mother row, the "selection key No. 2" is pressed 1 time. (b) If the "letter string A" is the 3 rows below the mother row, the "selection key No. 2" is pressed 2 times. (c) Every other row with the "letter string a" below the mother row requires the selection key No. 2 to be pressed again.
(3) By pressing the scroll key.
(4) By highlighting the "letter string a" or by a pointer.
(5) By pressing the numbers listed adjacent to each sequence, or by reading them into the microphone.
(6) By speech recognition: when there are more than 1 of the listed letter strings, the program emits an audio signal, informing the user that a selection must be made. These words may be sounded. The user may select the word or letter by dictation. The speech recognition system recognizes words or letters by means of the confirmation provided by the letters that have been entered.
The "input X" causes a space (space X) to be formed between the "letter string a" and the 1 st letter in the next letter string. When moving a letter or letter string from under the parent row to the parent row, the user may request that it be moved to the parent row without forming a "space X" in order to perform the following: (1) form a "new word", (2) complete the word after the content of the display screen is "No MatchFound", or (3) to better concentrate on the input before completing the word. A letter or letter string may be moved from under the row of letters to the row of letters without forming a "space X". The above two methods of performing this operation are referred to as "input Y".
1) The user preferably presses a designated function key, which is referred to herein as "f (x)", for convenience of explanation, and then uses "selection keys No. 1 and No. 2".
Or
2) The user may use different sets of selection keys, namely "selection key No. 3" and selection key No. 4 ". The "selection keys No. 3 and No. 4" function the same as the "selection keys No. 1 and No. 2", respectively, except that they do not form a "space X".
Further, without pressing f (x) first, the program sets the following functions: the "1 st and 2 nd selection keys" may be used to move the 1 st letter of the letter string from below the row of letters to the row of letters without forming a "space X". For example, pressing the "selection key No. 1" without forming a space X moves the letter "F" in the row below the mother row in example 5 in the display screen No. 1 in fig. 40 to the mother row. Selecting the 1 st letter greatly reduces the number of unwanted letter strings displayed.
If the user presses the "select key No. 1 or No. 2" to move the unfinished "letter string a" to the mother line without first pressing F1, "space X" is formed. To correct this, the user may perform a backspace before or just after entering the next letter. The program then knows that the "letter string a" is in progress.
If the user cancels a letter or a letter string located under the mother row and it is wrong to do so, the user places the insertion pointer so that it is located behind the letter string erroneously input into the mother row and then displays the cancelled letter string by pressing a designated function key. The user then selects the desired letter string.
After the user has completed the desired letter string, the preferred method is to enter any desired punctuation before pressing the space key or entering X. However, if the user presses the space key and then inputs a desired punctuation mark, the above-described program recognizes the inputted letter string, and sets a function of forming a desired space between the "letter string", the punctuation mark, and the 1 st letter in the next letter string without requiring any additional input by the user.
When the word "FRIEND" is input as shown in the example 5 in fig. 40, the following occurs (assuming that the keyboard shown in fig. 31a is employed). The user enters the 1 st letter of the word "frind" by pressing the key designated with the redefined letter "F". The redefined letter "E" is also assigned to the above-described key (refer to fig. 31 a). The SCAN code for the letters assigned with the redefined letters "E" and "F" is sent to the keyboard enhancement program. The code is redefined by the keyboard enhancement program as the ASCII code for the letter "E" and the ASCII code for the letter "F". Since the 1 st letter in the word being entered is any 1 letter of the two, they are both displayed. The program is designed so that the 1 st letter entered is displayed as shown in example 5 in fig. 40 and fig. 39. That is, in the "mother" row, the letter "E" is displayed, and the letter "F" is displayed below the letter "E".
The user then presses the key designated with the redefined letter "R". The SCAN code for the key is sent to the computer and redefined by the keyboard enhancer as an ASCII code for the letter "R". Then, matching letter strings of the letter strings "ER" and "FR" are retrieved in ASCII codes in the dictionary. Both are found, and the letter "R" is displayed as shown in fig. 39 and 40. The user then presses the keys designated with the redefined letters "I", "J", and "K". The SCAN code for the key is sent to the keyboard enhancement program. The code is redefined as an ASCII code for the letter "I", the letter "J", and the letter "K". Then, for the letter strings "ERI", "ERJ", "ERK", "FRI", "FRJ", and "FRK", the ASCII code in the dictionary file is retrieved; only the letter strings "ERI" and "FRI" are found. As shown in column 3 of fig. 40, the above-mentioned letter "I" is displayed. The strings of letters not found ("ERJ", "ERK", "FRJ", and "FRK") are not shown.
Since the letter strings "ERIE" and "ERIF" are not found in the dictionary, the following entries (i.e., redefined letter E and redefined letter FJ) cancel the letter string ERI. However, the letter string "FRIE" is found in the dictionary to have a matching letter string. In addition, when a subsequent key is pressed, the entries are processed as described above, and the matching letter strings for these subsequent entries, i.e., the letters "N" and "D", are found and displayed in the dictionary.
Since the letter string "FRIEND" is the only letter string displayed, the user can press the space bar and the system prepares for the next word. At any point in the process, the user may select the 1 st letter or string of letters below the busbar to move it toward the busbar, thereby causing the other letters or strings of letters to be cancelled. For example, in the 5 th example in FIG. 40, after the 1 st letters "E and" F "are displayed, the user may select the letter" F "(see column I).
Some words, such as "revile" (example 4 in fig. 40) are entered without displaying an unnecessary letter string, i.e., only 1 word is displayed after all letters are entered. The input of the word "revile" is described below.
The 1 st entry of the word "revile" because each letter of the alphabet is the 1 st letter of a word, entry of the redefined letter "r" may occur without confirming a "matching letter string" in the dictionary file. Thus, when the SCAN code is translated into ASCII code for the 1 st redefined letter of the word, that letter is automatically displayed.
The 2 nd letter, the redefined letter "e", is located on the same key as the redefined letter "f". Thus, the letter strings "re" and "rf" must be searched to confirm that there are words with these two letter strings in the dictionary. In this case, only the letter string with "re" is found. These letters are then displayed (see column II of example 4 in fig. 40). The next letter entered is the redefined letter "V". The letter string "REV" is retrieved in the dictionary to find a matching letter string. Thus, column III in the 4 th example in fig. 40 gives the letter "REV". The 4 th entry in the word "revile" is the redefined word "I". The redefined letters I, J and K are located on the same key. The letter string "REVI" is found in the dictionary, but "REVJ" and "REVK" are not found.
Thus, column 4 in example 4 in FIG. 40 gives "revi". The redefined letter "L", i.e., the 5 th entry does not have other letters on the same key. Thus, only the letter string "revil" is viewed to confirm that there is a matching letter string in the dictionary. The 6 th entry, redefined letter "e", has redefined letter "f" located on the same key. For the letter "e, a matching letter string is found, and for the letter" f ", no matching letter string is found. The display of the above word "revile" is now completed. The user can verify by eye that the input made is correct.
The user then enters punctuation marks, if desired. The system is ready for the 1 st letter in the next letter string by pressing the space key.
In the 8 th and 9 th examples in fig. 40, the same letter string is given which is processed in two ways. In example 8, each letter string is on the same row until selected or cancelled. In the 9 th instance, each letter string is moved up into the space closest to the parent row and, if there is space, into the parent row. The program may be written such that the user has the opportunity to select 1 of the two methods as the preferred method. This preferred method is always employed unless the user changes the selection.
As shown in fig. 40, keyboard entries with more than 1 letter corresponding thereto require that each letter string displayed thereafter must be tested (individually) with each additional letter in order to determine which of these letter strings forms the letter string found in the dictionary with a matching letter string (if parallel processing is employed, more than 1 letter may be tested at a time). If a matching letter string is found, then the display has the tested letter string. If words in the dictionary have the same letters in the same order, a matching letter string is found. Words in the dictionary may be longer, but not shorter. The letter strings to be displayed or canceled can be illustrated by the following examples: if the letters "t" and "u" are tested separately (as shown in example 1 in fig. 40), a matching letter string is found for the letter string "grea", but not for the letter string "greb". Then, the letter string "great" is displayed and the letter string "greb" is cancelled. If no matching letter string is found for any 1 letter string, all possible letter strings are displayed as described later in this specification. In the 10 th example in fig. 40, the word "ARID" in the mother line is selected by pressing the space key. The 1 st letter of the word "brite" is input, but since the user selects the word "ARID", the letter string "BRID" is cancelled. This operation may be performed if the user decides to enter the letter string "BRID". In the 2 nd example in fig. 40, since there is no matching letter string for "babe" plus the letter "t" or the letter "u" in the dictionary, the letter string "babe" is cancelled.
It is preferable that the user does not immediately select between displayed letter strings (this operation is referred to as "editing"), but performs the editing thereafter. When in this "lagging selection mode," each letter string listed below the parent row is moved adjacent to the letter string in the parent row whenever a "lagging selection key input" indicates the end of the letter string. These letter strings ("a, a1, a2, … An") are bracketed or underlined or both, and/or displayed in color on the screen. The above-mentioned "hysteresis selection key input" may be any 1 of the following two:
1) a key assigned to the purpose, i.e., to which no other function is assigned;
and/or
2) Keys not assigned to this purpose, such as the space key or the "select No. 2 key", are first pressed if the assigned function key is pressed (for convenience of explanation, this is referred to as key F-3).
After pressing F-3, all entries are in "late select mode". If F3 is pressed and the space key is assigned "lagging selection mode", the selection keys No. 1 and No. 2 can be used consecutively for selection. If the "lag selection mode" is designated to the "selection key No. 2", the space key and the "selection key No. 1" can be successively used for selection. Pressing the hysteresis selection key indicates that a "space X" should be formed, that the letter string in and under the mother line should be saved in the memory, and that the letter string is displayed for the "hysteresis selection program" as needed.
When in "late select mode," it is required (as in the immediate select program) that the above-described letter string must match a word in the dictionary. This requirement may be modified so that the number of letters in the letter string must match the number of letters in a word in the dictionary when indicating the end of the letter string. For example, in the 10 th example in fig. 40, the word "arid" is displayed and the letter string "bridge" is canceled. If no matching word is found for "arid" or "bridge", the display displays a symbol, or the contents of "word found", and the buzzer sounds. All possible forms of the above-mentioned letter strings are listed in the text being typed in, or in a window located at the bottom of the display.
When the operator needs to select between such words listed in the parent row, then the insertion pointer immediately follows the word of the parent row that is ready to begin editing. If the letter strings required for selection are listed side by side, the user can select the desired letter string by using the "select key No. 1 or No. 2". The program sets the function that the user can select a desired word by pressing the "select key No. 1 or No. 2", or by entering a number, or by highlighting the desired word, or by clicking on the desired word, or by any other method described above. At any time, the user can return to the place where editing is required by placing the pointer behind the word to be selected (or in front of the word if the program is written as such). Then, a desired word is selected. If a portion of text is being edited for such a selection, the insert pointer is automatically moved to the next set of letters or words that require selection. By pressing the designated function key, the user can return to the preferred program which sets the selection before the next letter string is entered. The above editing method is applicable to all the programs described in this specification.
The letters listed in column I of fig. 38 assigned to the QWERTY-style keyboard (QWERTY-style keyboard) are referred to as QWERTY-style letters. These letters are located in the upper right corner of each key in fig. 31. In the method described in this specification, there are also other letters assigned to the QWERTY-style keys shown in column II of fig. 38, which are shown in the middle of each key in fig. 31 a.
Methods II and III are the same as method I, except as described below.
Method II
Column II in fig. 41 is a part of a list of words in the dictionary. The list is stored in a dictionary file according to ASCII code. Column I in fig. 41 is a list of identical words located in column II. However, the binary code located in the I-th column is constituted by a code received when the code of the QWERTY-style alphabet shown at the upper right corner of the key shown in fig. 38a is transmitted to the computer like the code of the alphabet shown at the middle of the key in fig. 38 a. The word "cat" in column I is then stored in the ASCII code for the letter "wsk" because the letter "C" (shown in the middle of the key) is assigned to the following keys on a QWERTY-style keyboard: when pressed, the key communicates a code to the computer, translating the code into the letter "w". The letter "a" is assigned to the following keys on the QWERTY style keyboard (as shown in the middle of the keys in fig. 38 a): when pressed, the key communicates a code to the computer, translating the code into the letter "s". The letter "t" in the word "cat" is illustrated in a similar manner. Thus, columns I and II in fig. 41 are formed.
The matching letters are located in column I of the dictionary file in fig. 41 using the ASCII code described above. When the letter is found in the column I in the dictionary file (fig. 41), the ASCII code of the letter on the same line of the adjacent column of the column II in the dictionary file is read, and the letter is displayed. The position of the letter in the word in column I (i.e., the 1 st, 2 nd, 3 rd, … th nth letter) is located at the same position as the letter in the word in column II (i.e., the 1 st, 2 nd, 3 rd, … nth letter).
If the user enters the word "CAT", the following occurs: in the above manner, the letter "C" is input and displayed. However, since each letter is the 1 st letter of a word, the 1 st letter of a word can be determined by redefining it, rather than by searching the dictionary for subsequent letters in the manner described below. The information in column I and column II in fig. 38 is stored in memory. By retrieving the column I in fig. 38 for the ASCII code received after the key is pressed and then displaying the letters located in the column II in fig. 38, there is no need to perform dictionary retrieval for the 1 st letter.
The user then presses the key designated with the letter "a" (as shown in the middle of the key in fig. 31 a). The letters "a" and "B" are assigned to the same key as the QWERTY-style letter "S" (see columns I and II in fig. 38). This causes the ASCII code used by the key to be sent to the computer and translated into the letter "S". Then, the column I in the dictionary file is searched for the ASCII code of the letter "S". For a word with the 2 nd letter "S", which is assumed here to start with the ASCII code corresponding to the letter "W", a search is made in the dictionary file. The letter string is found for two occasions, namely: (1) the letter string "CA" is located in column I and the character string "CB" is located in column II (assuming that an abbreviation is included in the dictionary). The user then presses the key designated with the letter "T" (as shown in the middle of the key in fig. 31 a). The letters "T" and "U" are assigned to the QWERTY-style letters "K" (see columns I and II in fig. 38).
Next, in a similar manner to that described for the letters "a" and "B", a search is made in column I in the dictionary for the QWERTY-style alphabet string "WSK" (see fig. 41). Since neither "CBT" nor "CBU" is found, the letter string "CB" is cancelled. However, the letter string is found in two cases including (1) the letter string in column II (immediately followed by the WSK letter string in column I) as "CAT"; (2) the letter string is CAU (immediately following the WSK letter string in column I). Since "CAU" is the first letter in a longer word, such as "CAUSE," both letter strings are displayed. The user selects "CAT" and cancels "CAU".
Method III
The selection of data and letters sent from the keyboard to the computer is the same as for method II. However, as another method for implementing the present invention, the dictionary file in column I (fig. 42) has asterisks positioned behind ASCII codes corresponding to those letters assigned with the same ASCII code. Each letter then has a unique code. The letters "a" and "B" are assigned to the "S" key on a QWERTY style keyboard. The letter "a" in the dictionary file is assigned an ASCII code corresponding to the letter "S" with an asterisk added thereto, and the letter "B" in the dictionary file is assigned an ASCII code corresponding to the letter "S" with two asterisks added thereto. In columns I and II in fig. 43, the designation forms of asterisks and codes assigned to the layouts employed in the following examples are given. Fig. 42 shows a part of a dictionary file.
Method III is now described by way of example of entering the word "CAT". The operator presses the key assigned the letter "C" (shown in the middle of the key in fig. 31 a) and sends the SCAN code corresponding to the key to the computer, where it is translated into the ASCII code corresponding to the letter "W". The ASCII code corresponding to the letter "W" is located in column I of the dictionary file. However, since this letter is the 1 st letter of the word, in the column I in fig. 42 where this letter is located, the ASCII code corresponding to the letter "W" is searched for. The ASCII code in column II located on the same line as the ASCII code corresponding to the letter "W" in column I is an ASCII code corresponding to the letter "C". Then, the letter "C" is displayed.
Next, a key with the letter "a" located at the middle of the key is pressed. The SCAN code corresponding to the key is sent to the computer where it is translated into ASCII code corresponding to the letter "S" and then retrieved in column I of the dictionary (table 11). "S" and "S" are found in the letter string headed by the letter "W". These letter strings are "WS" and "WS". Next, the letters "S" and "S" are redefined through columns I and II in fig. 43 in a manner similar to that adopted for the letter "W", and the letters "CA" and "CB" are displayed. Then, the key designated with the letter "T" is pressed, the ASCII code corresponding to the letter "K" is transmitted to the computer, and in the column I of the dictionary file, a search is performed for a sequence including ASCII codes corresponding to "WS" and "WS". The letter strings WS and WS will be found. In the above manner, "K" and "K" are redefined for the letter "a", showing the letters "CAT" and "CAU". Next, the operator presses the space key, selects the word "CAT", and cancels the letter string "CAU". The above procedure prepares for the next word.
This same procedure allows the user to replace different keyboard layouts, including any of the layouts shown in the drawings, as well as variations of those layouts described in this specification. This causes columns I and II in figure 42 to be modified accordingly.
Method III includes processing words in the dictionary to form a word code list in column I of the dictionary. To this end, each letter of the word in column II of the dictionary in fig. 42 is redefined according to the designation given for each letter such as that shown in fig. 43. If a new layout is defined, the dictionary list must be adjusted to the layout described above.
Method II includes processing words in the dictionary to form a list of words in column I in the dictionary. For this reason, each letter of the word in column II in the dictionary in fig. 42 is redefined in accordance with designation of the letter such as that shown in fig. 43.
It should be noted that the letter string is entered whether or not a matching letter string is found in a word in the dictionary. If the user presses a key to add a letter to the alphabetic string, such as adding the letter "R" to the alphabetic string "REL", and a matching alphabetic string for the additional entry cannot be Found in the dictionary, an audible cue (beep) is made and/or the display on the screen reads "No Match Found". The reason for this is: (a) misspellings; or (b) a word not listed in the dictionary is entered (a "new" word).
To determine the reason, the user may find it useful to access a dictionary to detect spelling and to view the listed words. Then, the user presses a designated function key to highlight the letter string "relr" on the display screen. The list of words in the dictionary described below is displayed in the row immediately below and below the letter string "relr" (or, in a window at the bottom of the display screen). These words begin with the last matching string found in the dictionary for the input string (here, "REL"). Words in the dictionary may be scrolled. The user can select the desired word from the list and move it to the parent row.
If one of 1 word on the display screen is highlighted and a specifically designated function key is pressed, a list of synonyms or antonyms of the word in the highlighted state is displayed.
The user can correct the spelling error in the conventional way. If there is a displayed string of letters, correction of the letters is made at the top of the list of strings. Then, correction can also be made for all the letter strings below the above-mentioned row.
The user presses the designated function key FX, which modifies the program from the layout in use to the layout of the 26-letter keyboard. That is, there are 1 letter for each key. Then, the word may be entered in the complete affirmative. The user can enter and exit the layout at any time.
When methods I, II and III are employed, if no matching letter string for input is Found in the dictionary, all possible combinations entered after no matching letter string is Found are appended to the letter string displayed thereafter, and information such as "Word Not Found" is displayed to the user. Fig. 44 shows a display screen presented when the letter string "FRIEND" is not found and all possible letter strings of the entered letter are displayed (note that the display screen shows 12 letter strings after the last entered letter). After entering the last letter in the string, the user can enter punctuation if desired. Then, if the desired letter string is in the mother row, the user presses the space key. Or if the desired letter string is located below the mother row, the user presses the select key. Or some other selection method to move the desired letter string to the mother row. The letter string below the mother line is eliminated, a desired space is formed between the "letter string a" and the 1 st letter in the next letter string, and the user can input the 1 st letter in the next letter string.
If the user presses the "select key No. 3 or No. 4", or if the user presses the designated function key F1 and the "select key No. 3 or No. 4", the user can select the letter string and move it toward the mother row before the end of the letter string. The user can continue to perform typing operations to add subsequent items to the string of letters moved to the parent row by canceling other strings of letters. The above process continues until the desired letter string is selected.
Using the example shown in fig. 44, an example is given in which the letter string is selected before ending, and in this example, all possible combinations of the letter string "freend" are displayed. Table 8 shows a display screen when the letter string "FRI" is moved to the mother row by pressing the select key after the 3 rd display screen in fig. 44. The display screen after the above input is as shown in table 8 below (two letter strings are displayed by inputting the last letter).
TABLE 8
| Display screen number | IV | V | VI | VII | VIII |
| FRI | FRIE | FRIEN | FRIEND | FRIEND |
| | FRIF | FRIFN | FRIFND | |
The word "FRIEND" is displayed in the mother line in the display screen VII. If the user then presses the space key, the letter string below the line of letters is cancelled and the program is ready for the 1 st letter in the next letter string. In this example, all remaining required inputs are immediately displayed in the parent row. If this is not the case at this time, the letter string desired by the user is displayed below the mother row. The desired letter string is then moved to the mother row by pressing the appropriate select key. Other letter strings above and below the parent row are now cancelled. The program then prepares for the 1 st letter in the next letter string.
Method IV
The desired letter string is entered in the following rule, in a method called "method IV". The present method can be used alone, or in combination with methods I, II, or III. If method IV is employed, for example, along with method I, then the matching letter strings are also retrieved in the dictionary. See fig. 45, which shows an example of a word by method IV itself, method I itself, and a combination of methods I and IV.
Method IV is particularly useful where a "new" word is entered. The number of times the method must use the selection key depends on: (1) number of keys specifying letters; (2) selection of the letters assigned to the keys; (3) the use of statistical information, which will be described below, relates to which letter string will be located in the mother row. Basically for every two words with the letters assigned to the keyboard shown in fig. 48, the selection key (according to fig. 46, 47, 48a and b) has to be used approximately once.
The following description relates to the use of method IV without the use of methods I, II, or III (i.e., without searching for matching alphabetic strings). This method IV is now described in accordance with the following 6 "rules" and with reference to fig. 45.
(1) The designated function key F-2 is pressed to run the program for the method. If the user then presses a key with 1 letter assigned, that letter is displayed in the mother row. If the user presses a key with 2 or more letters assigned, the letters are displayed in a vertical direction. With 1 letter in the mother row and the remaining letters in the rows below the mother row. See FIG. 45, column III, method IV for the word "Fourth". If the desired word is displayed in the row below the parent row, the select key or 1 of the other methods described above are used to move it to the parent row. Since the function key F2 is pressed, the "selection keys No. 1 and No. 2" can be used for this purpose. However, if a key has been designated for the present program, the key F2 is not pressed. The selection key No. 5 is used instead of the selection keys No. 1 and No. 2.
(2) If a desired letter is displayed in the mother line as shown in the 1 st to 6 th display screens in fig. 45 according to the letter string "desired" and the 2 nd, 4 th, 5 th and 6 th display screens according to the letter string "four", it is not necessary to perform input through the selection key.
(3) In method IV of the present procedure, if the desired letter is displayed below the mother line, it is required to select the letter before the next letter is entered (the selection is indicated by an asterisk in fig. 45). If the letter is not selected, the letter is cancelled when the next key is pressed. For example, if the user inputs the word "fouth", the letter "f" positioned below the mother line in the 1 st display screen must be additionally selected. Otherwise the program assumes that the letter "E" (shown above the letter "F") in the parent row is correct and cancels the letter "F" below the parent row when the next input is made. If the letter "f" is not selected, then the entry of the next letter confirms that the selection of the row below the mother row should not be made and any string of letters displayed below the mother row should be cancelled.
(4) If a single letter is entered, it is only displayed in the mother row because the letter string below the mother row has been cancelled or moved to the mother row before the letter is entered. For example, for the word "four", after the letters "t" and "u" are input in the 3 rd screen, the selection key is pressed to select "FOU". Then, before 1 letter "R" is input in the 5 th display screen, the parent row is determined to be "fou". If the desired letter string is in the mother row when the input is finished, the user can input any desired punctuation and then press the space key, and the system prepares for the 1 st letter in the next letter string. If the desired letter string is located below the mother row, it is moved to the mother row by specifying the select key with the row above, or 1 of the other methods described previously.
After the letter string is entered, the process automatically moves to method I, II, or III. The user is allowed to move back 1 level in the menu structure. However, if the user needs to stay in the procedure of method IV above, the user can perform this operation by pressing another designated function key.
The above method can also be used to input text. The selection method may be suitable for use with a one-handed or two-handed keyboard. Asterisks indicating the keyboard design are used in the figures to designate the positions of the selection keys and/or designated function keys F1 and F2.
The location of these selection keys is important if method IV is valid in entering text. If method IV is used to enter text and no more than 2 letters are assigned to each key, no more than 2 selection keys are required. Certain keys that are easily accessible may be designated as selection keys. For example, in the keyboard shown in fig. 31a, keys assigned with the QWERTY letters "G" and "H" may be designated as "selection keys No. 1 and No. 2", respectively, and keys assigned with the QWERTY letters "Y" and "B" may be designated as function keys F1 and F2, respectively. If letters are designated for keys pressed by the right hand, keys designated with the QWERTY-style letters "G" may be pressed by the left hand simultaneously with or after the input of keys designated with letters.
The letters assigned to certain keys may have an alphabetical order. However, the order of letters displayed on the screen may be arranged in a non-alphabetical order to increase the likelihood that the desired word is located in the parent row according to methods I-IV. For example, even if the letters K and L are located on the same key, the letter "L" can be displayed above the letter "K" when the key is pressed because of its high frequency of use. Thus, the desired word is more likely to be located in the parent row. Additionally, the letter "S" appears as the 1 st letter in a word about twice as often as the letter "R", and the letter "S" is used about 25% more frequently than the letter "R". Thus, when they are on the same key, the letter string with the letter "S" should be displayed in the mother row, while the letter string with the letter "R" is not displayed here (see fig. 47 and 48). Upon pressing each key, the letter string with the highest frequency of use may be determined.
As mentioned above, the decision as to which letter string is arranged at or closest to the mother row depends on some statistical information about the letters that have been entered. The purpose is to obtain the most likely letter string in the mother row and the next most likely letter string in the row below the mother row. Each letter and each letter string may be given a rank (this will be referred to as "rank") for the possibility of use according to the number of words having this letter string. When a key designated with 2 or more letters is pressed, matching letter strings are retrieved in a dictionary with 1 or more matching letter strings. This search may include not only confirming that a matching alphabetic string is found, but also a "rank" of two alphabetic strings. The user may function in determining the ranking by a program that allows the user to give "weight" in the filtering of words formed using the same inputs, such as words "aid and bid", "care and rank", and "light and night".
The above "rank" determines the order of the displayed words. However, if the user prefers the alphabetical order of the display, it may cause the program to perform this operation.
Fig. 48 shows the frequency of use of each letter of the alphabet for the 1 st letter in a word in the dictionary. The letters I, J and K are placed on the same keys in most of the attached keyboard layouts described above. The letter "I" is the 1 st letter of the 983 words, the letter "J" is the 1 st letter of the 179 letters, and the letter "K" is the 1 st letter of the 147 words. In addition, according to the dictionary having 21110 words, of more than 106000 letters, the letter "I" is used 8000 times, the letter "J" is used 400 times, and the letter "K" is used 800 times. Obviously, the letter "I" should be given a higher priority than the letters J and K for the 1 st letter in the letter string, as well as elsewhere in the letter string.
The letters "O" and "P" may be arranged on the same key. In more than 21110 words, the letter "P" is used as the 1 st letter in 1772 words, while the letter "O" is the 1 st letter in 509 words. Thus, if the letters "O" and "P" are assigned to the first key pressed against the letter string, the letter "P" should be placed in the mother row because the intended word may be larger headed by "P". However, for letters other than the 1 st letter, the larger possible letter is the letter "O". Of the 106400 letters, the letter "O" is expected to appear 8000 times and the letter "P" to appear 2000 times (see fig. 47). If the current letter is a vowel letter, this occurrence rate does not apply.
Statistics relating to the use of letters and letter strings (such as the letter strings "ste", "sue", and "suf") must also be weighted according to the frequency of use of the words to which they correspond. There are about 70 words headed by the letter string "ste", about 3 words headed by the letter string "sue", and about 13 words headed by the letter string "suf". The probability of a word headed by the letter string "ste" being a desired word is higher than that of a word headed by the letter string "sue" or "suf.
The vowel letters are often followed by consonant letters at the beginning of a word or syllable, and vice versa. This factor also constitutes the determining factor for which letter string should be selected to be located in the mother row. For example, if the 1 st and 2 nd entries are "aa," or "ab," the letter string "ab" should be placed in the mother row. There are 1 word headed "aa", but there are many words headed "ab".
In combination with the use of selection keys for the first input of words, statistical information relating to the frequency of use of letters and letter strings is employed, which reduces the number of unwanted words, making a keyboard with only 8-10 keys more acceptable to people.
The keyboard may be hardwired to send the SCAN code to the computer for letters called redefined letters assigned to the keys (i.e., letters in column II of table 8) instead of letters in the QWERTY style keyboard. In addition, the keyboard need not be separate from the computer, but may be integrally formed with the computer, such as with a laptop, notebook, or handheld computer.
In the above figures, the letter in the upper right corner of each key is the letter assigned to that key in the QWERTY style keyboard layout. In the middle of each key is a letter of the alphabet assigned to the key (i.e., a redefined letter). Fig. 31a also indicates which finger should be used, and the starting position of the index finger.
1 dot- -forefinger
2 points-middle finger
3 points-ring finger
4 points-little finger
Symbol O indicates the starting position of the index finger. The 1 point in the middle of the circle indicates that the key is assigned to the index finger and indicates that this is the "home position" of the index finger.
Keyboard alphabet layout may be displayed so that a user may view and select
The user indicates that the user wishes to see a display screen indicating the available keyboard layout by pressing a designated function key. Additionally, a current keyboard layout is displayed. Each layout is immediately followed by a keyboard number. The user may click on the keyboard number (or enter the number) and then enter the alphabetic layout of the designated keyboard into the typing program.
Assigning letters to keys in a QWERTY-style keyboard
The function keys may be defined so that the following information is displayed as follows: "This program enables the user to assign weights to reach key of the QWERTY key". This operation may be achieved in various ways. For example, the letters of the alphabet are listed in alphabetical order. When the cursor is placed next to a letter, the user presses a key to assign the letter to the key.
Dynamic window
The letters being entered to form a word may be displayed in a dynamic window. The top row of the window is aligned with the row being typed (i.e., the parent row). The left side begins where the next letter in the text is to be entered. The bottom and right side of the window are enlarged as needed. The window is open in a shape and size sufficient to accommodate at least 4 letters in the lateral direction and two rows in the longitudinal direction, and is enlarged as necessary. The dynamic window can be moved to any position on the screen by movement of the insertion pointer. If the user presses the designated function key, the letters are displayed with 1 space left behind the last 1 letter entered without being in the window.
Use of spaces
When typing a word, the user may insert a "null" space to increase the speed of their typing operation, or because the user cannot be sure of spelling. And displaying the words in the dictionary as candidate words of the input. The entry of a space is by 1) a key specified for this purpose; or 2) a space key. If the space key is used, the letter string is displayed at the bottom of the display screen. Example (c): the word "kaleidosope" is required. The user inputs KAL ____ SCOPE, or KAL _______ PE, and "KALEIDOSCOP" is displayed. If the user enters KAL ________ (the number of spaces over 4 spaces need not be accurate), the words "KALASHNIKOV" and "KALEIDOSCOPE" appear. The user selects the desired word, cancels "KALEIDOSCOPE", and "kaloshnikov".
Adding words to a dictionary
After selecting a new word by one of the methods described herein, the user may add it to the dictionary. The code letters are stored in a memory, and a selection of each letter corresponding to the code is also stored in the memory. Unless the user selects the option "do not add to memory," the word is entered into the dictionary. And the option "do not add to memory" appears on the screen after the selection of each letter corresponding to the word code is completed.
In another embodiment of the present invention, the mouse may be integrated with the keyboard. Since the keyboard can be small, such as having 12-15 keys, there is room on the mouse to accommodate all the keys. Thus, the user can click and control the mouse with one hand. The shift keys may be used to obtain punctuation and other functions. That is, if the shift key is employed, the alphabetic key may instead be entered as a number, punctuation, direction, enter, capital lock, or other function on the keyboard.
In this specification, a designated function key is employed in starting various programs. Escape keys or other function keys may be used to exit these programs.
When the user is entering a string of letters, the program may find that there are only 1 word bases that satisfy the string of letters that have been entered. The program then causes the word with the word base to be automatically listed in line directly below the letter string being entered in the mother line. The user may then select the desired word. Examples thereof are the words defer, deferable, deferably, deference, deferential.
FIG. 38 is a diagram of the assignment of letters to a keyboard as shown in FIG. 31a for methods I and II;
Fig. 39 is an example of a method of displaying words when letter input is performed;
fig. 40 shows a display screen when a letter string is input for methods I, II, and III;
FIG. 41 is a sample dictionary file for method II;
FIG. 42 is a sample dictionary file for method III;
FIG. 43 is a case of assigning letters to a keyboard for method III;
FIG. 44 is a diagram showing all possibilities for entering a "new" word;
FIG. 45 is an example of method IV, method I, a combination of method I and method IV;
FIG. 46 is a graph of the required frequency for the selection key for method IV;
FIG. 47 is frequency of use of letters in a word;
FIG. 48A is a graph of frequency of use of letters corresponding to the 1 st letter in a word;
FIG. 48B is a keyboard layout for computing;
FIG. 49 shows a keyboard with 9-17 keys assigned letters.
The invention is suitable for the method for performing typing operation through the keyboard. There are more than 1 letter assigned to some or all of the keys in the keyboard, and the user need only hit 1 key in order to select the desired letter. In addition, as each letter is entered, the user is able to see the word being formed, and if a typing error occurs, the user can immediately correct it in a manner similar to normal typing operations (i.e., by backspace, typing the correct letter (letter string), and some other method). For the preferred designation of letters with 14 keys, when the input of letters is completed and words are input only through the space key, the desired word is displayed in the top row of the window in more than 98% of the words of the dictionary with 84532 words, requiring only the input of the space key in order to input the words into the document. 80% of the remaining 2% of the words are displayed on line 2 of the window and they can also be input to the file by a total of 1 keystroke. With a preferred keyboard having 13 or 14 keys, the user can select letters of a word that is not in the dictionary by, on average, less than 1 and 1/4 keystrokes on each letter. In other systems, when more than 1 letter is assigned to a key, the user presses a definition key to indicate that the entry of a word is complete. The word or words matching the input are then displayed, with the word below the top row requiring additional input. There is no opportunity to see the word while it is being entered, for which reason the correction of the error must wait for the word code to be entered to complete, or for each string of letters to be carefully evaluated in order to determine if an error has occurred. If the letter strings corresponding to each input are displayed side by side or in a vertical direction, it is difficult to extract the letters input for confirming that they are correct. It is more likely for this system that after the input is complete, the typographical error is recognized and the word is not displayed. An advantage of the system described in this specification is that the user has the opportunity to see the actual word being formed as each letter(s) is entered. Thus, when the user presses the space key, he can move to the 1 st letter in the next word without hesitation. On the other hand, a person who is performing a typing operation and cannot see an input word until the space key is pressed feels hesitant after the space key is pressed in order to confirm that the input word is correct before processing a next word, and the word slows down the input.
With the above-described system described in this specification, due to the manner in which letters and letter strings are displayed, a user can associate letters with letter strings that help correct input errors in 1 display screen. In addition, selection may be made by scrolling the desired letter or letter string into the top row before the input is complete. Thus, when the key-in operation is continuously performed, the unnecessary letter string is canceled, and the necessary letter string is placed at or near the top row. The system described herein is very similar to a normal typing operation, since the user has the opportunity to see the letters that form the desired word. When the user presses the space key in the system, this indicates acceptance of the displayed letter and entry of the word is complete. To further facilitate the typing process, a portion of the dictionary is displayed (shown in the top row of the letter rows) beginning with the word in alphabetical order for the desired word. These words may be displayed at the bottom of the dynamic window. This allows the user to verify the spelling or enter a longer word by typing in the beginning letter of the word and then selecting the word from the dictionary list, and allowing the word to be entered directly into the document from the list. These advantages and the ability to perform typing operations with fewer keys makes the typing process faster and easier.
In the present invention, a dynamic window is employed to display the letter strings found in the dictionary with matching words. When the user begins the process of entering text, they employ cursor control to move the cursor to the location where they intend to display the next letter or word on the screen. Next, the user clicks an icon or presses a function key for displaying the window shown in fig. 59 a. Fig. 59a shows the dynamic window before any letters have been entered. In this figure, the arrows in lines 1, 6 and 11 point to rectangular spaces 101, 102 and 103, respectively, in figure 59a, which are referred to as "grid areas" (areas of the lines of letter strings, letter lines and dictionary lines, respectively). When the 1 st letter in a word is input by pressing a key, the letter(s) assigned to the key are displayed in two parts of the lattice area, i.e., the row and letter row of the letter string to be described below. When a letter is input in the grid area, the window is enlarged by a sufficient space toward the right side so as to display the letter corresponding to the input in the grid area. Each letter entered is displayed in a small pane. This helps the user to see the alignment of the rows of the letter string, the letter rows, and the dictionary rows.
FIGS. 60a, b, c, d, and e show the change of the grid when each letter is entered (dictionary rows are not shown in FIG. 60). It may be noted that The word "The man is" remains in its same position when each letter is added to The word "able" being entered. In addition, the left side of the window remains in the same position until the full word is entered in the window. As each letter is added, the grid area in the window becomes wider. After the word is completely entered, the user clicks on the desired word, or presses a key that moves the desired word from the window to the document. FIG. 60E shows that the word "able" has been moved to the left of the cursor (104 in FIG. 60E) toward the file. The cursor is continuously close to the left edge of the outer side of the window, which has moved the required space for letters and symbols to be entered into the document towards the right. The grid area is then reduced to the width required by the 1 st letter in the next word to be entered (see fig. 59 a). The first 4 rows (rows 1-4 in FIG. 59F) in the window to the left of the horizontal arrow 105 in row 1 of FIG. 1F are used to display the letter string, and this first 4 rows is referred to as the "rows of letter strings" or "S" rows. When the control keys are aligned to these rows, they are referred to as "alphabetic string mode". Lines 6, 7, 8 and 9 to the left of the horizontal arrow in line 6 are used to display the letters corresponding to each input, and these lines are referred to as "letter lines" or "L" lines. When the control keys are aligned on these rows, they are referred to as "letter mode". Lines 11, 12, 13 and 14 to the left of the horizontal arrow in line 11 are used to display words in the alphabetical dictionary relative to the alphabetical strings displayed in line 1. These rows are referred to as "dictionary rows" or "D" rows, and when the control keys are aligned to these rows, they are referred to as "dictionary patterns". When the word has been typed into the window, the word is displayed in lines 1, 2, 3 and 4. When in the letter string mode, the letters entered into the letter string are letters that form a letter string for which a matching letter string, headed by the entered starting letter, is found in a dictionary (which is stored in memory) (see lines 1 to 4 in fig. 61A to 60E). Letters corresponding to the above-described inputs are shown in lines 6 and 7 in fig. 60A to 60E. As each input member is entered, the letter strings found in the dictionary to have matching letter strings are displayed in the letter series. The letters shown in lines 1, 2, 3, and 4 in fig. 60B may correspond to words such as aardvark, or able, bale, or BBC, while the letters shown in the corresponding lines in fig. 60C may correspond to words such as bay, able, abys, bale. As each letter is entered, the number of words found in the dictionary that match the entry is reduced.
For example, when pressing the 4 th input element with letters E and F assigned, all words except "able" and "bale" are deleted as possible post-selections of the word being entered. By pressing the space key, "able" is entered into the document ("ball" has required the entry of the selection key No. 1, or the user is required to move the word to the top row by scrolling and to press the space key). In fig. 60C, it should be noted that the shortest word (in this case, the word "bay") is placed on top of the letter series. The above program sets the function that even the letter strings for which input is completed have the highest priority, those letter strings that exhibit the highest statistical probability as the desired letter strings have the highest priority of one level lower so as to be located at or near the top row. Among words having the same length, the most frequently used word is given the highest priority. This requirement increases the chance of entering multiple words with only one input. If more than 1 matching letter string is found in the dictionary for a letter string, they are displayed in the letter string. If a letter is entered and at least 1 matching letter string is found, the following letter strings are left displayed, and the letter strings for which no matching letter string is found are cancelled. And the letter string is the letter string with the matched letter string found after the letter corresponding to the input is added to the letter string. If no matching letter string is found for any letter string having a matching letter string found before the last input, the letter strings are kept in a displayed state and are continuously displayed by bold type until the last input, but the input is not included. The last entry and any additional letters appear red. If the user presses the space key, the letter string in the top row of letter strings moves from the window to the file. If a matching letter string is found in the dictionary, it is displayed in black, and if a matching letter string is not found, it is displayed in red. If the user presses the select key # 1, the letter string in line 1 below the top line moves from the window to the document. If the desired letter string is 1 line or more from below the top row, the user can scroll it to the top row and then press the space bar. The letter strings that move from the row below the top row to the file may also be displayed in red or black in the file depending on whether a matching letter string is found. In addition, it should be noted that letters corresponding to each input are displayed in the letter row, and when the space key or the No. 1 selection key is pressed, these letters and other letter strings are canceled from the window display screen.
Thus, the user may enter a "new word," such as "balf," while the word is not displayed in the alphabetical series (see FIG. 60D) by: (1) clicking on the letter "F" in the 7 th alphabetic line causes the letter to scroll through the alphabetic line and appear in the alphabetic string; or (2) scrolling is achieved by pressing the scroll key number 2 to cause the letters "E" and "F". In addition, it should be noted that when in the alphabetic string mode, the letters entered into the alphabetic string change the order of the top row of alphabetic lines so that the alphabetic lines match the top row of alphabetic strings. Likewise, a letter entered into a letter row causes the letter displayed in the top row of the letter series to change so that each top row corresponds. For example, fig. 60 shows a display screen when the word "able" is input. With the 3 rd input of the above words, as shown in fig. 60C, the word "Bay" is found as a word matching for the input that has been made.
As a result, the letter in line 6 of column III in fig. 60C is "Y". The letter "L" is typically placed above the letter "Y" because the letter "L" is more commonly used. By keeping the top row of letter rows and letter serials the same, the user can see the top row of any pattern and be sure that if he presses the space key, he can enter the correct word regardless of whether the control is aligned with the letter rows or letter serials. If 1 matching alphabetic string is found, it is displayed on the top row of alphabetic strings. If more than 1 matching letter string is found, the matching letter strings are displayed in an order based on some statistical information (this will be described later). In fig. 59A, 4 lines are displayed in the region 101, i.e., the region of the alphabetical series. More rows may be assigned to the letter strings by a fixed base element or the window may be made dynamic in both vertical and horizontal directions so that rows and columns may be added or deleted.
The user can select the desired word by clicking and move it to the document. This enables the user to move words from lines 1, 2, 3 and 4 to the document with one input.
The number of rows required for the letters depends on the maximum number of letters assigned to any one key.
If no more than 2 letters are assigned to a key, only 2 rows are required for the "letter row" instead of the 4 rows shown in FIGS. 59 a-59 f.
By pressing the select key No. 1, the word line in the line below the top line in the letter series is moved to the file. The desired letter string below the line can be moved to the top line and to the file by scrolling by pressing the space key.
If the letter string is moved to the top row of the letter string by scrolling before the entry of the letter string is completed, the entry of the next letter after the scrolling will confirm that the correct letter string is in the top row and the letter string below the top row will be cancelled from the display. If the user is aware of the error and wishes to display the previous display again, the user may press a backspace to delete the last letter entered. Thereafter, the previous display is displayed on the screen. The user can always reproduce the previous display screen by the backspace processing. This capability makes it possible to correct an input error by a backspace process, thereby deleting letters from a display screen headed by a suffix. The user may then enter the correct letters. In addition, by pressing a function key, the remaining portion of the previously entered word may be automatically entered.
The space key, the scroll key No. 1, and the "focus" of the selection key No. 1 can be switched to the dictionary line by pressing a letter string/dictionary mode key (S/D key) serving as a switch, and after pressing the S/D mode key, if the space key is pressed, the space key (which may be a key) causes words in the top line of the dictionary line to move to a file. Pressing the scroll key # 1 will cycle the words in the dictionary row down, and pressing the select key # 1 will cycle the words in the opposite direction.
Line 5 of the grid area in fig. 59F to the left of section 108 shows the vertical arrow 109 shown in fig. 59C. When the arrow is placed on a column, if the scroll key number 2 is pressed, the letters in the column scroll. If the vertical arrow key is pressed, the vertical arrow will be moved over the column selected by the user. The vertical arrow remains over any grid adjacent to the segment 108 in fig. 59F until the vertical arrow key is pressed. When a letter is entered, a column of the lattice is added to the left side of the section 108 (which is referred to as the number 1 digit), and if the vertical arrow is moved in the process of entering a word, it returns to the number 1 digit when a word is entered or deleted.
When the letter string is entered, then the arrow remains in line 5, adjacent to section 108 in FIG. 59F. It then lies above the column of the grid in which the letter(s) is being entered. Thus, as each letter is entered, it moves from left to right. The user can select the letter displayed immediately after the input at the top of the number 1 position by the following manner. The method comprises the following steps: press the scroll key number 2 which moves the desired letter to the top letter row. When entering a string of letters, if a letter was once selected in the top row of the letter row, either by insertion or scrolling of the letter or by default in the selection process, it holds the selected letter in the corresponding letter row and letter string unless the user modifies or cancels another letter by selecting it in the top row of the letter row. This may be done by using the scroll 2 key or inserting another letter. The letters so selected are displayed in a special color until the entry of the word is completed and the word is moved to the file or the letter string is deleted. Unless the user presses the vertical arrow key, the vertical arrow remains in the number 1 position, as indicated by reference numeral 109 in fig. 59. A 1 st depression of the key moves the vertical arrow onto line 5 so that the arrow is above the grid of the 1 st letter entered in the string. As shown in column 1 in fig. 59F, which is the farthest grid column from the left side. From this position, each depression of the vertical arrow key moves the arrow 1 column to the right. The arrow then moves from left to right, which is the natural direction for checking and correcting spelling errors. If the desired word is not in the top row of the letter column, the user presses the vertical arrow key so that the vertical arrow moves to the top of the next column requiring editing, and then the user moves the desired letter to the top row by scrolling. When all letters are in the top row, the user presses the space key and the word moves to the document.
By using the scroll key # 2, the following procedure enables the user to enter words not available in the dictionary, with the key located at position # 1. If the user is entering a word that is not in the dictionary, the letter is displayed at or below the top row of the letter row. Whenever the desired word is in the top row, the user enters the next input element. Since the user does not press the scroll key 2, the user can confirm that the desired word is in the top row by default.
As described above, the vertical arrow is located in position 1, above the letter corresponding to input 2. If the desired letter corresponding to the 2 nd input is below the top row, the user moves the letter to the top row by scrolling, and then presses the next input, the vertical arrow again moves so that when the letter is displayed it is above the letter. The only inputs required to select the correct letter are: (1) selection of a key corresponding to the letter; (2) scrolling of the scroll key # 2 moves the letters to the top row if the desired key is located below the top row.
For a preferred keyboard designation using 14 keys, the desired letter is in the top row (see description below) for about 80% of the time. In addition, for this keyboard layout, no more than 2 letters are assigned to each key. Thus, in about 20% of the cases, only 1 press is needed for the scroll key. If the user uses the mouse to scroll the letters, the mouse is pressed only 1 time. The entry of the next letter or the pressing of the space key confirms that scrolling is complete, and thus the method can be used where more than 2 letters are designated on the key.
The letters appearing in the top row of the letter row are also presented in the top row of the letter series. When the desired word is in the top row and the space key is pressed, the word moves from the window to the file.
If letters are deleted from the letter column, the user may place arrow keys on top of the grid column, pressing the keys assigned the letters, and thereby enter the letters into the column from which the letters have been deleted. When the vertical arrow is above the column, the letter may have been deleted by right-clicking the grid or by pressing a function key.
The horizontal arrows in rows 1 and 11 serve as icons to align the control keys to the "S" or "D" rows, respectively. If the user clicks on 1 of these arrows, the mode changes, as will be described below, and the color of the arrow changes to make the user aware of the mode being used (if the S/L mode key is used, the horizontal arrow in line 6 is used, as described on page 13).
When the vertical arrow key is positioned above the column, the user can manipulate the letters in the column in the following manner: (1) the user can move the letters to the top row in a scrolling mode by pressing the scroll key; (2) the user can delete the letters in the column by pressing the designated function key.
The above procedure may set the step of inserting letters into the letter string. For example, the word "Glazer" may be modified to "Glazier" by inserting the letter "I" behind the letter "Z". To this end, a vertical arrow is placed immediately above the letter column after the last modified letter (in this case, after the letter "Z"). The user presses a designated function key, and then presses a key designating a letter to be inserted.
If a string has been entered and the user determines that some or all of the letters displayed in the top row of the window need to be modified, it may do so by the method described at the bottom of page 8 and at the top of page 9. Or the user may employ another method to initiate the method by pressing a designated function key. The input causes the letter string and the letters to be canceled from the display screen. Then, the computer program causes the letter corresponding to the 1 st input piece to be displayed. The user then moves the desired letter to the top row of the letter row by scrolling, or inserts another letter. When the above modification is completed, the user presses the same function key, and the 2 nd letter is displayed. This step continues until the user moves the word to the document or cancels the string from the display.
When the user wishes to scroll the letters by clicking on the column to the left, there is no need to have the vertical arrow over the column. When the user deletes a letter by right-clicking on the letter column, the vertical arrow is moved by the computer program over the letter column. The letters are then inserted into the columns by pressing the input member designated with the desired letter.
The programs for dynamic windows can be implemented solely by means of the character string (lines 1, 2, 3 and 4), that is to say the letter lines can be eliminated and their functions can be implemented substantially solely by means of the character string. In this case, the vertical arrow key in row 5 points up the character string. If the user employs the scroll key number 2, the letters in the letter series effect scrolling, and any such letters will include those that are cancelled from the display because no matching letter string is found. For example, when the 4 th input in the word "able" is made (see fig. 60), the letter "Y" is deleted. If column 4 containing the letter "L" is scrolled, the letter "Y" appears (the letter is assigned to the key with the letter "L").
If the letter is scrolled to the top row of the letter series, the operation indicates that the letter is selected. The letter is then displayed in a specific color. In addition, any letter preceding the letter is also considered "positively selected". The user may modify the letter previously deemed to have been positively selected by dragging the number 2 scroll key, or by canceling it, and/or by replacing it with another letter. The vertical letter keys control the position of the vertical arrows in the same way as their use in the letter rows. The functions of the scroll key number 1, scroll key number 2 and space key are the same.
When in dictionary mode, there are 3 controls: 1) a space key which, if pressed, will cause the letter string displayed in the top row of the dictionary to move into the document; 2) a number 1 scroll key which, if pressed, causes words stored in the dictionary to scroll in a downward direction so that they can be displayed in the dictionary row; 3) a key used as a number 1 scroll key in the alphabetic string mode, if pressed, causes the dictionary in the memory to be scrolled in an upward direction. The dictionary row can be programmed to display all words having more than "x" letters without the user first pressing the S/D mode key.
Any control accessible to the user in the present invention may also be controlled or activated by a mouse pointer or mouse button ("clicking on it"). Clicking the up and down arrow keys on lines 10 and 11 of fig. 59 causes the dictionary lines to scroll.
If there is a lag of "x" relative to the time the last letter was entered, the words in the dictionary may be programmed to be displayed in the dictionary row without the user changing the mode key. The program can set the user to adjust this time interval.
If the user changes to "D" mode, the program automatically switches back to "S" mode, where appropriate. This is the case if the user has not previously pressed the appropriate mode control key or used the mouse. A switch back is implemented to enter the word being selected. The words displayed in the dictionary row may be displayed in an order strictly conforming to the alphabet, or may be in the order of the alphabet, but at the same time based on the number of letters in each word, i.e., all words of the same length will be in different letter groups. By pressing a designated function key, synonyms or antonyms related to words in the top row of the dictionary row are displayed in the dictionary row. The user may cause the definition of the word in the top row of the dictionary row to be displayed (by pressing f (x)) in a "pop-up" window located in the file.
The dictionary list can be organized by chapters such as 1) common words (referred to as a dictionary No. 1); 2) all other words (called dictionary No. 2). The matching words may be retrieved in the dictionary in different ways. The method used may be at the option of the user. The method comprises the following steps: 1) searching words in the No. 1 dictionary, if a matched letter string is found, displaying the matched letter string, if no matched letter string is found, searching words in the No. 2 dictionary, and if a matched letter string is found, displaying the words; or 2) if no matching word is found in the No. 1 dictionary, the user presses the function key to search the word in the No. 2 dictionary; or 3) the No. 1 and No. 2 dictionaries are searched at the same time, namely, the dictionaries are treated as 1 dictionary.
The display of words in the dictionary row (rows 11, 12, 13, and 14 in FIG. 59F) may be: 1) part of a standard procedure; 2) according to the selection of the user; or 3) cancel. In the above-described method of controlling alphabetic lines and character strings, the mode modification is not used to change a set of controls from aligning alphabetic strings to aligning alphabetic lines. For alphabetic series, the number 1 scroll key and the number 1 select key are used instead. For the letter line, the number 2 scroll key and the vertical arrow key are used instead. If a mode key is employed, two keys may be assigned to the controls assigned to the 4 keys listed above. More keys may be required if the required input is done without the mode key. However, the user can realize the required modification thereof with a small number of inputs by assigning different keys to the letter string and the letter row. For example, if the mode key is not used, the letters can be moved in the letter row by pressing the scroll key number 2, but if the mode modification is required, the user must press the S/L mode key and then press the scroll key.
The modification of the schema can be made with: 1)1 mode key, which realizes cyclic scrolling among an alphabet string mode, an alphabet mode and a dictionary mode; or 2) two mode keys may be employed: 1 key toggles between alphabetic string mode and alphabetic mode, and the other 1 key toggles between alphabetic string mode and dictionary mode. If the user needs to input a punctuation mark, he can make the word displayed in the 1 st line be inputted by inputting the punctuation mark, or if the desired word is located in the 1 st line below the top line, he can (a) move the desired word from below the top line to the top line in a scroll manner, and then realize its input by inputting the punctuation mark; or (b) it can move the word from the window to the file by pressing the select key # 1, and then enter the punctuation mark directly into the file, i.e., not through the window, and without exiting the dynamic window program.
Section 108 in fig. 59F is an icon that the user can click on to enter punctuation and various functions. In addition, if the user clicks on the switch icon, additional punctuation and functionality may be obtained. The user can then enter text by using only the keys assigned the letters and those control keys that he desires.
Through the key-in operation system, key-in operation can be performed by one hand, and a mouse can be used by the other hand.
The user may choose to edit the file as it is entered or later. Here, "edit" means: (1) determining to select a desired word when more than 1 word is listed in the window for the same input; (2) correcting spelling errors; and (3) make other modifications in the text, such as inserting additional words.
If a string of letters is entered and a "no match" is found in the dictionary, the entered letter for which no matching letter is found appears in the window in red or other color. If the word is entered in the document, it appears red or has a red polyline underneath it, or some other specialized color to indicate that no matching letter is found. In addition, the user may see some non-red words that need to be edited.
The user performs an editing operation by placing the insertion indicator behind the word to be edited. Then, the user clicks a mouse button, and then inputs "edit mode" by clicking a designated function key.
This input causes the word selected for editing (referred to as "word x") to be highlighted, and causes the word highlighted to appear in the top row of the alphabetical series in the dynamic window. When "word x" is entered into the document, the other letter strings displayed in the window are displayed below the top row of letter strings, and the letter corresponding to the pressed input piece appears in the letter row when the word is entered.
The user may edit the words by the methods described in this specification, for example, the user may scroll through the letters or add letters, or select a string of letters in a letter series. The user may then move the desired item from the dynamic window to the file.
When performing a text copy operation or otherwise, the user may propose to perform all edits after entering a portion of the text. To do this, the user first presses the function key so that it is in "hysteresis edit mode". While in this mode, the user may proceed to: (1) selecting a letter string in the top row of the letter series by pressing a space key; or (2) it may choose to lag the selection of the displayed letter string, pressing the select No. 1 key after the last 1 letter is entered for any letter string. Thus, by pressing the selection key No. 1, all the words input by the user are made to appear in a specified color, such as green. In addition, if any letters are located in red on the top row of the letter series or letter row (which occurs because of a spelling error or because no matching letter string is found in the dictionary), they appear red in the file. When the user is ready to edit the text, then he presses the "text edit" key.
The user then moves the insertion indicator towards the word that he wants to edit. After editing the word, the program sets the function that the insertion indicator moves to the next word to be edited to highlight the next word and cause the letters, words and other words corresponding to the input to appear in the window. After editing the word, unless the user decides to interrupt the editing process, the automatic step of moving to the next word to be edited continues until the portion of the text is over.
If more than 1 letter string is in the letter string when the user presses the select key # 1, the program can set the following functions: i.e. only the top row of letter strings is displayed in the file. However, the user has the following options: when "letter string x" is entered into the document, the two top rows of letter strings in the window are displayed in color in the document. The user then edits the word in a window or file. The user may employ a QWERTY keyboard, mouse, delete key, backspace key in a conventional manner to edit the file. While in the "late edit mode," the user may place the insertion indicator behind any word to edit it. After this editing has been done, the move will be automatically to the next word that requires editing.
The following concept can be implemented without a dynamic window: when these letter strings are being input and the display is implemented by a keyboard in which 1 or more letters are designated by some or all of the keys, possible letter strings are displayed. Alternatively, display screens for a certain number of entered (perhaps, no more than 4 at any one time) letter strings for which matching letter strings are found in the dictionary are displayed directly in the document one on top of the other or in a horizontal direction. If the letter string is displayed in the horizontal direction, the insertion indicator must be moved in such a manner that: more than 1 possible letter string may be displayed when each input member is selected. For example, if the letters "a" and "b" are located on the same key, the letters "r" and "u" are located on the same key, and the letter "t" is the only letter assigned to the key, then the words "art" and "but" are formed using the same input. After commas are input between "a" and "b" at the 1 st time, the display screen appears with "a", "b". After the 2 nd input, "an", "ak", "bu", "bf" appears on the display screen, and after the 3 rd input, "art", "but", "aut" appears on the display screen. The letter strings of a complete word, such as "art" and "but", are preceded by a letter string, such as "aut", which is the first few letters of a longer word (e.g., author). The order in which the alphabetic strings appear is based on the statistical methods described in this specification. If only 3 letter strings are displayed, the user can select the desired letter string by pressing the space key for the letter string farthest to the left, or pressing the select key No. 1 for the 2 nd letter string and pressing the scroll key 1 time. If more than 3 letter strings are displayed, the scroll key is pressed a number of times corresponding to the number of times required to move the letter string to the position where the 1 st letter string appears. The number of letter strings displayed at any one time is limited, preferably not exceeding 4. Pressing the scroll key causes other strings of letters to be displayed. After selecting a letter string, other letter strings are automatically cancelled, and the area is closed. If the letter strings are displayed in a vertical or horizontal direction, the letters may have the same size as other letters in the document, or they may be displayed in a larger size. The size of these letters may be reduced when the space key, the number 1 selection key, or the punctuation mark is pressed. The insertion indicator is programmed to move as necessary to enter a letter into the top row corresponding to the input just pressed and then to enter that self-letter into the next row. The above steps are continued until each letter corresponding to the above input member is displayed. After entering letters into the bottom row, starting with the top row, the next batch of letters corresponding to the next input member is entered. The user may select line 1 of these lines by the space key, the select number 1 key, or by scrolling the desired line toward the top line, followed by pressing the space key or entering a punctuation mark. The letter strings found with matching letter strings are displayed in black, and the remaining letter strings are displayed in some other color (or, in the alternative, the entire word is displayed in color). Letters may be deleted or added by placing an insertion indicator, for example, where a modification is made in one of the displayed letter strings, and then pressing a delete key, a backspace key, or a letter assigned key. The user selects the letter string to be modified and the other letter strings to be cancelled from the display screen. If more than 1 letter is assigned to the input means when inserting a letter, other possible combinations resulting from the above input are also displayed, assuming that a matching word is found for the above letter string in the dictionary. If the user knows that he is entering a word that is not in the dictionary, the user can select the desired letter from each letter group corresponding to the same input means by the same method described for selection when using the dynamic window.
This occurs after the letters are displayed. If the desired letter is in the top row, it is selected by the user entering the next letter. If it is below the top row, it is then scrolled to the top row and the next letter is entered. When the space key is pressed, the letters below the top row are cancelled.
If the user wishes to edit the word at a later time, he can press the function key. Only the top row of letter strings corresponding to each input letter string and the above-described letter strings are displayed in a designated color.
If the user returns to the letter of the word being edited, the user places an insertion indicator behind the letter string. Click the insertion indicator and then press the function key. The display displays selections that occur if the user is not selecting the "late edit mode". The user selects the desired letter. The same procedure for hysteresis in the edit mode applies to horizontally displayed letter strings. Other aspects described for the method employing dynamic windowing apply to the method without windowing.
Determining which matching letter string is displayed in the top row can be described by the following example. Assume that the user is entering the word "FACE" and that the combination of letters assigned to the keys is as follows: ab, ef, ck, dj, gx, hz, im, ly, n, ot, pq, ru, s, vw.
The 1 st letters entered for the word "face" are "e" and "F", and FIG. 48a indicates that in 46% of cases, "F" is the 1 st letter of the word. In 40% of cases, "E" is the 1 st letter of the word. For the above reasons, the 1 st display screen indicates that "F" is located in the top row and "E" is located in the 2 nd row.
The 2 nd group letters entered are the letters "a" and "b". Possible combinations corresponding to the entered letters are "FA", "EA", "EB", "FB". The number of words in the dictionary corresponding to each of these possible combinations is approximately: corresponding to "FA", 300 words; corresponding to "EA", 70 words; corresponding to "EB", 7 words; "FB", 2 words (abbreviations). Depending on the situation, the listed words should be in the order "FA", "EA", "EB" and "FB". The 3 rd input has the letters "C", "K". For each possible combination (after entry), the number of words in the dictionary is approximately: for "FAC", 37; for "FAK", 3; for "EAC", 1; for "EA", 0; for "K"; for "EBC", 0; for "EBK", 0; for "FBC", 0; for "FBK", 0.
Because there are more words headed "FAC", they include such words as face, facing, face, factor, facial, and the words headed "fak" are simply "take", "Fakery" and "Fakir"; the word headed by the letter "EAC" is simply "EACH"), so the probability of the letter string "FAC" being the desired letter string is much greater than "FAK", or "EAC". Since the frequency of use of "EACH" greatly exceeds the combined letters "FAKE" and "FAKERY," the priority of "EAC" is greater than "FAK".
The order in the displayed letter strings is: "FAC", "EAC" and "FAK". The user may modify the order of priority using a program. This analysis is performed for all combinations of letters, which determines the order in which the strings of letters are displayed.
Several preferred keyboards are described herein for one-handed typing operations with the left hand, for one-handed typing operations with the right hand, and for two-handed typing operations. Keys with more than 1 letter assigned have substantially the same letter group. In addition, the designation of letters relative to keys is substantially in alphabetical order by the vowels and consonants (except for the 1 keyboard described below). The vowels are mostly assigned to the middle row of keys and additionally conform largely to the alphabetical order.
The selection of the letters assigned to the same keys is such that the frequency of unwanted words that will be displayed when the user selects the desired word is low. The designation of the letter depends mainly on making the number low. No more than 2 letters are assigned to the same key, which reduces the number of unwanted words and reduces the amount of scrolling when a letter is selected. Frequently used letters are located on the same keys as the infrequently used letters. Frequently used letters are located above the infrequently used letters in the letter row. This reduces the amount of scrolling required in the letter row.
The system described above is applicable to any length of keyboard. A person whose finger use is restricted may find the method to be useful for only 6 key applications. Or if it is very difficult to access the QWERTY keyboard, the operator would only need to cancel 6. In addition, the system described above can be used for some purpose with a very limited list of dictionaries. Even with only 6 keys on the keyboard, there may be few words that are not needed.
FIG. 61A shows a keyboard showing letter designations for the opposing 17 keys. The eliminated 9 keys make it difficult to reach some of the keys in a QWERTY style keyboard. The 17 designations of letters relative to keys on a QWERTY style keyboard remain unchanged. The 9 letters are reassigned to 1 key respectively among the 17 keys in the QWERTY-style keyboard that have not been changed. In most cases, they are adjacent to the key for which the reassignment is made. Such a keyboard may also be used to learn a full QWERTY style keyboard.
FIG. 61B shows a two-handed keyboard with 15 keys;
FIG. 61C shows a right-hand keyboard with 14 keys;
FIG. 61D shows a left-hand keyboard with 14 keys;
figure 61E shows a right or left hand keyboard with 14 keys when a left or right hand is used,
a keyboard with 14 keys when using the left hand.
The asterisks "+" indicate the position of the following functional keys:
vertical arrow key
No. 1 scrolling key
No. 2 scrolling key
No. 1 selection key
s/d mode key
Space key