CA2101552C - Chordal keyboard method and apparatus - Google Patents

Chordal keyboard method and apparatus Download PDF

Info

Publication number
CA2101552C
CA2101552C CA002101552A CA2101552A CA2101552C CA 2101552 C CA2101552 C CA 2101552C CA 002101552 A CA002101552 A CA 002101552A CA 2101552 A CA2101552 A CA 2101552A CA 2101552 C CA2101552 C CA 2101552C
Authority
CA
Canada
Prior art keywords
keys
registers
controller
key
released
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.)
Expired - Fee Related
Application number
CA002101552A
Other languages
French (fr)
Other versions
CA2101552A1 (en
Inventor
Mark D. Estes
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.)
Walker Estes Corp
Original Assignee
Walker Estes Corp
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
Application filed by Walker Estes Corp filed Critical Walker Estes Corp
Publication of CA2101552A1 publication Critical patent/CA2101552A1/en
Application granted granted Critical
Publication of CA2101552C publication Critical patent/CA2101552C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0235Character input methods using chord techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Abstract

A chordal keyboard method and apparatus for generating a key code using a plurality of keys (301) coupled to a controller (302) with a first and second set of registers (303, 304). A user depresses (201) at least one of the keys (301). The controller (302) detects (202), which of the keys (301) are in a depressed position and which of the keys (301) are released from the depressed position. The controller (302) sets (203) in the first and the second set of registers (303, 304), bit locations of respective depressed keys, and clears in the second set of registers (304) bit locations of respective released keys. When the controller (302) detects (207) that all keys (301) are in a released position, a key code is generated (209) corresponding to bit locations set in the first set of registers (303). Then, the controller (302) clears (210) the first set of registers (304).

Description

' WO 92/20023 ""' ~ PCT/US92/03140 N 3 SJ 3. V t! 'N
CHORDAL KEYBOARD METHOD AND APPARATUS
BACKGROUND OF THE INVENTION
The present invention relates to a method and apparatus for a chordal keyboard and particularly a chordal keyboard which has key sensors actuated or sensed in a depressed position and a released position.
DESCRIPTION OF THE RELATED ART
A recent book, _Input Devices, edited by Sol Sherr, contains a chapter on keyboards by Joel Greenstein of Clemson University and William Muto of Texas Instruments, in which chord keyboards are discussed.
Chord keyboards require simultaneous presses of two or more keys to generate many of their characters.
This enables a small number of keys to generate a relatively large set of characters. ... To use the keyboard effectively, the operator must learn the set of relationships between characters and chords.
... In absence of any standards based on previous experience, future implementations must address a number of design issues. Appropriate numbers of keys and key locations must be determined and the relationships between characters and chords must take into account the learning, retention, and execution capabilities of the user. Greenstein and Muto, "Keyboards," Sol Sherr, ed., Input Devices, Academic Press, Inc., boston, 1988: Section 3.4.2 "Chord Keyboards," p. 144.
Chordal keyboards have an advantage of simplicity of construction and use and a "touch-type" facility that enables the keyboard to be used as a data input device. The motor skills needed to operate chordal keyboards are neither rare nor hard to acquire. Apparently the task of memorizing up to 100 chord combinations is within the capability of most users. According to an early report H.P. VanCott, ed., Human Engineerina Guide to Ecruipment Deaictn, Department of Defense, Washington, D.C., 1972, p. 328, the potential of chordal keyboard data entry.was seen as very high, WO 92/20023 ''~ ' PGT/L1S9Z/03140 r.~
-2- :~r _~ ~~ ' indicating entry rates of 150% of standard typing as being relatively easy to achieve. However, others report more recently that "...not a great deal of work has yet been devoted to optimizing the chordal keyboard for alphanumeric data entry." Greenstein and Muto, "Keyboards," Input Deyices, S. Sherr, ed., Academic Press, Boston, 1988, p.
148. Reasons suggested by the literature fox the failure of prior art chordal keyboards to achieve commercial success include what is referred to herein as the "association'' problem and the "transition" problem.
Design issues which must be addressed in developing a chordal keyboard include deteratining the appropriate numbers of keys, and determining key locations along with their relationships between the characters and the chords. The design must take into account three factors: learning, retention, and execution capabilities of the user.
Greenstein and Muto, "Keyboards," in Input Devices, S.
Sherr, ed., Academic Press, Boston, 1988, p. 148. Because most languages have characters with high probability of use, this observation has been employed to associate such characters with simple key combinations. Such statistical method s of association assume "...that letters and fingers are matched by repetition and frequency of use and not be alphabetic order." Kirschenbaum, et. a., "Chordic Keyboard for Disabled," Human Factors, vol. 28(2), The Human Factors Society, 1986, p. 190. One study, however, suggests the inferiority of alphabetically organized keyboards for novice users as compared with a randomly organized keyboard and the standard Sholes keyboard, but explains that inferior performance of alphabetic keyboards was due tot he combined effort of mental processing and visual search required for novice users. Norman and Fisher, "Why Alphabetic Keyboards Are Not Easy to Use: Keyboard Layout Doesn~t Much Matter,"
Human Factors, vol. 24(5), The Human Factors Society, 1982, p. 509. Matching characters with key combinations according to probable frequency of use may show a slight advantage with regard to higher rates of execution by experience 3 ~~ ~~ ~ PCT/US92/03140 2~.~1~~?

