WO1996030822A1 - Procede et appareil d'entree de donnees - Google Patents

Procede et appareil d'entree de donnees

Info

Publication number
WO1996030822A1
WO1996030822A1 PCT/US1995/003591 US9503591W WO9630822A1 WO 1996030822 A1 WO1996030822 A1 WO 1996030822A1 US 9503591 W US9503591 W US 9503591W WO 9630822 A1 WO9630822 A1 WO 9630822A1
Authority
WO
WIPO (PCT)
Prior art keywords
selectable
region
cursor
regions
display
Prior art date
Application number
PCT/US1995/003591
Other languages
English (en)
Inventor
Donald K. Forest
Original Assignee
Forest Donald K
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 to AU21910/95A priority Critical patent/AU2191095A/en
Application filed by Forest Donald K filed Critical Forest Donald K
Priority to US08/913,822 priority patent/US6160536A/en
Priority to GB9906822A priority patent/GB2332972B/en
Priority to DE19581933T priority patent/DE19581933T1/de
Priority to GB9720043A priority patent/GB2314186B/en
Priority to PCT/US1995/003591 priority patent/WO1996030822A1/fr
Priority to GB9903350A priority patent/GB2331170B/en
Priority to US08/506,032 priority patent/US6903723B1/en
Publication of WO1996030822A1 publication Critical patent/WO1996030822A1/fr
Priority to US11/124,563 priority patent/US20050231520A1/en
Priority to US11/890,355 priority patent/US20080030463A1/en
Priority to US13/827,216 priority patent/US9535494B2/en
Priority to US15/391,116 priority patent/US20170108938A1/en

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/16Sound input; Sound output
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F4/00Methods or devices enabling patients or disabled persons to operate an apparatus or a device not forming part of the body 
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B21/00Teaching, or communicating with, the blind, deaf or mute
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Definitions

  • the present invention relates generally to interactive display terminals and interactive display methods, and more to interactive display terminals and interactive display methods for use by persons temporarily or permanently lacking normal motor capabilities. It also relates to systems and methods for the assessment of the motor capabilities of persons lacking normal motor capabilities. It ftirther relates to interactive display terminals and interactive display methods for use in speech synthesis for persons having impaired speech. It also relates to systems and methods for the control of devices, including appliances, by persons lacking normal motor capabilities. It further relates to interactive display terminals and interactive display methods for selecting one menu option from a menu. It further relates to systems and methods utilizing sound recognition for selecting a menu option from a menu. It further relates to data and order entry systems including, and data and order entry methods utilizing, an interactive display terminal.
  • CP Cerebral Palsy
  • Traumatic Brain Injury Spinal Cord Injury
  • Muscular Dystrophy Amyotrophic Lateral Sclerosis and Multiple Sclerosis.
  • CP Cerebral Palsy
  • Muscular Dystrophy Amyotrophic Lateral Sclerosis and Multiple Sclerosis.
  • CP Cerebral Palsy
  • Muscular Dystrophy Amyotrophic Lateral Sclerosis and Multiple Sclerosis.
  • These conditions can result in a reduced ability to voluntarily control or prevent the movement of parts of the body, including the head, limbs and digits, muscle stiffness, weakness, limited range of motion, abnormal posture, involuntary muscle tremors, involuntary muscle activity causing involuntary motion, impaired ability to voluntarily stop motion, impaired ability to coordinate muscle activity, and/or impaired ability to sense the position of a part of t body. Any one of these symptoms may impair an affected individual's fine motor control.
  • some individuals affected by a neuromuscular disorder may be able to exercise fine motor control with enormous effort,
  • Neuromuscular disorders are often systemic in effect, impairing an individual's ability to operate prosthetic devices, such as a wheelchair, and to perform the activities of daily life, such as speaking, walking and operating household appliances.
  • Speech is frequently affected since the mechanics of producing speech require coordination of many muscle groups -- the muscles of the diaphragm which push air over the vocal cords, the muscles of the larynx, jaws, tongue and lips.
  • the inability to use or coordinate these muscle groups may result in impaired speech.
  • speech may be totally absent, present but impaired to the point of unintelligibility, or intelligible on the whole but with occasional unintelligible words.
  • the ability to walk is often affected since walking requires coordination and voluntary control of many muscle groups.
  • impaired fine motor control may prevent or impede an individuals from effectively operating household appliances or computer input devices.
  • NMD operators Devices which produce speech, control appliances and facilitate computer access for some persons having neuromuscular disorders
  • AAC Augmentative and Alternative Communication
  • NMD operators Devices which produce speech for individuals whose own speech is impaired, called Augmentative and Alternative Communication (“AAC") devices, allow the operator to select words or phrases by spelling the words, by specifying an abbreviation for the phrase or by selecting a sequence of symbols, and then speak the selected words or phrases using an electronic speech synthesizer.
  • AAC Augmentative and Alternative Communication
  • NMD operators are often unable to efficiently use a standard keyboard and mouse.
  • an NMD operator who is unable to stop the movement of a limb with precision, when attempting to use a keyboard or mouse, may move his arm toward the target key or move the cursor toward the target object on the display but overshoot the target. If he has involuntary tremors and cannot hold a limb still, then, when attempting to use a keyboard, he may hit keys adjacent to his target key. If he has involuntary motion moving left to right, then, when attempting to use a keyboard, he may have difficulty accessing an intended key on the right side of the keyboard.
  • the benefits of interfacing an NMD operator to a general purpose computer so that he may contro the computer and devices attached to it are both numerous, because many of the problems faced by the disabled are susceptible to a computer-driven solution, and profound, because of the psychological deprivation occasioned by a severe physical disability.
  • the benefits potentially obtained through computer access for individuals affected by neuromuscular disorders include: a. Speech synthesis. A computer connected to a speech synthesizer enables an NMD operator with impaired speech to direct the computer to speak for him. b. Device control. A user who is physically unable to operate a household appliance, for example, a television, video cassette recorder, compact disc player, radio, alarm clock.
  • telephone, light, thermostat, dimmer or power switch may be able to control the appliance via a computer equipped with an interface he can control.
  • applications general purpose computer application programs
  • Adolescents with CP are obviously different from their peers. They are often surrounded by non-normative assistive technology, e.g. wheelchair or walker, special school bus equipped with a chair lift, stair lift, standing aid, AAC device, feeding apparatus, bath seat, toi letting apparatus, etc.
  • NMD operators vary widely in their motor capabilities. Even individuals having the same medical diagnosis may require completely different technologies for computer access. Many NMD operators are able to use an oversize keyboard, a devices having a pressure-sensitive surface divided into squares, each square associated with a letter of the alphabet. The squares may be sized to match the operator's abilities, but typically each square is two inches on either side. NMD operators who are unable to efficiently use an oversize keyboard may use another conventional computer access solution, called an "on-screen keyboard", which, as illustrated in Figure 1, is a picture of keyboard drawn on a computer display (1 101 ).
  • Switch operation includes, but is not limited to, each of the following: opening the switch, closing the switch, opening the switch multiple times within a predetermined period, and closing the switch multiple times within a predetermined period.
  • a program executing on the computer determines which letter the operator has selected and processes the letter or passes it to some other application program which processes the letter as if it came from a true keyboard.
  • Conventional pointing devices include a mouse, trackball, joystick (which may be integrated into a keyboard, e.g. TrackPoint II®), stylus and graphics tablet, lightpen, thumb wheel, touch screen, touch panel, head pointer, occulometer, intraoral pointer and eye tracker. They may be active, e.g. a lightpen that emits an infrared beam, or passive, e.g. an eye tracker that uses images of an individual's eyes to determine where his eyes are focusing.
  • Conventional switches include a button on the mouse, a switch in the tip of the stylus actuated by pressure or the release of pressure, a switch mounted on the user's wheelchair operated by a turn of the head to or the switch below a keyboard key.
  • Dwell time may be continuous or discontinuous depending upon the operator's motor capabilities. In continuous dwelling, if the operator moves the cursor from one key image to another region of the display, the time accumulated on the key image is discarded so that if the operator returns to that key image he must dwell on it for the full selection threshold to select it. Discontinuous dwelling, by contrast, compensates for involuntary tremors which pull the operator off the desired key image. Accumulated dwell time on a key image is remembered, so that on return to a key image, the operator need only dwell for a period equal to the difference between the selection threshold and the previously accumulated dwell time for that key image. Accumulated dwell time is reset to zero for all key images following the selection of any one key image. Conventional on ⁇ screen keyboards do not indicate to the operator the dwell time associated with any key image.
  • each key image may be associated with its own selection threshold period. In the latter case, keys associated with shorter selection threshold periods are easier to select than keys associated with longer selection threshold periods.
  • FIG. 2 illustrates an example of a combined display of an on-screen keyboard and a word processing application program.
  • the on-screen keyboard (0201 ) is shown on the lower portion of a display connected to a computer system (not shown) which also executes the word processing application program whose output (0203) appears on the upper portion of the display. Letters selected by the operator are input to the word processing application program.
  • Figure 1 shows an on-screen keyboard containing 81 total keys including 26 alphabetic keys, 10 numeric keys, 12 function keys, 4 arrow keys and 29 special purpose keys. Drawing this many key images on a display restricts the size of each key image making each very difficult for many NMD operators to select.
  • quaternary keyboard provides for larger key images.
  • the alphabet is divided into four groups of letters, each displayed in one of the four quadrants (1302), (1304), (1306) and (1308) of the display, as shown in Figure 3.
  • the operator selects one of the four groups by, for example, pointing to and dwelling on one quadrant of the display.
  • the selected group is then exploded into four subgroups, each displayed in one quadrant of the display, as shown in Figure 4. Once more the operator selects one of the four.
  • the selected group is exploded into four letters and each letter displayed in one quadrant of the display, as shown in Figure 5. The operator again selects one of the four. This letter is then input to an application program (not shown).
  • the quaternary keyboard illustrates the use of a menu hierarchy in computer access.
  • Each of the four groups of letters ( 1302), ( 1304), ( 1306) and ( 1308) is a menu option.
  • Each of these menu options is itself a menu which includes other menu options.
  • a menu hierarchy exists if at least one of a menu's menu options is itself a menu.
  • a menu accessed from another menu may be called a submenu, and the options of the submenu may be called submenu options.
  • a menu hierarchy is narrow and deep, many selections are required to make the desired choice.
  • a menu hierarchy is broad and shallow, each layer is composed of many menu options.
  • the quaternary keyboard greatly expands the size of a single key image and thus accommodates certain NMD operators with drift or involuntary tremors.
  • the cost of this adjustment is high Instead of selecting a letter with one pointing motion and dwelling for one selection threshold, the quaternary keyboard requires three pointing motions and dwelling for three selection thresholds.
  • the operator's productivity is dramatically reduced from the standard on-screen keyboard depicted in Figure 1.
  • pie menu is an opaque region on a display divided into selectable slices, each slice associated with a menu option.
  • the pie menu suffers some of the drawbacks discussed above, particularly that, while displayed the pie menu occupies more space than a linear menu and obscures much of the output of the operator's application program.
  • pie menus see Callahan, Jack et. al., "An Empirical Comparison of Pie vs. Linear Menus", Computer Science Technical Report Series, TR-1919, University of Maryland. September 1987.
  • Figure 7 depicts a conventional joystick pattern device.
  • the device (1602) is connected to a joystick and to a computer.
  • the operator pushes the joystick to the top, bottom, left, right, top left corner, top right corner, lower left corner or lower right corner, closing one of eight switch contacts within the joystick housing. That switch position is then indicated on the display (1604).
  • a sequence of consecutive of switch closures encodes a letter or other programmed output that the device (1602) displays on an LCD display (1606) and sends to the connected computer, simulating keyboard input.
  • the conventional joystick pattern device is ill-suited for many NMD operators.
  • the involuntary tremors common some neuromuscular disorders may result in unintended switch closures.
  • the device does not provide an indication that the operator is moving a body member in an unintended direction until switch closure occurs. For example, an operator with CP who intends to move the joystick the right but actually moves it to the upper right receives no indication from the device, prior to switch closure, that he's not on target.
  • the device requires that the operator memorize the encoding of each letter or other output since there's no indication on the display ( 1606) which sequence encodes which letter.
  • the device provides no support for head pointing, although the head is often the best controlled part of an NMD operator's body.
  • NMD operators who cannot effectively use either a conventional keyboard or a pointing device but can reliably actuate a switch may use a computer access method called "scanning", which is subdivided by cursor control technique into three types of scanning: automatic, directed and step In automatic scanning all the operators' options, for example, the letters of the alphabet, appear on either a static or dynamic display (depending upon the implementation), organized in rows and columns. At the scanning interval, usually about one second, a cursor moves from one row to the next. When the cursor indicates the row containing the letter the operator wants, he closes a switch. The machine now moves the cursor from one letter to the next within the selected row until the operator closes the switch again. The operator has now selected one letter.
  • the cursor moves at the frequency determined by the scanning interval, however, it moves only when the switch is closed.
  • the operator opens the switch while the cursor indicates the desired option.
  • step scanning the cursor moves with each switch activation.
  • AAC operators AAC device operators
  • operators who speak with AAC devices, particularly NMD operators whose motor deficits impair their ability to use a keyboard lag substantially in their conversations.
  • the slow pace of an AAC operator's word production disrupts normal verbal interaction.
  • Speaking persons, accustomed or not to the AAC operator's slow rate often lose patience in conversations with AAC operators. They may prematurely terminate the conversation, read the AAC device display in an attempt to guess at the AAC operator's intended utterance and so accelerate the interaction, lead thi AAC operator, ask predominantly yes/no questions, change the topic of conversation with little input from the AAC operator and otherwise dominate the interaction.
  • the AAC operator often has difficulty participating as an equal partner in the conversation. He may be unable to change the topic, interject a humorous comment in a timely fashion or respond to a question before the speaking person changes the topic. Slow AAC operators may be perceived as mentally slow. Thus the quality of verbal interactions where one party uses an AAC device to speak depends significantly upon the AAC operator's rate of word production.
  • Letter or menu option selection time includes the time the operator requires (a) to comprehend the menu options displayed, (b) to move the pointer to the desired menu option on the display, and. in selection by dwell, (c) the selection threshold period, or, in selection by click, (c) the time required to operate the switch. Decreasing any one of these increases the operator's productivity, assuming all other steps in the selection process are unaffected.
  • Another consequence of personal interaction during conversation for an AAC device operator is that the operator needs a way to easily enable and disable the AAC device operator interface so that movement the operator makes during personal interaction, for example, nodding his head, is not interpreted by the AAC device.
  • neurogenic muscular disorders may impair the ability of an individual to sense the position of a body member.
  • An NMD operator thus relies more than his able-bodied peer on the location of a cursor or similar automated indication of body member position.
  • Conventional access methods which use a pointer do not provide additional feedback to the operator of the position of a body member.
  • Access methods which require the NMD operator to make the same movement for most selections such as single switch access, mouth sticking (the use of a small rod held in the mouth and used to depress keys on a keyboard) and head sticking (the use of a rod mounted on the head and used to depress keys on a keyboard), may result in repetitive motion injury, particularly after years of use.
  • One object of the invention is to facilitate computer access by a disabled operator.
  • a further object of the invention is to facilitate menu selection by an operator having impaired ability to maintain a body member in a steady position.
  • Another object of the invention is to facilitate menu selection by an operator having impaired ability to stop motion.
  • Yet another object of the invention is to simultaneously display an application program window and a computer access menu which does not obstruct the application program window.
  • Another object of the invention is to allow an operator to enable and disable a menu.
  • a still further object of the invention is to synthesize speech for an operator having impaired speech and impaired fine motor control.
  • Still another object of the invention is to facilitate device control for a disabled operator.
  • Another object of the invention is to reduce the cognitive demand of speech synthesis for the disabled.
  • a still further object of the invention is to enlarge the effective area of a selectable region without concomitantly reducing the area available for information display.
  • Another object of the invention is to speed data entry.
  • Yet another object of the invention is to facilitate computer access for an operator having impaired ability to sense the position of a body member used for computer access.
  • Conventional menu-driven data entry and order entry systems inco ⁇ orating pointing at intended selections employ a two step selection procedure.
  • the operator indicates, with a pointer, his intended selection.
  • the system then provides feedback, for example, by highlighting the indicated selection, showing which selection the operator has indicated.
  • the operator selects the indicated selection, for example, by operating a switch.
  • One object of the invention is to facilitate the use of systems allowing selection by dwell.
  • Still another object of the invention is to facilitate device control by the disabled.
  • a further object of the invention is to increase the independence of the disabled.
  • Yet another object of the invention is to facilitate the use of a data entry or order entry system by an intermittent operator.
  • Another object of the invention is to facilitate ordering by someone seated in a vehicle.
  • the on-screen keyboard with dwell selectable key images is ill-suited for use by many NMD operators. Selection by dwell may fatigue NMD operators or may require greater fine motor control than they bring to this task. Operators with impaired ability to stop motion and those having involuntary tremors have difficulty maintaining the location indicated by a pointer on a key image for a period sufficient to distinguish intentional dwelling from unintentional dwelling. Consequently, some NMD operators who try to use on-screen keyboards often miss their target key images and/or accidentally select unintended key images. Following such an error, the operator must erase his erroneous selection by selecting the backspace or undo key.
  • Windows® Operating System assigns meaning to the cursor location.
  • Windows® interprets the action as manifesting an intent to choose that menu item.
  • the operator's path to that menu item, whether direct or circuitous, is irrelevant. Operators who can move toward a target accurately but cannot maintain the location indicated by a pointer on the target cannot effectively use standard Windows® applications through the conventional interface to these applications.
  • NMD operators cannot steady a pointer while operating a switch; the act of operating the switch triggers involuntary muscle activity pulling the cursor off target.
  • conventional selection by click is not practicable.
  • Conventional selection by dwell also requires greater fine motor control than many NMD operators bring to this task.
  • Operators with impaired ability to stop motion may overshoot their intended target.
  • Operators whose voluntary muscle activity is accompanied by some involuntary muscle activity affecting their directional control cannot point accurately.
  • Operators with involuntary tremors cannot maintain the location indicated by a pointer on a key image. Consequently, NMD operators who try to use on-screen keyboards often miss their target key images and accidentally select unintended key images.
  • Measures of an individual's fine motor control assist a physician or therapist in evaluating the effectiveness of a treatment program, including assistive technology, and in gauging the severity of a disability. Such measures help the physician or therapist in determining what treatment course to pursue and whether the severity of a certain disability justifies the risk of a particular treatment option, such as neurosurgery.
  • One object of the invention is to facilitate selection of an option from a menu.
  • Another object of the invention is to indicate to an operator moving a cursor toward an option in a menu displayed by a computer system, which option the computer system believes the operator is moving toward.
  • Another object of the invention is to display a menu on a display so that a large contiguous area on the display is not obstructed by the menu.
  • Still another object of the invention is to make use, in computer access, of relatively unimpaired directional control in persons having impaired fine motor control.
  • a further object of the invention is to indicate to an operator moving a cursor toward a dwell- selectable option in a menu, a changed selection threshold of the dwell-selectable option.
  • Yet another object of the invention is to more efficiently select an option from a menu on a display.
  • Another object of the invention is to speed up selection of an option from a menu by an operator having impaired ability to operate a switch while the operator simultaneously keeps a cursor location within a region on a display.
  • Another object of the invention is to help an operator with a disability control a pointer.
  • Yet another object of the invention is to speed data entry by an individual with a disability.
  • a still further object of the invention is to facilitate artificial speech generation by a person having impaired speech due to a neurogenic muscular disorder.
  • Yet another object of the invention is to facilitate device control by a person having a neurogenic muscular disorder.
  • One object of the invention is to facilitate computer access by an operator having impaired ability to maintain a body member in a steady position.
  • Another object of the invention is to facilitate the selection of a desired menu option by an operator having impaired fine motor control.
  • a further object of the invention is to synthesize speech for an operator having impaired speech and impaired motor control.
  • Yet another object of the invention is to use an operator's directional control in computer access.
  • a still further object of the invention is, in selecting a menu option from a menu of dwell-selectable menu options, to compensate for an operator's impaired ability to maintain a body member in a steady position by using the operator's relatively intact motor capability .
  • Alignment is also a problematic for NMD operators who use a pointer, such as a mouse, with which the operator indicates by a location on a surface, e.g. a desk top, which corresponds to a desired location on the display, and achieve alignment by removing the pointer from the surface, e.g. lifting the mouse, moving the mouse, then replacing it on the surface. Due to impaired fine motor control, many NMD operators cannot remove a pointer from the surface and replace it on the surface at a desired location without unintentional movement or extraordinary effort. For these operators, alignment cannot be effectively achieved through conventional means.
  • a pointer such as a mouse
  • misalignment interferes with accurate pointing and the process of correcting for misalignment may result in the selection of unintended key images.
  • One object of the invention is to allow an operator to align a pointer with a location on a surface.
  • Another object of the invention is to indicate to an operator a location on a surface with which he may align a pointer.
  • Still another object of the invention is to indicate to an operator when he may align a pointer with a location on a surface.
  • a further object of the invention is to allow an operator having impaired motor control to align a pointer with a cursor.
  • one of the elements determining the menu option selection time is the time the operator requires to comprehend the menu options displayed. This time may be reduced if the operator can limit the number of menu options he searches in looking for his desired menu option.
  • Conventional word prediction systems attempt to reduce this operator search time.
  • the operator of a conventional word prediction system may, for example, select the letter "p".
  • the system displays some number, say six, of the most frequently used words beginning with the letter "p".
  • Searching a displayed list of words in alphabetic order requires that the operator focus his attention on the selection task, as opposed to the information content of the conversation or other task the operator is engaged in. Further, determining whether a given word is alphabetically greater or lesser than a desired word takes substantial time, slowing the selection process.
  • An alphabetically ordered list is of limited use to an individual who has below normal spelling ability, a frequent problem among individuals with impaired speech. Ordering words by frequency of use often does not limit the number of words the operator must search. The word at the bottom of the displayed list, for example, the sixth most frequently used word beginning with the letters "pr" may be a very common word, even though it is less frequently used than the other five displayed words.
  • One object of the Length Order aspect of the invention is to reduce the time an operator requires to comprehend displayed menu options.
  • Another object of the Length Order aspect of the invention is to reduce operator search time.
  • Still another object of the Length Order aspect of the invention is to limit the number of menu options an operator searches for in looking for his desired menu option.
  • the difficulties experienced by NMD operators in pointing to relatively small selectable regions have already been described.
  • One approach to these difficulties is to enlarge the on-screen selectable region, illustrated by the quaternary expansion on-screen keyboard already described.
  • Another approach is the conventional eye gaze system for a speech impaired individual, depicted in Figure 8.
  • the system consists of a plexiglass frame (6352) having a centrally located aperture (6354).
  • the eye gaze system is positioned between the speech impaired individual and person with whom the speech impaired individual is communicating.
  • the clear square matches the aperture (6354). All squares are labeled with symbols representing items to be communicated. These labels are not shown in Figure 8.
  • the person with whom the speech impaired individual is communicating observes the eyes of the speech impaired individual to determine the target of the speech impaired individual's eye gaze. To communicate an item, the speech impaired individual gazes first toward the one of the eight groups of five squares, indicating that he wants to communicate one of the symbols in that group, and gazes second toward one of the four corners and aperture (6354) matching the color of the square labeled with the item to be communicated in the previously indicated group.
  • FIG. 9 depicts a menu having three menu options, labeled "High”, “Medium” and “Low”, each displayed on a display (4807), each associated respectively with selectable regions (4801 ), (4803) and (4805), and each located adjacent the associated selectable region.
  • Figure 10 depicts a menu having the same three menu options, each displayed on a display (4807), each associated respectively with selectable regions (4901 ), (4903) and (4905), and each intersecting the associated selectable region.
  • a menu option is selected by pointing to and clicking on the associated selectable region.
  • menu hierarchies in automated systems built from menus of the type shown in Figure 9 or Figure 10, require that the operator proceed sequentially through the steps of searching menu options, selecting one of them, and, assuming a menu option including a submenu was selected, searching the submenu options, and selecting one of them.
  • selection from menu hierarchies constitutes a substantial component of the operator's activities, the slowness of the selection process diminishes productivity.
  • Locating selectable regions or parts thereof outside the display allows the large areas outside the display to be used, a major advantage for operators having impaired fine motor control who are unable to maintain a pointer on a small selectable region while selecting by click or by dwell.
  • menu options are displayed on the display near the perimeter of display and near their associated selectable region, the operator has an indication of the location of each selectable region but may not be able to see all the displayed menu options in a glance. Because an operator usually searches a displayed menu for his intended menu option, placing the menu only near the perimeter of the display may increase menu search time, thus increasing menu option selection time.
  • One object of the invention is to indicate to an operator of a menu system having selectable regions outside the display, the menu option associated with each selectable region and the location of each selectable region.
  • Another object of the invention is to facilitate selection from a menu by an operator having impaired motor control.
  • Still another object of the invention is to speed selection of a menu option from a menu and of a submenu option from a menu hierarchy.
  • a further object of the invention is to speed speech synthesis for a person having impaired speech and impaired motor control.
  • Conventional speech recognition systems facilitate computer access for individuals unable to use a standard keyboard whose speech is relatively unimpaired, for example, an individual with quadriplegia, and hands-free computer access for able-bodied individuals.
  • the operator of such a speech recognition system reads a menu option out loud, for example, "open file", and the system.
  • sound receiving means for example, a microphone coupled to a sound board having a Digital Signal Processor ("DSP")
  • DSP Digital Signal Processor
  • sound matching means which includes an application program for matching the digitized sound to one of a plurality of sounds, each representing respectively the sound of a spoken menu option.
  • the system determines which sound best matches the sound of the read menu option and selects the menu option associated with this best matched sound.
  • One object of the invention is to facilitate selection from a menu, and, in particular, from a menu of homophones.
  • Another object of the invention is to facilitate speech synthesis and voice activated computer access by individuals with speech impairments.
  • Still another object of the invention is to speed data entry in Ideographic Languages. J. Ideographic Language
  • ideographs as the graphic symbols in written languages is found in many parts of the world.
  • An ideograph as used herein, is a graphic symbol used to represent an object, an idea or a word, without expressing, as in a phonetic system, the specific sounds forming the verbal expression of the object, idea or word.
  • Ideographic languages include Chinese, Japanese and Korean.
  • a graphic symbol, as used herein, includes, but is not limited to, each of the following: a letter of an alphabet, a Japanese kana, and an ideograph.
  • specific reference will be made herein to a preferred embodiment of the system and method as it applies to the Chinese language.
  • Prior art methods for selecting Chinese ideographs make use of various ideograph classification systems known to Chinese speakers.
  • the operator first specifies a class of ideograph, based on a first characteristic common to many ideographs. Ideographs having that common characteristic are displayed and the operator selects from among them, either directly, by selecting an individual ideograph, or indirectly, by specifying a second common characteristic usually dependent upon the first characteristic, thus further limiting the displayed ideographs to those having both the first and second common characteristics.
  • the operator may continue to specify characteristics until he has specified a unique ideograph.
  • ideograph classification system is called the Pin Yin System.
  • This classification system uses the phonetic structure of the Chinese language. In spoken Chinese there are approximately 412 basic phonetic units, each having a monosyllabic sound, for example, "nee", "how” and "ma”. Four intonations can potentially be applied to each phonetic unit, resulting in approximately 1280 distinct sounds. With 10,000 ideographs in current use, each represented by one of approximately 1280 distinct sounds, it is evident that many Chinese ideographs are homophones, i.e. have the same sound. Over 80% of Chinese ideographs have homophones. The Pin Yin System uses this limited number of phonetic units as the basis for its classification. Ideographs which are homophones are classified together; the common characteristic of the Pin Yin System is the distinct sound.
  • the operator specifies a distinct sound using a keyboard labeled with symbols representing the Latin alphabet (Pin Yin method) or Chinese phonetic units (Zhu Yin method).
  • the first key operation or sequence of key operations specifies the phonetic unit.
  • the second key operation specifies the intonation. In general, less than 15 ideographs have this sound, though in some cases there are many more homophones. These are displayed and the user selects from among them. In such cases, the operator, depending upon the system, may page through matching ideographs or specify another common characteristic to further limit the number of ideographs displayed. A common characteristic which may be used at this stage exploits another feature of the Chinese language.
  • a second common characteristic may limit matching ideograph pairs to a number sufficiently small for the operator to efficiently search and select from, or may uniquely specify an ideograph pair.
  • Another common characteristic the operator may specify to limit the number of matching ideographs is a meaning or meaning class to which one or more sequences of one or more ideographs belong.
  • An ideograph block is a sequence of four ideographs which together has its own meaning which may or may not be related to that of the constituent ideographs.
  • the operator specified a distinct sound for the second of two ideographs of an ideograph pair, so may the operator specify a distinct sound for the second, third and/or fourth ideograph of an ideograph block, to limit the number of matching ideograph blocks.
  • Ideographs are built from a set of 214 components, called radicals. Different radicals, perhaps placed within different locations within an ideograph, are combined to create an ideograph.
  • the operator specifies one or more radicals appearing in the ideograph he wishes to enter. He may, for example, use a keyboard having at least 214 keys, each corresponding to a radical, or may actuate a sequence of keys, the sequence corresponding to a radical.
  • Other common characteristics the operator may specify to limit the number of matching ideographs include a phonetic unit, the first brush stroke, and the last brush stroke used to draw the ideograph.
  • Another conventional ideograph classification system makes use of a classification of parts of ideographs.
  • the operator specifies the classification of the four corners of the ideograph he wishes to enter.
  • Other common characteristics the operator may specify to further limit the number of matching ideographs include the number of horizontal strokes used to draw the ideograph, and the classification of a certain part of the ideograph above the lower right corner.
  • Yet another conventional ideograph classification system makes use of a classification ideographs based on the basic strokes from which each ideograph is built.
  • each ideograph being composed of between 1 and 33 such strokes.
  • Ideographs may be classified by a small number of basic strokes, preferably according to strict rules regarding the order of stroke entry.
  • the operator specifies only the first and last basic strokes of the desired ideograph, then selects from a display of all ideographs sharing this first-last basic stroke combination.
  • Kana which includes hiragana and katakana.
  • ideographs are frequently combined with kana.
  • Kana may be may specified phonetically, for example, to designate the hiragana pronounced "ko" an operator of a Japanese word processing system may type "k” and then "o" on a Latin alphabetic keyboard or may type a single key associated with this hiragana.
  • Kana has multiple uses in a Japanese word processing system. Kana may represent itself, since kana may stand alone in Japanese text.
  • kana may be used to specify Japanese ideographs, either by specifying the radicals which compose Japanese ideographs or by specifying the pronunciation of Japanese ideographs.
  • a sequence of phonetic units specified by kana may represent that sequence of kana, a single Japanese ideograph, multiple Japanese ideographs, or a combination of one or more Japanese ideographs and one or more kana.
  • a single Japanese ideograph may have multiple pronunciations, including a Japanese pronunciation and a Chinese pronunciation, and may have multiple kana spellings.
  • Another drawback of many word processing systems for ideographic languages relates to the ease of copying a document. Ideally, the operator concentrates on the document to be copied, only occasionally scanning text he has input. For those word processing systems that display ideographs on a display for the operator's selection, the operator must frequently shift his gaze from the document to the display and back again. The operator cannot concentrate on both the document and the display simultaneously.
  • Ideographs also include the symbols of symbol sets used for communication by individuals who have hearing, speech or language impairments, for teaching literacy skills to those lacking them, including pre-literate children and individuals with intellectual disabilities, and for intemational written communication.
  • symbol sets include, but are not limited to, each of the following: Picture Communication Symbols, Rebus, Picsy .
  • Individuals who have not acquired or who have lost their literacy skills may use symbolic symbol sets in learning to read. If the individual lacks fine motor control, for example, due to cerebral palsy, the individual's disability may inhibit the acquisition of literacy skills by, for example, inhibiting repetition of an exercise by the individual, by limiting the individual's ability to participate in the classroom, or by making skill assessment by a teacher difficult so that the teacher may incorrectly believe that remediation is necessary or that a particular skill has been mastered. If the individual also has impaired speech, literacy acquisition is more difficult still.
  • Communication Symbols contains approximately 1800 symbols
  • Rebus contains approximately 800 symbols
  • Picsyms contains approximately 1800 symbols
  • Pictogram Ideogram Communication Symbols contains approximately 400 symbols
  • Blissymbolics contains approximately 1400 symbols.
  • One object of the invention is to display a menu of sequences of one or more ideographs on a display so that a large contiguous area on the display is not obstructed by the menu.
  • Another object of the invention is to facilitate ideograph entry in word processing systems for the Chinese. Japanese and Korean languages.
  • Still another object of the invention is to speed selection of sequences of graphics including one or more ideographs.
  • Yet another object of the invention is to allow an operator of a word processing system for an ideographic language to select a sequence of one or more ideographs without lifting either hand from the keyboard.
  • a further object of the invention is to indicate to an operator the progress toward selection of a dwell-selectable sequence of one or more ideographic characters.
  • a still further object of the invention is to synthesize speech for an operator having impaired speech.
  • an apparatus for selecting a menu option from a menu Each menu option is associated respectively with a selectable region on a display area.
  • the apparatus includes (a) the display area; (b) means for delimiting a plurality of selectable regions, each of the selectable regions associated respectively with a menu option and each of the selectable regions.
  • the menu options are each respectively associated with a selectable region on a surface which includes a display area.
  • the selectable regions together at least partially circumscribe a region on the display area.
  • An operator indicates a location on the surface with a body member.
  • the method comprises the steps of: (a) confining the location indicated by the body member of the operator to the display area; and (b) selecting, in response to the period of one or more intersections of the location indicated by the movement related signal and any one selectable region equalling or exceeding a predetermined period, the menu option associated with the intersected selectable region.
  • the method and apparatus of the aspect of the invention disclosed above and other aspects of the invention permits an NMD operator to utilize for computer access his relatively unimpaired motor capabilities, in particular, gross motor control, in lieu of, or as a supplement to, his impaired motor capabilities.
  • the method and apparatus of the invention also reduces the interference of menu option displays with the display of information.
  • an apparatus for indicating dwell time comprising a surface having a region thereon; movement receiving means for receiving a movement related signal indicating successive locations; and indicating means for indicating at least the duration of a period of intersection of two or more of the successive locations indicated by the movement related signal and the region.
  • a method of indicating dwell time comprising the steps of displaying a selectable region on a surface; receiving a movement related signal indicating a first location intersecting the region and. at a later time, a second location intersecting the region; and indicating the difference between the time of the second location and the time of the first location.
  • an apparatus for selecting a menu option from a menu Each menu option is associated respectively with a selectable region shown on a surface.
  • the apparatus includes (a) means for moving a cursor on the surface in response to a movement related signal, for example, a computer program which moves a cursor on the surface reflecting the operator's movement of a mouse; and (b) means for selecting the menu option associated with the selectable region most nearly along a cursor path (1 ) prior to an intersection of the cursor and the selectable region most nearly along the cursor path, (2) upon intersection of the cursor and the selectable region most nearly along the cursor path, or (3) in response to the period of intersection equalling or exceeding a predetermined period.
  • a method for selecting a menu option from a menu Each menu option is associated respectively with a selectable region shown on a surface.
  • the method includes the steps of (a) displaying the selectable regions on the surface, (b) detecting a movement related signal and in response moving a cursor on the surface, and (c) selecting the menu option associated with the selectable region most nearly along a cursor path (1) prior to an intersection of the cursor and the selectable region most nearly along the cursor path, (2) upon intersection of the cursor and the selectable region most nearly along the cursor path, or (3) in response to the period of intersection equalling or exceeding a predetermined period.
  • an apparatus for measuring an individual's ability to move one of the individual's body members directly from a starting position to an ending position includes: (a) receiving means for receiving a sampling among data indicative of successive positions of the body member; and (b) measurement means for measuring any deviation of the path indicated by the received position data from a direct path between the starting position and the ending position.
  • the objects mentioned in the Background Art section describing the above aspect of the invention and other objects and advantages are also attained, according to the present invention, by a method for measuring an individual's ability to move one of the individual's body members directly from a starting position to an ending position. The method includes the steps of: (a) receiving a sampling among data indicative of successive positions of the body member; and (b) measuring any deviation of the path indicated by the received position data from a direct path between the starting position and the ending position.
  • an apparatus for selecting an option from a menu comprises cursor movement means for receiving a movement related signal and for moving a cursor on a display responsive to the received movement signal; delimit means for delimiting with respect to the display a first plurality of regions and a second plurality of selectable regions, each of the first plurality of regions associated respectively with one of the second plurality of selectable regions, each of the second plurality of selectable regions associated respectively with a menu option, wherein at least one of the first plurality of regions is not coterminous with its associated one of the second plurality of selectable regions; and selection means, responsive to an intersection of the cursor and any one of the first plurality of regions and to a selection event associated with the one of the second plurality of selectable region associated with the intersected one of the first plurality of regions, for selecting the menu option associated with the selectable region associated with the selection event.
  • a method of selecting an option from a menu comprising the steps of: receiving a movement related signal and moving a cursor on a surface responsive thereto; delimiting a first plurality of regions and a second plurality of selectable regions with respect to a surface, each of the first plurality of regions associated respectively with one of the second plurality of selectable regions, each of the second plurality of selectable regions associated respectively with a menu option; wherein at least one of the first plurality of regions is not coterminous with its associated one of the second plurality of selectable regions: and responsive to an intersection of the cursor and any one of the first plurality of regions and to a selection event associated with the one of the second plurality of selectable region associated with the intersected one of the first plurality of regions, selecting the menu option associated with the selectable region associated with the selection event.
  • an apparatus including a surface on which may be displayed a moveable cursor, said apparatus allovving an operator to align a pointer with a predetermined location on the surface.
  • the apparatus includes a display means for displaying the cursor on the surface; movement related signal receiving means for receiving a movement related signal; and control means for moving the cursor in response to the movement related signal and for thereafter inhibiting movement of the cursor for a first period of time in response to an operator action detected by the movement related signal receiving means.
  • a method for use in a system comprising a pointer and a surface on which is displayed a first cursor whose movement on the surface is responsive to the movement of the pointer, of aligning the first cursor with a predetermined location on the surface.
  • the method includes the steps of: (a) producing the first cursor on the surface; (b) moving the first cursor responsive to the movement of the pointer, said movement restricted to a region on the surface; and then (c) responsive to an operator action, producing a second cursor at a predetermined location on the surface for a period of time; and (d) moving the first cursor in or in close proximity to the predetermined location.
  • an apparatus for use in a menu interface system orders a plurality of named menu options at least in part according to the order of the length of each of the names of the name menu options, and then displays the named menu options in that order
  • a method of data entry for use with a computer According to the method, a plurality of named menu options are displayed at least in part according to the order of the length of each of the names of the name menu options. Each named menu option is associated respectively with a sequence of one or more characters. A selection event is associated with one of the named menu options and the sequence of one or more characters associated with the selected named menu option is input to an application program executing on the computer.
  • an apparatus for indicating the location of the selectable region associated with a menu option Each menu option is associated respectively with a selectable region.
  • the apparatus includes (a) means for at least partially delimiting the selectable regions; and (b) indication means for displaying each menu option such that the displayed menu option indicates the location of the associated selectable region. None of the displayed menu options intersects the selectable region associated therewith.
  • a method of indicating the location of the selectable region associated with a submenu option in a menu hierarchy comprises the steps of: at least partially delimiting the plurality of selectable regions; and displaying a plurality of submenu indicating regions.
  • Each submenu indicating region is associated respectively with one of the submenu options and each submenu indicating region is displayed in a manner indicating the location of the selectable region associated with the submenu option associated with the submenu indicating region.
  • an apparatus for selecting a menu option from a plurality of menu options Each menu option is displayed on a display and associated respectively with a sound.
  • the apparatus includes: (a) means for displaying the menu on the display; (b) means for receiving a sound signal; (c) means for matching the received sound signal to any one of sounds: and (d) means for selecting the menu option associated with the matched sound.
  • a method of selecting a sequence of one or more graphic symbols from a plurality of sequences of one or more graphic symbols, one or more sequences of the plurality of sequences including one or more ideographs comprises the steps of displaying on a display the plurality of sequences, each of the plurality of sequences having a common characteristic and each associated respectively with a sound indicator: matching a sound to any one of the plurality of sound indicators: and selecting the sequence of the plurality of sequences associated with the matched sound indicator.
  • a method for selecting a single sequence of one or more ideographs from a menu of several such sequences Each sequence is respectively associated with a selectable region on a surface which includes a display area.
  • the selectable regions together at least partially circumscribe a region on the display area.
  • An operator indicates a location on the surface with a body member.
  • the method comprises the steps of: (a) displaying the selectable regions on the surface so that they at least partially circumscribe a region on the display area; and (b) selecting, in response a selection event, the sequence indicated by the operator.
  • FIG. 1 is an illustration of a display showing a conventional on-screen keyboard.
  • FIG. 2 is an illustration of a display showing a conventional on-screen keyboard and output from a word processing application program.
  • FIG. 3, 4 and 5 are each illustrations of the display of each step of letter selection using a conventional quaternary on-screen keyboard.
  • FIG. 6 is an illustration of a display showing a conventional quaternary on-screen keyboard and output from two application programs.
  • FIG. 7 is an illustration of a conventional device implementing joystick patterns.
  • FIG. 8 is an illustration of a display of a conventional eye gaze system.
  • FIG. 9 and 10 are each illustrations of a display showing a conventional menu.
  • FIG. 1 1 depicts examples of symbols from the Picture Communication Symbols, Rebus, PicSy and Blissymbols symbol sets.
  • FIG. 12(a) - FIG. 12(d) depict examples of symbols from the Pictogram Ideogram Communication Symbols symbol set.
  • FIG. 13(a) - FIG. 13(j) depict examples of symbols from the Yerkish symbol set.
  • FIG. 14 is a block diagram of a computer which may be utilized in accordance with the present
  • FIG. 15 is a block diagram of a speech synthesis system which may be utilized in accordance with the present invention.
  • FIG. 16 is an illustration of software components of an apparatus in accordance with an embodiment of the Perimeter Menu aspect of the invention.
  • FIG. 17 and 18 are each illustrations of a display and structures in accordance with an embodiment of the Perimeter Menu aspect of the invention.
  • FIG. 19 is an illustration of a display and structures in accordance with another embodiment of the Perimeter Menu aspect of the invention.
  • FIG. 20 is an illustration of a display and structures in accordance with still another embodiment of the Perimeter Menu aspect of the invention.
  • FIG. 21 is an illustration of a display and structures in accordance with another embodiment of the Perimeter Menu aspect of the invention.
  • FIG. 22 is an illustration of a display and structures in accordance with yet another embodiment of the Perimeter Menu aspect of the invention.
  • FIG. 23 is an illustration of an apparatus in accordance with a further embodiment of the Perimeter Menu aspect of the invention.
  • FIG. 24 and 25 are each illustrations of a display and structures in accordance with another embodiment of the Perimeter Menu aspect of the invention.
  • FIG. 26 and 27 illustrate an apparatus in accordance with still another embodiment of the Perimeter Menu aspect of the invention.
  • Figure 26 depicts a front view of the apparatus.
  • Figure 27 depicts a cut away view from the top of the apparatus.
  • FIG. 28 is a top view of a headrest in accordance with an embodiment of the Perimeter Menu aspect invention.
  • FIG. 29 and 30 illustrate the state table aPocketFsm in accordance with the preferred embodiment of the Perimeter Menu aspect of the invention.
  • FIG. 31 is an illustration of a display and structures in accordance with the preferred embodiment of the Confinement aspect of the invention.
  • FIG. 32 is an illustration of a display and structures in accordance with another embodiment of the Confinement aspect of the invention.
  • FIG. 33 is an illustration of a display and structures in accordance with another embodiment of the Confinement aspect of the invention.
  • FIG. 34 is an illustration of an apparatus in accordance with the Dwell aspect of the invention and with the Path Directness aspect of the invention.
  • FIG. 35 is an illustration of another apparatus in accordance with the Dwell aspect of the invention.
  • FIG. 36 is an illustration of still another apparatus in accordance with the Dwell aspect of the invention.
  • FIG. 37 is an illustration of yet another apparatus in accordance with the Dwell aspect of the invention.
  • FIG. 38 is an illustration of another apparatus in accordance with the Dwell aspect of the invention.
  • FIG. 39 is an illustration of a display and structures in accordance with the preferred embodiment of the Path Directness aspect of the invention.
  • FIG. 40 is an illustration of a display and structures in accordance with an embodiment of the Path Directness aspect of the invention.
  • FIG. 41 is an illustration of a display and structures in accordance with another embodiment of the Path Directness aspect of the invention.
  • FIG. 42 is an illustration of a display and structures in accordance with another embodiment of the Path Directness aspect of the invention.
  • FIG. 43 is an illustration of a display and structures in accordance with another embodiment of the Path Directness aspect of the invention.
  • FIG. 44. 45 and 46 are each illustrations of a display and structures in accordance with the preferred embodiment of the Intersection aspect of the invention.
  • FIG. 47 and 48 are each illustrations of a display and structures in accordance with another embodiment of the Intersection aspect of the invention.
  • FIG. 49, 50 and 51 are each illustrations of a display and structures in accordance with the preferred embodiment of the Alignment aspect of the invention.
  • FIG. 52 is an illustration of a display and structures in accordance with the preferred embodiment of the Location Indication and the Length Order aspects of the invention.
  • FIG. 53 is an illustration of a display and structures in accordance with an embodiment of the Location Indication aspect of the invention.
  • FIG. 54 and 55 are each illustrations of a display and structures in accordance with another embodiment of the Location Indication aspect of the invention.
  • FIG. 56 is an illustration of a display and structures in accordance with a still further embodiment of the Location Indication aspect of the invention.
  • FIG. 57 is an illustration of a display and structures in accordance with a further embodiment of the Location Indication aspect of the invention.
  • FIG. 58 and 59 are illustrations of a display and structures in accordance with the preferred embodiment of the Sound Match aspect of the invention.
  • FIG. 60 is an illustration of a display and structures in accordance with another embodiment of the Sound Match aspect of the invention.
  • FIG. 61 is an illustration of a display and structures in accordance with another embodiment of the Sound Match aspect of the invention.
  • FIG. 62 is a block diagram of a speech recognition system which may be utilized in accordance with the Sound Match aspect of the invention.
  • FIG. 63 is an illustration of software components of an apparatus in accordance with an embodiment of the Sound Match aspect of the invention.
  • FIG. 64 is an illustration of a display and structures in accordance with the preferred embodiment of the Ideographic Language aspect of the invention.
  • FIG. 65 is an illustration of a display and structures in accordance with another embodiment of the Ideographic Language aspect of the invention.
  • FIG. 66 is an illustration of a display and structures in accordance with still another embodiment of the Ideographic Language aspect of the invention.
  • FIG. 67 is an illustration of a display and structures in accordance with yet another embodiment of the Ideographic Language aspect of the invention.
  • Figures 15 depicts a block diagram of the hardware components of the prototype (2214), including a conventional general purpose computer system (2218), an optional pointer (2202), an optional printer (2220) and a speech synthesizer (2206).
  • the general purpose computer system (2218) includes a conventional computer system (21 16), a storage unit (2208), a keyboard (2210), and a diskette drive (2216).
  • Figure 14 depicts a block diagram of the conventional computer system (21 16). including a processing unit (2102) and a display (21 12).
  • the processing unit (2102) includes a processor (2104), a memory (2106) and control circuitry (2108).
  • the prototype employs the Toshiba T6400DXC general purpose computer system manufactured by Toshiba Corporation. Kawasaki, Japan.
  • the T6400DXC is preferably substituted with the IBM ThinkPad 755C computer system, part number 9545F0C. manufactured by IBM Corporation, Armonk. New York. USA. because the former requires a 1 10VAC power source while the latter is powered by an integral battery.
  • An integral battery allows an NMD operator to use the system when a 100VAC source is not available or when attaching to a 1 10VAC power source is inconvenient.
  • the prototype further includes a head mounted pointer communicating via an infrared link with the computer system so that there are no cables tethering the operator to the computer system. Any cable between the operator and the computer system would have to be connected, probably by an attendant since the operator may lack the fine motor skills required to make such a connection.
  • Preferably computer access can be accomplished independently by the operator.
  • the choice of a pointing device is primarily dictated by the particular capabilities of the operator. Usually the best pointing device for a particular operator is the one drawing on that operator's best motor control. For example, if an operator's foot control is superior to his head control, a pointing device using his foot is preferably to a head pointer.
  • the prototype employs the Remote Headmaster® manufactured by the Prentke Romich Company, Wooster. Ohio, USA.
  • the combination of the HeadMaster® Plus, part number HM-1P, HeadMaster® Plus Remote Adapter, part number HM-RA. and HeadMaster® Plus Laptop Adapter, part number HM-LA, all available from the Prentke Romich Company is preferable because the headset is more comfortable and the HeadMaster® Plus ultrasonic transmitter mounts more easily on a laptop computer system than the Remote Headmaster ultrasonic transmitter.
  • the preferred embodiment further includes a battery powered printer, the MobileWriter®, part number 730879, manufactured by Mannessmann Tally Corporation, Kent, Washington, USA and a speech synthesizer, the Multivoice Speech Synthesizer, part number MV2-SS, manufactured by The Institute on Applied Technology, Children's Hospital, Boston, Massachusetts, USA.
  • the pointer (2202) is a device which provides data concerning the relative or absolute position of the operator or any body member of the operator.
  • the display (21 12) and pointer (2202) together provide for the interactive nature of the general purpose computer system (2218) in that, in accord with the various aspects of the invention, the inte ⁇ retation that the processor (2104) gives to a certain pointer action made by the operator depends, in the majority of situations, upon what is being displayed to the operator at that time.
  • the prototype (2214) shown in Figure 15 further includes a keyboard (2210), which functions to provide input from an able-bodied operator to the general pu ⁇ ose computer system (2218).
  • the keyboard (2210) is useful for configuration, diagnostic and backup pu ⁇ oses. functions which are performed relatively infrequently and usually require an able-bodied person for ancillary activities, for example, loading backup media into the general pu ⁇ ose computer system.
  • the prototype (2214) also optionally includes a printer (2220) which functions to provide hard copy output of data developed or stored in the general pu ⁇ ose computer system, and a speech synthesizer (2206), which functions to provide speech output for utterances and words composed using or retrieved from the general pu ⁇ ose computer system (2218).
  • the couplings between the devices depicted in Figure 15 may be made by any means which permits the orderly and timely exchange of data across the interface.
  • the interfaces between the pointer (2202) and the general pu ⁇ ose computer system (2218) and between the general pu ⁇ ose computer system (2218) and the speech synthesizer (2206) conform to the Electronic Industries Association RS-232 interface specification.
  • the interface between the general pu ⁇ ose computer system (2218) and the printer (2220) conform to the Centronix 50 pin parallel interface specification.
  • the software component of the prototype are stored in memory (2106) and executed on the processing unit (2102).
  • the software component of the prototype depicted in Figure 16, include a software driver (1202), an operating system (1204), an optional database program (1210), and the prototype access program code and data, hereinafter collectively referred to as the "access program" (1206).
  • one or more application programs (1208) may also execute on the processing unit (2102) and accept control and data from the access program (1206) via the operating system (1204).
  • the software driver (1202) of the prototype is the Logitech Mouse Driver included with Windows® version 3.1.
  • the operating system (1204) of the prototype is Windows® version 3.1 in combination with MS-DOS® version 6.2.
  • the operating system is referred to simply as "Windows®", available from Microsoft Corporation, Redmond. Washington, USA.
  • the optional database program (1210) is described in the detailed description of the Length Order aspect of the invention.
  • the prototype access program (1206) is described in detail below.
  • the software components of the prototype are stored in memory (2106).
  • portions of these programs may be transferred as needed between memory (2106) and the storage unit (2206) or between memory (2106) and a diskette in the diskette drive (2216) depicted in Figure 15.
  • the basic function of the storage unit (2206) and the diskette drive (2216) is to store programs and data that are employed by the general pu ⁇ ose computer system (2218) and which may readily be transferred to the memory (2106) when needed.
  • the processing unit of the general pu ⁇ ose computer system may be substituted with a microprocessor coupled to custom electronics for performing the functions of the various aspects of the invention, or the color display of the prototype may be substituted with a monochrome display.
  • a selectable region is a region, delimited with respect to a display or a surface, and associated with a menu option which may be selected, usually by a selection event.
  • a subregion is a selectable region that is included within another selectable region. Thus a subregion is, by itself, a selectable region. Assuming that a certain selectable region includes subregions A and B, dwell time on subregions A and B may be combined, for example, by summing, so that dwelling on either subregion A or B or a combination of both for the selection threshold period selects the menu option associated with the selectable region.
  • Figure 17 shows the display (21 12) of a general pu ⁇ ose computer system (2218 in Figure 15) and eight selectable regions.
  • Each of the eight selectable regions consists of the union of a visible subregion on the display (21 12) and an invisible subregion located outside the display (21 12) and adjacent the visible subregion.
  • the selectable region at 1 1 o'clock in Figure 17 labeled with menu option "vort ⁇ space>x" consists of invisible subregion (0104) and visible subregion (0106), and within this description of the Perimeter Menu aspect of the invention is refe ⁇ ed to as selectable region (0104/0106).
  • selectable regions shown in Figure 17, proceeding counter clockwise from selectable region (0104/0106) are (0108/01 10), (01 12/01 14), (01 16/01 18), (0120/0122). (0124/0126), (0128/0130) and (0132/0134). Each subregion may be sized to suit the operator's preferences and abilities.
  • Each selectable region is associated respectively with a menu option.
  • selectable region (0104/0106) is associated with menu option vort ⁇ space>x.
  • Selectable regions may be delimited by data indicative of one or more boundaries of the selectable region. Equivalently, the delimit means may be detectors operative to determine when the location indicated by the movement related signal has crossed one of those boundaries or intersects a selectable region. A partially delimited region or subregion is one which is unbounded on at least one side.
  • the operator moves a pointer (2202 in Figure 15) coupled to the general pu ⁇ ose computer system (2218 in Figure 15) to indicate a location on the selectable region, including either subregion, associated with the desired menu option and maintains the indicated location on the selectable region for the selection threshold period.
  • the period of time required for selection may vary responsive to the proximity of the indicated location to the location of a cursor on the display or to the proximity of the indicated location to a point within the intersected selectable region. Dwell time may be continuous, discontinuous or dynamic (described below) for either or both subregions of the selectable region. Selection in the above example is in response to a dwell event.
  • a dwell event includes, but is not limited to, each of the following: (a) the durations of one or more periods of intersection of locations indicated by a movement related signal, a body member or a cursor (including any part of the cursor) and a selectable region equalling or exceeding a predetermined period; (b) a first quantity responsive to the durations of the periods referred to in (a) equalling or exceeding a predetermined quantity; (c) dwell event (a) or (b) follow ed by a location indicated by the movement related signal, the body member or the cursor no longer intersecting the intersected selectable region; and (d) dwell event (a) or (b) wherein the period of intersection required for selection of a selectable region increases in response to a non- intersection or a period of non- intersection of locations indicated by the movement related signal, the body member or the cursor and the selectable region ("dynamic dwell event").
  • dynamic dwell The use of non-intersection or a period of non- intersection in determining the duration of a period of intersection required for selection is called dynamic dwell.
  • an intersected selectable region This is the selectable region intersected by the location indicated by the movement related signal, bod> member or cursor which triggers the dwell event by causing the period or the first quantity to equal or exceed the predetermined period or the predetermined quantity, respectively.
  • Selection may also be in response to a selection event.
  • a selection event includes, but is not limited to: (a) a dwell event; (b) a switch operation at or near the time of an intersection of a location indicated by a movement related signal, a body member or a cursor and a selectable region; (c) an intersection of a location indicated by a movement related signal, a body member or a cursor and a selectable region; and (d) selection event (c) followed by a location indicated by the movement related signal, the body member or the cursor no longer intersecting the selectable region it previously intersected.
  • an intersected selectable region is associated with each type of selection event. This is the selectable region intersected by the location indicated by the movement related signal, body member or cursor.
  • a selection event may be indicated to the operator, for example, visually by changing the cursor appearance or location, by changing location, size, shape, hue, brightness, contrast, tone, dithering, pattern, hatching, font or fill of an object on the surface, or by displaying a graphic or a point distinguishable from its immediate surroundings on a surface or removing a graphic or point distinguishable from its immediate surroundings from a surface; auditively by generating a sound or changing the pitch or volume of an extant sound: tactilely by changing the surface or temperature of a contact area or the pressure exerted b ⁇ a contact area: or by other means.
  • the hue of the visible subregion of the selected selectable region is changed from green to magenta.
  • a cursor includes a temporary marking on a display which emphasizes to an operator, in an optical manner, a momentarily important location or object.
  • body member means any part of the body including, but not limited to, each of the following: the shoulder, arm, elbow, wrist, hand, finger, thumb, leg, knee, ankle, foot, toe, hip, trunk, neck, tongue, lip, eye and head.
  • the received movement related signal includes, but is not limited to, a signal indicative of movement or from which movement can be derived, such as a plurality of relative or absolute positions or a difference between two relative or absolute positions.
  • Movement related signal receiving means includes, but is not limited to, each of the following: (a) pointer interface circuitry found in a general purpose computer system; (b) one or more detectors operative to detect movement of a pointer: and (c) one or more detectors operative to detect movement of a body member of an operator.
  • the movement related signal receiving includes electronic circuitry in the general pu ⁇ ose computer system (2218) operative to receive the movement related signal generated in part by the movement of the pointer (2202).
  • subregions are displayed on the display (21 12).
  • other means for displaying may be substituted for the means used in the prototype, for example, a projector for projecting an image, a surface having a static display thereon, or other suitable means.
  • each of six selectable regions is now associated with a submenu option of the selected menu option "vort ⁇ space>x".
  • Selectable region (0104/0106) is now associated with submenu option " ⁇ space>", selectable region (0108/01 10) with submenu option "o", selectable region (01 12/01 14) with submenu option "t”, selectable region (0124/0126) with submenu option "x”.
  • Selectable regions (01 16/01 18) and (0120/0122) remains associated with the same menu options with which each was associated in Figure 17. The operator may now select one of these submenu options.
  • the selected character may be input to an apparatus coupled to the general pu ⁇ ose computer system (2218 in Figure 15), or input to an application program ( 1208) executing on the general purpose computer system (2218) coupled to the display (21 12).
  • Inputting, as used herein, includes, but is not limited to, generating or passing signals representative of the selected menu option along a path toward the destination apparatus or program.
  • the computer program displays at least some of its output in the circumscribed region (0150).
  • an operator may, with a single selection indicate one of eight menu options, with two selections indicate one of up to 64 different menu options, with three selections indicate one of up to 256 menu options, etc.
  • Each of these menu options may represent a sequence of one or more characters, a sequence of one or more data or control inputs to an application program (1208), or a control function for one or more devices or speech synthesizers coupled to the general pu ⁇ ose computer system (2218).
  • a character includes a space, a control character as defined by the American National Standards Institute (ANSI) or the American Standard Code for Information Exchange (ASCII), and a letter from one of the Cubaans. Bulgarian. Amharic.
  • each of a character, ideograph, control input and control function includes a computer encoding of the same.
  • a device includes, but is not limited to, each of a wheelchair, a household appliance, an appliance for use in an office, a workstation, a robot, and a computer peripheral. Thus, by selecting from a menu, the operator may.
  • the selectable regions organized as described above help an NMD operator make the menu selection he intends.
  • an NMD operator intends to move a pointer (2202) that is indicating point (0154) to indicate point (0156), a location in subregion (0130), but who is unable to quickly stop motion, so that the location indicated by the pointer (2202) moves from point (0154) past point (0156) to point (0158). Because point (0158) lies within the same selectable region (0128/0130) as the overshot subregion (0130), dwelling at point (0158) operates to select the intended selectable region (0128/0130). Invisible subregions.
  • the Perimeter Menu aspect of the invention may extend outward from the edge of the display (21 12) to infinity.
  • dwelling at point (0162) would operate to select selectable region (0128/0130).
  • invisible subregions extend a finite distance from the edge of the display (21 12). In such an embodiment, dwelling at point (0162) would not operate to select selectable region (0128/0130).
  • the sizes of the invisible subregions shown in Figures 17 and 18 are illustrative only.
  • the size of each invisible subregion is large enough to encompass overshoot but small enough to avoid unintentional selections when the NMD operator turns to see someone or something.
  • the prototype utilizes the area outside the display to facilitate menu selection by a disabled operator. If an operator has impaired ability to maintain a steady position, he can point to a relatively large invisible subregion outside the display which is more forgiving of the operator's involuntary motion than the relatively small selectable regions on the display in conventional on ⁇ screen keyboards. Thus, the effective area of a selectable region is expanded beyond the region's visible subregion shown on a display. If an operator has impaired ability to stop motion he may, starting from the center of the screen, point to any selectable region. His impaired ability' to stop will not impair his ability to select his intended target, assuming his directional control is relatively unimpaired, since, in the prototype, each selectable region is unbounded on its side furthest from the center of the display.
  • the Perimeter Menu aspect of the invention is preferably implemented on a general pu ⁇ ose computer system. If the general pu ⁇ ose computer system is coupled to a speech synthesizer and the menu hierarchy allows the selection of letters and/or words, an operator having impaired speech may speak using the speech synthesizer. If a word processing or data entry application program is run on the general pu ⁇ ose computer system, the operator may enter words or data, respectively, for input to the application program. If the general purpose computer system is coupled to a devices capable of executing commands and the menu hierarchy allows the selection of commands, a disabled operator may select and issue commands to control these devices.
  • the prototype places less cognitive demand on the operator than a scanning system for selecting options from a menu.
  • Figure 19 illustrates a display in accordance with an alternative embodiment of the Perimeter Menu aspect of the invention having eight selectable regions circumscribing a central region (6950) on the display.
  • Figure 20 illustrates a display in accordance with an embodiment of the Perimeter Menu aspect of the invention having twenty selectable regions circumscribing a central region (0806) on the display .
  • Figure 21 illustrates a display in accordance with an embodiment of the Perimeter Menu aspect of the invention having four selectable regions (0508), (0506), (0504) and (0502) circumscribing a central region (0510) on the display.
  • Figure 22 illustrates a display in accordance with an embodiment of the Perimeter Menu aspect of the invention having four selectable regions (4008), (4006), (4004) and (4002) with no space between them other than a circumscribed region (4010) on the display.
  • Figure 23 illustrates an apparatus in accordance with of another embodiment of the Perimeter Menu aspect of the invention.
  • region (3510) is located on interior display (3514) which is circumscribed by peripheral display (3512).
  • Selectable regions (3508), (3535), (3504) and (3502) are located on the peripheral display (3512).
  • Figures 24 and 25 are each illustrations of a display and structures in accordance with another embodiment of the Perimeter Menu aspect of the invention.
  • Figure 24 depicts ten selectable regions (6502), (6504), (6506), (6508), (6510), (6512), (6514), (6514), (6516), (6518), and (6520).
  • Each selectable region is located on the display (21 12) adjacent the edge of the display and associated respectively with a menu option.
  • the menu options are shown on their associated selectable region. Together the ten selectable region circumscribe region (6550) on the display.
  • the display changes to that shown in Figure 25, on which are located ten selectable regions each located on the display (21 12) adjacent the edge of the display, nine of the ten selectable regions associated respectively with a submenu option.
  • Selectable region (6608) is not associated with a submenu option. Any submenu option may be selected by a selection event.
  • Figures 26 and 27 illustrate an apparatus in accordance with still another embodiment of the Perimeter Menu aspect of the invention.
  • Figure 26 depicts a front view of the apparatus;
  • Figure 27 a cut away view from the top of the apparatus.
  • Figure 26 depicts detector area (0348 in Figure 27) on, in or below which are located a plurality of selectable regions (0304), (0306), (0308), (0310), (0312), (0314), (0316), (0318), (0320), (0322), (0324), (0326), (0328), (0330), (0332), (0334), (0336), (0338), (0340) and (0342).
  • Adjacent the detector area (0348 in Figure 27) is a berm (0350 in both Figure 26 and 27) for confining a body member of the operator or a pointer controlled by the operator to the detector area (0348 in Figure 27).
  • Figure 28 depicts a headrest for an operator using his head to indicate a location on a display.
  • Figure 28 shows an irregularity (0703) on the surface (0701 ) of the headrest.
  • the irregularity is in physical contact with the operator and tactilely indicates to him the position of his head.
  • the tactile indication means may be concave, convex or both or may differ from the surface in temperature. For individuals having impaired ability to sense the position of a body member, e.g. the operator's head, the tactile input thus provided to the operator improves the operator's ability to sense the position of his head.
  • a state table is a tool for processing sequential inputs and is most easily understood by analogy. Imagine yourself in a room having a ticket window and three exits, each regulated by a turnstile. You collect a ticket at the ticket window which, when inserted into the appropriate turnstile, allows passage to a connecting room. The turnstile keeps the ticket. Any given ticket operates only one turnstile in a room, though different tickets may operate the same turnstile. You begin in a certain room, collect a ticket, insert it into the appropriate turnstile and pass to a connecting room, where you perform certain tasks associated with the new room. Then you collect another ticket from the ticket window in that room, insert the ticket into the appropriate turnstile in that room, pass to a connecting room, perform certain tasks associated with the new room, and so on.
  • the state table used in the prototype is depicted in Figures 29 and 30.
  • the rooms are states represented by the rows of the state table; the tickets are events represented by the columns of the state table.
  • Each entry in the state table represents a passage from one state to another.
  • the tasks performed upon entry into a room correspond to the processing performed by the processor (2104) on entry to a new state ("state processing").
  • state processing may cause a slight lightening of the color of a selectable region. Reentry into that state five times may successively lighten a selectable region five times.
  • each selectable region is directly controlled by one associated state machine.
  • Each state machine directly controls only its associated selectable region.
  • Each state machine includes data uniquely associated with its associated selectable region, the shared state table shown in Figures 29 and 30, and the shared code for state processing, described below. This embodiment means that the state machine associated with selectable region ( 1614) may be in state ST SELECTED while the state machine associated with selectable region (1602) is in state
  • the state table used in the prototype defines 18 states, composed of states zero through seventeen shown in Figures 29 and 30.
  • State 1 (ST_ERROR_STATE in Figure 29) is not used. Preferably, it is omitted.
  • the differences between the several state machines for example, the state of a particular state machine at any given time, are confined to data structures associated with that state machine.
  • the state machines share the same code and the same state table. In other words, returning to the ticket and turnstile analogy, there are multiple travelers each with his own ticket (event) and his own baggage (data) moving from room to room in the same labyrinth. Each traveler's actions in each room usually affect only his own baggage.
  • External events are generated outside the state table, for example, by the operator moving the pointer (2202) or by a timer expiring.
  • Pointer movement may generate an event indicating that the operator has moved the cursor across the selectable region boundary from without the selectable region to within it. This event causes a transition from one state to another ("drives" a state machine to a new state). For example, assuming a state machine is in state ST_CREST_TIDE, row 6 in the state table shown in Figure 29, when an event EV_CROSS_OUT. column 4 of the state table, occurs. At the intersection of row 6 and column 4 is a 7.
  • event EV_CROSS_OUT drives the state machine from state ST_CREST_TIDE to state ST SELECTED.
  • the computer performs the state processing associated with the new state.
  • Internal events are generated during state processing to handle circumstances where a first state transition is made due to an external event and the processing associated with the new state determines that a second state transition is necessary.
  • the first, external, event has already been used so a second, intemal, event is generated by the state.
  • the cursor may sit without moving on a selectable region for a considerable period of time. It is desirable to detect this condition, move the cursor to the center of the screen so the operator can easily find the cursor, and reset all selectable regions to their initial color. Detection is accomplished with a timer.
  • state ST IDLE which centers the cursor. From there it is desirable to transition to state ST_RESET which, among other processing, initializes selectable region color.
  • state ST_RESET which, among other processing, initializes selectable region color.
  • the transition from state ST IDLE to state ST RESET is driven by an intemal event, generated by state ST IDLE state processing.
  • each state machine may be equivalently represented as an instantiation of a selectable region class for processing inputs affecting a particular selectable region.
  • processors may include processors, electronic circuitry, state tables or code for state processing used for processing fewer than all the selectable regions or used to process certain selectable regions at one time and other selectable regions at other times.
  • each state machine processes events independently of all other state machines, though a state machine may send an event to another state machine. For example, when the operator selects a selectable region, the associated state machine sends the event EV RESET to all other state machines so that all selectable regions revert to their respective initial colors.
  • a single operator action may result in the issuance of different events to different state machines. For example, when the operator moves the cursor from without a selectable region to within it, EV_DWELL is sent to the newly indicated state machine. EV_MOVEMENT is sent to all other state machines.
  • the event EV RESET is an intemal event which drives a state machine to its initial state. For example, when the operator has not moved the pointer (2202) for a predetermined period of time, event EV_RESET is sent to all other selectable regions.
  • the event EV_DECAY is an external event which indicates that the cursor hotspot does not intersect the selectable region associated with the state machine.
  • EV DECAY is sent to a state machine periodically when the operator has positioned the cursor hotspot on a selectable region other than the selectable region associated with that state machine.
  • the event EV DWELL is an external event which indicates that the cursor hotspot intersects the selectable region associated with the state machine.
  • EV DWELL is sent to a state machine periodically when the operator has positioned the cursor hotspot on the associated selectable region.
  • the event EV CROSS OUT is an external event which indicates that the cursor hotspot has moved from a location intersecting the selectable region associated with the state machine to a location not intersecting the selectable region. After the operator selects a selectable region, he must move the cursor hotspot out of the selectable region, generating EV CROSS OUT. before he can again select that selectable region.
  • the event EV_STEP_UP is an intemal event which indicates that a selectable region's selection threshold has been satisfied.
  • the event EV MOVEMENT is an external event which indicates that the cursor hotspot has moved. If the cursor hotspot intersects a selectable region without moving for a predetermined period of time, a timeout occurs, causing all state machines to transition to the reset state. EV_MOVEMENT drives the state machine out of the reset state.
  • the event EV_IDLE_TIMEOUT is an external event which indicates that the cursor hotspot has intersected a selectable region without moving for a predetermined period of time. EV_IDLE_TIMEOUT causes the state machine to move the cursor hotspot to the center of the display.
  • the event EV_CEILING is an external event which indicates that the cursor hotspot intersects a selectable region and the color of the selectable region equals the selectable region color ceiling. If the locking feature is enabled, EV CEILING drives the state machine to the begin lock state where it displays the lock icon.
  • the null event, EV_NULL is a multi-purpose intemal event used in a variety of situations to drive a state machine to another state. For example, after a timeout has been detected, EV IDLE TIMEOUT is generated and sent to the appropriate state machine driving it to the idle state, the receiving state machine sends itself EV NULL in order to drive itself to the reset state.
  • EV NULL here allows states to be simpler and the reset state to be reused.
  • the prototype uses eight partially delimited selectable regions. In the description below, the portion of each selectable region shown on the display is referred to as the visible subregion of the selectable region. The portion of each selectable region outside the display is referred to as the invisible subregion of the selectable region.
  • the access program ( 1206) of the prototype only reads hotspot cursor locations within the Windows® cursor clipping rectangle, even though the operator may in fact be pointing to a location outside the Windows® cursor clipping rectangle, e.g. within an invisible subregion.
  • the access program (1206) does not distinguish between two locations indicated by the operator, the first at a first location on the edge of the Windows® cursor clipping rectangle and the second outside the Windows® cursor clipping rectangle whose location is reported by the software driver (1202) to be the first location.
  • the software driver ( 1202) in the prototype reports the cursor hotspot location to be the closest point within the visible subregion (0106). Consequently, in the prototype, all invisible subregions are unbounded on their side furthest from and parallel to the edge of the display.
  • point (0162) in Figure 17 lies within selectable region (0128/0130) since the rightmost side of selectable region (0128/0130) is unbounded.
  • pPocket-> indicates a set of data associated with a particular state machine, in this example, the state machine associated with selectable region (0104/0106).
  • pPocket-> State indicates a particular item of data within the set of data associated with the state machine, in this case, the variable "State”.
  • the Windows® cursor clipping rectangle is set so that most of the arrow cursor is always visible on the display. 2.
  • the cursor, indicating on the display (21 12) the location indicated by the movement related signal receiving means, is positioned at the center of the display.
  • InitialColor RGB (0,32,0) initial value corresponds to a dark green pLabel initial menu option indicates an element within the for the state machine's aLabel array, described below selectable region
  • Ceiling RGB (0,255,0) initial value corresponds to a very light, bright green
  • CrestTide RGB (0, 143,0) initial value corresponds to a light green
  • Lockspot.x a point within the x coordinate of location for the selectable region display of the lock icon located two thirds of the length of the selectable region from the closest comer of the display
  • Lockspot.y a point within the y coordinate of location for the selectable region display of the lock icon located two thirds of the length of the selectable region from the closest comer of the display
  • FALSE used for the Intersection aspect of the invention iAdjacentPocket index of state machine associated with the adjacent region: used for the Intersection aspect of the invention first array of points boundaries of the visible subregion second array of points boundaries of the region; used for the Intersection aspect of the invention hRegion handle to Windows® region corresponding to the visible subregion; used for the Intersection aspect of the invention
  • aLabel an array of data structures defining the menu and submenu options and the menu hierarchy, is initialized.
  • one of the elements of aLabel defines menu option "vort ⁇ space>x".
  • This element includes fields which determine that this menu option is displayed horizontally starting at certain (x,y) coordinates, that on selection certain actions are to be taken, for example, outputting text to a speech synthesizer, and that on selection certain submenu options, in this example, "v", “o”, “r”, “t”. " ⁇ space>” and "x”. and related data are to be associated with certain state machines.
  • this association is accomplished by modifying pLabel in the set of data of the associated state machine to point to the aLabel element corresponding to the menu option to be associated with that state machine.
  • At least one window is created in the circumscribed region (0150) for the display of selected letters.
  • the state table is initialized to the values shown in Figures 29 and 30.
  • EV_R£SET is sent to each state machine by a procedure call of the form PocketFsm (pPocket, EV RESET).
  • pPocket indicates the state machine associated with selectable region (0104/0106).
  • flnternalEvent is set to TRUE and consequently control passes into the while loop.
  • flnternalEvent is now set to FALSE.
  • the current state, pPocket->State is stored in pPocket->PreviousState. Now a state transition is made.
  • aPocketFsm shown in Figures 29 and 30, to determine the value of the new state of the state machine, in this example, the state machine associated with selectable region (0104/0106).
  • aPocketFsm[2][l] equals 3.
  • the new state of the state machine is 3, the value of ST RESET. Control passes, via the switch statement, to the ST RESET case and ST RESET state processing is performed.
  • the time of selectable region selection is set to the current time, the state machine's flnvert flag is set to FALSE and the value of the state machine's color variable, pPocket->Color, is compared to the state machine's initial color, pPocket->InitialColor.
  • pPocket->Color was initialized to zero, which is not the value of pPocket->InitialColor. Consequently, pPocket->Color is set to pPocket->InitialColor and the flag pPocket->fPaint is set to TRUE.
  • control passes through the bottom of the switch statement and the value of pPocket->fPaint is tested. Since it is TRUE, the client area rectangle is invalidated.
  • Windows® 1204 responds to invalidating the client rectangle by sending the access program (1206) a WM_PAINT message.
  • the access program (1206) On receipt of a WM_PAINT message, the access program (1206) redraws all selectable regions and any menu option located thereon for each state machines having pPocket->fPaint equal to TRUE. Thus, somewhat indirectly, visible subregion (0106) is drawn on the display (21 12). Then control returns to Windows® (1204).
  • the other seven state machines are similarly initialized so that each state machine transitions from ST_INIT1AL to ST_RESET and draws its respective visible subregion and any menu option located thereon on the display (21 12).
  • the display shown in Figure 17 now appears on the display (21 12) of the computer system (21 16).
  • a periodic timer called the cursor polling timer, is set. This timer provides the access program ( 1206) with a WM TIMER message at frequent intervals, in the prototype ever system clock tick which occurs approximately every 54 milliseconds. Following access program ( 1206) initialization, most state transitions are made on expiration of the cursor polling timer.
  • the access program ( 1206) calls the procedure CreateEvent to determine the appropriate event for each state machine and to complete the event data structure addressed by pEvent accordingly, then repetitively calls the procedure PocketFsm for each state machine, passing the unique indicator for the state machine and the appropriate event for that state machine.
  • the cursor polling timer is more frequent so that color changes to visible subregions are smaller and more frequent, giving a smoother appearance to color change.
  • the operator is moving the cursor from its initial location in the center of the display toward selectable region (0104/0106), but since only 54 milliseconds have elapsed, the cursor hotspot has moved only slightly in that direction.
  • the procedure CreateEvent determines that the cursor hotspot does not lie within any selectable region and that the cursor hotspot has not crossed out of a selectable region in the past 54 milliseconds. Therefore, the procedure CreateEvent determines that each state machine should receive EV_MOVEMENT.
  • the procedure PocketFsm is called with the indicator for the state machine associated with selectable region (0104/0106) and with EV MOVEMENT.
  • the event EV MOVEMENT drives this state machine from its current state, ST RESET, to ST_EBB_TIDE.
  • ST_EBB_TIDE The pseudo-code for ST_EBB_TIDE in procedure PocketFsm is a break statement, indicating that no state specific action is taken at this time, other than the transition to ST EBB TIDE. Control returns to Windows® (1204).
  • the ST DECAY state sets flnternalEvent to TRUE, and, in this case, sets Event to EV NULL.
  • flnternalEvent condition is true and another state transition occurs, using the value of pPocket->State which was set by ST DECAY state processing to ST EBB TIDE. the previous state.
  • the new state is found at aPocketFsm[ST_EBB_TIDE][EV_NULL], which equals ST_EBB_TIDE.
  • ST_EBB_TIDE aPocketFsm[ST_EBB_TIDE][EV_NULL], which equals ST_EBB_TIDE.
  • This state transition is unlike an ordinary state transition because the starting state is set by ST DECAY. All transitions from ST_DECAY share this distinction.
  • the state machine executes the code for the new state, ST EBB TIDE, which is simply a break statement.
  • the procedure PocketFsm determines that fPaint
  • the procedure CreateEvent determines that the state machine associated with selectable region (0104/0106) should receive EV_MOVEMENT, which drives it from ST_LOW_TIDE to ST_DWELL. Stepping through the pseudo-code for ST_DWELL, the ST DWELL state sets pPocket->State to the value stored in pPocket->PreviousState, increments pPocket->Color by pPocket->Increment, but not above the value of pPocket->Ceiling, sets pPocket->fPaint to TRUE, sets flnternalEvent to TRUE, and, in this case, sets Event to EV_NULL.
  • the access program ( 1204) checks the value of fPaint for each state machine, and if TRUE, sets fPaint to FALSE and redraws the visible subregion of the selectable region associated with that state machine and any menu option located thereon. The color of the redrawn visible subregion is determined by the value of the Color variable for that state machine. After redrawing, control returns to Windows® (1204).
  • the state machine associated with selectable region (0104/0106) cycles repetitively through the state transitions from ST_LOW_TIDE to ST_DWELL to ST_LOW_TIDE, driven by the cursor polling timer. With each transition to ST DWELL, visible subregion (0106) is brightened a bit. The polling timer interval is short enough and the increment to pPocket->Color is small enough that visible subregion (0106) appears to gradually brighten although in fact it progresses rapidly through a series of discrete brightness levels. With each iteration through ST DWELL, pPocket->Color in incremented.
  • Event is set to EV_STEP_UP, driving a transition to aPocketFsm[ST_LOW_TIDE][EV_STEP_UP], which equals ST_SELECTED.
  • the state processing for ST SELECTED provides the operator with an audible indication that a selection has just been made, takes the action appropriate upon selection of this selectable region, including selecting the menu option associated with the selected selectable region.
  • the access program (1206) does not generate output to another program or device at this time.
  • ST_SELECTED next sets pPocket->flnvert to TRUE, and, if appropriate, changes the menu options associated with various selectable regions.
  • selectable region (0104/0106) is now associated with menu option " ⁇ space>", selectable region (0108/01 10) with menu option "o”, selectable region (01 12/01 14) with menu option "t”, selectable region (0124/0126) with menu option "x”, selectable region (0128/0130) with menu option "v”, and selectable region (0132/0134) with menu option "r".
  • Selectable regions (01 16/01 18) and (0120/0122) remains associated with the same menu options with which they were associated in Figure 17.
  • fPaint is set to TRUE for the state machines associated with the selectable regions having changed menu options.
  • ST_SELECTED next sets Event to EV NULL and flnternalEvent to TRUE.
  • the state machine now makes the transition to aPocketFsm[ST_SELECTED_TIDE][EV_NULL], which equals ST_CREST_TIDE.
  • ST_CREST_TIDE There is no state specific action for ST CREST TIDE other than entry into this state.
  • the pseudo-code for ST_CREST_TIDE is only a break statement. Control returns to Windows® (1204).
  • the setting of flnvert to TRUE causes the visible subregion (0106) to be drawn in the color complementary to the value then indicated by pPocket->Color.
  • the setting of fPaint to TRUE for all selectable regions associated with changed menu options causes those selectable regions and the menu options thereon to be redrawn.
  • the display shown in Figure 18 now appears on the display (21 12) of the computer system (21 16).
  • the state machine associated with selectable region (0104/0106) cycles repetitively through the state transitions from ST_CREST_TIDE to ST_DWELL to ST_CREST_TIDE, driven by the cursor polling timer. With each transition to ST DWELL, visible subregion (0106) is brightened a bit. though it is now magenta, the complement of green. The polling timer interval is short enough and the increment to pPocket->Color is small enough that visible subregion (0106) appears to gradually brighten although in fact it progresses rapidly through a series of discrete brightness levels.
  • CreateEvent generates the EV_CROSS_OUT for the state machine associated with selectable region (0104/0106), driving the state machine to aPocketFsm[ST_CREST_TIDE][EV_CROSS_OUT], which equals ST_SELECT_AND_OUT.
  • the state processing for ST_SELECT_AND_OUT sends EV RESET and then EV_MOVEMENT to all state machines, driving each of them from their current state to ST RESET and then to
  • the prototype continues to sample cursor location at 54 millisecond intervals, determine the appropriate event for each state machine and send that event each state machine, causing state transitions in each state machine according to the state table shown in Figures 29 and 30. Assuming that the operator next selects selectable region (0108/01 10). the state processing in ST SELECTED displays the selection, the letter "o". in the circumscribed region (0150), and associates the menu options shown in Figure 17 with their respective selectable regions. The display shown in Figure 17 appears on the display (21 12) of the computer system (21 16).
  • FIG. 31 20 selectable regions, e.g. (1704), ( 1708) and (1714), are depicted on display (21 12). Each of the selectable regions is located on the display (21 12) adjacent an edge of the display, and the selectable regions together circumscribe a region (17Q2) on the display.
  • the top and left edges of the Windows® cursor clipping rectangle ( 1750) lie on the top and left edges, respectively, of the display (21 12).
  • the bottom and right edges of the Windows® cursor clipping rectangle (1750) lie on the display parallel to and slightly indented from the bottom and right edges, respectively, of the display.
  • a confining polygon is delimited on the display.
  • the boundary of the confining polygon starting from the upper right comer of the Windows® cursor clipping rectangle, follows the top edge of the Windows® cursor clipping rectangle to the left until it reaches region (1732), where the boundary follows the side of region ( 1732) down, to the left, and back up to the top edge of the Windows® cursor clipping rectangle.
  • the boundary continues left along the top edge of the Windows® cursor clipping rectangle until it reaches region (1734), where the boundary follows the side of region ( 1734) down, to the left, and back up to the top edge of the Windows® cursor clipping rectangle.
  • the boundary continues left along the top edge of the Windows® cursor clipping rectangle to the upper left comer and then turns down along the left edge of the Windows® cursor clipping rectangle until it reaches region (1736), where the boundary follows the side of region ( 1736) to the right, down, and to the left to the left edge of the Windows® cursor clipping rectangle.
  • the boundary of the confining polygon continues in this fashion around to the upper right co er of the Windows® cursor clipping rectangle.
  • the confining polygon thus includes all the area of the Windows® cursor clipping rectangle except for the regions (1732), (1734), (1736), (1738), (1740), (1742), ( 1744), and (1746).
  • An operator controlling a pointer indicating successive locations with respect to the display and attempting to select a target selectable region may overshoot the target so that some of the successive locations lie outside the Windows® cursor clipping rectangle.
  • the cursor (1724) is confined to the confining polygon.
  • the preferred embodiment is responsive to an intersection of the cursor hotspot and any one selectable region so that an overshot selectable region may be selected by click or by dwell without moving the location presently indicated by the pointer to a location in the overshot selectable region.
  • the preferred embodiment of the Confinement aspect of the invention allows an operator with impaired ability to stop motion to maintain the cursor more easily on a selectable region, and so select the intended selectable region, than do conventional user interface systems.
  • a selectable region having a single side abutting a confining polygon prevents cursor movement only beyond the abutting side.
  • NMD operators who drift may drift in more than one direction. Assume that a certain NMD operator tends to drift both up and to the left and that he is attempting to select selectable region (1704). If he moves the cursor into that selectable region his upward drift will be confined: the drift will not move the cursor beyond the confining polygon. However, the cursor will move to the left, since, in the preferred embodiment of the Confinement aspect of the invention, movement in this direction is not affected by the confining polygon, and consequently the cursor may move into selectable region (1708), the selectable region to the left of selectable region (1704).
  • NMD operators having this type of drift may be assisted in selecting by confining comers. For example, such an operator, attempting to select selectable region ( 1704) could move the cursor to location ( 1706) in selectable region ( 1704). As the operator drifts to the left, he can compensate by moving the pointer to the right. Assuming the operator lacks fine motor control, he may overcompensate and indicate a location to the right of the Windows® cursor clipping rectangle (1750). However, since the cursor is confined to the confining polygon, the cursor remains in the intended selectable region.
  • Confining comers facilitate the selection process for some NMD operators.
  • the preferred embodiment of the Confinement aspect of the invention creates a comer or virtual comer in each selectable region.
  • a virtual comer is a comer of a selectable region formed by the intersection of two sides of a selectable region both of which abut a confining polygon. For example, comer ( 1710) in selectable region ( 1708) abuts the confining polygon both along the top edge of the Windows® cursor clipping rectangle and along the right side of region (1732). If an NMD operator drifts from selectable region (1708) to the left into region (1732), the cursor remains in selectable region (1708). Thus, drift to the left does not move the cursor out of selectable region (1732). An operator trying to select selectable region (1708) may overcompensate for drift to the right by moving the pointer to indicate a location in region (1732).
  • Figure 32 illustrates a display in accordance with an alternative embodiment of the Confinement aspect of the invention.
  • Figure 32 depicts 16 selectable regions, e.g. selectable region (0602), on a display (21 12). the selectable regions together at least partially circumscribing region (0660) on the display. Circumscribed region (0660) intersects four selectable regions, (0604), (0608), (0610), and (0612).
  • Selectable region (0608) includes virtual comer (0652).
  • the confining polygon includes all the area of the Windows® cursor clipping rectangle except for regions (0632), (0634), (0636), (0638), (0640), (0642), (0644), and (0646).
  • Figure 33 illustrates a display and structures in accordance with an another embodiment of the Confinement aspect of the invention.
  • Figure 33 depicts 20 selectable regions, e.g. selectable region (0918), on a display (21 12). the selectable regions together at least partially circumscribing region (0902) on the display.
  • the confining polygon includes all the area of the Windows® cursor clipping rectangle except for regions (0906), (0908), (0910), and (0904).
  • the Confinement aspect is implemented by modifications to the access program (1206) described in the detailed description of the Perimeter Menu aspect of the invention.
  • the modifications required are: ( 1 ) define 20 state machines and 20 respectively associated selectable regions located as shown in Figure 31; (2) at initialization time, create a Windows® region corresponding to the confining polygon described above in the functional description of the preferred embodiment of the Confinement aspect of the invention; and (3) modify the procedure CreateEvent so that before generating an EV_CROSS_OUT event, CreateEvent determines whether the current hotspot cursor location intersects the confining polygon, and, if not, set the Windows® hotspot cursor location to the previous hotspot cursor location and transfers control to the code at the beginning of the CreateEvent procedure which gets the current cursor hotspot location from Windows®. If the current hotspot cursor location intersects the confining polygon, CreateEvent takes the same action as in the
  • the preferred embodiment of the Dwell aspect of the invention will now be described in detail from a functional and implementation perspective.
  • the prototype implements dynamic dwell.
  • the effect of dwelling on a selectable region and its implementation have been described in the detailed description of the Perimeter Menu aspect of the invention.
  • Now the effect and implementation of moving the cursor hotspot off a selectable region will be described.
  • the procedure CreateEvent determines that the state machine associated with selectable region (0104/0106) should receive EV_MOVEMENT, which drives it from ST_LOW_TIDE to ST_DECAY.
  • Stepping through the pseudo-code for ST_DECAY, the ST_DECAY state sets pPocket->State to the value stored in pPocket->PreviousState, decrements pPocket->Color by pPocket->Decrement, but not below the value of pPocket->InitialColor, sets pPocket->fPaint to TRUE, sets flnternalEvent to TRUE, and, in this case, sets Event to EV NULL. Following the break statement, the while flnternalEvent condition is true and another state transition occurs.
  • the new state is found at aPocketFsm[ST_LOW_TIDE][EV_NULL], which equals ST_LOW_TIDE.
  • ST_LOW_TIDE This path is unlike an ordinary state transition because the starting state is set by ST DECAY. All transitions from ST DECAY share this distinction.
  • the state machine executes the code for the new state, ST LOW TIDE. which is simply a break statement.
  • the procedure PocketFsm determines that fPaint is TRUE, invalidates the client rectangle and exits. As a result of invalidating the client rectangle, Windows® (1204) sends a WM_PAINT message to the access program ( 1206).
  • the access program (1204) checks the value of fPaint for each state machine, and if TRUE, sets fPaint to FALSE and redraws the visible subregion of the selectable region associated with that state machine and any menu option located thereon. The color of the redrawn visible subregion is determined by the value of the Color variable for that state machine. After redrawing, control returns to Windows® (1204).
  • the procedure Create Event will determine that not EV MOVEMENT, but EV DECAY, should be sent to the state machine associated with selectable region (0104/0106).
  • EV_MOVEMENT drives the state machine associated with selectable region (0104/0106) to ST_DECAY.
  • ST_DECAY The same state processing as described. above for ST_DECAY takes place, including the transition back to ST_LOW_TIDE.
  • the state machine associated with selectable region (0104/0106) cycles repetitively through the state transitions from ST_LOW_TIDE to ST_DECAY to ST_LOW_TIDE, driven by the cursor polling timer.
  • visible subregion (0106) is darkened a bit.
  • the polling timer interval is short enough and the decrement to pPocket->Color is small enough that visible subregion (0106) appears to gradually darken although in fact it progresses rapidly through a series of discrete brightness levels.
  • pPocket->Color in decremented until pPocket->Color reaches pPocket->InitialColor.
  • the procedure CreateEvent determines that the state machine associated with selectable region (0104/0106) should receive EV DECAY, continuing the repetitively cycling through from ST_LOW_TIDE to ST_DECAY to ST_LOW_TIDE, driven by the cursor polling timer. Driven by the same polling timer, the procedure CreateEvent determines that the state machine associated with selectable region (0132/0134) should receive EV_DWELL, driving this state machine through the state transitions described in the detailed description of the Perimeter Menu aspect of the invention.
  • the procedure CreateEvent determines that the state machine associated with selectable region (0104/0106) should receive EV DWELL, driving this state machine through the state transitions described in the detailed description of the Perimeter Menu aspect of the invention.
  • the selectable regions are shown on a display (21 12).
  • the selectable regions may appear on a static display, or they may be projected on a surface.
  • the brightness of a visible subregion at any time indicates the progress of the selection of the selectable region including the visible subregion.
  • a brightness close to the initial brightness indicates that a relatively long period of dwelling on this selectable region is required for selection.
  • a brightness close to the brightness just prior to selection indicates that relatively short period of dwelling on this selectable region is required for selection.
  • means for indicating an intersection of the location indicated by the movement related signal and a selectable region, or the duration of a period of such an intersection includes, but is not limited to.
  • a change in cursor appearance or location a change in location, size, shape, hue, brightness, contrast, tone, dithering, pattem, hatching, font or fill of an object on the surface, a display of or change in a graphic on the surface or the removal of a graphic from the surface, a generation of a sound or a change in the pitch or volume of an extant sound, a change in the temperature or surface of a contact area, the pressure exerted by a contact area, or frequency of contact by a contact area, or other suitable means. Any of these indications may be continuous or frequent.
  • dwell is implemented in the prototype using a data value, specifically pPocket->Color, it may be implemented using a signal, for example, voltage or current, varying in response to the intersection and subsequent non-intersection of a location indicated by a pointer and a selectable region.
  • a selectable region may include a detector and coupled electronics or electrical circuitry operative to increase the voltage level of a capacitor. Once elevated, the voltage level may decrease over time. Upon reaching a predetermined threshold, the voltage level may trigger selection.
  • the prototype allows an operator to make selections by dwell more efficiently than in conventional systems.
  • the brightness of a visible subregion indicates the dwell time required for selection.
  • a practiced operator may accurately estimate when he may plan his next pointer movement, when he may begin moving the pointer and may determine when a bit more exertion will select a selectable region and when it will not.
  • a disabled operator who is fatigued by computer access and can maintain a pointer in a steady position for only brief periods, may optimize his energy expenditure, for example, exerting himself to maintain the cursor on a certain selectable region only when doing so will quickly select the selectable region.
  • the prototype may increase the independence of a disable individual by allowing him to control devices such as a TV, thermostat and other household.appliances.
  • the Perimeter Menu aspect of the invention may be implemented on a general pu ⁇ ose computer system. If the general pu ⁇ ose computer system is coupled to a devices capable of executing commands and the menu hierarchy allows the selection of commands, a disabled operator may select and issue commands to control these devices.
  • Figure 34 illustrates a display in accordance with of an embodiment of the Dwell aspect of the invention having 20 selectable regions (3101 ), (3103), (3105), (3107), (3109), (31 1 1 ), (31 15), (31 17), (31 19), (3121), (3125), (3127), (3129), (3131), (3133), (3135), (3139), (3141), (3143), and (3145) circumscribing a surface (3151 ) having an indicating region (3147) thereon.
  • Figure 35 illustrates an apparatus in accordance with of an embodiment of the Dwell aspect of the invention having 20 selectable regions circumscribing a surface, each selectable region associated respectively with an indicating region adjacent its associated selectable region.
  • Selectable region (3101 ) is associated with indicating region (3201 ), selectable region (3103) with indicating region (3203), etc.
  • Figure 36 illustrates an apparatus in accordance with of an embodiment of the Dwell aspect of the invention having 20 detectors circumscribing an aperture (3350), each detector associated respectively with an indicator intersecting its associated detector, e.g. detector (3301 ) is associated with indicator (3303).
  • Figure 37 illustrates an apparatus in accordance with of an embodiment of the Dwell aspect of the invention having 24 selectable regions arranged in a grid of four rows and six columns, each selectable region associated respectively with an indicating region intersecting its associated selectable region.
  • selectable region (3402) is associated with indicating region (3401).
  • Figure 38 illustrates a display in accordance with of an embodiment of the Dwell aspect of the invention having a plurality of detectors, (2501 ), (2503), (2505), etc., arranged in a grid.
  • Each detector is associated respectively with an indicator intersecting its associated detector., e.g. detector (2501) is associated with indicator (2502).
  • Each detector is also associated respectively with an order entry item which may be selected by dwell.
  • detector (2501) is associated with a hamburger.
  • Pointer (2512) (not drawn to scale) emits energy detectable by the detectors.
  • Pointer (2512) may be housed in stationary housing (2514) (not drawn to scale).
  • Means for determining the difference between two data items or signals and means for totaling two or more data items or signals may each include a processing unit programmed to calculate this difference or total.
  • the difference or total may be determined by electronic, mechanical, optical, or other suitable means.
  • the two step procedure described earlier for operating conventional menu-driven data entry and order entry systems inco ⁇ orating pointing at intended selections may be simplified to a single step in accordance with the Dwell aspect of the invention.
  • the operator points pointer (2512) at an order entry item.
  • the item brightens responsive to the signals falling on the associated detector, indicating to the operator which order entry item he is dwelling on and his dwell time on that order entry item. When his dwell time equals or exceeds the selection threshold, the order entry item is selected.
  • the Path Directness aspect of the invention includes several aspects, hereinafter “subaspects”, called Facilitated Dwell, Direction and Intersection, Direction, Appraisal and Drift Attenuation.
  • Subaspects called Facilitated Dwell, Direction and Intersection, Direction, Appraisal and Drift Attenuation.
  • the preferred embodiment and certain alternative embodiments of each of these subaspects will now be described.
  • the duration of the dwell period required for selection varies with the directness of the cursor's path to that selectable region.
  • selection threshold period the duration of the dwell period required for selection
  • the duration of the dwell period required for selection varies with the directness of the cursor's path to that selectable region.
  • the preferred embodiment of the Facilitated Dwell subaspect of the invention will now be described in detail from a functional perspective using an example illustrated in Figure 39.
  • Figure 39 on display (2112) are defined corridors (2302), (2304), (2306), (2308), (2310), (2312) and (2314) lying between the previously selected selectable region (2318) and, respectively, selectable regions (2342), (2344), (2346), (2348), (2350), (2352) and (2354).
  • Each selectable region is associated respectively with a selection threshold period.
  • Each cursor location in a cursor path may slightly decrease one or more the selection threshold periods, except for the selection threshold period associated with the previously selected selectable region, selectable region (2318) in this example.
  • the effect of a cursor location depends, in the preferred embodiment, on whether that cursor location intersects one of the corridors. If it does, as for example location (2324) intersects corridor (2308), then the selection threshold period associated with the selectable region to which the intersected corridor leads, (2348) in this example, is decreased, preferably to a limit of approximately 20% of the initial value of the selection threshold period so that some period of intersection of the cursor and the intended selectable region is still required for selection.
  • a changed selection threshold period is preferably indicated by a change in the brightness of the selectable region associated with the changed selection threshold period.
  • the selectable region associated with the corridor brightens, indicating both the target selectable region the system believes the cursor is headed toward and the changed selection threshold period.
  • the selectable region associated with the previously intersected corridor darkens in accord with the dynamic dwell aspect of the invention. indicating both that the system no longer believes the cursor is headed toward that selectable region and the changed selection threshold period. Reducing the selection threshold period facilitates selection of dwell-selectable regions without unduly increasing the likelihood of erroneous selections, since cursor locations within a corridor evidence the operator's intention to select the selectable region associated with the corridor.
  • corridors are hidden from view , but they may be may be shown on the display or shown only at certain times or under certain conditions.
  • Corridors may have fixed boundaries, depending on which selectable region has been selected, or their boundaries may be determined when a starting location, for example, cursor location (2316) in Figure 39, is known.
  • Corridor shape, size, number and position about the associated selectable region may vary, as illustrated by the alterative embodiments shown in Figures 40 and 41.
  • a cursor location intersecting two or more corridors may be defined to be in a cursor path toward zero, one or more selectable regions associated with the intersected corridors.
  • intersection of a cursor location and a corridor is but one means of identifying which one of a plurality of selectable regions is most nearly along a cursor path.
  • a cursor path may be indicated by an intersection of a cursor location and a predetermined region, e.g. a corridor, by a cursor location and a movement related signal from which may be derived a second location, or by two or more successive cursor locations.
  • successive locations include a plurality of locations distributed in time. Successive location may be, but need not be, consecutive.
  • an intention to select a particular selectable region may be inferred, for example, by extrapolation, and the selection thresholds associated with either or both the intended or unintended selectable regions modified according]) .
  • successive cursor locations are periodically stored in a ring buffer and the magnitude of the angle between two line segments, the first between the oldest cursor location in the ring buffer and a predetermined point in the selectable region, and the second between the oldest cursor location in the ring buffer and the current cursor location, is determined.
  • the selectable region associated with the smallest of these angles may be considered to be the selectable region most nearly along the cursor path indicated by the first line segment.
  • An alternative means of identifying which one of a plurality of selectable region is most nearly along a cursor path is to determine the ratio of the number cursor locations indicating a selectable region to the total cursor locations in the cursor path.
  • Figure 42 illustrates still another alternative means for identifying which one of a plurality of selectable regions is most nearly along a cursor path.
  • Figure 42 shows line (2410) from starting cursor location (2406) to ending cursor location (2408) just within selectable region (2404).
  • Line (2410) is the most direct path between these two points.
  • the actual path traveled by the cursor between these two points is path (2412).
  • the ending cursor location (2408) is known before the selection threshold period associated with selectable region (2404) is modified. Identification may be made by measuring or approximating the area within region (2414) bounded by line (2410) and cursor path (2412). The smaller the area, the more direct the cursor path.
  • identification may be made by storing a sampling among successive cursor locations along a cursor path and, in response to the cursor intersecting a selectable region, the selectable region most nearly along the cursor path may be identified at one or more sampled points along the cursor path.
  • the identification may be based upon a plurality of cursor locations or upon a single cursor location and a movement related signal.
  • identification may be made by measuring and comparing the number of times a cursor path diverges from a predetermined path toward the intersected selectable region and/or the degree of divergence of a cursor path from a predetermined path toward the intersected selectable region.
  • selectable regions (3101), (3103), (3105), (3107), (3109), (31 1 1), (31 15), (31 17), (31 19), (3121), (3125), (3127), (3129), (3131 ), (3133), (3135), (3139), (3141), (3143) and (3145) circumscribe area (3151 ).
  • Area (3151 ) and optionally the selectable regions include detectors for sensing radiant energy emitted from a pointer (2202) coupled to a body member of the operator.
  • a computer coupled to the detectors determines which selectable region is most nearly along the path indicated by the body member of the operator.
  • the embodiment may facilitate the selection of one of the selectable regions by reducing a selection threshold, may select a selectable region upon intersection of the point indicated by the pointer (2202) and a selectable region, or may select a particular selectable region in advance of intersection of the point indicated by the pointer (2202) and the particular selectable region.
  • a move direction of a body member of an operator may be determined in any way that a cursor path may be determined, including sampling among data indicative of position of the body member.
  • data indicative of body member positions may serve the same function as cursor locations in indicating a path toward a selectable region.
  • Position indicating means used, for example, in indicating a position of the body member, includes each of the means for indicating that a selection event has occurred.
  • an embodiment may include a plurality of selection thresholds, each associated respectively with a selectable region. One or more of the selection thresholds may be increased when the direction of cursor movement does not indicate a path toward the associated selectable region.
  • Means for indicating which one of the plurality of selectable regions is most nearly along the cursor path includes each of the means for indicating an intersection of the location indicated by the movement related signal and a selectable region.
  • the selection threshold period is completely satisfied in response to a cursor path to a particular selectable region, so that when the cursor intersects the particular selectable region, that region is selected.
  • the selection threshold period is completely satisfied in response to a measure of directness of a cursor path to a particular selectable region equalling or exceeding a predetermined measure of directness. In circumstances where the measured directness is less than the predetermined measure, a dwell period is required for selection of the particular selectable region.
  • a selectable region is selected in response to a cursor path to that selectable region, in advance of an intersection of the cursor and that selectable region.
  • the selectable region is selected in response to a measure of directness of a cursor path to a particular selectable region equalling or exceeding a predetermined measure of directness. In circumstances where the measured directness is less than the predetermined measure, a dwell period is required for selection of the particular selectable region.
  • the directness of a cursor path to a selectable region is measured.
  • the means for measuring the directness of a cursor path includes each of the means for identifying which one of a plurality of selectable regions is most nearly along a cursor path.
  • the particular means for identifying which one of a plurality of selectable regions is most nearly along a cursor path which best correlates with an operator's intended target selectable region may be identified.
  • the Facilitated Dwell, Direction and Intersection, and Direction subaspects of the Path Directness aspect of the invention utilize that capability for computer access. Specifically, the ability of an operator to move a cursor in a direct path toward a selectable region is used to facilitate selection of that selectable region. The selectable region is selected more quickly than in conventional systems utilizing selection by dwell, increasing operator productivity.
  • a cursor path toward a selectable region is often unambiguous, since usually there is only one selectable region along a cursor path, and a large rectangular area on the display is available for the output of an application program and is not obstructed by the menu.
  • the operator may receive an indication of which selectable region the system believes the operator is moving the cursor toward. The operator may adjust the cursor path in response to this feedback and thus move the pointer more accurately.
  • the operator may receive an indication of the dwell time required to select the selectable region most nearly along the cursor path as the required dwell time changes in response to the cursor path.
  • Figure 43 depicts the upper right comer of a display (21 12) having two selectable regions (0434) and (0430) thereon.
  • a movement related signal indicates the path shown from point (0402) to point (0404) ("first segment") at a relatively high velocity and from point (0404) to point (0408) ("second segment") at a relatively low velocity .
  • the path of the first segment is relatively direct, the path of the second segment, relatively meandering.
  • the cursor preferably tracks the exact path indicated by the movement related signal.
  • the movement of the cursor is attenuated, preferably so that the cursor does not leave selectable region (0434) until it is selected.
  • drift that is. unintentional movement, indicated by the movement related signal following intentional movement is distinguished from the intentional movement, and cursor movement responsive to the drift is attenuated relative to cursor movement responsive to intentional movement.
  • unintentional movements of NMD operators are filtered so that the cursor is displayed closer to the location intended by the operator and drifting of the cursor into a nearby, but unintended, selectable region, is avoided, resulting in fewer errors due to unintended selections.
  • Corridorlncrement preferably having an initial value one half the value of Increment, should be added the set of data associated with each state machine; and (6) A new state, ST CORRIDOR. should be added to the procedure PocketFsm.
  • the pseudo-code for state processing in ST_CORRIDOR follows: case ST_CORRIDOR:
  • ST_EBB_TIDE in procedure PocketFsm is a break statement, indicating that no state specific action is taken at this time, other than the transition to ST_EBB_TIDE. Control returns to Windows® (1204).
  • the ST_CORRIDOR state sets pPocket->State to the value stored in pPocket->PreviousState, increments pPocket->Color by pPocket->CorridorIncrement. but not above pPocket->InitialColor plus 80% of the difference between pPocket->CrestTide and pPocket->InitialColor. sets pPocket->fPaint to
  • Windows® 1204 sends a WM_PAINT message to the access program (1206).
  • the access program 1204 checks the value of fPaint for each state machine, and if TRUE, sets fPaint to FALSE and redraws the visible subregion of the selectable region associated with that state machine and any menu option located thereon. The color of the redrawn visible subregion is determined by the value of the Color variable for that state machine.
  • This scenario is repeated at 54 millisecond intervals while the cursor hotspot travels along path (2322) to location (2326), a location intersecting corridor (2308). Between this location (2326) and location (2328). a location intersecting corridor (2306), along path (2322), the procedure
  • ST DECAY state processing darkens the selectable region associated with the state machine, but not below a predetermined brightness represented by the variable InitialColor.
  • selectable region (2348) darkens when the cursor hotspot no longer intersects corridor (2308).
  • the procedure CreateEvent determines that the state machine associated with selectable region (2346) should received EV CORRIDOR and all other state machines EV MOVEMENT.
  • selectable region (2346) gradually brightens up to a ceiling represented by pPocket->InitialColor plus 80% of the. difference between pPocket->CrestTide and pPocket->InitialColor.
  • the duration of dwell time required for selection of selectable region (2346) is thus reduced to approximately 20% of the dwell period required without Facilitated Dwell.
  • the Direction and Intersection subaspect of the invention is implemented by making the changes to the prototype described for the Facilitated Dwell subaspect, except that, in incrementing pPocket->Color in ST_CORRIDOR, the upper limit for pPocket->Color in ST_CORRIDOR state processing is pPocket->CrestTide minus pPocket-> Increment. Assuming these changes, a selectable region whose associated Color variable is at this upper limit is selected during processing of the WM TIMER message immediately following the intersection of the cursor hotspot and the selectable region.
  • the Direction subaspect of the invention is implemented by making the changes to the prototype described for the Direction and Intersection subaspect of the invention, except that (1 ) the corridors are narrow, as illustrated in Figure 40; and (2) the pseudo-code for state processing in ST_CORRIDOR is as follows:
  • State ST CORRIDOR may now generate the intemal event EV STEPJJP, as state ST_DWELL does in the detailed description of the Perimeter Menu aspect of the invention.
  • a state machine in state ST_EBB_TIDE having a Color variable equal to or exceeding the CrestTide variable will transition via PocketFsm[ST_EBB_TIDE][EV_STEP_UP] to ST SELECTED. and perform the ST_SELECTED state processing described in the detailed description of the Perimeter Menu aspect of the invention.
  • the Appraisal subaspect of the invention is implemented by making the changes to the prototype described for the Facilitated Dwell subaspect, except that (1 ) the corridors are visible on the display (21 12), (2) one of the selectable regions is designated to be the target selectable region and this is indicated to the operator, (3) cursor locations are stored in memory (2106), and (4) following an intersection of the cursor hotspot and the target or selection of a selectable region other than the target, path directness is measured in accordance with the stored cursor locations.
  • the Drift Attenuation aspect is implemented by modifications to the access program (1206) described in the detailed description of the Perimeter Menu aspect of the invention, modified as described above in the description of the implementation of the preferred embodiment of the Facilitated Dwell subaspect of the invention and further modified as follows: (1) add two booleans to the data set associated with each state machine, one called fDirectPath, the other fAttenuateDrift, and initialize each of them in all state machines to FALSE; (2) in both ST DECAY and ST_CORRJDOR, set both pPocket->fDirectPath and pPocket->fAttenuateDrift to FALSE; (3) append to ST ENTRY state processing corresponding to the following pseudo-code:
  • pPocket->fDirectPath is TRUE set pPocket->fAttentuateDrift to TRUE if pPocket--fAttentuateDrift is TRUE store the difference in each of the x and y coordinates ("delta") between consecutive cursor locations in a circular buffer accommodating the last ten deltas, overwriting the oldest delta with the newest delta if ten deltas have been accumulated calculate the average acceleration indicated by the last ten deltas if the average acceleration is negative set the cursor at the location one half the distance between the current cursor location and the previous cursor location display the cursor at this new cursor location
  • Figure 44 shows the display (21 12) of a general pu ⁇ ose computer system (2218 in Figure 15) to which is coupled a pointer (2202). Eight regions are delimited with respect to the display (21 12) and together circumscribe region (2650) on the display (21 12). Four of these regions, (2602), (2612). (2622), and (2632), are entirely on the display (21 12).
  • Each of the other four regions respectively includes both a visible subregion ((2606), (2616), (2626), and (2636)) on the display (21 12) and an invisible subregion ((2604), (2614), (2624), and (2634)) adjacent and outside the display (21 12).
  • the pointer is indicating location (2656) on the display (21 12) and that the operator moves the pointer so that the location indicated by the pointer first intersects one of the regions at location (2652) in region (2612).
  • Figure 45 depicts a selectable region consisting of the union of invisible subregion (2714) and visible subregion (2716), hereinafter referred to as selectable region (2714/2716).
  • Selectable region (2714/2712) is associated with menu option "sumac".
  • the operator may select menu option "sumac” by dwelling on any part of the selectable region for the selection threshold period.
  • Figure 46 depicts a selectable region consisting of the union of invisible subregion (2814) and visible subregion (2816), hereinafter referred to as selectable region (2814/2816).
  • Selectable region (2814/2816) is associated with menu option "vort ⁇ space>x".
  • the operator may select menu option "vort ⁇ space>x" by dwelling on any part of the selectable region for the selection threshold period.
  • each of the other seven regions shown in Figure 44 is associated with a selectable region and each selectable region is associated with a menu option.
  • the menu options shown in Figure 44 in addition to “sumac” and “vort ⁇ space>x" are “wizen”, “backspace”, “words”. "talk”, ldhbfk” and “ypgqj,”.
  • the operator may select the menu option associated with any one of the selectable regions by moving the location indicated by the pointer from circumscribed region (2650) into the region associated with the selectable region and then dwelling on the selectable region for the selection threshold period.
  • Each selectable region preferably includes all the area of its associated region.
  • An operator having impaired ability to maintain a body member in a steady position but who can control the point at which the location indicated by a body member enters a region may. in accord with the Intersection aspect of the invention, use his relatively unimpaired motor capability to selectively enlarge a selectable region or determine which of two or more selectable regions will occupy a predetermined area, thus making it easier for him to select. If the general pu ⁇ ose computer system of the preferred embodiment is coupled to a speech synthesizer and the menu options are letters or words, an operator with impaired speech may select or spell words and speak them.
  • Figures 47 and 48 illustrate the upper right comer of a display in accordance with an altemative embodiment of the Intersection aspect of the invention.
  • Figure 47 depicts the upper right comer of a display (21 12) of a computer system (21 16) having thereon two regions, (1404) and ( 1402), each associated respectively with a selectable region, each selectable region associated respectively with menu options "bdfhkl" and " ⁇ space>cmnrst".
  • the selectable region associated with region (1402) includes all of region (1402).
  • the selectable region associated with region ( 1404) includes all of region (1404) plus area (1406) between region (1404) and the right edge of the display (2112).
  • Dwelling in area (1406) operates to select the menu option " ⁇ space>cmnrst". If instead the location to first intersect the union of regions ( 1402) and (1404) intersects region (1404), the display changes to that shown in Figure 48. Dwelling in area (1406) then operates to select the menu option "bdfhkl”.
  • the Intersection aspect is preferably implemented by modifications to the access program (1206) described above in the detailed description of the Perimeter Menu aspect of the invention.
  • the modifications are: (1) add a row to the state table aPocketFsm at row index 18 for a new state. ST_EXIT and initialize the value of aPocketFsm[ST_EXIT][EV_NULL] to 4.
  • iAdjacentPocket in the data set associated with the state machine associated with region (2614/2616) is initialized to 3 and iAdjacentPocket in the data set associated with the state machine associated with region (2612) is initialized to 2;
  • (c) initialize the second array of points to define the boundaries of the region associated with the selectable region associated with each state machine, for example, region (2612), and initialize the first array of points to define the boundaries of the visible subregion of the selectable region associated with the state machine, for example, visible subregion (2712);
  • flnternalEvent is set to TRUE
  • Event is set to EV_NULL
  • the Windows® region corresponding to region (2612) ie. the Windows® region having the handle pPocket->hRegion
  • pPocket->fPaint is set to TRUE
  • EV_RESET is sent to state machines associated with regions other than (2612) and (2614/2616).
  • the procedure CreateEvent sends the event EV CROSS OUT to the state machine associate with that selectable region, driving it to ST EXIT.
  • the state processing for ST_EXIT causes the display (21 12) to change to that shown in Figure 44.
  • Figure 49 depicts the upper right comer of the display (21 12), that an operator, fitted with a head pointer, desires to keep the cursor on the display directly in his line of sight and that the location indicated by the pointer is presently 15 degrees to the right of the location of the arrow cursor (1802).
  • the operator now dwells on selectable region (1834) for an predetermined period ("the lock threshold") which preferably is significantly greater than the selection threshold period.
  • the apparatus responds to this extended dwell period by changing the display to that shown in Figure 49.
  • the arrow cursor is removed from the display and the lock icon (1 02) is displayed in a predetermined location of the intersected selectable region (“lockspot”) on the display.
  • the lock icon remains on the lockspot for a predetermined period ("the lock period"); it does not move responsive to the operator's head movement. While the lock icon is displayed, the operator turns his head, bringing his line of sight into alignment with the lockspot. At the expiration of the lock period, the apparatus changes the display to that shown in Figure 51. The lock icon is erased and the arrow cursor appears in the lockspot, which is where the operator is now looking. The arrow cursor moves in response to the operator's head movement.
  • An operator who loses alignment between location indicated by his pointer and the cursor may thus initiate an alignment sequence, and then, by moving his head or other body member when the prototype indicates he should do so by displaying the lock icon, regain alignment. That the lock icon is displayed indicates to the operator that he can align his head or other body member. The position of the lock icon indicates to the operator the location on the display with which he should align his head or other body member. This is the location where the arrow cursor will appear at the expiration of the lock period.
  • the Alignment aspect will now be described in detail from an implementation perspective as implemented in the prototype.
  • the Alignment aspect of the invention is implemented an integral part of the state machine described in the detailed description of the Perimeter Menu aspect of the invention, using the same state machines and initialization, with the exception that aPocketFsm[ST_CREST_TIDE][EV_CEILI G] is changed from 9, the value of ST_DWELL, to 14, the value of ST_BEG_N_LOCK.
  • the operator initiates the alignment process by moving the cursor so that the cursor hotspot intersects a selectable region.
  • Figure 49 shows the arrow cursor (1802) intersecting selectable region ( 1834).
  • the operator then dwells on the selectable region for the lock threshold, preferably at least one second greater than the selection threshold period. This operator action causes the state machine associated with the intersected selectable region to reach state ST_CREST_TIDE.
  • the procedure CreateEvent creates event EV CEILING, which drives the state machine from state ST CREST TIDE to state ST BEGIN LOCK.
  • the state processing within state ST BEGIN LOCK beeps sets the system cursor location to the selectable region's lockspot, sets the system cursor to null erasing the arrow cursor, displays a the lock icon (1902 in Figure 50) on the selectable region's lockspot and initializes the global variable iLockCursor to the number of expirations of the cursor polling timer corresponding to the period of time the cursor will be locked (the "lock period") configured by the operator, preferably two seconds, and control is returned to Windows® ( 1204).
  • the procedure CreateEvent may generate an event EV_DECAY, EV_DWELL, EV_CROSS_OUT.
  • EV_MOVEMENT or EV CEILING Each of these events drives the state machine from state ST BEGIN LOCK to state ST LOCK.
  • state ST LOCK the system cursor is moved to the selectable region's lockspot and iLockCursor is decremented. Then it is determined whether iLockCursor equals zero. If not. control returns to Windows® ( 1204) for another iteration through ST LOCK.
  • the system cursor is moved to the lockspot upon every expiration of the cursor polling timer, thus inhibiting movement of the cursor from the lockspot so that, during the lock period, the operator may move the location indicated by the pointer while the lock icon remains on or ver close to the selectable region's lockspot.
  • iLockCursor is decremented to zero
  • the global Event is set to EV_NULL and flnternalEvent is set to TRUE so that another state transition occurs immediately.
  • This transition drives the state machine from state ST LOCK to state ST_END_LOCK.
  • the lock icon is erased, Windows® (1204) is directed to display the arrow cursor (2002) at the lockspot, as shown in Figure 51, the fPaint flag associated with the intersected selectable region is set to TRUE so that the selectable region will be drawn, restoring the background behind the erased lock icon.
  • CreateEvent generates EV_DWELL, which drives the state machine to ST_DISCARD.
  • ST_DISCARD state processing sets State to PreviousState, returning the state machine to ST_END_LOCK and in effect, discarding the last event.
  • the procedure CreateEvent generates an event EV CROSS OUT which drives the state machine from state ST_END_LOCK to state ST_SELECT_AND_OUT.
  • the access program (1206) performs the state processing for state ST SELECT AND OUT and subsequent states as previously described in the description of the Perimeter Menu aspect of the invention.
  • the operator may initiate alignment by depressing any character key on the keyboard.
  • the access program (1206) removes the arrow cursor from the display and displays the lock icon at a predetermined location on the display.
  • the predetermined location is the center of the display (21 12). After a predetermined period, two seconds in the prototype, the lock cursor icon is erased and the arrow cursor displayed at the predetermined location.
  • the cursor is automatically centered if the cursor hotspot does not move for two minutes. Lack of movement of the cursor hotspot is detected in the procedure CreateEvent, which generates the event EV IDLE TIMEOUT for all state machines.
  • the state processing of each state machine on receipt of EV IDLE TIMEOUT depends upon its current state. State machines in states ST INITIAL and ST RESET stay in those states. State machines in all other states in which an external event can be received are driven to ST_IDLE.
  • ST IDLE state processing moves the cursor to the center of the display, sets flnternalEvent to TRUE and sets Event to EV NULL.
  • PocketFsm[ST_IDLE][NULL] equals 3, the value of ST RESET.
  • the access program ( 1206) performs the state processing for the ST RESET and subsequent states as described in the description of the Perimeter aspect of the invention.
  • the Length Order aspect of the invention will now be described in detail from a functional and implementation perspective using an example depicted in Figure 52 and described in the detailed description of the Location Indication aspect of the invention.
  • the string "s" is passed from the access program ( 1206 in Figure 16) via the Windows® Dynamic Data Exchange ("DDE") interface to a database program (1210 in Figure 16), preferably the FoxPro for Windows® version 2.6 program, available from Microsoft Co ⁇ oration, Redmond, Washington, USA.
  • the FoxPro program looks up the record having the index "s" in a database composed of 26 letters, one for each letter of the alphabet.
  • Each record includes one field for a letter of the alphabet and 12 fields containing the 12 most frequently used English words beginning with that letter.
  • the 12 words in the record are ordered primarily by length, determined by the number of letters in each word, and secondarily by alphabetic order.
  • the FoxPro program returns these 12 words to the access program (1206) and these are displayed on the display (21 12) as named menu options.
  • the twelve named menu options, ordered as described and depicted in Figure 52, are "so", “say”, “she”, “said”, “show”, “some”, “such”, “state”, “school”, “social”, “service”, and "student".
  • root word only the root form of inflected forms of words which can be created through available suffixes (root word) may be displayed as named menu options, so that the limited number of available menu options in combination with the apparatus' capability to add suffixes offers a large number of inflected forms.
  • Words which may be named menu options in the same menu may be ordered by any suitable method.
  • ordering is done by an ordering program operating on a co ⁇ us of text or speech including text or speech produced by individuals whose age. sex, geographic location and disability are the same as or similar to that of the operator.
  • the ordering program determines the frequency of use of root words in the co ⁇ us, selects the twelve most common root words, beginning with every possible combination of one, two and three letters, and stores them in three FoxPro databases for one, two and three letter word beginnings respectively, the words in each record ordered as described above. Ordering the words prior to a request minimizes the delay between the operator's selection of a letter or letters and the display of the named menu options.
  • the ordering program also creates a database of records for root words beginning with four or more letters.
  • Each record includes the words and its frequency of use in the co ⁇ us.
  • the access program (1206) requests via DDE that the FoxPro program (1210) look up words starting with four or more letters in the database for words beginning with four or more letters, select the 12 most frequently used words matching the selected letters, order them as described above, and return them to the access program (1206).
  • An operator searching named menu options for a desired menu option may start his search in the area on the display most likely to contain the desired menu option. Upon comparison of the length of the desired menu option to a displayed menu option, the operator may determine whether to continue his search from the displayed menu option toward the front of the list or toward the rear of the list or to jump to another displayed menu option in the list Further, he may make this determination more quickly than if the displayed menu options were sorted conventionally.
  • the reduced menu option search time increases the operator's productivity with respect to conventional menu interfaces.
  • Figure 52 shows the display (21 12) of a general pu ⁇ ose computer system (2218 in Figure 15) having thereon eight selectable regions, each associated respectively with a menu option.
  • Each of the eight selectable regions consists of the union of a visible subregion on the display (21 12) and an invisible subregion (not shown) located outside the display (21 12) and adjacent the visible subregion.
  • Selectable region (4301 ) is associated with menu option “so”, selectable region (4303) with menu option “say”, selectable region (4305) with menu option “she”, selectable region (4307) with menu option “suffixes”, selectable region (4309) with menu option “words”, selectable region (431 1 ) w ith menu option “some”, selectable region (4313) with menu option “show” and selectable region (4315) with menu option "said”. Also shown on the display (21 12) are 12 indicating regions, each associated respectively with a menu option.
  • Indicating region (4351) is associated with menu option “so”, indicating region (4353) with menu option “say”, indicating region (4355) with menu option “she”, indicating region (4361 ) with menu option “some”, indicating region (4363) with menu option “show”, indicating region (4365) with menu option “said”, indicating region (4371 ) is associated with menu option “such", indicating region (4373) with menu option “state”, indicating region (4375) with menu option "school”, indicating region (4381 ) with menu option “student”, indicating region (4383) with menu option "service” and indicating region (4385) with menu option “social”.
  • Each indicating region is located on the display (21 12) in the region (4350) circumscribed by the selectable regions.
  • the location of each of the indicating regions (4351), (4352), (4355), (4361), (4363) and (4365) indicates the location of each of the selectable regions associated with the menu option associated with the indicating region.
  • These selectable regions respectively, are (4301 ), (4303), (4305). (431 1 ). (4313) and (4315).
  • selection of menu option "words” causes selectable region (4301 ) to be associated with menu option "such” instead of menu option “so", selectable region (4303) to be associated with menu option “state” instead of menu option “say”, selectable region (4305) to be associated with menu option "school” instead of menu option “she”, selectable region (431 1) to be associated with menu option “student” instead of menu option “some”, selectable region (4313) to be associated with menu option "service” instead of menu option “show”, and selectable region (4315) to be associated with menu option “social” instead of menu option "said”.
  • the menu option newly associated with each selectable region is displayed on that selectable region (not shown).
  • indicating regions (4371), (4373), (4375), (4381), (4383) and (4385) each indicate the location of each of the selectable regions associated with the menu option associated with the indicating region.
  • Figure 53 depicts a display and structures in accord with an another embodiment of the Location Indication aspect of the invention.
  • Selectable regions (4604), (4608), (4612), (4616), (4620), (4624), (4628) and (4632) are located adjacent the display (21 12) and associated respectively with menu options "so", “say”, “she”, “suffixes", “said”, “show”, “some” and “words".
  • Each selectable region is unbounded on the side furthest from and parallel to the edge of the display.
  • Indicating regions (4351 ), (4353), (4355), (4357), (4367), (4361 ), (4363) and (4365) are associated respectively with menu options “so”, “say”, “she”, “suffixes”, “said”, “show”, “some” and “words”.
  • the location of an indicating region indicates the location of the selectable region associated with the menu option associated with the indicating region.
  • the large size of the selectable regions outside the display facilitate selection by individuals with impaired fine motor control while the indicating regions indicate the location of each associated selectable region.
  • Figure 54 depicts a display (21 12) having thereon eight selectable regions, each associated respectively with a menu option.
  • selectable region (391 1) is associated with menu option “aeiou”, selectable region (3910) with menu option “gqjyvwxz”, selectable region (3908) with menu option “setup”, selectable region (3907) with menu option undo, selectable region (3905) with menu option “control”, selectable region (3904) with menu option "words", selectable region (3902) with menu option "nsrm ⁇ space>tcp” and selectable region (3901 ) with menu option "bdfhkl”.
  • Menu option “aeiou” is associated with a submenu which includes submenu options “a”, “e”, “1”, “o” and “u”, displayed on indicating regions (3930), (3928), (3926). (3924) and (3922) respectively
  • the background pattem of indicating region (3930) matches the background pattem of selectable region (3908), indicating that submenu option “a” will be associated with selectable region (3908) following selection of menu option “aeiou”
  • the background pattem of indicating region (3928) matches the background pattem of selectable region (3910), indicating that submenu option "e” will be associated with selectable region (3910) following selection of menu option "aeiou”
  • the indication may be made by the size, shape, hue. brightness, contrast, dithering, fill, blinking, hatching or pattem of the indicating region or any part thereof, including either of the foreground and background of the indicating region
  • selectable region (3910) is associated with submenu option "e” selectable region (3908) with submenu option “a”, selectable region (3904) with submenu option “u”, selectable region (3902) with submenu option "o” and selectable region (3901 ) with submenu option "i”
  • the appearance of an indicating region indicates the location of the selectable regions associated with the submenu option associated with the indicating region
  • FIG. 54 and 55 illustrates how the Location Indication aspect of the invention speeds selection of a submenu option of a menu hierarchy
  • the operator by observing the background pattem of the submenu option within the displayed menu option, may determine which selectable region he should next dwell on The operator may make this determination prior to selection of the menu option and need not wait for the submenu options to be displayed on their associated selectable regions
  • the operator may select or spell out words more quickly than with conventional automated menu hierarchy Assuming the display (2112) is part of computer system, these words may be input to an application program, and , if the computer system is coupled to a speech synthesizer, these words may be spoken
  • Figure 56 depicts another apparatus in accord with the Location Indication aspect of the invention An example of the operation of this apparatus will now be described
  • Figure 56 depicts display area (4770) adjacent to which are located selectable regions (4701 ), (4703), (4705), (4707).
  • (4709) (471 1 ), (4713) and (4715) Not shown in the Figure are three sets of eight menu options
  • the plurality of selectable regions is associated with a different set of eight menu options such that, for a one second period, each selectable region is associated respectively with one menu option of the associated set of menu options.
  • On the display area are 24 indicators, each associated respectively with one of the menu options.
  • Each indicator indicates when a selectable region is associated with the menu option associated with the indicator.
  • each of the indicators (4721 ), (4723), (4725), (4727), (4729), (4731 ), (4733) and (4735) is associated respectively with a menu option which may be in turn associated respectively, for example, during a first one second period, with one of the selectable regions.
  • the operator may select a desired one of the 24 menu options by selecting the associated selectable region during the period when the desired menu option is associated with the associated selectable region.
  • the apparatus shown in Figure 56 may require two successive selection events, the first selection event to select a set of eight menu options or to select a set of three menu options, the set being associated with one selectable region, and the second selection event to select one of the selected set.
  • the first selection event may select the set of menu options associated with indicators (4773), (4753) and (4733), and the second selection event may select one menu option from this set.
  • Figure 57 depicts display area (4770) outside of which are located selectable regions (5001 ), (5003), (5005), (5007), (5009), (501 1 ), (5013), (5015), (5021), (5023), (5025), (5027), (5029), (5031 ), (5033) and (5035).
  • the location of each selectable region is indicated by an indicating region on the display area, (5041 ), (5043), (5045). (5047), (5049), (5051 ), (5053), (5055), (5061 ), (5063), (5065), (5067), (5069), (5071 ), (5073) and (5075), respectively.
  • the Location Indication aspect of the invention is implemented by modifications to the access program (1206) described in the detailed description of the Perimeter Menu aspect of the invention.
  • the modifications required for the Location Indication aspect of the invention are: (1 ) at initialization time: (a) create twelve child edit windows, each corresponding to one of the indicating regions shown in Figure 52, each of the class "edit", each having the style (WS_CH1LD
  • the six menu options displayed in indicating regions (4371 ), (4374), (4375), (4381), (4383) and (4385) are present in the aLabel array when Figure 52 is shown, but are not associated with selectable regions until the operator selects menu option "words".
  • Figure 58 shows a display (2112) of a computer system (21 16) having thereon six regions or sound indicators, (5801), (5803), (5805), (5807), (5809), and (581 1), each associated with a menu option, "ypgqj,”, “ldhbfk”, “wizen”, “words", “vort x”. and “sumac”, respectively.
  • Each menu option is displayed on its associated sound indicator.
  • Each sound indicator has a distinct hue. For example, sound indicator (5801) may be green, (5803) white, (5805) blue, (5807) red, (5809) orange and (581 1) grey.
  • Each of these sound indicators indicates a sound the operator is able to consistently produce, for example, the vowel sound e as it sounds in green, i as it sounds in white, u as it sounds in blue, e as it sounds in red, o as it sounds in orange and e it sounds in grey.
  • the menu option associated with the orange sound indicator (5809) is selected and the display is changed to that shown in Figure 59.
  • submenu options space, "x", “r”, “t”, “v” and “o” are now associated with each of the sound indicators (5901), (5903), (5905), (5907), (5909), and (591 1 ) respectively.
  • submenu option space is selected and a space is input to the application program (6107) whose output appears in region (5850).
  • Figure 60 illustrates a display and structures in accordance with an altemative embodiment of the Sound Match aspect of the invention.
  • Figure 60 depicts a display (21 12) of a computer system (21 16). Adjacent the display (21 12) is a static display (6252) having thereon eight sound indicators (6204), (6208), (6212), (6216), (6220), (6224), (6228). and (6232). Each of the eight sound indicators is a symbol in a phonetic character set graphically representing a sound.
  • the sound indicators may include a picture of an object, for example, a tree, a house, a boy, or a map of a country, or may include a shape, for example, a square, a circle, or a triangle, or may include a hue indicator, a pitch indicator, a volume indicator, a sound duration indicator, a change in pitch indicator, or a change in volume indicator.
  • Eight menu options “vort ⁇ space>x”, “sumac”, “wizen”', undo, "words", "talk”. "Idhbfk” and “ypg ⁇ j,”. are displayed on the display (21 12). each adjacent and associated respectively with one of the sound indicators, the eight menu options together circumscribing region (6250) on the display. The operator may select any one of the menu options by producing the sound indicated by the sound indicator associated with the menu option. In response to a menu selection, submenu options of the selected menu option may be displayed and associated respectively with a sound indicator.
  • An operator with impaired speech but who is able to consistently produce a relatively small number of sounds distinguishable by conventional speech recognition means may, in accord with the Sound Match aspect of the invention, select from among the small number of menu options by using the sounds he can produce.
  • the menu option may represent inputs to an application program, and, if the computer system is coupled to a speech synthesizer, the menu option may represent words to be spoken.
  • Figure 61 illustrates a display and structures in accordance with an altemative embodiment of the Sound Match aspect of the invention.
  • Figure 61 depicts a display (21 12) of a computer system (21 16) having thereon six square sound indicators, (6401 ), (6403), (6405), (641 1 ), (6413), and (6415) arranged in two columns of three sound indicators. Each sound indicator abuts a sound indicator in the other column, the sound indicator located above it, if any, and the sound indicator located below it, if any.
  • each of the sound indicators shown in Figure 61 is associated respectively with a menu option, each of the plurality of menu options having a common characteristic.
  • the menu options are homophones and the common characteristic is a phonetic unit and intonation but may be a phonetic unit alone, an intonation alone, a stroke used to draw an ideograph, a number of horizontal strokes, a number of vertical strokes, a number of total strokes, a stroke order, a radical, a part of speech, an ideograph, a kana, a diacritic, a classification of a part of an ideograph or other characteristic of a class of ideographs.
  • Each of the sound indicators has a distinct hue. The operator may select any one of the displayed menu options, according to the Sound Match aspect of the invention, by speaking the sound associated with the sound indicator associated with the desired menu option.
  • the Sound Match aspect of the invention thus allows an operator to select from an option from a menu, using speech recognition means, whether or not the menu options are homophones.
  • the operator does not need to use his hands to make this selection and so may keep both his hands on the home row of the keyboard, in preparation for entering the next common characteristic, or, if specifying the common characteristic by voice, may select a menu option without interrupting the manual activity he's engaged in.
  • FIG. 62 depicts a speech recognition system (6001) including a computer system (2116) and keyboard (2210), as earlier described, a sound board (6007) and a microphone (6009).
  • the conventional computer system (21 16) preferably includes an 80486 CPU running at 33MHz or faster, and is provided with Dragon Dictate Power Edition software, available from Dragon Systems, Inc., Newton, Massachusetts, USA.
  • the sound board is the Audio Capture Playback Adaptor and the microphone is the Shur Headset microphone, both available from Dragon Systems, Inc.
  • Figure 63 depicts the software environment of the preferred embodiment, which includes the earlier described Windows® version 3.1 operating system (1204), an optional Windows® application program (6107), the Windows® Dragon software driver (6101 ) included in the Dragon Dictate Power Edition software, the Dragon Application (6103) included in the Dragon Dictate Power Edition software, and a speech recognition access program (6105).
  • the Dragon Application (6103) is configured to match a sample of each of six sounds distinguishable by the Dragon Application (6103) which the operator can consistently produce. Using the example described above, these are the vowel sounds produced by the operator of e as it sounds in green, i as it sounds in white, u as it sounds in blue, e as it sounds in red, o as it sounds in orange and e it sounds in grey.
  • the speech recognition access program (6105) is preferably a Windows® application program developed using, in part, the Voice Tools Software Development Kit available from Dragon Systems, Inc.
  • the speech recognition access program (6105) defines an array of data structures defining the menu and submenu options and the menu hierarchy. For example, one of the elements of this array determines that, on selection, certain actions are to be taken, for example, inputting text to an application program, and that certain submenu options and related data are to be associated with certain child edit windows.
  • the speech recognition access program (6105) initializes callback procedures using the Dragon Application's Application Program Interface to receive notification from the Dragon Application when a sound has been matched. Also at initialization time, the main window of the speech recognition access program (6105) is preferably sized to just encompass the sound indicators shown in Figure 58. Also at initialization time, the speech recognition access program (6105) creates six child edit controls, each corresponding to one of the sound indicators shown in Figure 58. Each of the child edit controls, has the background color described above and a text color of black or white depending upon which provides better contrast against the background color of the child edit control, and each is located on the display (21 12) as shown in Figure 58.
  • the menu options of the initial menu are each associated respectively with one of the child edit controls.
  • the speech recognition access program (6105) upon notification from the Dragon Application that a sound has been received and a match attempted, sequentially searches the list of identifiers matched to the sound by the Dragon Application (6103), starting with the best match, until it finds an identifier corresponding to any one of the six sounds distinguishable by the Dragon Application (6103). Assuming the operator says o as it sounds in orange, the Dragon Application (6103) provides to the speech recognition access program (6105) a list of matches including, before any other identifier corresponding to any one of the six sounds distinguishable by the Dragon Application (6103), the identifier associated with child edit control (5809).
  • This child edit control is currently associated with menu option "vort x", the matched menu option.
  • the speech recognition access program (6105) sets the text of each of the child edit controls to one of the submenu options associated with the matched menu option.
  • submenu options space, "x", “r”, “t”, “v” and “o” are associated with each of the child edit controls respectively and the text of the associated child edit control is set to the submenu option.
  • submenu option space is the matched submenu option and a space is input to the application program (6107) whose output appears in region (5850).
  • the application program (6107) is an application program capable of executing a WM_SIZE command so that the speech recognition access program (6105) may size the windows of the application program (6107) to fit neatly in region (5850) and is capable of executing WM_CHAR messages so that the speech recognition access program (6105) may input characters to the application program (6107).
  • Figure 64 shows the display (21 12) of a general pu ⁇ ose computer system (2218 in Figure 15) and 12 selectable regions.
  • Each of the 12 selectable regions consists of the union of a visible subregion on the display (21 12) and an invisible subregion located outside the display (21 12) and adjacent the visible subregion.
  • the selectable region in the upper left corner both above and below the top of the display (21 12) in Figure 64 consists of invisible subregion (3604) and visible subregion (3606), and hereinafter is referred to as selectable region (3604/3606).
  • selectable regions shown in Figure 64 proceeding counter clockwise from selectable region (3604/3606) are (3608/3610), (3612/3614), (3616/3618), (3620/3622), (3624/3626), (3644/3646), (3648/3650), (3652/3654), (3656/3658), (3660/3662) and (3664/3666).
  • each of the visible subregions is adjacent an edge of the display (21 12).
  • the selectable regions together circumscribe region (3680) in the center of the display. Also shown on the display (2112) within region (3680) in Figure 64 are ten square indicating regions arranged in two columns of five indicating regions.
  • Each indicating region abuts an indicating region in the other column, the indicating region located above it. if any, and the indicating region located below it, if any.
  • each indicating region indicates by its location the location of a respectively associated selectable region, in accord with the Location Indication aspect of the invention.
  • the uppermost indicating region in the left column of indicating regions (3605) is associated with the uppermost selectable region (3604/3606) on the left side of the display.
  • Indicating region (3609) located immediately below indicating region (3605) is associated with selectable region (3608/3610) located immediately below selectable region (3604/3606).
  • each of the plurality of the selectable regions shown in Figure 64 is associated with one of a plurality of menu options, each of the plurality of menu options having a common characteristic.
  • the common characteristic is a phonetic unit and intonation but may be a phonetic unit alone, an intonation alone, a stroke used to draw an ideograph, a number of horizontal strokes, a number of vertical strokes, a number of total strokes, a stroke order, a radical, a part of speech, an ideograph, a kana, a diacritic, a classification of a part of an ideograph or other characteristic of a class of ideographs.
  • the ten menu options shown in Figure 64 are Chinese ideographs each starting with the distinct sound "f ⁇ ".
  • the menu options may be sequences of graphic symbols including one or more kanji.
  • each of the selectable regions associated with a menu option starting with the distinct sound "f ⁇ " is associated with a menu option not previously displayed and the newly associated menu option replaces the old menu option on the display.
  • a cross hair cursor (3686) is displayed in the circumscribed region (3680). Assuming the operator desires to select the menu option associated with selectable region (3608/3610), he turns his head to the left and the cross hair cursor (3686) moves to the left, responsive to the head movement, until the cross hair cursor hotspot intersects selectable region (3608/3610) and he maintains the location of the cross hair cursor hotspot on that selectable region for the selection threshold period.
  • the menu option associated with selectable region (3608/3610) is selected and added to text (3684) displayed in the circumscribed region (3680), the general pu ⁇ ose computer system (2218) emits an audible beep indicating that selection has occurred and the displayed menu options, both on the indicating regions and the visible subregions, are removed from the display.
  • selection is made in accord with the Facilitated Dwell subaspect of the Dwell aspect of the invention, described above.
  • the operator receives an indication of the progress of his selection by a change in appearance of the indicating region associated with the intersected selectable region.
  • selection may be by intersection of a location indicated by the at least part of a cursor and a selectable region alone, by such an intersection accompanied by a switch operation, for example, a depression of a space bar on the keyboard, or by other suitable means.
  • the operator sees the entire menu in the compact indicating regions and may discover the location of the selectable region associated with each menu option without having to visually scan all the visible subregions.
  • the plurality of indicating regions may be moved to a different location on the display to avoid obstructing the area of the display showing most recently added graphic symbols or the area of the display where graphic symbols will soon be added.
  • an operator may select from among many sequences of one or more ideographs without lifting either hand from the keyboard, thus speeding entry of single ideographs or sequences of ideographs in word processing systems for the Chinese, Japanese and Korean languages.
  • the selectable regions are located adjacent the edge of the display, a large rectangular region remains available on the display for the output of an application program. Further, if the selectable regions are located entirely outside the display, the indicating regions obstruct only a relatively small portion of the circumscribed region (3680), permitting the display of a sequences of ideographs for selection simultaneous with the display of previously selected ideographs, neither obstructing the operator's view of the other.
  • the general pu ⁇ ose computer system is coupled to a speech synthesizer and the ideographs are symbols of a symbol set, for example, the Blissymbolics Symbol Set
  • an illiterate operator for example, a school child having impaired speech, may select symbols associated with words and those words may be spoken via the speech synthesizer.
  • Figure 65 illustrates a display and structures in accordance with an altemative embodiment of the Ideographic Language aspect of the invention.
  • 18 selectable regions (3704/3706), (3708/3710), (3712/3714), (3716/3718), (3720/3722), (3724/3726), (3728/3730), (3732/3734), (3736/3738), (3740/3742), (3744/3746), (3748/3750), (3752/3754), (3756/3758), (3760/3762), (3764/3766), (3768/3770), (3772/3774) and (3776/3778) circumscribe region (3780) on the display (21 12).
  • the visible subregions of four of the 18 selectable regions abut each of the top, left and right edges of the display (21 12).
  • the visible subregions of six of the 18 selectable regions abut the bottom edge of the display (21 12).
  • the 18 indicating regions are located within the top half of region (3780). 12 of the 18 indicating regions are arranged in two columns of six indicating regions each. The column on the left is close to the visible subregions abutting the left edge of the display. The column on the right is close to the visible subregions abutting the right edge of the display. Two of the 18 indicating regions are located between the top indicating regions in each of the left and right columns.
  • the remaining four of the 18 indicating regions are located between the bottom indicating regions in each of the left and right columns.
  • Each of the four indicating regions in the top row of indicating regions indicates the location of a respectively associated selectable region along the top edge of the display.
  • Each of the six indicating regions in the bottom row of indicating regions indicates the location of a respectively associated selectable region along the bottom edge of the display.
  • Each of the middle four indicating regions in each of the left and right columns of indicating regions indicates the location of a respectively associated selectable region along the left and right edge of the display.
  • the 16 menu options shown in Figure 65 are Chinese ideographs each of which includes the radical k ⁇ u, a radical having the shape of a rectangle.
  • Each ideograph is displayed on the visible subregion of the associated selectable region and on the indicating region associated with the selectable region.
  • the remaining two of the 18 selectable regions, (3724/3726) and (3744/3746), are associated with menu options for undo and for displaying more menu options, respectively .
  • the indicating regions (3782) in Figure 65 are disproportionately large relative to the rest of Figure 65. They are approximately 1.5 times their proportionate size. They are represented as shown in Figure 65 in compliance with Patent Cooperation Treaty Rules requiring a minimum size for letters in figures.
  • Figure 66 illustrates a display and structures in accordance with an altemative embodiment of the Ideographic Language aspect of the invention.
  • Figure 66 depicts a display (21 12) of a computer system (21 16) having thereon ten square indicating regions. (3801 ), (3803), (3805), (3807), (3809), (381 1 ), (3813), (3815), (3817), and (3819), arranged in two columns of five indicating regions.
  • Each indicating region abuts an indicating region in the other column, the indicating region located above it, if any, and the indicating region located below it, if any.
  • Each indicating region indicates the location of a respectively associated selectable region (not shown) outside the display.
  • FIG. 67 illustrates a display and structures in accordance with an altemative embodiment of the Ideographic Language aspect of the invention.
  • Figure 67 depicts a display (21 12) of a computer system (21 16) having thereon eight selectable regions (6701 ), (6703), (6705), (6707), (6709), (671 1), (6713), and (6715), each located on the display (21 12) adjacent the edge of the display (21 12) and associated respectively with a menu option. Together the eight selectable region circumscribe region (6750) on the display. In Figure 67 each of eight menu options is displayed on its associated selectable region. Six of the eight menu options, associated with selectable regions (6703), (6705), (6707), (6701 ), (6715). and (6713) each represent a sequence of graphic symbols in the Japanese language.
  • Each sequence includes the kanji "hoka” shown alone on selectable region (6703).
  • the sequences are ordered by length, the shorter sequences on selectable regions on the left side of the display (21 12) ordered by length from the top to the bottom of the display (21 12). the longer sequences along the right side of the display (21 12) ordered by length from the top to the bottom of the display (21 12).
  • the remaining two of the eight selectable regions, (6709) and (671 1 ) are associated with menu options for displaying the previous and the next display of menu options, respectively.
  • the menu option associated with a selectable region may be selected by a selection event.
  • the Ideographic Language aspect of the invention is implemented by modifications to the access program (1206) described in the detailed description of the Perimeter Menu aspect of the invention, modified as described in the descriptions of the Facilitated Dwell subaspect and the Location Indication aspects of the invention.
  • the modifications required for the Ideographic Language aspect of the invention are: (1 ) install on the general pu ⁇ ose computer system a font for the ideographic language of the embodiment; (2) at initialization time: (a) set the text of all labels for display on the selectable regions to null; (b) do not enable the cursor polling timer; and (c) hide the Windows® ( 1204) system cursor; (3) include in the main window processing procedure of the access program (1206) code to process WM CHAR messages and, when a sequence of one or more WM CHAR messages indicates a common characteristic: (a) lookup sequences or representations of sequences of one or more ideographs (hereinafter "sequences") having the common characteristic; (b) copy ten of the sequences to the labels; (c) set the Windows® (1204) system cursor to the cross hair cursor, set the cursor location to a predetermined location near an indicating region and show the Windows® (1204) system cursor; (d) set fPaint to TRUE for
  • WM_TIMER message was generated if cursor hotspot has crossed out of a selectable region set event to EV_CROSS_OUT for the intersected selectable region and to EV_MOVEMENT for all other selectable regions else if cursor hotspot intersects a selectable region if intersected selectable region's Color equals Ceiling set event to EV_CEILING for the intersected selectable region and to EV_DECAY for all other selectable regions else set event to EV_DWELL for the intersected selectable region and to EV_DECAY for all other selectable regions else set event to EV_MOVEMENT for all selectable regions else if cursor hotspot intersects a selectable region if idle time exceeded set event to EV_IDLE_TIMEOUT for all selectable regions else if intersected selectable region's Color equals Ceiling set event to EV_CEILING for the intersected selectable region and to EV_DECAY for all other selectable regions else

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Biomedical Technology (AREA)
  • Educational Technology (AREA)
  • Vascular Medicine (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Le dispositif et le procédé de l'invention concernent l'entrée de données dans des langues à idéogrammes, notamment le chinois, le japonais et le coréen, ainsi que des écrans interactifs et des procédés d'affichage interactif destinés à être utilisés par des personnes souffrant d'un manque temporaire ou permanent de capacités motrices normales. Dans un mode de réalisation préféré, chaque option d'un menu est associée respectivement avec une région ((3606), (3610), etc.) pouvant être choisie, affichée au voisinage d'un bord d'un écran (2112), formant un menu de contour d'écran et laissant une région (3680) dans le centre du menu de contour d'écran pour la sortie d'un programme d'application. Des régions que l'on peut choisir peuvent se trouver sur l'écran, en dehors de celui-ci, ou les deux à la fois. On peut choisir une option de menu en cliquant sur la région associée pouvant être choisie, en restant sur celle-ci pendant une période à seuil de sélection, ou à l'aide d'un trajet du curseur vers ladite région, ou par une combinaison de ces divers moyens. Le temps de pause restant, requis pour choisir une région pouvant être choisie, est, de préférence, indiqué par la brillance de ladite région. Des sous-menus d'un menu de contour d'écran peuvent également être des menus de contour d'écran et l'emplacement d'une option de sous-menus peut être indiquée à l'avance par la matérialisation de son option dans le menu parent. Des options de menus peuvent être des idéogrammes partageant un son, une structure ou une autre caractéristique. Des idéogrammes, qui peuvent être des homophones les uns par rapport aux autres, peuvent être associés avec des régions indicatrices colorées, et une sélection d'un idéogramme peut s'effectuer en prononçant le nom de la couleur qui lui est associée.
PCT/US1995/003591 1995-03-27 1995-03-27 Procede et appareil d'entree de donnees WO1996030822A1 (fr)

Priority Applications (12)

Application Number Priority Date Filing Date Title
PCT/US1995/003591 WO1996030822A1 (fr) 1995-03-27 1995-03-27 Procede et appareil d'entree de donnees
US08/913,822 US6160536A (en) 1995-03-27 1995-03-27 Dwell time indication method and apparatus
GB9906822A GB2332972B (en) 1995-03-27 1995-03-27 Dwell time indicator
DE19581933T DE19581933T1 (de) 1995-03-27 1995-03-27 Methode und Apparatur zur Dateneintragung
GB9720043A GB2314186B (en) 1995-03-27 1995-03-27 User Interface
AU21910/95A AU2191095A (en) 1995-03-27 1995-03-27 Method of and apparatus for data entry
GB9903350A GB2331170B (en) 1995-03-27 1995-03-27 Method of and Apparatus for Menu Selection
US08/506,032 US6903723B1 (en) 1995-03-27 1995-07-24 Data entry method and apparatus
US11/124,563 US20050231520A1 (en) 1995-03-27 2005-05-06 User interface alignment method and apparatus
US11/890,355 US20080030463A1 (en) 1995-03-27 2007-08-06 User interface apparatus and method
US13/827,216 US9535494B2 (en) 1995-03-27 2013-03-14 Apparatus and method for selecting from a display
US15/391,116 US20170108938A1 (en) 1995-03-27 2016-12-27 Apparatus for Selecting from a Touch Screen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1995/003591 WO1996030822A1 (fr) 1995-03-27 1995-03-27 Procede et appareil d'entree de donnees

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US08/506,445 Continuation-In-Part US6005549A (en) 1995-07-24 1995-07-24 User interface method and apparatus
US08/506,032 Continuation-In-Part US6903723B1 (en) 1995-03-27 1995-07-24 Data entry method and apparatus
US08/506,152 Continuation-In-Part US5999895A (en) 1995-07-24 1995-07-24 Sound operated menu method and apparatus

Publications (1)

Publication Number Publication Date
WO1996030822A1 true WO1996030822A1 (fr) 1996-10-03

Family

ID=22248850

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/003591 WO1996030822A1 (fr) 1995-03-27 1995-03-27 Procede et appareil d'entree de donnees

Country Status (4)

Country Link
AU (1) AU2191095A (fr)
DE (1) DE19581933T1 (fr)
GB (1) GB2314186B (fr)
WO (1) WO1996030822A1 (fr)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999008175A2 (fr) * 1997-08-05 1999-02-18 Assistive Technology, Inc. Systeme informatique a acces universel
EP0903661A1 (fr) * 1997-08-27 1999-03-24 Canon Kabushiki Kaisha Appareil et procédé d'entrée de données par détection de la direction du regard
WO1999027435A1 (fr) * 1997-11-25 1999-06-03 Bayerische Motoren Werke Aktiengesellschaft Dispositif pour commander un ecran d'affichage
WO2000075765A1 (fr) * 1999-06-09 2000-12-14 Malvern Scientific Solutions Limited Systeme et procede de communication
GB2352153A (en) * 1999-07-14 2001-01-17 Ibm Pointer memory for improved selection accuracy
WO2003075144A2 (fr) * 2002-03-01 2003-09-12 Michael John Watling Appareil d'entree pour un systeme d'ordinateurs
US6903723B1 (en) 1995-03-27 2005-06-07 Donald K. Forest Data entry method and apparatus
EP1094383A3 (fr) * 1999-10-18 2005-11-02 Honeywell International, Inc. Procédés et appareil de commande de curseur
US7761175B2 (en) 2001-09-27 2010-07-20 Eatoni Ergonomics, Inc. Method and apparatus for discoverable input of symbols on a reduced keypad
WO2011089018A1 (fr) * 2010-01-25 2011-07-28 Rheinisch-Westfälische Technische Hochschule Aachen (RWTH) Procédé et dispositif pour l'entrée d'une information dans une installation de traitement de données
USRE43082E1 (en) 1998-12-10 2012-01-10 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US8200865B2 (en) 2003-09-11 2012-06-12 Eatoni Ergonomics, Inc. Efficient method and apparatus for text entry based on trigger sequences
US8879703B1 (en) 2012-05-31 2014-11-04 Tal Lavian System method and device for providing tailored services when call is on-hold
US10254953B2 (en) 2013-01-21 2019-04-09 Keypoint Technologies India Pvt. Ltd. Text input method using continuous trace across two or more clusters of candidate words to select two or more words to form a sequence, wherein the candidate words are arranged based on selection probabilities
US10474355B2 (en) 2013-01-21 2019-11-12 Keypoint Technologies India Pvt. Ltd. Input pattern detection over virtual keyboard for candidate word identification

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006010229B4 (de) * 2006-03-02 2012-03-08 Tobias Denninger Verfahren und Vorrichtung zur Eingabe von Zeichen

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4109145A (en) * 1974-05-20 1978-08-22 Honeywell Inc. Apparatus being controlled by movement of the eye
WO1986003863A1 (fr) * 1984-12-24 1986-07-03 The University Of Adelaide Ameliorations concernant un appareil commande par la direction du regard
GB2173023A (en) * 1985-03-25 1986-10-01 Intech Systems Inc Method and apparatus for selecting and constructing language symbols and characters
US4788649A (en) * 1985-01-22 1988-11-29 Shea Products, Inc. Portable vocalizing device
EP0324306A2 (fr) * 1987-11-16 1989-07-19 International Business Machines Corporation Méthode pour éviter l'erreur de parallaxe dans un système d'écran tactile
DE9300231U1 (de) * 1993-01-11 1993-08-19 Hessabi Iradj Schalter
JPH06149534A (ja) * 1992-11-13 1994-05-27 Toshiba Corp 音声画面操作装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60149534A (ja) * 1984-01-18 1985-08-07 Nippon Shokubai Kagaku Kogyo Co Ltd 共役ジオレフィン製造用触媒の調製方法
US4586035A (en) * 1984-02-29 1986-04-29 International Business Machines Corporation Display terminal with a cursor responsive virtual distributed menu
CA2126142A1 (fr) * 1994-06-17 1995-12-18 David Alexander Kahn Appareil de communication visuel

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4109145A (en) * 1974-05-20 1978-08-22 Honeywell Inc. Apparatus being controlled by movement of the eye
WO1986003863A1 (fr) * 1984-12-24 1986-07-03 The University Of Adelaide Ameliorations concernant un appareil commande par la direction du regard
US4788649A (en) * 1985-01-22 1988-11-29 Shea Products, Inc. Portable vocalizing device
GB2173023A (en) * 1985-03-25 1986-10-01 Intech Systems Inc Method and apparatus for selecting and constructing language symbols and characters
EP0324306A2 (fr) * 1987-11-16 1989-07-19 International Business Machines Corporation Méthode pour éviter l'erreur de parallaxe dans un système d'écran tactile
JPH06149534A (ja) * 1992-11-13 1994-05-27 Toshiba Corp 音声画面操作装置
DE9300231U1 (de) * 1993-01-11 1993-08-19 Hessabi Iradj Schalter

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"DISCRETE AND CONTINUOUS CONTROL USING STABLE SPEECH SOUNDS", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 33, no. 10A, 1 March 1991 (1991-03-01), pages 378/379, XP000110092 *
"PRE - SELECTION HIGHLIGHTING", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 32, no. 8b, NEW YORK US, pages 231 - 232, XP000082441 *
JACOB R. J. K. ET AL: "What you look is what you get", COMPUTER, vol. 26, no. 7, LOS ALAMITOS US, pages 65 - 66, XP000376643 *
PATENT ABSTRACTS OF JAPAN vol. 018, no. 460 (P - 1793) 26 August 1994 (1994-08-26) *
YAMADA M. ET AL: "Eye word processor (EWP) and peripheral controller for the ALS patient", IEE PROCEEDINGS A PHYSICAL SCIENCE, MEASUREMENT & INSTRUMENTATION, MANAGEMENT & EDUCATION., vol. 134, no. 4, STEVENAGE GB, pages 328 - 330 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6903723B1 (en) 1995-03-27 2005-06-07 Donald K. Forest Data entry method and apparatus
WO1999008175A3 (fr) * 1997-08-05 1999-05-20 Assistive Technology Inc Systeme informatique a acces universel
US6128010A (en) * 1997-08-05 2000-10-03 Assistive Technology, Inc. Action bins for computer user interface
WO1999008175A2 (fr) * 1997-08-05 1999-02-18 Assistive Technology, Inc. Systeme informatique a acces universel
EP0903661A1 (fr) * 1997-08-27 1999-03-24 Canon Kabushiki Kaisha Appareil et procédé d'entrée de données par détection de la direction du regard
US6426740B1 (en) 1997-08-27 2002-07-30 Canon Kabushiki Kaisha Visual-axis entry transmission apparatus and method therefor
WO1999027435A1 (fr) * 1997-11-25 1999-06-03 Bayerische Motoren Werke Aktiengesellschaft Dispositif pour commander un ecran d'affichage
US7225413B1 (en) 1997-11-25 2007-05-29 Bayerische Motoren Werke Aktiengesellschaft Device for controlling a display screen
USRE43082E1 (en) 1998-12-10 2012-01-10 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US8405601B1 (en) 1999-06-09 2013-03-26 Malvern Scientific Solutions Limited Communication system and method
WO2000075765A1 (fr) * 1999-06-09 2000-12-14 Malvern Scientific Solutions Limited Systeme et procede de communication
US6760049B1 (en) 1999-07-14 2004-07-06 International Business Machines Corporation Pointer memory for improved selection accuracy
GB2352153B (en) * 1999-07-14 2004-03-10 Ibm Pointer memory for improved selection accuracy
GB2352153A (en) * 1999-07-14 2001-01-17 Ibm Pointer memory for improved selection accuracy
EP1094383A3 (fr) * 1999-10-18 2005-11-02 Honeywell International, Inc. Procédés et appareil de commande de curseur
US7761175B2 (en) 2001-09-27 2010-07-20 Eatoni Ergonomics, Inc. Method and apparatus for discoverable input of symbols on a reduced keypad
WO2003075144A2 (fr) * 2002-03-01 2003-09-12 Michael John Watling Appareil d'entree pour un systeme d'ordinateurs
US7542025B2 (en) 2002-03-01 2009-06-02 Watling Michael J Input apparatus for a computer system
WO2003075144A3 (fr) * 2002-03-01 2004-06-17 Michael John Watling Appareil d'entree pour un systeme d'ordinateurs
US8200865B2 (en) 2003-09-11 2012-06-12 Eatoni Ergonomics, Inc. Efficient method and apparatus for text entry based on trigger sequences
WO2011089018A1 (fr) * 2010-01-25 2011-07-28 Rheinisch-Westfälische Technische Hochschule Aachen (RWTH) Procédé et dispositif pour l'entrée d'une information dans une installation de traitement de données
US8879703B1 (en) 2012-05-31 2014-11-04 Tal Lavian System method and device for providing tailored services when call is on-hold
US10254953B2 (en) 2013-01-21 2019-04-09 Keypoint Technologies India Pvt. Ltd. Text input method using continuous trace across two or more clusters of candidate words to select two or more words to form a sequence, wherein the candidate words are arranged based on selection probabilities
US10474355B2 (en) 2013-01-21 2019-11-12 Keypoint Technologies India Pvt. Ltd. Input pattern detection over virtual keyboard for candidate word identification

Also Published As

Publication number Publication date
DE19581933T1 (de) 1998-04-16
AU2191095A (en) 1996-10-16
GB2314186A (en) 1997-12-17
GB2314186B (en) 1999-08-18
GB9720043D0 (en) 1997-11-19

Similar Documents

Publication Publication Date Title
US9535494B2 (en) Apparatus and method for selecting from a display
US6160536A (en) Dwell time indication method and apparatus
US5999895A (en) Sound operated menu method and apparatus
US6005549A (en) User interface method and apparatus
Majaranta et al. Twenty years of eye typing: systems and design issues
Foley et al. The art of natural man-machine conversation
Loncke Augmentative and alternative communication: Models and applications
EP0832480B1 (fr) Redefinition dynamique de touches sur un clavier
Rosenberg et al. The chording glove: a glove-based text input device
Hutchinson et al. Human-computer interaction using eye-gaze input
Edwards Soundtrack: An auditory interface for blind users
WO1996030822A1 (fr) Procede et appareil d'entree de donnees
US9836143B1 (en) System, method, and computer-readable medium for facilitating adaptive technologies
Hansen et al. Noise tolerant selection by gaze-controlled pan and zoom in 3D
Jones Human-computer interaction: A design guide
KR20180083252A (ko) 실제 객체 및 가상 객체와 상호작용하기 위한 생체기계적 기반의 안구 신호를 위한 시스템 및 방법
Kamel et al. Sketching images eyes-free: a grid-based dynamic drawing tool for the blind
Majaranta Text entry by eye gaze
Hyrskykari Eyes in attentive interfaces: Experiences from creating iDict, a gaze-aware reading aid
Simpson Computer Access for People with Disabilities: A Human Factors Approach
Harwin et al. Analysis of intentional head gestures to assist computer access by physically disabled people
GB2332972A (en) Dwell time indicator in interactive display terminal
Tartter et al. Perceiving minimal distinctions in ASL under normal and point-light display conditions
CA2214511A1 (fr) Procede et appareil d'entree de donnees
DV et al. Eye gaze controlled adaptive virtual keyboard for users with SSMI

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 08506032

Country of ref document: US

Ref document number: 08506445

Country of ref document: US

Ref document number: 08506152

Country of ref document: US

AK Designated states

Kind code of ref document: A1

Designated state(s): AM AT AU BB BG BR BY CA CH CN CZ DE DK ES FI GB GE HU JP KE KG KP KR KZ LK LT LU LV MD MG MN MW MX NL NO NZ PL PT RO RU SD SE SG SI SK TJ TT UA UG US UZ VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2214511

Country of ref document: CA

Ref document number: 2214511

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 08913822

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 9720043.0

Country of ref document: GB

RET De translation (de og part 6b)

Ref document number: 19581933

Country of ref document: DE

Date of ref document: 19980416

WWE Wipo information: entry into national phase

Ref document number: 19581933

Country of ref document: DE

122 Ep: pct application non-entry in european phase