Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
AU695587B2 - Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic - Google Patents
[go: Go Back, main page]

AU695587B2 - Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic - Google Patents

Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic Download PDF

Info

Publication number
AU695587B2
AU695587B2 AU27533/97A AU2753397A AU695587B2 AU 695587 B2 AU695587 B2 AU 695587B2 AU 27533/97 A AU27533/97 A AU 27533/97A AU 2753397 A AU2753397 A AU 2753397A AU 695587 B2 AU695587 B2 AU 695587B2
Authority
AU
Australia
Prior art keywords
character
characters
keys
key
keyboard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
AU27533/97A
Other versions
AU2753397A (en
Inventor
Masakatsu Sugimoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/382,781 external-priority patent/US5847697A/en
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of AU2753397A publication Critical patent/AU2753397A/en
Application granted granted Critical
Publication of AU695587B2 publication Critical patent/AU695587B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J5/00Devices or arrangements for controlling character selection
    • B41J5/08Character or syllable selected by means of keys or keyboards of the typewriter type
    • B41J5/10Arrangements of keyboards, e.g. key button disposition
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

S F Ref: 326770D1
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT
ORIGINAL
V
4 Se *oV 4.
~111 g I1I IICI~IIIIIXC-~-~ Name and Address of Applicant: Actual Inventor(s): Address for Service: Invention Title: Fujitsu Limited 1015, Kamikodanaka, Nakahara-ku Kawasaki-shi Kanagawa 211
JAPAN
Masakatsu Sugimoto Spruson Ferguson, Patent Attorneys Level 33 St Martins Tower, 31 Market Street Sydney, New South Wales, 2000, Australia Single-Handed Keyboard Having Keys with Multiple Characters and Character Ambiguity Resolution Logic The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5845 e p~ i~aan*maa~ I~N~e~ a~IDBl~sa~--~~.l L1DPII~ ID-_ SINGLE-HANDED KEYBOARD HAVING KEYS WITH MULTIPLE CHARACTERS AND CHARACTER AMBIGUITY RESOLUTION LOGIC Field of the Invention The present invention relates in general to data entry systems and in particular to keyboards that have multicharacter keys.
Background of the Invention Recently, laptop, notebook and palm-top computers have become increasingly popular, in large part because they are extremely portable and can be easily carried to the office, home, and abroad. At the same time, the keyboards for these S 15 computers have become smaller in size. For example, a typical full-sized keyboard is approximately 18 inches wide and 7 inches deep, such as a Fujitsu Model FKD4870 keyboard.
By comparison, the e ee o o 9 n:Thbe]01268 MXL ~es 1 average palm-top computer is under ten inches wide by four inches deep in total outward dimension, including keyboard, chassis and display assembly, such- as a Fujitsu Poget PC Plus Prolinear PS100 palm-top computer. The limiting factor in downsizing these keyboards is the size of the average human hand. As computers continue to decrease in size, the problem of applying normal touch-typing skills to their cramped dimensions increases.
A solution is to create a keyboard that incorporates all the functionality of a full-sized keyboard yet can be efficiently used with a single hand. The problem with this approach is that multiple keys must be configured as having more than one character, number, or function to cover the many characters, numbers, and functions that the 15 user requires.
Full keyboards are designed with 26 alphabetic character keys corresponding to each character in the Roman alphabet. After the addition of numeric, function, and other ancillary keys, the number of keys substantially 20 increases. For instance, the Fujitsu Model FKB4870 keyboard has 101 keys.
Reducing the number of keys to fewer than 20 keys makes it possible to create a keyboard usable by a single hand. However, designing a keyboard with fewer than 26 25 alphabetic character keys also creates the problem of assigning two or more alphabetic characters per key. It further introduces the problem of having to resolve ambiguities as to which of the two or more alphabetic characters is being selected whenever such a multicharacter key is used, A solution is to use a thumb key to allow the user to select among several alphabetic characters assigned to a multicharacter key. U.S. Patent 4,360,892 to Endfield discloses a portable word processor having a single-hand keyboard with finger and thumb keys. These keys are entered in chords to enter a character, number, or punctuation mark but the thumb keys are not used to select I -I rrOY ~lil 1 a particular character once the operator has chosen a keyboard by using one of the thumb keys.
U.S. Patent 4,042,777 to Bequaert et al. discloses a single-hand keyboard with finger and thumb keys. The operator presses thumb keys to select an alphabet or case and can press up to four finger keys with one finger to uniquely identify a character within the alphabet or case.
The operator does not press thumb keys to select a particular character once he has chosen the alphabet or case.
U.S. Patent 5,288,158 to Mathias discloses a single-hand keyboard that comprises keys for representing one-half of a full keyboard. The finger keys are used to key in two characters, one from each half of the full 15 keyboard. The operator presses a modifier key with his thumb to choose between the two halves of the keyboard.
A problem with the '892, '777, and '158 patents is that the user must decide whether to use the thumb key for most keystrokes.
20 Another solution to the problem of distinguishing between two or more alphabetic characters entered using a multicharacter key is to resolve ambiguities post hoc.
U.S. Patent 4,484,305 to Ho discloses a phonetic word processor that enables a user to enter Chinese, Japanese, 25 or other ideographic characters using a standard QWERTY keyboard. The user selects the three parts, consonants vowels and tones, comprising a word. An ideographic character along with any characters having the same sound (homonyms) is displayed on the screen.
U.S. Patent 4,684,926 to Yong-Min discloses a system of encoding Chinese characters that includes a keyboard comprising an arrangement of basic strokes constituting roots of Chinese characters and phrases encoded according to their geometric forms. The user toggles between characters having the same encoding. A problem with the approach taken in the '305 and '926 patents is that the system enables the resolution of ambiguity between ip epaulrurm~ naraaaraar~~~- individual ideographic characters or homonyms but not btween multiple-character words.
Accordingly, there is a need for a keyboard that resolves ambiguities between multiple-characters assigned to the name key when a sequence of keys is entered and preferably to one that does so from a single handed keyboard that has more than one character assigned per key. There is also a need for a keyboard that has keys layed out and placed in the keyboard for the most efficient entry by the io fingers of a single hand.
Summary of the Invention oo.
In accordance with one aspect of the present invention, there is provided a character generator for a keyboard, the keyboard having keys for entry of characters, each key being assigned at least one character and at least S one of said keys being a multiple characters key assigned multiple characters, the character generator comprising: a generator for generating one of the characters assigned to a sequence of keys that are entered on the keyboard, there being an ambiguity as to a correct character to be generated when any said multiple character key is entered in the sequence of keys; and an ambiguity resolver operating on the sequence of keys that have been entered for resolving the correct character for any of the multiple character keys in the sequence of keys that are entered.
In accordance with another aspect of the present invention, there is provided a keyboard character entry system, comprising: a plurality of keys, the keys comprising a plurality of single character keys, each single character key In:\ibe|01268:MXL 8~(Pr~-sBe~91W ~ss~pIl(gpp~a ~-amr~uaa~lar~-na L I representing one character, and a plurality of multiple character keys, each multiple character key representing at least two characters; means for generating, upon entry of a sequence of keys, a sequence of characters assigned to the sequence of entered keys, wherein an ambiguity exists among the multiple characters assigned to multiple character keys entered as to correct assigned characters that are to be included in the sequence of characters; and means responsive to the sequence of keys that are entered for resolving the ambiguity to generate a correct sequence of characters.
V. In accordance with another aspect of the present 15 invention, there is provided a method for generating character sequences using a character generator for a keyboard where the keyboard comprises keys for entry of characters, each key being assigned at least one character and. at least one of said keys being a multiple character key 20 assigned multiple characters, the method comprising: using the generator for generating one of the characters assigned to a sequence of keys that are entered on the keyboard, there being an ambiguity as to a correct character to be generated when any said multiple character key is entered in the sequence of keys; and *based on the sequence of keys that have been entered, resolving the correct character for at least one of the multiple character keys in the sequence of keys that are entered.
In accordance with another aspect of the present invention, there is provided a method for generating character sequences using a keyboard character entry system having keys and a character generator, wherein the keys are each assigned at least one character, and at least one of the keys is a multiple character key assigned multiple characters, the method comprising the steps of: generating upon entry of a sequence of keys, a sequence of the characters comprising a character assigned n:\libejOl268:MXL pSp-~ I_ X -6to each key in the sequence of keys, there being an ambiguity among the multiple characters assigned to a multiple character key that is entered as to a correct assigned character that is to be included in the sequence of characters; and resolving the ambiguity based on the sequence of keys that are entered.
In accordance with another aspect of the present invention, there is provided a keyboard system for resolving an ambiguity in a word comprising: a keyboard comprising a plurality of keys for keying in an input word, each of the keys having a priinary character and at least one of the keys having a plurality of 15 alternate characters, the input word comprising one or more characters and corresponding to an ambiguously spelled word; logic for accepting the input word from the keyboard; logic for matching the input word to a list comprising at least one correctly spelled word; and a display for displaying correctly spelled words to a user.
In accordance with another aspect of the present invention, there is provided a keyboard for resolving 25 ambiguities in words entered in the keyboard comprising: -a plurality of keys, the keys being assigned at least one character and at least one key being assigned a plurality of characters; a character buffer for storing a plurality of character keycodes; logic for obtaining a character keycode from a selected one of the plurality of keys; logic for returning a word corresponding to contents of the character buffer when the character keycode corresponds to a carriage return key; logic for truncating the contents of the character buffer by one character when the character keycode corresponds to a backspace key; In:\libol01268MXI.
I~~=~~aeBe~~bb N__Y C_ logic for setting the contents of the character buffer to a null string when the character keycode corresponds to an escape key; logic for performing ambiguity resolution on the contents of the character buffer when the character keycode corresponds to an ambiguity resolution key; and logic for storing the character keycode in the character buffer when the character keycode does not correspond to a carriage return key or a backspace key or an escape key or an ambiguity resolution key.
In accordance with another aspect of the present invention, there is provided a method for resolving V. ambiguities in words entered using a plurality of keys of a 15 keyboard, each key being assigned at least one character and at least one key being assigned a plurality of characters, the keyboard including a character buffer for storing a plurality of character keycodes corresponding to selected keys, comprising the steps of: 0. 20 obtaining a character keycode from one of the selected keys; returning a word corresponding to contents of the character buffer when the character keycode corresponds to a carriage return key; truncating the contents of the character buffer by one character when the character keycode corresponds to a backspace key; setting the contents of the character buffer to a null string when the character keycode corresponds to an escape key; resolving any ambiguity present in the contents of the character buffer when the character keycode corresponds to an ambiguity resolution key; and storing the character keycode in the character buffer when the character keycode does not correspond to a carriage return key or a backspace key or an escape key or an ambiguity resolution key.
in.\itbalO1268MXL I 8aRMIP Still other embodiments of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein is shown and described only the preferred embodiments of the invention by way of illustration of the best modes contemplated for carrying out the invention. As will be realized, the invention is capable of other and different embodiments and its several details are capable of modification in various obvious respects, all without departing-from the spirit and scope of the present invention. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
L- II ~dl ~s~s 9b~ N IO~i- ~r 1 Brief Description of the Drawings Examples of the invention will now be described with reference to the accompanying drawings, of which: FIG. 1 depicts an isometric view of a single-hand keyboard, including a character generator, with no thumb keys and embodies the present invention; FIG. 2 is an isometric view of a single-hand keyboard, including a character generator, having a key layout for a right-handed single-hand keyboard with thumb keys and embodies the present invention; FIG. 3 is an isometric view of a single-hand S keyboard, including a character generator, having a key layout for a left-handed single-hand keyboard with thumb 5 keys and embodies the present invention; FIG. 4 is an isometric view of the keyboard of FIG.
S" 2 showing the key layout for a control character set; FIG. 5 is an isometric view of the keyboard of FIG.
2 showing the key layout for a numeric character set; FIG. 6 is an isometric view of the keyboard of FIG.
2 showing the key layout for a function key character set; FIG. 7 is an isometric view of the keyboard of FIG.
2 showing the key layout for a terminal character set; FIG. 8 is a block diagram of a computer program forming ambiguity resolution logic for use in a programmed computer in the keyboards of FIGS. 1 and 2 or the system of FIG. 26; FIG. 9 is a flow diagram of the MAIN routine of FIG.
8; FIG. 10 is a flow diagram of the GET_CODE routine of FIG. 8; FIG. 11 is a flow diagram of the GEN_CAP routine of FIG. 8; FIG. 12 is a flow diagram of the AMB_RES routine of FIG. 8; FIG. 13 is a flow diagram of the ENH_AMB_RES routine of FIG. 8; IWL~ ~j~P ~eB~lsBl~ss ~B8"ya~l lrrara~urrP rsrrr~--~- 1 FIG. 14 is a diagram depicting the structure of the SH DICT dictionary of FIG. 8; FIG. 15 is a block diagram showing the process for creating the SH DICT dictionary of FIG. 8; FIG. 16 is a flow diagram of the CREATE SH DICT routine of FIG. FIG. 17 is a flow diagram of the SHKB_CONV routine of FIG. FIG. 18, including FIGS. 18a and 18b, depict diagrams showing the structure of the DICT dictionary, a preferred embodiment being shown in FIG. 18a and an alternate embodiment being shown in FIG. 18b; FIG. 19 is a block diagram depicting a process for creating the DICT dictionary; FIG. 20 is a flow diagram of the CREATEDICT routine of FIG. 19; FIG. 21 is a flow diagram of the CHECKMULT routine of FIG. 19; FIG. 22 is a flow diagram of the PROCMULT routine of 20 FIG. 19; FIG. 23, including FIGS. 23a and 23b, are plan views depicting the key layout of a conventional two-handed keyboard converted for single-hand use by a programmed computer (Prior Art). A right-handed keyboard is depicted in 23a and a left-handed keyboard is depicted in FIG. 23b; FIG. 24 is a flow diagram of SHKBMAP routine of a computer program for use in the programmed computer referred to in the description of FIG, 23 for emulating a single-handed keyboard using the conventional two handed keyboard; FIG. 25 is a perspective view of the dedicated sing±e-hand keyboard corrected as an input device to a personal computer; and FIG. 26 is a schematic block diagram depicting the electronic components for a single-hand keyboard systems, including a programmed computer or processor.
I~P I I 1 Detailed Description of the Preferred Embodiment An embodiment of the present invention is a keyboard system such as depicted in FIG. 26. A keyboard 276 with keys and keyswitches (not shown) sends binary coded digital signals representative of each key that is struck or entered to a keyboard controller 285. Keyboard controller 285, in turn, sends signals unique to the keys which have been entered to a digital computer or microprocessor 286. The microprocessor 286, under control of a computer program, recognizes the entered keys and forms or generates a character or symbol assigned to the keys that have been entered in the form of digital coded 6* 6.
signals. A visual display of the character or symbol is also formed on a visual display 277.
Although an embodiment of the invention is useful for S"conventional two-handed keyboards, it is especially useful for a single-hand keyboard. The discussion to follow is presented in three sections covering the spatial arrangement of the keys, the ambiguity resolution logic 20 and the software emulator and hardware embodiments.
*0*6 *0e* I. Spatial Arrangement of Keys SReferring to FIGS. 1, 2 and 3, three different single-hand keyboards are illustrated. FIG. 1 shows the general layout of a right-handed single-hand keyboard 1 comprising a keypad 1 having an upper row 2, a home row 3, and a lower row 4 of finger keys, forming first, middle and second rows of keys. By way of example, there are six finger keys per row for a total of 18 finger keys. The keys in rows 2, 3 and 4 are character keys arranged in columns a, b, c, d, e and f. Columns a through e have keys each assigned for generating one or more characters.
An exception is the key in row 3 of column f, which is a function key. The keys in column f of each row are function keys for controlling keyboard functions. A bank of three thumb keys are included in the embodiments of -11- 1 FIGS. 2 and 3 but not of FIG. 1. The embodiment'n of FIGS.
2 and 3 also have a bank of thumb keys 6.
The keyboard can be configured with either right-hand keypad 1' as in FIG. 2 or left-hand keypad 1" as in FIG.
3, and the specific key layout for one is preferably a mirror image of the other. Referring to FIG. 2, righthanded single-hand keyboard 5 is shown with three righthand thumb keys 6.
A. Assignment of Keys FIGS. 2 and 3 are labelled to show characters and the control and functions assigned to each key for the righthanded single-hand keyboard 5. The functionality, layout of components, and operation of the right-handed single- 15 hand keyboard 5 and the left-handed single-hand keyboard 7 are essentially the same and therefore the description of one will be understood to apply equally to the other.
The thumb keys 6 function in a manner similar to conventional shift keys. Each character key has a primary character assigned to it. Some finger keys have a second alternate character or special function assigned to it.
Thumb keys are depressed simultaneously with a finger key to access an alternate character or to execute a special function.
In FIG. 2, the 26 characters of the Roman alphabet are shown assigned to 14 finger keys in columns a-f of rows 2, 3 and 4 with only two of those characters being assigned to a single key. Those are the keys for the characters A and E in columns a and b of row 3. The remaining 12 finger keys are multicharacter keys with two characters assigned to each.
The lower character assigned to and shown on each multi-character key is the primary character which is formed when the user presses that multicharacter key. The upper character of each multicharacter key is an alternate character which is registered when the user simultaneously enters the T2 thumb key and that multicharacter key.
-12- IL l~,I 1 Thus, the set of primary characters comprises the characters A, B, D, E, F, I, J, K, L, M, N, O, R, and T.
The set of alternate characters comprises the characters C, G, H, P, Q, S, U, V, W, X, Y, and Z. In the following discussion, the finger keys will be referred to by their primary character assignment unless otherwise indicated.
The alphabetic key assignments proceeding from left to right for the right-handed keyboard/right to left for the left-handed keyboard in order of primary/alternate characters, are for the upper row 2: N/P, T/G, R/C, K/Z, and J/W; for the home row 3; A, E, I/H, and O/S; and for the lower row 4; D/U, F/X, M/Y, L/V, and B/Q. Ambiguity resolution logic, to be described, resolves the ambiguity caused by the dual use of each multicharacter key for more 15 than one character.
S* There are four nonalphabetic finger control keys. In the upper row 2, the right-most key in column f of row 2 is the Up-Ctrl/En-Num key. The primary function assigned is the capitalization control function, Up-Ctrl: Lower case characters are normally generated. The Up-Ctrl key causes upper case or capitalized characters to be generated. The alternate function En-Num causes the keyboard to enter or exit a numeric character entry mode, En-Num, in which strokes of the keys entered cause numerals to be formed instead of alphabetic characters.
To access the alternate function, the user simultaneously depresses The T2 thumb key and the Up-Ctrl/En-Num key.
The second key from the right in the home row 3 is the Ar/Cr control key and is the only key in column e that is not a character key. The primary function Ar triggers the ambiguity resolution logic. The alternate function Cr enters a carriage return. To have access to the alternate function, the user simultaneously depresses the T2 thumb key and the Ar/Cr key.
The right-most key, column f of the home row 3, is the Tc/Ctrl key. The primary function Tc, causes formation of a terminal character which is a punctuation -13- _P~I 1_ ~I 1 mark. The set of available terminal characters is described below. The alternate function Ctrl enables a control function, to be entered. To access the alternate function, the user simultaneously depresses the T2 thumb key and the Tc/Ctrl finger key.
The right-most key in column f, column f of the lower row 4 is the Sp/Shf key. The primary function Sp enters a space. The alternate function Shf enables the user to input special codes such as case shifts and cursor-up movements. To access the alternate function, the user simultaneously depresses the T2 thumb key and the Sp/SHF Skey.
S* For ease of use of the single-hand keyboard, the home row key assignments for the right hand are: index finger 15 on the E key, middle finger on the I key, ring finger on the 0 key, little finger on the Ar key, and thumb on the T2 key.
B. Basis for Alphabetic Character Key Assignments The assignment of the alphabetic characters to the finger keys comprising the single-handed keyboard is a function of three variables.
.The first variable is the frequency of occurrence for each alphabetic character in ordinary English text. The frequency of character occurrences is shown in Table 1 and is detailed in W.A. Beeching, The Century of the Typewriter, pp. 41-42 (London 1974).
Frequency of Appearance for Alphabetic Characters in ordinary English Text E T A 0 N R I S H D L F C M U G Y P W B V K X J Q Z Table 1 -14i I-r 1 7 I-I I~ 1 Referring to Table 1, the 26 characters of the Roman alphabet are shown in decreasing order of frequency from left to right, top to bottom. Thus, the seven most frequently appearing characters are E, T, A, O, N, R, and I on keys in the middle and upper left of the keyboard of FIG. 2.
The second variable in the assignment of keys in the single-hand keyboard is the relative ease of movement of the fingers. For each finger, ease of movement is defined in terms of three variables: lateral movement, flexion, and extension. Lateral movement refers to the relative ability of a finger to move in a horizontal, left-to-right manner. Accordingly, the index and little fingers enjoy the most lateral movement since both are "outer" fingers.
15 Conversely, the middle and ring fingers have the least lateral movement because both are constrained on either side by other fingers: the index and ring fingers surround the middle finger, and the middle and little fingers surround the ring finger. Consequently, the single-hand keyboard assigns two columns of keys apiece to the ring finger and little finger and one column of keys apiece to the middle and ring fingers.
Flexion refers to the ability of a finger to curl.
Normally, all fingers of the hand are equally flexible.
Extension refers to the ability of a finger to stretch outwardly. Normally, all fingers are also equally extendable. However, in key layout design, the effects of flexion and extension are affected. by finger length.
Thus, although the little finger enjoys a greater degree of lateral movement than either the middle or ring finger, it is the least suitable finger for movement away from the home row due to its short length. Moving the little finger away from the home row requires movement of the entire hand, an undesirable side effect. Nevertheless, the little finger is well equipped for timing the movements of fingers and for helping to anchor the other fingers to the home row position. As a result, in the L- ~LL
.E
1 single-hand keyboard, the home row position for the little finger is the Ar key which triggers the ambiguity resolution logic, a frequently used function in the preferred embodiment.
The keyboard of FIG. 2 assigns alphabetic characters in accordance with the relative ease of movement in fingers and the frequency of occurrence of each alphabetic character in ordinary text. Since the index finger enjoys the greatest overall ease of movement, four of the most frequently used characters, A, E, N, and T, are assigned to that finger. In addition, the characters D and F are also assigned to the index finger, though in the lower row positions.
The most frequently used alphabetic character, E, is 15 assigned to the home row position for the index finger.
f The second most frequently used alphabetic character, T, is assigned to the upper row position of the index finger.
The third most frequently used alphabetic character, A, is Sassigned to the left position of the index .finger.
Finally, the fifth most frequently used alphabetic character, N, is assigned to the upper left position of the index finger. The fourth most frequently used character, 0, is assigned to the home row position for the ring finger. The sixth and seventh most frequently used S. 25 characters, R and I, are assigned to the upper row and home row positions for the middle finger.
The most frequent run of alphabetic characters is "TION." The key layout places the T, I, and O keys in positions conducive to a more natural flow of finger movement, proceeding from left to right for the right hand, and from right to left for the left hand. Moreover, it is easier to type this sequence of characters if the character I is assigned to a home row position. Thus, although the character R appears more frequently than the character I, the character I appears in the home row position for the middle finger for typing efficiency.
-16- Is ss8piuu~p~saRrsaawnnn~r~-olP 1 Note that in the preferred embodiment, three of the five vowels in the English language, E, I, and 0, are assigned to home row positions as primary characters and do not require a thumb key-for entry. Furthermore, the most frequently used consonants, N, R, and T, are assigned as primary characters and also do not require a thumb key for entry.
The third variable in the assignment of keys in the single-hand keyboard is the lessening of the multiplicity of words forming a raw input character string.
Consequently, the key arrangement seeks to minimize the number of multiple word choices that can be entered by using the primary characters only, thereby enhancing the effectiveness of the ambiguity resolution logic.
Moreover, the remaining alphabetic characters are assigned by the order of their frequency of appearance in usual text.
.e, C. Character Sets Referring to FIG. 4, the same set of finger keys are displayed in keyboard 5 as in FIG. 2, but some are labelled with their control functions for ease of understanding. The control keys are typically for cursor movement in a display and control functions, but other 25 purposes would be readily apparent to one skilled in the art. A control character is entered by simultaneously entering the T1 thumb key and one of the control finger keys.
Referring to FIG. 5, the same set of finger keys are displayed in keyboard 5 as in FIG. 2, but each is labelled with a numeric character or mathematical operator function. These characters are used for entering numbers and mathematical operations wherein the functionality is provided through computer programs in a processor (such as microprocessor 285 of FIG. 26) that recognizes the significance of the respective numeric character or mathematical operator using methodologies known to one -17- I PR 1 skilled in the art. A character from the numeric character set can be entered in two ways. The single-hand keyboard supports a numeric character entry mode. This mode is toggled by simultaneously entering the T2 thumb key and the Up-Ctrl/En-Num key. Once toggled, the keys labeled with numbers in FIG. 5 become number keys and a numeric character is entered by entering one of the numeric keys labeled. Second, a numeric character is also entered by simultaneously entering the Tl thumb key and a finger key with the desired number as shown in FIG. This manner of entering a numeric character operates independently of the numeric character entry mode.
Referring to FIG. 6, the same set of keys are ^displayed in keyboard 5 as in FIG. 2, but some are 15 labelled Fl through F12 for their function key functions.
Function keys can be assigned by. a user or programmer for various purposes as typically done with normal keyboards by changing the computer program function assigned to the keys. A function key from this set can be entered by 20 simultaneously entering the T3 thumb key and the Tc/Ctrl key, followed by one of the function keys F1 F12.
Referring to FIG. 7, the same set of keys are displayed as Keyboard 5 as in 2IG. 2, but some are labelled with the symbols 1 for purposes of this application with their terminal character functions. The set of terminal characters consists of punctuation marks and each terminal character is entered by entering the Tc/Ctrl key, followed by the corresponding key.
II. Ambivu.lty Resolution Logic The keys of the keyboard are preferably labelled, as in FIGS. 2 and 3. The ambiguity resolution logic allows the user to select the desired character assigned to a multi-character key using the T2 thumb key as described above. Alternatively, the ambiguity resolution logic can be used to select and display a sequence of characters -18- -n I 1 that make up an actual word after the sequence of character keys bearing the desired characters are entered.
In the latter case, if the desired sequence of characters or word is not generated and displayed to the iTser, the user can select one or more alternate character sequences or words by entering the Ar key until the desired sequence of characters or word is generated.
Each time the Ar key is entered, another sequence of characters or word is selected and displayed using the characters assigned the keys that were previously entered.
To explain further, the character to be used caused by the assignment of multiple alphabetic characters to one r key is an "ambiguity." The underlying premise is 15 straightforward: by allowing a user to enter a character string without having to simultaneously enter a thumb key to select the alternate alphabetic character that is assigned to that multicharacter key, the user can maintain a faster and more efficient typing pace than if otherwise 20 interrupted by the inconvenience of entering a thumb key.
Ambiguity resolution logic enables a user to enter a sequence of keys and hence generate a sequence of characters for viewing on a display and to thereby defer *resolving the character ambiguities inherent therein by virtue of exclusive use of primary character keys.
By way of example, assume that the user decides to input the word "this." Referring to FIG. 2, the user enters the word by striking the keys with the characters Direct selection of the clhracters H and S require the T2 thumb key to be entered -,multaneously with the I/H and O/S keys. Conversely, the user can strike the keys with the characters T-H-I-S, also T-I-I-0, which will cause the characters "tiio" to be generated in digital form and then displayed. Entry of the Ar key triggers the ambiguity resolution logic, which causes display of the word "this." The ambiguity resolution logic ascertains that the user really meant to enter a word with its second -19- I 1 character being h and its fourth character being s instead of the characters i and o, as was actually registered by the keyboard. Thus, the- user saves effort by avoiding having to enter the T2 thumb key twice for this sequence of character keys. This operation will now be discussed in more detail.
A. Basic Ambiguity Resolution Logic Character string ambiguities are resolved on demand.
To invoke the ambiguity resolution after a string of keys have been entered, such as for a complete word, the user depresses the Ar key. Entry of the Ar key causes the ambiguity resolution logic to present to the user a sequence of characters or a word from a list of word 15 choices corresponding to the possible spellings of words enterable by the user based on the multicharacter keys entered. If the new sequence of characters or word is not the desired one the Ar key can be entered time after time until the desired sequence of characters or word is 20 generated and displayed.
Referring to FIG. 8, an overall block diagram of the computer program or ambiguity resolution logic that is to be run on the computer system of FIG. 26 is illustrated.
The system is implemented on a microprocessor system with memory and comprises five functional modules and two data dictionaries. The point of entry is the MAIN routine which calls the GET CODE routine 21, the GENCAP routine 22, and the AMB_RES routine 23. In turn, the AMB_RES routine 23 accesses the SH DICT dictionary 24 and calls the ENHAMBRES routine The second stage of ambiguity resolution logic is embodied in the ENH AMB RES routine 25. Like the AMB RES routine 23, the ENH_AMB_RES routine 25 accesses the dictionary, the DICT dictionary 26. The ENH_AMB_RES routine 25 also calls the GET CODE routine 21 and the GENCAP routine 22. The GEN CAP routine 22 also calls the I
I__
1 GET_CODE routine 21. The precise functionality of the foregoing routines will now be described in more detail.
Referring to FIG. 9, a flow diagram for the MAIN routine 20 is illustrated. The purpose of the MAIN routine 20 is to return a single input word entered by the user. The routine accepts one input keycode at a time by iteratively calling the GETCODE routine 21 (block 27).
A keycode is a numeric value that uniquely identifies a character for entry of the key that was inputted via the keyboard. Keycodes are required because multiple characters are represented on each key. The ASCII character set comprises a commonly known set of keycodes.
After accepting an input keycode, the MAIN routine parses that keycode to determine the appropriate action to 15 take (blocks 28-35). The routine maintains a buffer (see FIG. 26) in which it assimilates the set of input keycodes received from the GET CODE routine 21. If the input keycode is a carriage return (block 28), the routine is exited (block 38). If the input keycode is a backspace 20 (block 29), the buffer of input keycodes is truncated by one keycode which effectively "erases" the last character typed (block 30). The MAIN routine 20 will then accept a new keycode and begin the parsing process anew. If the input keycode is an escape (block 31), the buffer of input keycodes is set to an empty, or null, string (block 32) and the MAIN routine 20 is exited (block 38). If the input keycode is an ambiguity resolution character (block that is, the Ar key was entered, the AMB_RES routine 23 is called (block 36) and the MAIN routine 20 is exited (block 38). Finally, if the input keycode is neither a carriage return, backspace, escape, or ambiguity resolution character, the buffer of input keycode is concatenated with the input keycode (block 37), the MAIN routine 20 accepts the next input keycode, and the parsing process begins anew.
Referring to FIG. 10, a flow diagram for the GET_CODE routine 21 called at block 27 of the MAIN routine 20 is -21lp I1~Bii~P~p~BsaR d-b- L 1 illustrated. The primary purpose of the GET_CODE routine 21 is to accept one or more raw input characters from the keyboard and to return to the calling routine a single keycode corresponding to a single character from one of the five character sets supported by the single-hand keyboard (alphabetic, control, numeric, function key, and terminal character sets).
The GET CODE routine 21 begins by accepting a raw input character selected by a keystroke on the keyboard (block 40). The MAIN routine 20 maintains an internal indication of whether the keyboard is currently in a numeric character entry mode. This internal indication (not shown) is checked by the GET_CODE routine 21 (block 41) and if the indication is presently set, the routine 15 uses the value of the input character to look up the numeric character keycode (block 42) from an internal table (not shown) and returns that keycode to the calling routine MAIN (block 67). If the internal indication is not set, the GETCODE routine 21 parses the raw input 20 character to determine whether one of the thumb keys have been entered (blocks 43, 45, 57).
If the input character is a T3 thumb key (block 43), the routine looks up the keycode from an internal table (not shown) for the control character corresponding to the appropriate finger key (block 44) and returns that keycode to the calling routine (block 67).
If the input character is a T2 thumb key (block the routine first checks if the Up-Ctrl/En-Num key was also entered (block 46). If so, the routine toggles a numeric character entry mode indicator (not shown) (block 47) and returns to the calling routine (block 67). If the Tc/Ctrl key was also entered (block 48), the routine accepts another input character from the keyboard (block 49) and looks up the keycode from an internal table (not shown) for the control character corresponding to the appropriate finger key (block 50). The routine returns that keycode to the calling routine (block 67). If the Sp -22- P- (Shf) key was also entered (block 51), the routine accepts another raw input character from the keyboard (block 52).
The GET CODE routine 21 then determines whether the T2 thumb key was entered a second time (block 53), and if so, looks up the keycode for the capitalized alternative character corresponding to the appropriate finger key (block 54). Otherwise, if the T2 thumb key was not entered a second time, the routine looks up the character keycode for the capitalized primary character corresponding to the appropriate finger key (block In either case, the GET CODE routine 21 returns the keycode to the calling routine (block 67).
If the original raw input character was a T2 thumb key and the Up-Ctrl/En-Num, Tc/Ctrl, or Sp/Shf keys were 15 not entered, the GET CODE routine 21 looks up the keycode from an internal table (not shown) for the alternate character corresponding to the appropriate finger key (block 56) and the routine returns. that keycode to the calling program (block 67).
If the raw input character is a Tl thumb key (block 57), the GETCODE routine 21 ascertains whether the Tc/FN key was also entered (block 58). If so, the routine gets another raw input character from the keyboard (block 59) and looks up the keycode from an internal table (not 25 shown) for the function key character corresponding to the appropriate finger key (block 60). Otherwise, the routine looks up uhe keycode from an internal table (not shown) for the numeric character corresponding to the appropriate finger key (block 42) In either case, the routine returns the keycode to the calling routine (block 67).
If the Tl, T2, or T3 thumb keys were not entered, the GET CODE routine 21 checks if the raw input character is the Tc key (block 61). If it is not, a primary character was entered and the routine looks up the keycode from an internal table (not shown) for the primary character corresponding to the appropriate finger key (block 62).
Otherwise, the routine gets another raw input character -23- 1 from the keyboard (block 63) and determines whether the T2 thumb key was entered a second time (block 64). If so, the routine looks up the-keycode from an internal table (not shown) for the alternate terminal character corresponding to the appropriate finger key (block Otherwise, the routine looks up the keycode from an internal table (not shown) for the primary character corresponding to the appropriate finger key (block 66).
The routine returns the keycode to the calling routine (block 67).
Referring to FIG. 11, the GEN_CAP routine 22 is illustrated. The purpose of this routine is to generate a three word list of variations on the capitalization of the input word, prompt the user to select one of these words, and return that word to the calling routine.
The GEN CAP routine 22 begins by generating three variations of the input word stored in the buffer: first character capitalized, all characters capitalized, and no characters capitalized (block 70). The routine then displays the first word in this list to the user (block 71) and calls the GET_CODE routine 21 to obtain the next keycode (block 72). If the input keycode is an Up-Ctrl key (block 73), the routine shifts the order of the list with the next word in the list at the beginning of the 25 list (block 74). The routine again displays and prompts the user. Otherwise, the routine returns the selected word to the calling program (block For example, assume that a user enters an input character string comprising the characters "cat." The GENCAP routine 22 generates the three word list comprising "Cat, CAT, cat" (blocj- 70). The routine displays the first word, "Cat", to the user (block 71) and gets the next input keycode (block 72). Assume that the user enters the Up-Ctrl key (block 73). The first word in the list becomes "CAT" (block 74) and this word is displayed to the user (block 71). The GEN_CAP routine 22 gets the next input keycode (block 72) and, assuming that -24- I 1 it is not an Up-Ctrl key (block 73), the character string "CAT" is returned to the calling routine (block Referring to FIG. 12, a flow diagram for the AMB RES routine 23 is illustrated. The AMB RES routine 23 comprises the first level of ambiguity resolution logic.
It seeks to find an exact and literal match between the raw input string and its table of word pairings. The purpose of this routine is to find either an exact match for the input character string in the SH_DICT dictionary or to substitute a terminal character symbol for that string.
The routine begins by searching for an exact match between the character input string stored in the buffer against the set of entries stored in the SH DICT dictionary (block 77). The SH DICT dictionary comprises a set of word pairings. The structure and process for creating the SHDICT dictionary is described below.
If an exact match between the input string and an index word in the SH DICT dictionary is found (block 77), the routine checks if the input string matches a terminal character mnemonic corresponding to a frequently-used terminal character (block 78).
In the preferred embodiment, special consideration is given to selected punctuation marks that are frequently 0 S 25 used in ordinary text. These terminal symbols include the period, comma, colon, semicolon, question mark, exclamation mark, backspace, and carriage return. As set forth above, these punctuation symbols are enterable through the usual method for entering a character from the terminal character set. Remember that a terminal character can be entered by first entering the Tc key, followed by a terminal character finger key corresponding to the appropriate terminal character (see FIG. 7).
The usual method of entering terminal characters, especially those that are frequently used, causes an interruption in the natural flow of typing on the single-hand keyboard. This is primarily because the e 1 1 little finger is required to move away from its home row position thereby throwing off the timing of the user.
Consequently, in the preferred embodiment, a scheme is provided whereby selected frequently-used terminal characters can be entered by using a mnemonic key sequence, followed by the Ar key. The set of mnemonics is set forth in Table 2.
e e 2 26- I 11~1~- 1-1111-111111 b
B
O
1
TERMINAL
CHARACTER INPUT CHARACTERS MNEMONIC (period) NE PE ,(comma) RO CO (colon) ROL COL (semicolon) OE SE (question BD QU mark) (exclamation) FE XE S(backspace) EA n/a S(carriage EE n/a return) 5± Table 2 Referring to Table 2, three columns 'are shown. The first column lists the frequently-used terminal characters. The second column lists the primary input characters required to enter the mnemonic key sequence for the desired frequently-used symbol. The third column lists the mnemonic, where applicable, for the terminal symbol. The difference between the second and third columns is that the mnemonic column substitutes the appropriate alternate characters such that the mnemonic can serve as a memory device. For instance, "QU" is easier to remember than "BD".
An example illustrates this feature. Assume that a user wants to type a question mark using the mnemonic scheme. The user would type in "BD" (primary characters) followed by the Ar key. The AMB_RES routine 23 matches the input primary characters "BD" to a known mnemonic (block 78) and substitutes for the characters "BD" that are stored in the buffer the question mark (block 79).
Note that the Ar key serves the special function of triggering the ambiguity resolution logic and causes it to substitute the desired terminal character for the two or -27- 1 three input characters comprising the mnemonic therein entered by the user.
If the input character string does not match a known mnemonic, the AMB RES routine 23 calls the ENHAMB_RES routine 25 and enters the second stage of ambiguity resolution logic (block 80). If the input character string does not match an entry in the SHDICT dictionary, the AMB_RES routine 23 tries to apply word variation rules (block 82). It checks whether a possible stem of the word (root word) matches a word in the SH_DICT dictionary.
This is for applying word prefix and suffix rules.
S: Regardless of the result from the ENH AMB RES routine the AMB RES routine 23 returns to the calling routine (block 81).
S* B. Enhanced Ambiguity Resolution Logic In its basic form, the ambiguity resolution logic resolves literal character string ambiguities. However, in the preferred embodiment, an additional level of ambiguity resolution logic is provided to enhance the basic functionality of the underlying system.
Referring to FIG. 1.3, the ENH_AMB_RES routine 25 is illustrated. This routine is the entry point from the first stage to the second stage and serves a three-fold purpose. First, it prompts the user with more word choices comprising the collection of words which have an identical index word. The collection is created in a dictionary generation process and is stored in the DICT dictionary.
Second, the routine presents to the user the various forms of verb tenses corresponding to the input word. For example, assume that the user has entered the primary characters The AMB RES rout ne 23 resolves the character string ambiguity and prompts the user with the word The ENH _AMBRES routine 25 displays the list "is, was, will be, has been, had been." -28- -r 1 Third, the routine incorporates the ability to execute macros that are triggered by the input character string. For instance, the word can be set up to fill in the name of the user, such as "Masakatsu Sugimoto" or to execute a function to display the time of day or set a stopwatch timer.
The ENH AMBRES routine 25 begins by creating a list of all words, if any, in the DICT dictionary that match the input string contained in the buffer (block 83). The structure and process for creating the DICT dictionary is described below. If no match is found and the list is an empty list (block 84), the routine merely returns to the calling routine (block 93). Otherwise, as with the AMB RES routine 23, the ENH AMB RES routine 25 displays 15 the first word in the list to the user (block 85) and calls the GETCODE routine 21 to obtain the next keycode (block 86). If the keycode matches the Ar key (block 87), the routine shifts the order of the list with the next word in the list at the beginning of the list (block 88).
Otherwise, the routine determines if the input keycode is an Up-Ctrl key (block 89). If so, the GEN_CAP routine 22 is called (block 90) and the result is returned to the calling routine (block 93). If the input keycode is neither an Ar key nor an Up-Ctrl key, the first word in 25 the list is accepted (block 92), the current character is placed in a lookahead buffer for further usage and returned to the calling routine (block 93).
Note that the ENH AMB RES routine 25 introduces the most flexibility in terms of enhancing the functionality of the basic ambiguity resolution logic. The set of "words" in the DICT dictionary is of a general format.
The first word is an index word. The second entry in the DICT dictionary can be any word, any list of words or a function value and it will be readily apparent to one skilled in the art that the level of functionolity can be readily expanded upon. The set of enhanced features presented herein (tenses and macros) is merely -29- 1 illustrative and not meant to be an exclusive nor exhaustive list of enhancements to the basic ambiguity resolution logic.
Source code listings of a preferred embodiment of the ambiguity resolution logic are included in a microfiche appendix. These program listings are written in Arity Prolog, a variant of the Prolog programming language. The definition of the Prolog programming language is detailed in W.F. Clocksin C.S. Mellish, Programming in Prolog, (Cambridge 1984), herein incorporated by reference.
The programs of Appendix is preferably run as an *o IBM-compatible personal computer running the MS-DOS operating system 5.0 or higher. The Arity Prolog compiler :and interpreter, Version 6.1, is loaded into the random access memory (RAM) of the personal computer. Preferably, the personal computer uses an Intel 80286-compatible microprocaesor and is equipped with two megabytes or more of RAM.
C. Creation of Ambiguity Resolution Logic Dictionaries The ambiguity resolution logic accesses a pair of data dictionaries, the DICT and SHDICT dictionaries. The structure and process for creating these dictionaries is now described.
S 25 1. SHDICT Dictionary Referring to FIG. 14, the structure of the SH_DICT dictionary is illustrated. In the preferred embodiment, the dictionary comprises a set of word pairings organized into fourteen groups, one group for each character in the set of primary characters B, D, E, F, I, J, K, L, M, N, 0, R, and The ambiguity resolution logic takes advantage of the first character of the input word when looking for a match in the SH_DICT dictionary. To speed up the search process, the dictionary is structured so that the first character of each input word also identifies the appropriate word group from within the dictionary.
I
1 The grouping label 100 identifies each of the fourteen word groups. The grouping label 100 comprises the primary character concatenated to the string SH DICT." For example, the grouping label 100 corresponding to the primary character A is "A SHDICT." Each word pair comprising an entry in the SH_DICT dictionary comprises an index word 101 and a matched word 102. The index word 101 corresponds to a character string that can be directly entered using the Single-hand keyboard and using only primary characters. Stated differently, every word in the set of all index words 101 comprises only primary characters.
The matched word 102 is a correctly spelled word that substitutes alternate characters for those primary 15 characters appearing in the index word 101 that cause the index word 101 to be ambiguous. On the other hand, not every word entered using primary characters is ambiguous.
Thus, some of the word pair entries in the SH_DICT dictionary may have identical entries for index word 101 and matched word 102. Moreover, there may be several word pair entries in the dictionary that use the same index word 101.
Referring to FIG. 14, a diagram depicting an excerpt of the word grouping for the primary character A in the S 25 SHDICT dictionary is shown. An example of how the ambiguity resolution logic operates is now discussed.
Assume that the user enters the input character string "aorribe." The basic ambiguity resolution logic uses this character string as the index word 101 into the S11_DICT dictionary. Since the string beginning with the primary character the ambiguity resolution logic only looks at the word grouping with the grouping label 100 that matches "ASH DICT." The ambiguity resolution logic then searches this grouping for a match between the character string "aorribe" and the set of index words 101 within that grouping. Since such an entry exists, the ambiguity -31- 1 resolution logic displays the matched word 102 that has the character string "ascribe." Referring to FIG. 15, an overall block diagram of the process for creating the SH DICT dictionary is shown. The purpose of this process is to establish a database of word pair entries organized into fourteen word groupings as set forth in the preceding discussion.
The process for creating the SHDICT dictionary begins with the user creating an input file 105 comprising correctly spelled words that are to be recognized by the basic ambiguity resolution logic. The input file 105 is read by the CREATE SH DICT routine 106, which calls the -SHKBCONV routine 107 to transform the spelling of each word into a spelling comprising exclusively primary S 15 characters. The CREATESHDICT routine 106 then writes the resultant word pair entry to the SH_DICT dictionary 108.
Referring to FIG. 16, a flow diagram for the CREATE SH DICT routine 106 is illustrated. The purpose of this routine is to transform each word occurring in the input file 105 into the set of word pair entry groupings, one grouping for each primary character, as contained in the SH DICT dictionary 108. Each word occurring in the e input file 105 is converted into a spelling comprising only primary characters.
The routine begins by opening the input file 105 (block 110) containing the words to be used by the basic ambiguity resolution logic. The routine then reads the first word in the input file 105 (block 111) and calls the SHKB CONV 107 to convert the spelling of the input word into exclusively primary characters (block 112). The SHKB CONV routine 107 stores the converted input word in a temporary buffer. The routine then creates a word pair entry in the SH_ DICT dictionary 108 comprising a grouping label 100 associated with a word pair comprising the index word 101 and the matched word 102. Recall that the indexed word 101 is made up of primary characters -32- 1 exclusively and the matched word 102 corresponds to the input word as read in from the input file 105 (block 113).
If the routine has reached the end of the input file 105 (block 114), no words remain in the input file 105 and the routine terminates (block 116). Otherwise, the CREATE SH DICT routine 106 gets the next word in the input file 105 (block 115) and the conversion process continues anew.
Referring to FIG. 17, a flow diagram for the SHKB CONV routine 107 is illustrated. The purpose of this routine is to convert a single input word into an output word stored in a temporary buffer that is spelled only with primary characters.
The SHKB CONV routine 107 begins by accepting an 15 input word and setting an internal pointer to the first character of that word (block 120) The routine then parses the input word one character at a time and converts each character into a primary character. If the current character is already a primary character (blocks 123, 125, 20 127, 133, 135, 139, 141, 143, 147, 149, 157, 159, 161 and 171), the character is mapped to a lower case representation of that primary character (blocks 124, 126, 128, 134, 136, 140, 142, 144, 148, 150, 158, 160, 162 and 172). Otherwise, the current input character is an alternate character (block 121, 129, 131, 137, 145, 151, 153, 155, 163, 165, 167 and 169) and is mapped to the lower case representation of the primary character assigned thereto (block 122, 130, 132, 138, 146, 152, 154, 1.56, 164, 166, 168 and 170).
The SHKB CONV routine 107 also handles two special cases. First, if the current input character is a space (block 173), the character is mapped to a lower case B (block 174). Second, if the input character is a period (block 175), the character is also mapped to a lower case B (block 176). Otherwise, if the current input character is neither a primary or alternate character, nor a space -33- ~spl~na~ssP~-naa 1 or period, the character is mapped to a question mark (block 177)" Regardless of the result of the mapping process, the routine concatenates the mapped character to the temporary buffer (block 178) and increments the internal pointer to the next character of the input word (block 179). The routine assumes that every input word is null terminated, therefore, if the next input character is a null character (block 180), the end of the word has been reached and routine returns the converted word in the temporary buffer (block 181). Otherwise, the routine begins the parsing process anew.
2. DICT Dictionary S. 15 The purpose of the DICT dictionary is to provide a database that supplies an additional level of functionality to the basic ambiguity resolution logic.
Referring to FIG. 18a, a diagram depicting an excerpt of the DICT dictionary is illustrated. It comprises a set of 20 entries which include an index word 184 and a list 185.
The index word 184 is a correctly spelled word. As a result, the DICT dictionary is only used by the enhanced .".ambiguity resolution logic after the initial input word ambiguity has been resolved. The list 185 comprises one or more words corresponding to alternate spellings of the index word 184, that is, alternate characters are substituted for one or more of the characters comprising the index word 184.
Referring to FIG. 18b, a diagram depicting an excerpt of an alternate embodiment of the DICT dictionary is shown. Rather than using the approach taken in the preferred embodiment, the alternate embodiment shown "flattens out" the list 185 by creating word-pair entries structured similarly to the SH_DICT dictionary 108 (see FIG. 14). Consequently, multiple entries may be present in the DICT dictionary which use the same index word 184 yet have a different matched word 186, each such matched -34rr Ir 1 word 186 comprising one of the words found in the list 185.
Referring to FIG. 19, an overall block diagram of the process for creating the DICT dictionary is illustrated.
The CREATEDICT routine 189 reads the set of word pair entries stored in the SH_DICT dictionary 108. It then iteratively calls the CHECK MULT routine 190, one call for each primary character. In turn, the CHECKMULT routine 190 records each entry from the SH DICT dictionary 108 in a temporary database called the EXIST database 191. The CHECKMULT routine 190 checks if multiple index words occur in the SH DICT dictionary 108 and records every multiple occurrence in another temporary database, the MULTIPLE database 192. After the SHDICT dictionary 108 has been processed, the CREATE_DICT routine 189 calls the PROC_MULT routine 193. That routine reads each entry in the MULTIPLE database 192 and consolidates each multiple entry into a single entry that it stores into the DICT dictionary 194.
Referring to FIG. 20, a flow diagram for the CREATEDICT routine 189 is illustrated. The purpose of this routine is to process each of the groupings of word pair entries stored in the SH_DICT dictionary 108 for duplicate entries.
25 The routine begins by opening the SHDICT dictionary 108 for reading (block 197). The routine then interatively calls the CHECKMULT routine 190, one call for each primary character (block 198). The CHECK_MULT routine 190 analyzes the word grouping for the current primary character (block 199) and repeats the process until the last primary character has been processed (block 200).
Once completed, the CREATE_DICT routine 189 calls the PROC MULT routine 193 to process any multiple entries detected in the SHDICT dictionary 108 (block 201) and terminates (block 202).
Referring to FIG. 21, a flow diagram for the CHECK MULT routine 190 is illustrated. A purpose of this s-- 1 routine is to detect duplicate entries in the SH_DICT dictionary 108 and to rebord them for processing by the PROC MULT routine 193.
The CHECK MULT routine 190 begins by retrieving a word pair entry from the SH _DICT dictionary 108 (block 205). The routine uses the variable CODE to store the first (index) word comprising the word pair and the variable ENTRY to store the second (matched) word in the word pair. The word pair entry is recorded in a temporary database, the EXIST database 191 (block 206).
Next, the routine performs a look up to the EXIST database 191 using the current index word as stored in the variable CODE to see if a duplicate entry exists in the EXIST database 191 (block 207). If a duplicate entry is detected, the CHECK MULT routine 190 records that entry in another temporary database, the MULTIPLE database 192 (block 208).
The routine uses the variable MULTIPLE to store the duplicate matched word. The process of retrieving an entry from the SH_DICT dictionary 108 and searching the 20 EXIST database 191 for duplicate entries continues until the last entry for the current primary character is encountered (block 209), whereupon the routine returns (block 210).
Referring to FIG. 22, a flow diagram for the PROCMULT routine 193 is illustrated. The purpose of this routine is to process each duplicate entry as recorded in the MULTIPLE database 192 and to write a consolidated entry into tie DICT dictionary 194.
The PROC _MULT routine 193 begins by retrieving an entry from the MULTIPLE database 192 (block 213) It then concatenates the second entry from the word pair to the variable LIST (block 214). The routine continues to process all duplicate entries indexed under the same index word (as stored in the variable CODE) until the last entry has been encountered (block 215).
After all entries for the same index word are processed, the PROCMULT routine 193 writes an entry into -36-
-I
Rt~ BBIlRUi~XI B~mru~ ~lv 1 the DICT dictionary 194 comprising the index word and the list of duplicate entries corresponding to that index code word (block 216). When the last entry in th&IMULTIPLE database 192 has been processed (block 217), the routine returns (block 218).
III. Software Emulator and Hardware Embodiment One embodiment of a single-hand keyboard comprises a software emulator operating on a conventional personal computer to transform a conventional full keyboard into a single-hand keyboard. Another embodiment comprises a dedicated single-hand keyboard similar to a personal data assistant.
SA. Software Emulator 15 One embodiment of the single-hand keyboard is an emulator which uses a personal computer program with a computer program to map the keys on a full, conventional two-handed keyboard for single handed use. This enables a user to transform a full keyboard into either the righthanded single-hand keyboard 5 or left-handed single-hand keyboard 7. There are several applications of the emulator including use as a test bed, for training purposes, or use to enable single-handed typing to free the other hand for operations such as holding a telephone handset.
The software emulator utilizes a subset of the keys found on a conventional full keyboard. Referring to FIG. 23a, the key layout of a conventional (prior art) keyboard 300 indicating in heavy lines the keys 301 for a right-handed single-hand keyboard 5' is shown. similarly, referring to FIG. 23a, the key layout of a conventional (prior art) keyboard 302 indicating in heavy lines the keys 303 for a left-handed single-hand keyboard 7' is shown.
Referring to FIG. 24, a flow diagram for a SHKBMAP computer program routine 220 is illustrated. The purpose of this routine is to map the raw signals (representative of the keys that are entered) output from a full keyboard -37-
I
1 and keyboard controller using a conventional personal computer. The mapping is done in a manner that emulates a single-hand keyboard. Although the SHKBMAP routine 220 as depicted in FIG. 24 is for a right-handed single-hand keyboard it will be obvious to one skilled in the art as to how to modify this routine to function as an emulator for a left-handed single-hand keyboard 7'.
The SHKBMAP routine 220 is designed to operate as a driver program. Consequently, it interfaces directly to the hardware and would be transparent to the ambiguity resolution logic. The SHKB MAP routine 220 begins by getting an input word from the keyboard (block 221) and setting an internal pointer to the first character in that input word (block 222). The routine then parses that raw 15 input character (blocks 223, 225, 227, 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, and 249) and maps it to one of the 14 primary characters recognized by the single-hand keyboard (blocks 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, and 250). If the raw input 20 character is not recognized, the SHKBMAP routine 220 maps that character to the character B (block 251).
The-routine concatenates the mapped character to a .temporary input buffer (block 252) and increments the .i internal pointer to the next character in the input word (block 253). The routine assumes that the input word is null terminated and when the null character is detected (block 254), the routine returns the mapped input word to the ambiguity resolution logic and terminates (block 255).
B. Dedicated Single-Hand Keyboard FIG. 25 discloses a keyboard entry system which includes dedicated single-hand keyboard 5' and display screen 277 that can be held in the palm of v person's hand. The keyboard entry system 275 communicates via electronic interface 278 to personal computer 279.
The keyboard 5' comprises finger keys and thumb keys 276 that are essentially the same as that of keyboard 5 of FIG. 2 except as discussed below. An electronic interface -38- I 1 (not shown) located inside the cabinet of dedicated single-hand keyboard 5' is a conventional RS-232C or RS- 422 serial connection, a dedicated bus interface, a wireless interface, a PCMCIA interface, a standard DIN keyboard interface, or a row/column interface to interface with personal computer 279. The foregoing list of interface devices is not meant as a limitation and other interfaces could be employed within the spirit of the subject invention.
As the keys are entered on keyboard as discussed with reference to keyboard 5, the characters that are e generated are displayed on the display screen 277 in a conventional manner well known in the art of laptop computers. This enables the user to see the sequence of 15 characters that are being generated as a sequence of keys is entered. This enables the user to use the CTVi key to change characters from a primary to a secondary character assigned to a multiple-character key that is being entered or, after a sequence of keys have been entered, to enter the Ar key to change the sequence of characters using the .ambiguity resolver while viewing the sequence of characters on the display screen 277. The resultant s sequence of generated characters can then be sent to computer 279.
FIG. 26 depicts a schematic and block diagram of a single-hand keyboard entry system 275. The keypad 276, which includes the keys of one of the single-hand keyboards described above or a conventional two-hand keyboard with character mapping to a single-hand keyboard as shown in FIG. 24. The keys are celated through key switches (not shown), to dedicated keyboard controller 285 which transmits a scan code signal to the microprocessor 286. The microprocessor 286, under computer program control, carries out the character generation and implements ambiguity resolution as described above and transmits the words or sequences of characters in their -39-
_I
B
1 final, correctly spelled and in unambiguous form to the personal computer 279 (FIG. The dedicated single-hand keyboard system 275 is self-powered by battery pack 287 which is controlled by on/off switch 288 and supplies power for the entire keyboard system 275. A reset button 289 is provided to reset the microprocessor 286 in the event of a computer program failure or user intervention. The microprocessor 286 echoes the keys entered by the user on the display screen 277. In the preferred embodiment, the display screen 277 is a 40 column by 20 row liquid crystal diode display.
Communication to the personal computer 279 is via the electronic interface 278 which is connected to the 15 microprocessor 286. An optional interface is the PCMCIA interface 290 containing a two megabyte (MB) memory card.
By way of example, the microprocessor 286 is equipped with two external memory stores, the random access memory (RAM) 291 and the read-only memory (ROM) 292; both the RAM 291 20 and the ROM 292 have 2MB capacities and the ROM 292 is dedicated to storing the operating system for the dedicated single-hand keyboard.
In one embodiment of the dedicated single-hand keyboard system 275, the microprocessor 286 is an Intel 80286-compatible microprocessor with a clock speed of 8 MHz or faster. Additionally, the preferred operating system for the microprocessor is MS-DOS Version 5.0 or higher. Such an embodiment of the invention could be incorporated into a word processing system or as a PDA.
The character generator and the ambiguity resolver can be incorporated into or used with a word processor. Also, the keyboard and switches of FIG. 26 can be in one unit, and the rest of the system can be part of a computer where the display is part of the keyboard unit or in the computer.
While the invention has been particularly shown and described with reference to the preferred embodiments C 1 thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and detail may be made therein without departing from the spirit and scope of the invention.
S* *20 -41-

Claims (22)

1. A character generator for a keyboard, the keyboard having keys for entry of characters, each key being assigned at least one character and at least one of said keys being a multiple characters key assigned multiple characters, the character generator comprising: a generator for generating one of the characters assigned to a sequence of keys that are entered on the keyboard, there being an ambiguity as to a correct character to be generated when any said multiple character key is entered in the sequence of keys; and S• an ambiguity resolver operating on the sequence of that have been entered for resolving the correct character for any of the multiple character keys in the sequence of keys that are entered.
2. A keyboard character entry system comprising: a plurality of keys, the keys comprising a plurality of single character keys, each single character key representing one character, and a plurality of multiple character keys, each multiple character key representing at least two characters; means for generating, upon entry of a sequence of keys, a sequence of characters assigned to the sequence of 25 entered keys, wherein an ambiguity exists among the multiple characters assigned to multiple character keys entered as to correct assigned characters that are to be included in the sequence of characters; and means responsive to the sequence of keys that are entered for resolving the ambiguity to generate a correct sequence of characters.
3. A keyboard character entry system as in claim 2 wherein the resolving means comprises a table comprising a plurality of sets of characters from which one of the sets of characters is selected to replace the sequence of characters. ,TB!012G8 MXI s 111 -43-
4. A keyboard character entry system as in claim 3, further comprising means for selecting a set of characters from the table based on matching at least one of the entered keys to the sets of characters. A keyboard character entry system as in claim 3 wherein each of the sequence of characters is a word.
6. A keyboard character entry system as in claim 2 wherein the generating means comprises a processor.
7. A keyboard character entry system as in claim 6 wherein the processor comprises a programmed computer. 15 8. A keyboard character entry system as in claim 4 comprising a memory and wherein the resolving means comprises: a dictionary stored in the memory, the dictionary comprising a list of words, each word comprising a set of characters; and means for selecting one of the words in the dictionary based on the sequence of characters assigned to the sequence of keys that are entered. 25 9. A keyboard character entry system as in claim 2 further comprising a display for displaying to a user the sequence of characters assigned to the entered keys. A keyboard character entry system as in claim 9 further comprising a buffer for storing the sequence of characters for the display. 1ii. A keyboard character entry system as in claim 8 wherein the multiple character keys are each assigned a primary character that is normally generated by entry of the corresponding key and an alternate character, and wherein the dictionary comprises first and second sets of words, the first set of words comprising words including the primary characters; and the second set of words comprising words I; ILW01268 MXL -44- including both the primary characters and the alternate characters, each word in the first set corresponding to one of the words in the second set, and each of the words in the second set having only said primary characters and alternate characters that are assigned to the keys entered for the corresponding word in the first set.
12. A keyboard character entry system as in claim 8 wherein the dictionary further comprises first and second sets of words, the first set of words comprising words including both the primary characters and the alternate characters; and the second set of words comprising a set of word lists, each word in the first set corresponding to one of the word lists in the second set, and each of the words 15 in each word list in the second set comprising only said primary characters and alternate characters that are S" assigned to the keys entered for the primary characters and alternate characters for the corresponding word in the first set. oo S
13. A keyboard character entry system as in claim 2 further comprising means for capitalizing at least one of the characters within the sequence of characters.
14. A keyboard character entry system as in claim 2 .o*"ofurther comprising means for inserting a punctuation mark in the sequence of characters. A keyboard character entry system as in claim 2 further comprising means for automatically generating a grammatically correct prefix or suffix to the sequence of characters.
16. A keyboard character entry system as in claim 2 further comprising means for automatically generating a grammatically correct verb tense variation of the sequence of characters. In: ibeIo01268 MXL I
17. A keyboard character entry system as in claim 2 wherein the generating means comprises means for automatically executing a user-definable macro in response to the sequence of keys to generate the sequence of characters.
18. A method for generating character sequences using a character generator for a keyboard where the keyboard comprises keys for entry of characters, each key being assigned at least one character and at least one of said keys being a multiple character key assigned multiple characters, the method comprising: using the generator for generating one of the characters assigned to a sequence of keys that are entered on the keyboard, there being an ambiguity as to a correct S. character to be generated when any said multiple character key is entered in the sequence of keys; and based on the sequence of keys that have been entered, :resolving the correct character for at least one of the multiple character keys in the sequence of keys that are entered. o
19. A method for generating character sequences using a keyboard character entry system hav. ng keys and a 25 character generator, wherein the keys are each assigned at least one character, and at least one of the keys is a multiple character key assigned multiple characters, the method comprising the steps of: generating upon entry of a sequence of keys, a sequence of the characters comprising a character assigned to each key in the sequence of keys, there being an ambiguity among the multiple characters assigned to a multiple character key that is entered as to a correct assigned character that is to be included in the sequence of characters; and resolving the ambiguity based on the sequence of keys that are entered. In hbe$012C8 MXL -46- The method of claim 17 wherein the step of resolving the ambiguity comprises the step of: comparing sets of characters from a table to the sequence of characters and replacing the sequence of characters with a selected set of characters from the table.
21. The method of claim 20 comprising: selecting a set of characters from the table based on at least one of the keys that are entered.
22. The method of claim 21 wherein each of the sequence of characters is a word and wherein the step of selecting comprises the step of: selecting a word from a table.
23. The method of claim 17 wherein the step of resolving an ambiguity is performed using a processor.
24. The method of claim 17 wherein the step of resolving an ambiguity is performed using a programmed computer. The method of claim 17 wherein the ctep of resolving ambiguity comprises: 25 comparing a list of words in a dictionary stored in a memory, wherein each word comprises a sequence of characters, to the sequence of keys; and selecting one of the words in the dictionary based on the sequence of the characters assigned to the sequence of keys that are entered.
26. The method of claim 17 further comprising: displaying to the user the sequence of characters assigned to the entered keys.
27. The method of claim 26 further comprising: storing the sequence of characters in a buffer. In hlibBOA2O(8 MXL I II~ b IIIL ~PPDs-IIr~ CPI~- ,.47-
28. The method of claim 21 wherein the multiple character keys are assigned a primary character that is normally generated by entry of the corresponding key and an alternate character, and wherein the table comprises a dictionary including first and second sets of words; the first set being a set of words comprising the primary characters, and the second set comprising a set of words comprising both the primary characters and the alternate characters, each word in the first set corresponding to one of the words in the second set, and each of the words in the second set comprising only said primary characters and alternate characters that are assigned to the same keys as the s15 corresponding word in the first set, and wherein the step of selecting comprises the step of selecting a correct sequence of characters from the first and second sets. o
29. The method of claim 21 wherein the table comprises a dictionary including "first and second sets of words, the first set comprising a set of words having both the primary characters and the alternate characters; and 2 the second set comprising a set of words having both the primary characters and the alternate characters and a set of word lists, each word in the first set corresponding to one of the word lists in the second set, and each of the words in the word list in the second set comprising only said primary characters and alternate characters that are assigned to the same keys as the primary characters and alternate characters for the corresponding word in the first set, the step of selecting comprising the step of selecting a correct sequence of characters from the first and second set. The method of claim 21 wherein the keyboard comprises a function key, and the method further comprises In:ALtkolO268MXL I-i 3
48- capitalizing one or more of the characters in the sequence of characters upon activation of the function key. 31. The method of claim 17 further comprising the step of automatically generating a grammatically correct prefix or suffix to the sequence of characters. 32. The method of claim 17 further comprising the step of automatically generating a grammatically correct io verb tense variation of the sequence of characters. 33. A keyboard system for resolving an ambiguity in a word comprising: a keyboard comprising a plurality of keys for keying 15 in an input word, each of the keys having a primary character and at least one of the keys having a plurality of alternate characters, the input word comprising one or more characters and corresponding to an ambiguously spelled word; logic for accepting the input word from the keyboard; logic for matching the input word to a list comprising at least one correctly spelled word; and a display for displaying correctly spelled words to a user. S. S 25 34. A keyboard system as in claim 33 wherein the keyboard further comprises a plurality of thumb keys and the input word either comprises one or more input characters matching one of the primary characters or comprises one or more input characters matching one of the alternate characters, the alternate characters being entered by simultaneously pressing a key and a thumb key. 34. A keyboard system as in claim 33 further comprising: a dictionary having a primary set and an alternate set, the primary set comprising a plurality of index words, each index word comprising one or more primary characters, and the alternate set comprising a plurality of word lists, each word list comprising one or more words and tn %heIoOl26t3 MXL -r I -49- corresponding to an index word, each word of the word lists comprising one or more primary or alternate characters. 36. A keyboard for resolving ambiguities in words entered in the keyboard comprising: a plurality of keys, the keys being assigned at least one character and at least one key being assigned a plurality of characters; a character buffer for storing a plurality of character keycodes; logic for obtaining a character keycode from a selected one of the plurality of keys; logic for returning a word corresponding to contents of the character buffer when the character keycode corresponds to a carriage return key; logic for truncating the contents of the, character buffer by one character when the character keycode corresponis to a backspace key; logic for setting the contents of the cnaracter buffer to a null string when the character keycode corresponds to an escape key; logic for performing ambiguity resolution on the contents of the character buffer when the character keycode corresponds to an ambiguity resolution key; and 25 logic for storing the character keycode in the character buffer when the character keycode does not correspond to a carriage return key or a backspace key or an escape key or an ambiguity resolution key. 37. A keyboard as in claim 36 further comprising: a random-access memory; a dictionary stored in the random-access memory; logic for preforming ambiguity resolution comprising: logic for matching contents of the character buffer to a word in the dictionary; logic for processing word variations when no match is found; logic for substituting the contents of the character buffer with a terminal symbol when a match is lM io10 1268 MXL found and the word corresponds to a predetermined mnemonic character string; logic for performing enhanced ambiguity resolution when no match is found or when a match is found but the word does not correspond to the predetermined mnemonic character string; means for displaying the word matched in the dictionary when a match is found; and logic for prompting the user to select the word. 38. A method for resolving ambiguities in words entered using plurality of keys of a keyboard, each key being assigned at least one character and at least one key S.. being assigned a plurality of characters, the keyboard 15 including a character buffer for storing a plurality of S. character keycodes corresponding to selected keys, comprising the steps of: ~obtaining a character keycode from one of the selected S. keys; returning a word corresponding to contents of the character buffer when the character keycode corresponds to a o *w •.carriage return key; truncating the contents of the character buffer by one S. character when the character keycode corresponds to a backspace key; setting the contents of the character buffer to a null string when the character keycode corresponds to an escape key; resolving any ambiguity present in the contents of the character buffer when the character keycode corresponds to an ambiguity resolution key; and storing the character keycode in the character buffer when the character keycode does not correspond to a carriage return key or a backspace key or an escape key or an ambiguity resolution key. 39. A character generation for a keyboard, substantially as herein described in relation to any embodiment with reference to the drawings. I lbrjO 1260 MXL e I- II -y II M -51- A keyboard character entry system, substantially as herein described in relation to any embodiment with reference to the drawings. 41. A method for generating character sequences, substantially as herein described in relation to any embodiment with reference to the drawings. DATED this Twenty-fourth Day of June 1997 Fujitsu Limited Patent Attorneys for the Applicant SPRUSON FERGUSON e «r- a In\libeO01268:MXL SINGLE-HANDED KEYBOARD HAVING KEYS WITH MULTIPLE CHARACTERS AND CHARACTER AMBIGUITY RESOLUTION LOGIC ABSTRACT A character generator (285) for a key~.,rd (276), the keyboard having keys for entry of characters, each key being assigned at least one character and at least one of said keys being a multiple characters key assigned multiple characters. The character generator (285) includes a generator for generating one of the characters assigned to a sequence of keys that are entered on the keyboard (276), there being an ambiguity as to a correct character to be generated when any said multiple character key is entered in the sequence of keys. An ambiguity resolver (24) operates 15 on the sequence of keys that have been entered for resolving the correct character for any of the multiple character keys *00 in the sequence of keys that are entered. *0 3 f ft f (nA\lbel0128.GMM
AU27533/97A 1995-01-31 1997-06-26 Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic Ceased AU695587B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/382,781 US5847697A (en) 1995-01-31 1995-01-31 Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic
US382781 1995-01-31
AU42272/96A AU693620B2 (en) 1995-01-31 1996-01-30 Single handed keyboard having keys with multiple characters and character ambiguity resolution logic

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU42272/96A Division AU693620B2 (en) 1995-01-31 1996-01-30 Single handed keyboard having keys with multiple characters and character ambiguity resolution logic

Publications (2)

Publication Number Publication Date
AU2753397A AU2753397A (en) 1997-09-04
AU695587B2 true AU695587B2 (en) 1998-08-20

Family

ID=25625919

Family Applications (1)

Application Number Title Priority Date Filing Date
AU27533/97A Ceased AU695587B2 (en) 1995-01-31 1997-06-26 Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic

Country Status (1)

Country Link
AU (1) AU695587B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5131766A (en) * 1985-12-26 1992-07-21 Wong Kam Fu Method for encoding chinese alphabetic characters
US5288158A (en) * 1989-08-29 1994-02-22 Edgar Matias One handed-keyboard
US5289394A (en) * 1983-05-11 1994-02-22 The Laitram Corporation Pocket computer for word processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5289394A (en) * 1983-05-11 1994-02-22 The Laitram Corporation Pocket computer for word processing
US5131766A (en) * 1985-12-26 1992-07-21 Wong Kam Fu Method for encoding chinese alphabetic characters
US5288158A (en) * 1989-08-29 1994-02-22 Edgar Matias One handed-keyboard

Also Published As

Publication number Publication date
AU2753397A (en) 1997-09-04

Similar Documents

Publication Publication Date Title
US5847697A (en) Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic
US5649223A (en) Word based text producing system
JP4326591B2 (en) Reduced keyboard disambiguation system
KR100776275B1 (en) Touch type typing device based on ambiguity
JP4695055B2 (en) Reduced keyboard disambiguation system
US8200865B2 (en) Efficient method and apparatus for text entry based on trigger sequences
US20030038735A1 (en) Speed typing apparatus and method
US20020052900A1 (en) Computer assisted text input system
KR20000035960A (en) Speed typing apparatus and method
KR20110057158A (en) Data input device
JP2013515295A (en) Data input system and method
KR20040107488A (en) Reduced keyboard system that emulates qwerty-type mapping and typing
JP2002532792A5 (en)
WO2012158257A2 (en) Typing input systems, methods, and devices
WO2006049630A2 (en) Multilingual input method editor for ten-key keyboards
CA2360461C (en) Speed typing apparatus and method
US20040070522A1 (en) System and method for entering and interpreting a truncated alphamumerical keyboard entry
AU695587B2 (en) Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic
GB2325073A (en) Single handed keyboard with character ambiguity resolution logic
CN101149643A (en) Double pinyin synchronous striking Chinese characters input method
KR101129687B1 (en) An English keyboard for general and shorthand typing
CN1836199B (en) Character input method using word as unit
JPH0441398Y2 (en)
CN1068203A (en) Pronunciation-form-meaning words compatible encoding system and keyboard
CN1196515A (en) Method for inputting Chinese phonetic alphabet by using number keys and keyboard thereof