users, but any such advantage is lost to occasional users.
In fact, the occasional user may be denied access if such associations cannot be remembered or logically regenerated.
The prior art teaches that other methods have attempted to . address the problem of associating characters with key combinations. A keyboard and apparatus and method disclosed in U.S. Patent No. 4,833,446, to Eilam et. al. "Keyboard Apparatus and Method," May 23, 1989, cites the association problem among possible reasons why previous chordal keyboards have not met with commercial success:
(1) The large code set makes learning difficult and time consuming and retraining time significant, (2) The code set which associates the letters and symbols with key combinations is not selected for motoric ease, particularly in transitions between letters often occurring together, (3) Symbols and number have their own codes which must be learned in addition to the letter codes, (4) Even where a mnemonic link is provided between functions and alphabet letters, the key location combinations are different, even though the finger combinations are the same, (5) The total number of symbols and control instructions is severely limited...
An alternative method of association is described in U.S. Patent No. 4,360,892, to Cyril Endfield., "Portable Work-Processor," Nov. 23, 1982, for a portable word processor. Endfield~s method employs a geometrical association concept in which the shape of a letter or other symbol to be coded has a certain geometrical resemblance to the configuration of key combinations. It should be noted that methods for symbol and key associations which rely on geometric concepts or frequency of use probabilities are limited to a particular character set or alphabet.
A ternary chord-type keyboard disclosed in U.S. Patent No. 4,775,255 to L.W. Langley, "Ternary Chord-Type Keyboard,°°, oct. 4, 1988, provides background information WO 92/20023 ~ y'~, PCT/US92/031d0 regarding the "transition problem" associated with multiple active key states:
...the transitions from state to state are as important as the individual states themselves. When assigning keyboard states the characters, the designer of chord keyboard must try to avoid assigning a character to any state which is liable to occur by accident between any two valid states. This constraint is an important one, because during entry of text or other data, any sequence of two valid characters may occur. Premature release or early operation of one of the keys in a combination is extremely likely to result in an unwanted entry. As the operator's skill and speed increase, this problem becomes even more severe.
Anyone who has operated a chord-type keyboard with ten or fewer keys can testify to the necessity for extreme care and precise timing. The problem of unwanted combinations occurring during transitions is likely to have been the most significant deterrent to adoption and use of chord-type keyboards with to or fewer keys.
Previous attempts to solve the key state transition problem include a mechanism to inhibit recognition of any new character until a delay, started by the first switch closure, has timed out. Such a delay must be long enough to inhibit errors, but not long enough to slow the entry process. Examples of prior art timing constraints can be seen in a patent for a data entry system issued to Jensen and in a patent for chordal entry keying of data fields issued to Meguire and Pitoniak. In the Jensen example:
Note that an operator must adhere to some timing constraints when using the chord keyboard. In the above example, if stroke 2 had followed stroke 1 almost immediately, e.g., within 20 milliseconds, then stroke 1 would not have been recognized as an independent stroke. U.S. Patent No. 4,836,700, P.S. Jensen, "Data Entry System," 3une, 1989, col. 3, line 59.

' WO 92/20023 d ~ PCT/US92/03140 ~;;;,~~,,5 f ... ~ 1 ~

In the Meguire and Pitoniak example:
Depression of a numeric or alpha key within 60 milliseconds of an entry key is permitted for decoding of the data as the last key of the current data field.
In a time frame between 60 and 100 milliseconds, a warning tone is received for purposes of verifying the last data filed entry and to allow the operator to monitor timing performance. U.S. Patent No. 4,680,572, Meguire and Pitoniak, "Chord Entry Keying of Data Fields," June 14, 1987.
A method and apparatus for character generation is disclosed in U.S. Patent No. 4,344,069, E.S. Prame, "Method and Apparatus for character Generation," Aug. 10, 1982, describes two embodiments which limit the number of keys used to form alphabetical characters as part of a strategy to solve the transition problem. "In an alphabetical mode, two keys are depressed in a sequence in such a way that the first key will not be released before the second key is depressed." (col. 3 line 34). An embodiment which permits up to three keys depressed in sequence is also described:
"...the character generator should be able to generate a number of character codes represented by one key code, two key codes or three key codes" (col. 6, line 14). It should be noted that limiting the number of keys used to form chords limits the size of the character set which can be associated with key combinations. It also should be noted that a further limitation imposed by the Prame method requires the user to depress the keys in a sequence. The Prame patent also describes an "all keys released" test in addition to a "number of keys depressed" test to further address the transition problem. The "all keys released"
control signal is coupled to logic that senses a particular number of keys depressed and transfer of control from a status logic circuit to a character generator circuit "...does not necessarily need to happen .in connection with a gate signal on [the all keys released line)" (col. 5, lines 40-44).

Excessive demands for precision of motion and timing imposed by the prior art, along with an excessively long training period to build speed and accuracy are among the reasons why prior art chord keyboards have not replaced the conventional Sholes keyboard. U.S. Patent No. 4,775,255, to L.W. Langley, "Ternary Chord-Type Keyboard," Oct. 4, 1988.
OBJECTS OF ASPECTS OF THE INVENTION
A general object of an aspect of the invention is an improved method and apparatus for a chordal keyboard which permits any number of keys, including all keys, to be depressed and released simultaneously or sequentially in any sequence and a valid character code generated.
Another object of an aspect of the invention is a common method of associating symbols with key locations for all character sets, alphabets or languages.
A further object of an aspect of the invention is an improved method and apparatus for a chordal keyboard in which the circuits are simplified.
SUMMARY OF THE INVENTION
According to the present invention, as embodied and broadly described herein, a chordal keyboard method and apparatus for generating a key code using a plurality of keys is provided. The keys are coupled to a controller, which has a first set of registers and a second set of registers. The method and apparatus respond to a user depressing at least one of the plurality of keys. The controller detects which of the plurality of keys are in a depressed position. The controller then sets in the first set of registers and sets in the second set of registers, symbol locations of respective depressed keys. The controller also detects which of the plurality of keys are released from the depressed position. The controller then clears in the second set of registers, symbol locations of respective released keys The controller detects when all of the plurality of keys are in a released position. Upon detecting that all of the plurality of keys are in the released position, the controller generates a key code corresponding to symbol locations set in the first set of registers. After generating the key code, the controller clears the first set of registers and the second set of registers.
The term "symbol",1 as used herein, is defined as a storage location in a register for one or more bits.
The keyboard of the present invention, which has key sensors actuated or sensed in accordance with a binary reflected Gray code, increases speed, provides processing, and provides flexible adaptation to a plurality of character sets.
Relevant prior art is generally directed towards the layout of the keyboard or scanning methods for the keyboard. It is well recognized that neither scanning of the keyboard nor association of character and key combinations by a probable frequency of use employs the binary reflected Gray code. The method of the present invention provides learning, retention, and execution capabilities of the user, in that character sets are usually learned sequentially; therefore, a sequential, repeating, pattern of key combinations can be more easily associated and retained than an arbitrary assignment of symbols to key combinations.
The keyboard of the present invention is characterized by a small number of keys suitable for typing large amounts of data at high speed. Furthermore, the keyboard can handle a much larger symbol set than any reasonably-sized conventional keyboard. Because it is so small and mechanically simple, the keyboard costs less to manufacture than a conventional keyboard.
In accordance with one embodiment of the invention there is provided a method for generating a key code using a plurality of keys coupled to a controller with a first set of registers and a second set of registers, which comprises the steps, using the plurality of keys, the first set of registers and the second set of registers, of:
depressing at least one of the plurality of keys;
detecting, using the controller, which of the plurality of keys are in a depressed position;
setting, using the controller, in the first set of registers, bit locations of respective depressed keys;
setting, using the controller, in the second set of registers, bit locations of respective depressed keys;
detecting, using the controller, which of the plurality of keys are released from the depressed position;
clearing, using the controller, in the second set of registers, bit locations of respective released keys;

detecting all of the plurality of keys in a released position;
generating, responsive to detecting all of the plurality of keys in the released position, a key code responsive to bit locations set in the first set of registers; and clearing, after generating the key code, the first set of registers and the second set of registers.
In accordance with another embodiment of the invention there is provided a method for generating a key code using a plurality of keys coupled to a controller with a first set of registers and a second set of registers, which comprises the steps of depressing at least one of the plurality of keys;
detecting, using the controller, which of the plurality of keys are in a depressed position;
setting, using the controller, in the first set of registers, symbol locations of respective depressed keys;
setting, using the controller, in the second set of registers, symbol locations of respective depressed keys;
detecting, using the controller, which of the plurality of keys are released from the depressed position;
clearing, using the controller, in the second set of registers, symbol locations of respective released keys;
detecting all of the plurality of keys in a released position;
generating, responsive detecting to all of the plurality of keys in the released position, a key code responsive to symbol locations set in the first set of registers; and clearing, after generating the key code, the first set of registers and the second set of registers.
In accordance with another embodiment of the present invention there is provided a chordal keyboard for generating a key code which comprises:
a plurality of keys;
a first set of registers;
a second set of registers;
a controller operatively coupled to the plurality of keys, the first set of registers and the second set of registers, the controller responsive to detecting keys of the plurality of keys in a depressed position for setting bit locations in the first set of 8a registers and sets in the second set of registers, the controller responsive to detecting keys of the plurality of keys released from a depressed position for clearing bit locations in the second set of registers, and the controller responsive to detecting all of the plurality of keys released from a depressed position for generating a key code from the set bit locations in the first set of registers and subsequently clearing the first set of registers.
In accordance with another embodiment of the present invention there is provided a chordal keyboard for generating a key code comprising:
a plurality of keys;
first means for storing data;
second means for storing data;
controller means responsive to detecting keys of the plurality of keys in a depressed position for setting symbol locations in the first storing means, responsive to detecting keys of the plurality of keys released from a depressed position for clearing symbol locations in the second storing means, and responsive to detecting all of the plurality of keys released from a depressed position for generating a key code from the set symbol locations in the first storing means and subsequently clearing the first storing means.
Additional advantages and objects of aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The advantages and objects of aspects of the invention also may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate preferred embodiments of the invention, and together with the description serve to explain the principles of the invention.
FIG. 1 is a diagram which illustrates a 16-element Gray code sequence in accordance with the present invention;
FIG. 2 is a flow diagram which illustrates a method for generating a key code in accordance with the present invention;

8b FIG. 3 illustrates a keyboard layout and a block diagram of a keyboard having control circuits in accordance with the present invention;
FIG. 4 shows a block diagram of a keyboard control circuit for controlling keyboard operations in accordance with the present invention; and FIG. 5 is a flow diagram which illustrates a method for controlling keyboard operations in accordance with the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings, wherein like reference numeral indicate like elements throughout the several views.
The method of the invention relies on the primary form of the reflected Gray code as disclosed in Canadian Patent Application No. 2,100,359 by Estes and Walker entitled "Mixed-Resolution, N-Dimensional Object Space". Key sensors are actuated or sensed, and key combinations are determined in accordance with a particular form of binary Gray code called the primary form of the reflected binary code. This particular code sequence iterates in a highly repetitive pattern that is easy to learn, remember, and execute.

WO 92/20023 -'' PCT/US92/03140 .. -9-Consider repetitive transition pattern in the 4-key (16 element) reflected Gray code sequence shown in FIG. 1. The columns labeled key 1 101 through key 4 104 correspond to positions in the key codes listed in column 1 100. A key up corresponds to a logical zero in the key code loo and a key down corresponds to a logical one.
The intuitive repeating pattern of the primary reflected Gray code sequence contemplated by the present invention is easily generated and logically associated with any sequential character set. The principal concept is that because character sets, like numeric sequences are learned in a particular order, a set of key code combinations that demonstrate a repetitive pattern can be more readily associated with other sequences. Since hand motion between and within rows of keys is eliminated, the visual search plus mental process of key location is reduced to a mental association process that may be more easily learned, retained, and executed by occasional users. By having a "universal" sequence that "maps" the same way to all character sets, the basic keyboard mechanism is common to all language implementations.
The transition problem, previously described, is cited in the literature as a factor in the limited success of prior art chord keyboards. The method of the present invention relies solely on determination of an all-key-up state after one or more keys are depressed to solve the transition problem. The patent issued to Prame describes two embodiments of a chordal keyboard which limit the number of keys used to form alphabetical characters as part of a strategy to solve the transition problem. "In an alphabetical mode, two keys are depressed in a sequence in such a way that the first key will not be released before the. second key is depressed." In the method of the present invention a collection of keys can be depressed and released simultaneously or sequentially in any sequence and a correct character code will be generated. It should also be noted that the present invention permits any number of keys, WO 92120023 ~ ~"~ FCT/US92/03140 r'_.y';
including all keys, to be depressed and released simultaneously or sequentially in any sequence. The Prame patent also describes an "all keys released" test in addition to a "number of keys depressed" test to further address the transition problem. The "all keys released"
control signal is coupled to logic that senses a particular number of keys depressed and transfer of control from a status logic circuit to a character generator circuit "...does not necessarily need to happen in connection with a gate signal on [the all keys released line]," As set forth below, the keyboard of the present invention relies only on the "a7.1 keys released" signal to control chord transitions, regardless of the number of keys used to form a chord, or the sequence in which the keys were depressed or released.
Fig. 2 is a flow diagram which illustrates a method for generating a key code in accordance with the present invention. A key event is defined in accordance with the present invention as the simultaneous or sequential activation or release of one or more keys 201.
In the exemplary arrangement shown in FIG. 2, a chordal keyboard method for generating a key code using a plurality of keys is provided. FIG. 3 illustrates the chordal keyboard apparatus. In FIG. 3, the plurality of keys 301 are coupled to a controller 302, which has or is coupled to a first set of registers 303 and a second set of registers 304. The method of FIG. 2 includes the steps of depressing 201 at least one of the plurality of keys 301. The controller 302 detects 202 which of the plurality of keys are in a depressed position. The controller then sets 203 in the first set of registers 303 and sets in the second set of registers 304, symbol locations of respective depressed keys. The first set of registers 303 serves as a key down map. The controller 302 also detects 205 which of the plurality of keys are released from a depressed position.
The controller then clears 206 in the second set of registers 304, symbol locations of respective released keys.
The second set of registers 304 serves as a key up map. The WO 92/20023 "~ ~~- PCT/US92/03140 :a J ~.i controller 302 detects 207 when all of the plurality of keys are in a released position. When the controller 302 detects 207 that all of the plurality of keys are in the released position, the controller 302 reads the first set of registers 303 and generates 209 a key code corresponding to symbol locations set in the first set of registers 303.
After generating 209 the key code, the controller clears 210 the first set of registers 303 and the second set of registers 304 and the method repeats with a user depressing 201 one or more keys.
Briefly, the method sensing a key event:
If 202 one or more keys are depressed, then 203 set the corresponding position in the key down map, and 204 set the corresponding position in the key up map, and 201 handle the next key event;
else 205 if one or more keys are released, then 206 clear the corresponding position in the key up map.
If 207 the key up map is clear (e. g., "all keys released") and 208 get the contents of the key down map, and 209 generate the key code, and 210 clear the key down map.
The present invention also may be embodied as a chordal keyboard apparatus for generating a key code. The apparatus includes a plurality of keys 301, first means for storing data, second means for storing data, and controller means.
The controller means detects keys of the plurality of keys 301 in a depressed position and sets symbol locations in the first storing means and in the second storing means, of the respective depressed keys. The controller means also detects which of the plurality of keys 301 are released from the depressed position and clears symbol locations in the second storing means. When the controller means detects that all of the plurality of keys are in a released position, the controller means generates a key code WO 92/20023 ~~ '"'~ Pt'T/US92/03140 corresponding to the set symbol locations in the first storing means. The controller means subsequently clears the first storing means and the second storing means. Symbol locations as used herein include storage locations in first means or second means for one or more bits.
The controller means may be embodied as controller 302.
The first storing means may be embodied as the first set of registers 303, and the second means may be embodied as a second set of registers 304. Additionally, the controller means may further include means for generating the key code from a binary reflected Gray code.
As shown in FIG. 3, controller means and first and second set of registers 303, 304 are employed for sensing and storing key press/release states to control the presentation of key codes 310 in response to one or more key activations. The preferred embodiment incorporates ten keys 301, one for each finger and thumb. It should be noted that a symmetrical arrangement of the keys 301 allows the mode o.f operation for the keyboard to be selected by the user as being either right-handed or left-handed. An alternative embodiment for a hand-held device predetermines the mode of operation by providing a set of grip-operated keys 301 in lieu of, or in addition to, a set of conventional keys 301.
U:S. Patent No. 4,791,408, P. Heusinkveld, "Keyboard for One-Hand operation," Dec. 13, 1988, describes a keyboard for one-hand operation which employs a set of five grip-operated keys. The keys 301 of Fig. 3 are connected by signal lines 305 to a controller circuit 302. The controller 302 is connected by data lines 306, 309, and by control lines 307, 308 to first and second sets of registers 303, 304. Each of the first and second set of register 303, 304 includes a number storage cells corresponding to the number of keys 301 in a given keyboard arrangement. A key down register 304 records the "key closed" state for all keys pressed to form a chord of key combinations representing a valid key code.
A key up register 303 records a copy of the "key closed"
state for all keys pressed and subsequently clears each WO 92/20023 ~~ ~ FCT/US92/03140 storage cell upon release of its associated key 301.
Fig. 4 illustrates a block diagram of a keyboard control circuit for controller 302 for controlling keyboard operations in accordance with the present invention. The key state logic circuit 401 is connected to the keys 301 by a set of signal lines 305; the key state logic circuit 401 is also connected to a key up register 303 by data lines 306 and by control lines 307; and the key state logic circuit 401 is further connected to a key down register 304 by data lines 309 and by control lines 308. Key activations 301 sensed on the key event signal lines 305 by the key state logic circuit 401 are transferred along data channels 306, 309 to storage registers 303, 304. Control lines 307 which connect the key state logic circuit 401 and the key up register 303 distinguish between "key closed" and "key released" states. Control lines 307, 308 also connect the key state logic circuit 401 and the storage registers 303, 304 for the purpose of setting them to an initial "all keys released" state. The key state logic circuit 401 also comprises additional memory means for buffering key state events associated with a next key code in should they occur prior to the completion of processing related to a previous key code. Such overlapping of key code events is referred to in the literature as rollover.
The key up logic circuit 402 of Fig. 4 is connected to a key up register 303 by data lines 306 and to the key code logic circuit 403 by control line 404. When the key up logic circuit 402 senses the "all keys released" state on data lines 306, an "all keys released" signal is transferred on control line 404 to the key code logic circuit 403. The key code logic circuit 403 is further connected to a key down register 304 by data lines 309 and to the key state logic circuit 401 by control line 405. When an "all keys released" signal on control line 404 is sensed by the key code logic circuit 403; a "disable key events" signal is transferred to the key state logic circuit 401 by control line 405; the contents of the key down register 304 are WO 92/20023 ~~ ~ PGT/US92/03140 transferred over data lines 309; the key code logic circuit 403 generates a key code on the output data lines 310; then an "enable key events" signal is transferred to the key state logic circuit 401 by control line 405.
Fig. 5 is a flow diagram which illustrates a method for controlling keyboard operations in accordance with the present invention. A key event is defined in accordance with the present invention as the simultaneous or sequential activation or release of one or more keys 501. on sensing a key event, the keyboard control circuit 501 determines the event handler 501 status:
If 502 key events are disabled, then 506 buffer key events;
else 503 if one or more keys 301 are depressed, then 504 set the corresponding bits) in the key down register 304, and 505 set the corresponding bits) in the key up register 303, and 501 handle the next key event;
else 507 if one or more keys 301 are released, then 505 clear the corresponding bits) in the key up register 303.
If 509 the key up register 303 is clear (e. g., "all keys released") then 510 disable key events, and 511 get the contents of the key down register 304, and 512 generate the key code, and 513 clear the key down register 304, and 514 handle buffered key events, and 515 enable key events.
It will be apparent to those skilled in the art that various modifications can be made to the chordal keyboard method and apparatus of the instant invention without departing from the scope or spirit of the invention, and it is intended that the present invention cover modifications and variations of the chordal keyboard method and apparatus WO 92/2m023 " ~~ PCT/US92/03140 ", 2~~i~~52 ,.

provided they come within the scope of the appended claims and their equivalents.

Claims (9)

I CLAIM:
1. A method for generating a key code using a plurality of keys coupled to a controller with a first set of registers and a second set of registers, comprising the steps, using said plurality of keys, said first set of registers and said second set of registers, of:
depressing at least one of said plurality of keys;
detecting, using said controller, which of said plurality of keys are in a depressed position;
setting, using said controller, in said first set of registers, bit locations of respective depressed keys;
setting, using said controller, in the second set of registers, bit locations of respective depressed keys;
detecting, using said controller, which of said plurality of keys are released from the depressed position;
clearing, using said controller, in said second set of registers, bit locations of respective released keys;
detecting all of said plurality of keys in a released position;
generating, responsive to detecting all of said plurality of keys in the released position, a key code responsive to bit locations set in said first set of registers; and clearing, after generating the key code, said first set of registers and said second set of registers.
2. The method as set forth in claim 1 wherein said generating step includes the step of generating the key code from a binary reflected Gray code.
3. A method for generating a key code using a plurality of keys coupled to a controller with a first set of registers and a second set of registers, comprising the steps of:
depressing at least one of said plurality of keys;
detecting, using said controller, which of said plurality of keys are in a depressed position;
setting, using said controller, in said first set of registers, symbol locations of respective depressed keys;

setting, using said controller, in the second set of registers, symbol locations of respective depressed keys;
detecting, using said controller, which of said plurality of keys are released from the depressed position;
clearing, using said controller, in said second set of registers, symbol locations of respective released keys;
detecting all of said plurality of keys in a released position;
generating, responsive detecting to all of said plurality of keys in the released position, a key code responsive to symbol locations set in said first set of registers; and clearing, after generating the key code, said first set of registers and said second set of registers.
4. The method as set forth in claim 3 wherein said generating step includes the step of generating the key code from a binary reflected Gray code.
5. A chordal keyboard for generating a key code comprising:
a plurality of keys;
a first set of registers;
a second set of registers;
a controller operatively coupled to said plurality of keys, said first set of registers and said second set of registers, said controller responsive to detecting keys of said plurality of keys in a depressed position for setting bit locations in said first set of registers and sets in the second set of registers, said controller responsive to detecting keys of said plurality of keys released from a depressed position for clearing bit locations in said second set of registers, and said controller responsive to detecting all of said plurality of keys released from a depressed position for generating a key code from said set bit locations in said first set of registers and subsequently clearing said first set of registers.
6. The chordal keyboard as set forth in claim 5 wherein said controller includes means for generating the key code from a binary reflected Gray code.
7. A chordal keyboard for generating a key code comprising:
a plurality of keys;
first means for storing data;
second means for storing data;
controller means responsive to detecting keys of said plurality of keys in a depressed position for setting symbol locations in said first storing means, responsive to detecting keys of said plurality of keys released from a depressed position for clearing symbol locations in said second storing means, and responsive to detecting all of said plurality of keys released from a depressed position for generating a key code from the set symbol locations in said first storing means and subsequently clearing said first storing means.
8. The chordal keyboard as set forth in claim 7 wherein:
said first storing means includes a first set of registers; and said second storing means includes a second set of registers.
9. The chordal keyboard as set forth in claim 7 wherein said controller includes means for generating the key code from a binary reflected Gray code.
CA002101552A 1991-04-29 1992-04-17 Chordal keyboard method and apparatus Expired - Fee Related CA2101552C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US692,386 1991-04-29
US07/692,386 US5189416A (en) 1991-04-29 1991-04-29 Chordal keyboard method and apparatus
PCT/US1992/003140 WO1992020023A1 (en) 1991-04-29 1992-04-17 Chordal keyboard method and apparatus

Publications (2)

Publication Number Publication Date
CA2101552A1 CA2101552A1 (en) 1992-10-30
CA2101552C true CA2101552C (en) 2001-05-08

Family

ID=24780365

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002101552A Expired - Fee Related CA2101552C (en) 1991-04-29 1992-04-17 Chordal keyboard method and apparatus

Country Status (12)

Country Link
US (1) US5189416A (en)
EP (1) EP0582653B1 (en)
JP (1) JP3179487B2 (en)
KR (1) KR100229570B1 (en)
CN (1) CN1028920C (en)
AT (1) ATE182995T1 (en)
AU (1) AU660029B2 (en)
BR (1) BR9205930A (en)
CA (1) CA2101552C (en)
DE (1) DE69229725T2 (en)
TW (1) TW290667B (en)
WO (1) WO1992020023A1 (en)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301284A (en) * 1991-01-16 1994-04-05 Walker-Estes Corporation Mixed-resolution, N-dimensional object space method and apparatus
WO1992021519A1 (en) * 1991-06-06 1992-12-10 Caretec Ges.M.B.H. Keyboard
US5523755A (en) * 1993-11-10 1996-06-04 Compaq Computer Corp. N-key rollover keyboard without diodes
US5515305A (en) * 1993-12-09 1996-05-07 Dell Usa, L.P. PDA having chord keyboard input device and method of providing data thereto
US5982302A (en) * 1994-03-07 1999-11-09 Ure; Michael J. Touch-sensitive keyboard/mouse
US5729754A (en) * 1994-03-28 1998-03-17 Estes; Mark D. Associative network method and apparatus
US5521986A (en) * 1994-11-30 1996-05-28 American Tel-A-Systems, Inc. Compact data input device
CN1062666C (en) * 1994-12-03 2001-02-28 马广岭 Computer input method for chess game
FR2755264B1 (en) * 1996-10-29 1999-01-08 Tuilier Jean Jacques ALPHANUMERIC INPUT KEYBOARD WITH ONE HAND OPERATION
US5993089A (en) * 1997-02-03 1999-11-30 Burrell, Iv; James William 8-bit binary code for use as an 8-dot braille arrangement and data entry system and method for 8-key chordic binary keyboards
US6232956B1 (en) 1997-02-27 2001-05-15 Spice Technologies, Inc. OHAI technology user interface
US5793312A (en) * 1997-04-09 1998-08-11 Tsubai; Ryozo Data entry system
EP1717682B1 (en) * 1998-01-26 2017-08-16 Apple Inc. Method and apparatus for integrating manual input
US6542091B1 (en) 1999-10-01 2003-04-01 Wayne Allen Rasanen Method for encoding key assignments for a data input device
US6452513B1 (en) * 2000-02-28 2002-09-17 Movita Technologies Inc. Nodal point arrangement for keys on a keyboard
US6429854B1 (en) * 2000-06-28 2002-08-06 Mckown John W. Stealthy keyboard
WO2002008849A2 (en) * 2000-07-24 2002-01-31 Herman Ehrenburg Computer-compatible, color-coded manual input system
US6789967B1 (en) 2001-02-02 2004-09-14 George Forester Distal chording keyboard
US7170430B2 (en) * 2002-03-28 2007-01-30 Michael Goodgoll System, method, and computer program product for single-handed data entry
US7218313B2 (en) * 2003-10-31 2007-05-15 Zeetoo, Inc. Human interface system
FR2867855B1 (en) * 2004-03-19 2006-06-23 Applic Procedes Electronique DEVICE FOR MEASURING PRESSURE REGULATING IN A PNEUMATIC PLACE
US20060038787A1 (en) * 2004-08-18 2006-02-23 Jia-Shiung Kuo Processing system and method for detecting hotkey activation
US20060202865A1 (en) * 2005-03-04 2006-09-14 Nguyen Mitchell V Text entry coding system and handheld computing device
US7669770B2 (en) * 2005-09-06 2010-03-02 Zeemote, Inc. Method of remapping the input elements of a hand-held device
US7649522B2 (en) * 2005-10-11 2010-01-19 Fish & Richardson P.C. Human interface input acceleration system
US7652660B2 (en) * 2005-10-11 2010-01-26 Fish & Richardson P.C. Mobile device customizer
US7280097B2 (en) * 2005-10-11 2007-10-09 Zeetoo, Inc. Human interface input acceleration system
US8180295B2 (en) * 2007-07-19 2012-05-15 Sony Computer Entertainment Inc. Bluetooth enabled computing system and associated methods
US20100109915A1 (en) * 2008-10-31 2010-05-06 Scarboro John E Rapid Typing System for a Hand-held Electronic Device
CN102075195B (en) * 2009-11-19 2014-09-17 深圳富泰宏精密工业有限公司 Key encoding circuit
KR20120045218A (en) * 2010-10-29 2012-05-09 삼성전자주식회사 Method and apparatus for inputting a message using multi-touch
US20120112932A1 (en) * 2010-11-04 2012-05-10 Parker May Modifier keys in a keyboard
US8797266B2 (en) 2011-05-16 2014-08-05 John Zachary Dennis Typing input systems, methods, and devices
DE102011108520A1 (en) * 2011-07-26 2013-01-31 Rüter & Rüter Gbr Method for operating switching unit for generation of e.g. control instruction in hospital, involves providing manually operable push buttons, and positioning hand and finger by simultaneously pressing access code or key
US11249558B1 (en) 2019-12-26 2022-02-15 Seth D. Garlock Two-handed keyset, system, and methods of making and using the keyset and system

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1496522A (en) * 1974-01-22 1977-12-30 Endfield C Keyboard
US4042777A (en) * 1975-10-06 1977-08-16 International Business Machines Corporation One-handed keyboard and its control means
US4140039A (en) * 1976-04-12 1979-02-20 Faulkner Alfred H Hand held synthesizer
SE420447B (en) * 1978-11-21 1981-10-05 Ibm Svenska Ab METHOD FOR GENERATING CHARACTER CODES BY A KEYBOARD AND DEVICE FOR EXECUTING THE METHOD
US4833446A (en) * 1979-11-21 1989-05-23 Ergoplic Ltd. Keyboard apparatus and method
US4680572A (en) * 1981-12-14 1987-07-14 Ncr Corporation Chord entry keying of data fields
US4467321A (en) * 1982-04-30 1984-08-21 Volnak William M Chording keyboard for generating binary data
US4891777A (en) * 1983-05-11 1990-01-02 The Laitram Corporation Single hand keyboard arrays providing alphanumeric capabilities from twelve keys
US4549279A (en) * 1983-01-21 1985-10-22 The Laitram Corporation Single hand, single finger stroke alphameric data processing keyboard system
US4994992A (en) * 1983-04-26 1991-02-19 The Laitram Corporation Contoured touch type data processing keyboard
US4555193A (en) * 1983-10-31 1985-11-26 Stone Philip J Keyboards including color coding and one handed operation
US4694280A (en) * 1984-01-30 1987-09-15 Quixote Corporation Keyboard entry system
US4638306A (en) * 1984-01-30 1987-01-20 Quixote Corporation Keyboard entry system
US4836700A (en) * 1984-04-02 1989-06-06 Jensen Paul S Data entry system
US4918631A (en) * 1984-09-07 1990-04-17 Casio Computer Co., Ltd. Compact type electronic information card
US4831218A (en) * 1984-09-28 1989-05-16 Binagraphics, Inc. Universal binary keyboard system
CA1296405C (en) * 1984-12-21 1992-02-25 Terry Ryan Alpha-numeric keypad/control stick
US4763252A (en) * 1985-03-21 1988-08-09 Rose David K Computer entry system for predetermined text data sequences
US4849732A (en) * 1985-08-23 1989-07-18 Dolenc Heinz C One hand key shell
US4937778A (en) * 1986-04-14 1990-06-26 Wolf Chris L System for selectively modifying codes generated by a touch type keyboard upon detecting of predetermined sequence of make codes and break codes
US4761522A (en) * 1986-10-06 1988-08-02 Allen Donald E Finger operated switching apparatus
US4791408A (en) * 1987-05-14 1988-12-13 Ted Scudder Keyboard for one-hand operation
WO1990002460A1 (en) * 1988-08-24 1990-03-08 Marvin Garfinkle Keyboard
US4974183A (en) * 1989-04-05 1990-11-27 Miller Wendell E Computer keyboard with thumb-actuated edit keys
JPH04100139A (en) * 1990-08-20 1992-04-02 Yokogawa Electric Corp Keyboard controller

Also Published As

Publication number Publication date
KR100229570B1 (en) 1999-11-15
AU660029B2 (en) 1995-06-08
KR930703639A (en) 1993-11-30
EP0582653B1 (en) 1999-08-04
TW290667B (en) 1996-11-11
DE69229725D1 (en) 1999-09-09
CN1068433A (en) 1993-01-27
WO1992020023A1 (en) 1992-11-12
ATE182995T1 (en) 1999-08-15
CA2101552A1 (en) 1992-10-30
JP3179487B2 (en) 2001-06-25
EP0582653A1 (en) 1994-02-16
CN1028920C (en) 1995-06-14
BR9205930A (en) 1994-07-05
EP0582653A4 (en) 1995-07-05
US5189416A (en) 1993-02-23
AU1921492A (en) 1992-12-21
JPH06507262A (en) 1994-08-11
DE69229725T2 (en) 1999-12-02

Similar Documents

Publication Publication Date Title
CA2101552C (en) Chordal keyboard method and apparatus
RU2214620C2 (en) Reduced-keyboard system for ambiguity elimination
US8044827B2 (en) Communication device and method for inputting and predicting text
EP1010057B1 (en) Reduced keyboard disambiguating system
JP3980679B2 (en) Character / character string input processing device
EP0842463B1 (en) Reduced keyboard disambiguating system
US6799303B2 (en) Speed typing apparatus and method
US4737980A (en) Computer data entry method and apparatus
US7230607B2 (en) 6-key keyboard for touch typing
RU2285284C2 (en) Device for input of data of electronic device for storage and/or transfer of data
CA1235818A (en) Method of selecting and reproducing language characters
US5621641A (en) Computer assisted text system
US5096423A (en) Computer system for teaching abbreviations for text and data processing functions
JPS60179817A (en) Key board input system
US5378068A (en) Word processor for generating Chinese characters
EP1154903A2 (en) Speed typing apparatus and method
US4482981A (en) Input device for pocket electronic translator
US4464731A (en) Variable retrieval speed/direction electronic translator
GB2064187A (en) Keyboards
US5924803A (en) Data input device using combined numeric inputs to encode characters
US9841873B1 (en) Process for reducing the number of physical actions required while inputting character strings
US5608395A (en) Simplified computer access system
JP2733485B2 (en) Key input device
JPH0230223A (en) Keyboard device
Evans et al. Resolving Ambiguity in Overloaded Keyboards

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed