throbber
p15
`United States Patent
`6,094,197
`Patent Number:
`[11]
`[45] Date of Patent:
`Jul. 25, 2000
`Buxton etal.
`
`US006094197A
`
`[54] GRAPHICAL KEYBOARD
`
`[75]
`
`Inventors: William A. S. Buxton, Toronto,
`Canada; Gordon P. Kurtenbach,
`Mountain View, Calif.
`
`[73] Assignee: Xerox Corporation, Stamford, Conn.
`
`[21] Appl. No.: 08/443,259
`
`Kurtenbachetal. “Issues in Combining Marking and Direct
`Manipulation Techniques,” User
`Interface Software and
`Technology (UIST), ITilton IIead, SC (Nov. 11-13, 1991),
`137-144.
`
`
`
`Kurtenbach, Gordon P. “The Design and Evaluation of
`Marking Menus,” Doctrate Thesis, Graduate Department of
`Computer Science, University of ‘loronto, 1993.
`Kurtenbach, Gordon “Making Marks Self—Revealing,” SIG-
`CHI Bulletin, vol. 23(4):60-61 (Abstract) (Oct. 1991).
`[22] Filed:|May 17, 1995
`Kurtenbachet al. “An Empirical Evaulation of Some Articu-
`latory and Cognitive Aspects of Marking Menus,” Human—
`Computer Intcraction 8:1-23 (1993).
`Robertson et al., “Buttons as First Class Objects on an X
`Desktop,” user Interface Software and Technology (UIST),
`Hilton Head, SC (Nov. 11-13, 1991), 35-44.
`
`
`
`Related U.S. Application Data
`
`[63] Continuation of application No. 08/171,288, Dec. 21, 1993,
`abandoned.
`
`Tint, C07 ec cccssscssssssscessesssessesssesessesnse G09G 5/00
`PSD]
`[52] U.S. Chee 345/358; 345/168; 345/179;
`341/22
`[58] Field of Search oe 345/156, 157,
`345/168, 169, 170, 172, 173, 174, 175,
`176, 179, 180, 181, 182, 183; 341/22, 23;
`170/18, 19; 395/326, 335, 347, 350, 351,
`352; 382/188, 189
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`Primary Examiner—Steven Saras
`Attorney, Agent, or Firm—Townsend & Townsend Crew
`LLP
`
`[57]
`
`ABSTRACT
`
`Asystem and method for a graphical keyboard that benefits
`from the expressive power andintuitive ease of use associ-
`ated with pen strokes and gestures, yet does not require
`complex character-recognition software. The graphical key-
`board responds differently to different kinds of pen strokes.
`For example, lowercase “a” is entered by tapping a stylus on
`the “a” key of the graphical keyboard. Uppercase “A” is
`entered by an upward stroke initiated over the “a” key.
`Likewise, by stroking in other dircctions, a user can express
`other modifiers to the basic character, such as “control’,
`“alt”, “command,” etc. Also, strokes in distinct directions
`can be used to express space, backspace, delete, and return
`European Pat. Off.
`12/1993
`0 603 669A1
`characters, for example. Multiple strokes can be applied in
`Japan .
`7/1985
`0144817
`sequence to a single key to express multiple modifiers.
`Japan .
`7/1985
`60-144817
`Visual feedback of pen strokes can be provided in the form
`0011144=11/1989) WIPO woes cece cneees 178/18
`of marks made by the pen. Pop-up menus can be used to
`89/11144
`11/1989 WIPO .
`
`
`92/09944=6/1992 WIPO wo..eeeeecetteeeeeee GO6F 3/033 provide help with and to facilitate memorization of com-
`mandstrokes and stroke sequences. The graphical keyboard
`OTHER PUBLICATIONS
`thus lets the expert user proceed by “feel,” and prompts the
`novice user when and as necessary.
`
`4,725,694
`5,050,105
`
`.. 345/157 5,148,155
`
`.ucecceccccccee cess 345/173
`2/1988 Aueret al.
`9/1991 Peters ..........
`9/1992 Martin etal.
`11/1993 Jones........
`5,258,748
`345/173
`1/1994 Lamb..........
`5,276,794
`. 345/156
`9/1994 Agulnick etal.
`5,347,295
`2/1997 Goughet al. oie eee 345/179
`5,603,053
`FOREIGN PATENT DOCUMENTS
`
`........ GO6F 3/033
`
`Knodt, Ruediger W. “Smart Virtual Keyboard System Suit-
`able for Mouse or Stylus Entry,” Xerox Disclosure Journal,
`vol. 18(3):245—245, May/Jun. 1993.
`
`18 Claims, 20 Drawing Sheets
`
`
`
`MSFT EX. 1006
`Page 1 of 35
`
`MSFT EX. 1006
`Page 1 of 35
`
`

`

`Jul. 25, 2000
`
`Sheet 1 of 20
`
`U.S. Patent
`
`6,094,197
`
`STROKE.a => "A"
`
`
`
`FIG. 3.
`
`MSFT EX. 1006
`Page 2 of 35
`
`MSFT EX. 1006
`Page 2 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 2 of 20
`
`6,094,197
`
`UPPER CASE
`A
`
`OPTION ==--
`
`| ~~" CONTROL
`
`
`
`t
`COMMAND
`
`FIG.
`
`4.
`
`™ =>"CONTROL c”
`
`-= =>"CONTROL Cc"
`
`i
`
` BACKSPACE
`RETURN
`XN
`4
`
`
`
`MSFT EX. 1006
`Page 3 of 35
`
`MSFT EX. 1006
`Page 3 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 3 of 20
`
`6,094,197
`
`TSE|CUSsaisk YE
`frablq[wleIrit|y[uj|ffablatwletrIth \j
`aislalflalh 4
`FAFACATALIIN
`
`a ‘eizlHA
`
`[|RPSI4)5|6bzie
`fabawnfist. SSS
`| (Pit,
`
`
`
`MSFT EX. 1006
`Page 4 of 35
`
`MSFT EX. 1006
`Page 4 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 4 of 20
`
`6,094,197
`
`|“tt(2{3]4[5]61716 ||12[3[4i5[6[71¢
`
`
`Fabla{wlelritiyiul|fabla] fl yTu
`wileir]t|
`atedlFIOTRTA
`leper9TAT|
`Zix}cAy
`
`oN
`
`
`
`FIG 3.
`
`
`
`FIC 10,
`
`MSFT EX. 1006
`Page 5 of 35
`
`MSFT EX. 1006
`Page 5 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 5 of 20
`
`6,094,197
`
`
` Gas
`
`
`CLIPBOARD} SELECTION USING
`
`
`
`SELECTION USING
`MENU MODE
`MARK MODE
`
`
`FIG.
`
`VL.
`
`/
`|
`
`2s
`
`173
`
`\
`4
`
`Q @Q@
`%ZING
`SEA
`3X0)
`<a?
`OS)
`ox
`
`3a
`
`3b
`
`££ Kaz
`2:0 a ol
`xe
`Y Z 6 ~
`\
`\
`NOO™
`
`3:c
`
`3:d
`
`4:4
`
`4:5
`4c
`MENU HIERARCHY
`MARK SET
`
`FIG.
`&2.
`
`4:d
`
`MSFT EX. 1006
`Page6 of 35
`
`MSFT EX. 1006
`Page 6 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 6 of 20
`
`6,094,197
`
`(1)
`
`(2)
`
`FIG.
`
`13.
`
`UPPER CASE
`
`. !
`
`COMMAND
`
`SPACE” '
`
`MSFT EX. 1006
`Page7 of 35
`
`MSFT EX. 1006
`Page 7 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 7 of 20
`
`6,094,197
`
`15.
`
`FIG.
`
`ea
`
`
`MSFT EX. 1006
`Page 8 of 35
`
`MSFT EX. 1006
`Page 8 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 8 of 20
`
`6,094,197
`
`negere5161714SeTreyie)_|WPPERISER oF
`LL!12(ameeinen7|é
`abtgTHEHRCAS4
`OPMOMTGTALTRein
`
`feereeSFLLatCOMMAND vi
`
`
`
`FIFRA
`Eola.
`Chawiny24
`
`Ldlelol7
`
`MSFT EX. 1006
`Page 9 of 35
`
`MSFT EX. 1006
`Page 9 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 9 of 20
`
`6,094,197
`
`NOILWONdd¥
`
`WVH90Ud
`
`AYOWIN
`
`
`
`BlOld
`
`Yasn
`
`JOVIUIINI
`
`MSFTEX. 1006
`Page 10 of 35
`
`MSFT EX. 1006
`Page 10 of 35
`
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 10 of 20
`
`Yas
`
`NOWLVONdd¥
`
`WY¥U90Ud
`
`6,094,197
`
`
`
`J0VIU3INI
`
`MSFTEX. 1006
`Page 11 of 35
`
`MSFT EX. 1006
`Page 11 of 35
`
`

`

`Jul. 25, 2000
`
`Sheet 11 of 20
`
`U.S. Patent
`
`6,094,197
`
`FIG.
`
`IQA.
`
`MSFT EX. 1006
`Page 12 of 35
`
`MSFT EX. 1006
`Page 12 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 12 of 20
`
`6,094,197
`
`OgOA
`
`4asn
`
`
`
`JOVINIINI
`
`Sb
`
`Nd)
`
`p—+KOHN
`
`LT
`
`MSFTEX. 1006
`Page 13 of 35
`
`NOLVONdd¥
`
`WVU90Ud
`
`9
`
`MSFT EX. 1006
`Page 13 of 35
`
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 13 of 20
`
`6,094,197
`
`BEGIN
`
`
`
`
`
`DETERMINE
`EVENT TYPE
`
`
`
`D
`
`
`
`FIG. 2t
`
`MSFT EX. 1006
`Page 14 of 35
`
`MSFT EX. 1006
`Page 14 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 14 of 20
`
`6,094,197
`
`DETERMINE
`KEY
`PRESSED
`
`HIGHLIGHT
`THAT KEY
`
` SET MODE
`
`TO MARK
`MODE
`
`SAVE PEN
`LOCATION AND
`TIME IN
`POINT LIST
`
`BEGIN
`
`
`
`
`
`
`
`
`RETURN
`
`FIG.
`
`22.
`
`MSFT EX. 1006
`Page 15 of 35
`
`MSFT EX. 1006
`Page 15 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 15 of 20
`
`6,094,197
`
`BEGIN
`MARK MODE
`
`MENU MODE
`
`
`
`DETERMINE MENU
`SAVE
`
`ITEM BEING
`PEN LOCATION
`
`
`SELECTED BASED
`AND TIME
`
`
`
`ON PEN LOCATION
`
`
`IN POINTLIST
`
`
`
`
`
`ORAW INK TRAIL
`
`STORE IN
`FROM PREVIOUS
`
`PEN LOCATION
`“SELECTED ITEM"
`
`TO CURRENT
`OF CURRENT MENU
`
`PEN LOCATION
`
`
`
`
`
`
`
`RETURN
`
`FIG. 23.
`
`MSFT EX. 1006
`Page 16 of 35
`
`MSFT EX. 1006
`Page 16 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 16 of 20
`
`6,094,197
`
`MARK MODE
`
`
`
`
`
` SET MODE
`TO MENU
`MODE DOES
`
`
`ITEM HAVE A
`SUBMENU?
`
`
`
`REPLACE THE
`MARK WITH MENUS BY
`
`
`DETERMINING ITEMS
`UNDISPLAY THE
`
`SELECTED BY MARK
`CURRENT MENU
`
`
`
`
`DISPLAY SUBMENU
`AND MAKE IT THE
`CURRENT MENU
`
`
`
` RETURN
`
`FIG. 24
`
`MSFT EX. 1006
`Page 17 of 35
`
`MSFT EX. 1006
`Page 17 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 17 of 20
`
`6,094,197
`
`MENU MODE
`
` ERASE
`ALL MENUS
`
` DETERMINE MENU
`
`
`ITEMS SELECTED
`BY MARK
`
`BEGIN
`MARK MODE
`
`
`
`
`TRAVERSE THE MM
`
`HIERARCHY TO DETERMINE
`WHICH ITEMS/ MODIFIERS
`WERE CHOSEN
`
`
`
`
`
`
`
`
`
`
`
`GENERATE CHARACTER
`AND PLACE INTO BUFFER
`
`UNHIGHLIGHT THE
`PRESSED KEY
`
`RETURN
`
`FIG, 25.
`
`MSFT EX. 1006
`Page 18 of 35
`
`MSFT EX. 1006
`Page 18 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 18 of 20
`
`6,094,197
`
`IS MARK LESS THAN
`5 MM LONG?
`
`NO MODIFIER
`WAS SELECTED
`
`RETURN
`
`GET ARTICULATIONPOINTS
`
`ARTICULATION POINTS TO MENU ITEMS
`
`GENERATE MODIFIERS ACCORDING
`TO MENU SELECTIONS
`
`FIG. 26.
`
`MSFT EX. 1006
`Page 19 of 35
`
`MSFT EX. 1006
`Page 19 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 19 of 20
`
`6,094,197
`
`TIME BETWEEN POINTS IS GREATER THAN .5 SECONDS)
`
`GET THE POINTS IN THE INPUT POINTLIST WHERE THE USER
`PAUSED WHILE DRAWING (POINTS WHERE THE ELAPSED
`
`FA
`
`ARE
`
`THERE AT LEAST
`2 PAUSE POINTS
`
`REMOVE INACCURACIES IN THE POINTLIST DUE
`TO THE PENS FIRST TOUCHING THE DISPLAY
`
`TAKE PAUSE POINTS TO
`BE ARTICULATION POINTS.
`ADD TO OUTPUT POINTLIST
`
`
`
`
`
`
`
`
`
`REMOVE SMALL ANGLE CHANGES IN THE
`POINTLIST DUE TO PEN JITTER
`
`
`THE LOCATION OF THE
`FIRST AND LAST
`ANY
`
` POINT & LAST POINT OF
`
`POINTS OF THE MARK
`SIGNIFICANT
`
`
`THE INPUT POINTLIST
`AND THE LARGEST ANGLE
`ANGLE CHANGES
`
`
`DEFINE A SINGLE MENU
`CHANGE(S) DEFINE THE
`FOUND?
`
`
`
`SELECTION. ADD THEM
`
`ARTICULATION POINTS.
`TO THE eT POINT-
`ADD THEM TO THE OUT-
`
`PUT POINTLIST.
`
`
`
`REMOVE INACCURACIES IN THE POINTLIST DUE
`TO THE PEN'S LIFTING FROM THE DISPLAY
`
`REMOVE SNALL ANGLE CHANGES IN THE
`POINTLIST DUE TO PEN JITTER
`
`FE
`
`ADD FINISHING POINT TO
`OUTPUT POINTLIST
`
`FM
`
`
`
`
`RETURN
`
`FIG. 27.
`
`MSFT EX. 1006
`Page 20 of 35
`
`MSFT EX. 1006
`Page 20 of 35
`
`

`

`U.S. Patent
`
`Jul. 25, 2000
`
`Sheet 20 of 20
`
`6,094,197
`
`MAKE THE TOP MM IN
`THE HIERARCHY THE
`CURRENT MENU
`
`
`
`
`
`
`
`
`FOR EACH
`
`
`ARTICULATION
`
`POINT EXCEPT
`THE LAST ONE:
`
`
`
`
`
`
`
`
`DETERMINE THE ITEM THAT WOULD BE
`IF THE CURRENT MENU WERE CENTERED
`ON THE ARTICULATION POINT AND THE
`PEN TIP WERE THE LOCATION OF THE
`
`NEXT ARTICULATION POINT.
`
`
`
`STORE THIS AS THE SELECTED
`ITEM FOR THE CURRENT MENU
`
`
`CONTINUE LOOPING- GO
`PROCESS NEXT
`
`
`ARTICULATION POINT
`
`
`DONE --LOOP
`TERMINATED
`
`IMMEDIATELY
`
`
`YES
`GG
`
`
`
`
`MAKE THE SELECTED ITEM
`SUBMENU THE CURRENT MENU
`
`GH
`
`DROP OUT OF LOOP
`
`RETURN
`
`FIG. 28.
`
`MSFT EX. 1006
`Page 21 of 35
`
`MSFT EX. 1006
`Page 21 of 35
`
`

`

`6,094,197
`
`1
`GRAPHICAL KEYBOARD
`
`This is a continuation Ser. No. 08/171,288,filed Dec. 21,
`1993, now abandoned.
`A portion of the disclosure of this patent document
`contains material which is subject to copyright protection.
`The copyright owners have no objection to the facsimile
`reproduction, by anyone, of the patent document or the
`patent disclosure, as it appears in the Patent and Trademark
`Office patent
`file or records, but otherwise reserve all
`copyright rights whatsoever.
`SOFTWARE
`
`10
`
`The application recites provides a source code software
`program for implementation of an embodiment of the
`method of the invention on a digital computer. The source
`code includesa single file written in the HyperCard scripting
`language. The code mins under the HyperCard program
`(version 2.0 or higher) for Apple Macintosh computers
`(Macintosh II or better hardware running System 7.0 or
`higher operating software), well knownto those of skill in
`the art.
`
`is
`The source code represents unpublished work that
`Copyright ©1993 Xerox Corporation. All rights reserved.
`Copyright protection claimed includesall forms and matters
`of copyrightable material and information now allowed by
`statutory or judicial
`law or hereafter granted,
`including
`without limitation, material generated from the software
`programs which are displayed on the screen such as icons,
`serecn display looks, ctc.
`Although a particular software implementation is
`provided, it will be apparent to those of skill in the art that
`a wide variety of programming languages and hardware
`configurations can readily be used based onthis disclosure
`without departing from the scope of the invention.
`BACKGROUND OF THE INVENTION
`
`The present invention relates to graphical user interfaces
`and more particularly to graphical user interfaces for pen-
`based computing.
`Pen-based computing is becoming increasingly popular.
`The user of a pen-based computer inputs commands and
`data into the computer using a pen or stylus, typically by
`printing or writing characters with the pen or stylus on the
`computer’s display screen in a manneranalogousto printing
`or writing with a pen on ordinary paper. Certain commands
`can be entered as pen strokes (gestures); for example, a word
`may be deleted by crossing it out, or a file may be opened
`by writing an “o” on its representative icon. Examples of
`pen-based computing are found in systems ranging from
`palm-sized personal digital assistants,
`through slate-sized
`machines such as notepad computers, and up to wall-sized
`interactive displays. Also, pen-based interfaces can some-
`times be added or retrofitted to computer systems not
`originally designed to be pen-based, such as certain personal
`computer systems.
`The usefulness of pen-based computingis limited because
`of the limited capabilities of character recognition software.
`In many pen-bascd systems, the user cannot write in cursive
`handwriting, but must print. This slows down input.
`Furthermore, the system hasdifficulty in recognizing printed
`characters. Consequently, the user must print carefully (viz.,
`slowly) and often must print in special windows and within
`designated boxes, and the system can require special train-
`ing for each individual user. Even so, character recognition
`performance can berelatively poor. In addition, pen-based
`
`30
`
`40
`
`50
`
`60
`
`2
`systems that use character recognition do not adapt well to
`run on conventional computer workstations equipped with a
`mouse, for example.
`Because of the limitations of the character-recognition
`approach to pen-based input, an alternative approach is
`sometimes used. In this approach, a graphical keyboard,
`visually analogous to the conventional mechanical
`(typewriter) keyboard commonly used for input in non-pen-
`based computer systems, appears on the computer display.
`The user enters text by using the stylus to tap on desired keys
`of the graphical keyboard.
`The graphical-keyboard approach offers certain advan-
`tages over the character-recognition approach. Entering data
`through a graphical keyboard can be faster than printing
`(especially with numeric keypads), can be less susceptible to
`errors when properly implemented(i.e., when the graphical
`keys are not too small), and does not require the system to
`be specially trained for each individual user. Moreover, the
`approach is simple to implementand integrate into existing
`software applications.
`Unfortunately, known graphical keyboards suffer from
`numerous drawbacks. Although the graphical keyboard is
`visually analogous to a mechanical keyboard,it is function-
`ally far more limited. With a graphical keyboard, a user
`cannot “touch type” using all fingers of both hands, but
`instead must “hunt and peck” with the pen or stylus, as if
`typing with one finger on a mechanical keyboard. Typing
`speed on the graphical keyboard is constrained by the time
`required for the user to move the finger/stylus from key to
`key on the keyboard. Also, the user cannot tap multiple keys
`simultaneously. In particular, the user cannot tap a modifier
`key, such as the “shift,” “ctrl,” “option,” or “alt” key, at the
`same timeas an ordinary key, such as a letter or number key,
`but instead mustfirst tap the modifier key and then tap the
`letter or numberkey. In some systems the user must tap the
`modifier key once to set
`the modifier,
`tap the letter or
`number key, and then tap the modifier key again to release
`the modifier (for example, tap “shift,” “a,” “shift” to input an
`uppercase “A”. This can be especially awkward when mul-
`tiple modifiers must be composed to form a single character
`(for example, a doubly modified character such as ctrl-alt-x
`or a triply modified character such as ctrl-alt-X).
`Another problem with the graphical keyboard approach is
`that it places a heavy visual load on the user. Whereas with
`a mechanical keyboard, the user can memorize commonly
`used sequences of keystrokes and perform them “by feel”
`without looking at the keyboard, with the graphical key-
`board the user typically must look at the display before each
`tap of the stylus to ensure that the stylus is correctly placed.
`Furthermore, the graphical keyboard tendsto take up a large
`portion of the screen display, in part because the keyboard
`contains manyorall of the modificr and function keys found
`in its mechanical counterpart.
`the graphical-keyboard
`Because of its drawbacks,
`approach to pen-based input
`is often considered
`cumbersome, and is used in pen-bascd computing systems
`only as a fallback when character recognition fails or is
`insufficiently reliable. The character-recognition and
`graphical-keyboard approaches to pen-based computing are
`typically seen as mutually exclusive alternatives, not as
`complements.
`In particular,
`it has not been possible to
`combine the intuitive ease of use promised (if not always
`afforded) by the character-recognition approach with the
`speed, robustness and ease of implementation offered by the
`graphical keyboard approach.
`SUMMARYOF THE INVENTION
`
`The present invention is a graphical keyboard that permits
`the user to do more than simple key-tapping. It lets the
`
`MSFT EX. 1006
`Page 22 of 35
`
`MSFT EX. 1006
`Page 22 of 35
`
`

`

`6,094,197
`
`10
`
`4
`3
`FIG. 17 is a series of views showing how an eight-way
`expert user proceed by “feel,” and prompts the novice user
`marking menu can be used with the graphical keyboard of
`when and as necessary. The graphical keyboard benefits
`the invention;
`from the expressive powerand intuitive ease of use associ-
`ated with pen strokes and gestures, yet does not require
`FIG. 18 illustrates a pen-based system suitable for imple-
`complex character-recognition software.
`menting the invention;
`The graphical keyboard of the invention responds differ-
`FIG. 19 illustrates an alternative pen-based system in
`ently to different kinds of pen strokes. For example, lower-
`which the display screen and input sensor are decoupled;
`case “a” is entered by tapping a stylus on the “a” key of the
`FIG. 19A illustrates an input sensor with an affixed
`graphical keyboard. Uppercase “A”is entered by an upward
`keyboard image;
`stroke initiated over the “a” key. Likewise, by stroking in
`FIG. 20 illustrates a mouse-based system suitable for
`other directions, a user can express other modifiers to the
`implementing the invention;
`basic character, such as “control”, “alt”, “command,” etc.
`FIG. 21 is a flowchart of steps for responding to an event
`Also, strokes in distinct directions can be used to express
`according to an embodiment of the invention that incorpo-
`space, backspace, delete, and return characters, for example.
`rates marking menus;
`Multiple strokes can be applied in sequence to a single key
`to express multiple modifiers. Visual feedback of pen strokes
`FIG. 22 is a flowchart of steps for processing a PenDown
`event;
`can be provided in the form of marks made by the pen.
`Pop-up menus can be used to provide help with and to
`FIG. 23 is a flowchart of steps for processing a PenDrag
`facilitate memorization of command strokes and_stroke
`event;
`sequences.
`TIG. 24 is a flowchart of steps for processing a PenStill
`invention provides an
`the present
`In another aspect,
`event;
`improved method for entering characters into a pen-based
`FIG. 25 is a flowchart of steps for processing a PenUp
`computer using a graphical keyboard.
`event;
`A further understanding of the nature and advantages of
`FIG. 26 is a flowchart of steps for determining the
`the invention will become apparent by reference to the
`modifiers corresponding to a mark;
`remaining portions of the specification and drawings.
`FIG. 27 is a flowchart of steps for determining points of
`BRIE DESCRIPTION OF THE DRAWINGS
`articulation along a mark; and
`FIG. 28 is a flowchart of steps for matching points of
`articulation along a mark with centers of corresponding
`menus.
`
`30
`
`FIG. 1 illustrates a sample graphical keyboard;
`FIG. 2 schematically depicts how a lowercase character
`can be entered by tapping a key of the graphical keyboard of
`the invention;
`FIG. 3 schematically depicts how a uppercase character
`can be entered by an upwardstroke on a keyof the graphical
`keyboard of the invention;
`The present invention provides a system and method for
`FIG. 4 schematically depicts how each modifier can be
`an improvedgraphical keyboard that respondsdifferently to
`distinguished by the direction of its particular stroke;
`different kinds of pen strokes. By applying appropriate
`FIG. 5 schematically depicts an example of how modifiers
`strokes, the user can easily type characters that on mechani-
`are combined;
`cal keyboards are typed bypressing multiple keys simulta-
`FIG. 6 schematically depicts an example of how certain
`neously. Also, the user can type certain frequently used keys,
`frequently used keys can be represented as diagonalstrokes;
`such as space, backspace, delete, and return, from anywhere
`FIG. 7 is a series of views in which a user enters a
`on the keyboard. Using pen strokes makes typing easier and
`lowercase character by tapping a key of the graphical
`faster, reduces the visual load on the user, and makesit
`keyboard;
`possible for the keyboard to take up less space in the screen
`FIG. 8 is a series of views in which a user enters an
`display.
`uppercase character by making an upward stroke onakey of
`the graphical keyboard;
`2. Examples
`FIG. 9 is a series of views in which a user enters a control
`character by making a rightward stroke on a key of the
`graphical keyboard;
`FIG. 10 is a series of views in which a user enters a control
`uppercase character by making a compound rightward-
`upward stroke on a key of the graphical keyboard;
`TIG. 11 depicts the two modes of selecting from a
`marking menu;
`FIG. 12 is example of a radial menu hierarchy and the
`marks that select from it;
`FIG. 13 is an example of mark confirmation;
`FIG. 14 schematically depicts a pop-up menurevealing a
`stroke vocabulary of eight stroke directions;
`TIG. 15 is a series of views in which a user is presented
`with and selects from a marking menu;
`FIG. 16 is a series of views showing an example of
`marking menus used to combine modifiers in the context of
`the present invention;
`
`To understand the invention, it is helpful to begin with
`some illustrative examples of its use, as depicted in FIGS.
`1-10. A displayed image of a sample graphical keyboard
`according to the invention is shown in FIG. 1. Tapping on
`any of the keys with the pen or stylus has the sameeffect as
`pushing the analogous key on a mechanical keyboard. Thus
`to enter a lowercase character, a digit, or another unmodified
`character such as a period or comma,the uscr simplytaps the
`desired key.
`To enter an uppercase character, rather than tapping, the
`user makes an upwardstroke, initiated on the desired key.
`lor example, as illustrated in FIG. 2, tapping on the “a” key
`results in “a.” An upward stroke on “a”results in “A” (FIG.
`3).
`
`DESCRIPTION OF SPECIFIC EMBODIMENTS
`
`1. Introduction
`
`40
`
`50
`
`60
`
`‘The user accesses other modifier keys, such as control,
`alternate, option, or command, in a similar manner. Each
`modifier is distinguished by the direction of its particular
`stroke. An example mapping is shown in I'IG. 4. According
`
`MSFT EX. 1006
`Page 23 of 35
`
`MSFT EX. 1006
`Page 23 of 35
`
`

`

`6,094,197
`
`5
`to the mapping, of FIG. 4, a stroke to the right indicates the
`control (“ctrl”) modifier. Thus a rightward pen stroke initi-
`ated over the character “c” causes the graphical keyboard to
`output the character “ctrl-c.” A stroke to the left indicates the
`option modifier, and a downward stroke indicates the com-
`mand modifier.
`
`Modifiers can easily be combined. For example, once
`again applying the mapping of FIG. 4,a stroke to the right,
`starting on the character “c,” followed by an upward stroke
`expresses “ctrl-C,” as distinct from “ctrl-c.” This is illus-
`trated in FIG. 5.
`Additional stroke directions can be used to substitute for
`certain frequently used keys. For example, pen strokes in the
`diagonal directions can be used to express space, backspace,
`delete, and return. A possible layout of these commands is
`shown in FIG. 6. This class of strokes is distinct from the
`modificr strokes discussed above in connection with FIGS.
`3, 4, and 5,
`in that the meaning of these strokes is not
`affected by where the stroke is made. Thus a diagonal stroke
`up and to the left is interpreted in the mapping of FIG. 6 as
`a backspace regardless of whetherit is made onthe “aa” key,
`the “c” key, or any other key of the graphical keyboard.
`Visual fecdback canassist the uscr in applying pen strokes
`to the graphical keyboard. As the user moves the pen across
`the screen, a line appears on the screen to show where the
`pen has been, as though the pen contained ink that lefi a
`mark on the screen. Once the pen stroke is recognized, the
`character is entered and the “ink trail” disappears. This is
`illustrated, for example, in FIG. 8.
`Each of FIGS. 7-10 is a series of views showing how a
`user enters input into the graphical keyboard of the inven-
`tion. The series of two views of FIG. 7 showsa user entering
`a lowercase character using the graphical keyboard of the
`invention. The user does this by tapping the desired key of
`the graphical keyboard with the pen or stylus. More
`preciscly, the uscr taps the pen against the surface of the
`screen on which the keyboard image of the graphical key-
`board is displayed, with the point of the pen striking the
`screen surface in proximity to the location of the desired key
`within the keyboard image.
`the user places the pen
`In the first view of FIG. 7,
`momentarily on the key correspondingto the letter or other
`character lo be entered (an “a” in this example). The key is
`highlighted in the display. ‘The character butter, which is
`represented by the small rectangle next to the view of the
`keyboard, pen, and user, is empty at this stage. In the second
`view, the user removes the pen from the graphical keyboard,
`thereby completing the tapping motion. The graphical key-
`board producesthe character “a” and sendsit to the character
`buffer. The highlighting disappears from the display.
`The series of three views of FIG. 8 shows a user entering
`an uppercase character using the graphical keyboard of the
`invention. The user does this by making an upwardstroke or
`mark on the desired key of the graphical keyboard.
`In thefirst vicw of FIG. 8, the user places the pen or stylus
`on the key corresponding to the character to be entered (an
`“A” in this example). The key is highlighted in the display.
`The character buffer is empty.
`In the sccond vicw of FIG. 8, the uscr moves the pen
`“upward’—that
`is,
`toward the topmost
`row of the
`keyboard—while continuing to hold the pen against
`the
`keyboard. The user maintains contact between the pen point
`and the surtace of the screen on which the keyboard image
`is displayed substantially throughout the upward motion.
`This is called dragging the pen. The display showsa line or
`mark (an ink trail) where the user has dragged the pen. The
`
`10
`
`30
`
`40
`
`50
`
`60
`
`6
`character buffer remains empty at this stage, because the
`character to be entered has not yet been recognized. The key
`remains highlighted in the display.
`In the third view of FIG. 8, the uscr removesthe pen from
`the keyboard surface, completing the upward stroke. The
`line or mark disappears, as does the highlighting, and the
`character produced by the graphical keyboard in response to
`the upward stroke appears in the character buffer.
`The series of three views of FIG. 9 showsa user entering
`a control character using the graphical keyboard of the
`invention. A “control character” is produced on a
`conventional, mechanical keyboard by holding down the
`modifier key marked “control” or “ctrl” while pressing a
`character key. Pressing the “ctrl” key while striking the key
`for the letter “a,” for example, produces the character called
`“control-a,” which can also be written as “ctrl-a” or “*a.” On
`the graphical kcyboard of the invention, the uscr can enter
`a control character by making a rightward stroke or mark on
`the desired key of the graphical keyboard.
`In the first view of FIG. 9, the user places the pen or stylus
`on the key corresponding to the character to be entered (the
`key “a” correspondingto the character “‘a” in this example).
`The key is highlighted in display. The character buffer is
`empty.
`In the second view of FIG. 9, the user drags the pento the
`right: The user moves the pen to the right while continuing
`to hold the pen against the keyboard, and maintains contact
`between the pen point and the surface of the screen on which
`the keyboard imageis displayed substantially throughout the
`rightward motion. The display shows a line or mark where
`the user has dragged the pen. The key remains highlighted.
`The character buffer remains empty atthis stage, because the
`character to be entered has not yet been recognized.
`In the third view of FIG. 9, the user removes the pen from
`the keyboard surface, completing the rightward stroke. The
`line or mark disappears, as does the highlighting of the key,
`and the character produced by the graphical keyboard in
`response to the rightward stroke appears in the character
`buffer.
`
`FIG. 10 showsthat modifiers can be combined by making
`compoundstrokes that combine strokes of different direc-
`tions. The series of three views of FIG. 10 shows a user
`entering a control uppercase character using the graphical
`keyboard of the invention. A “control uppercase character”
`is produced on a conventional, mechanical keyboard by
`holding down the “shift” and “ctrl” modifier keys simulta-
`neously while pressing a character key. Pressing the “shift”
`and “ctrl” keys while striking the key for the letter “a,” for
`example, produces the character called “control-shift-a,”
`which can also be written as “ctrl-A” or ““A.” On the
`graphical keyboard of the invention, the user can enter a
`control uppercase character by making compound
`rightward-upward stroke or mark on the desired key of the
`graphical keyboard.
`In the first view of FIG. 10, the uscr places the pen or
`stylus on the key corresponding to the character to be
`entered (the key “a” corresponding to the character “*A” in
`this example). The key is highlighted in the display. The
`character butter is empty.
`In the second view of FIG. 10, the user drags the pen a
`distance to the right and then a distance “upward”—thatis,
`toward the topmostrowof the keyboard. The user maintains
`contact between the pen point and the surface of the screen
`on which the keyboard image is displayed substantially
`throughout the rightward-and-then-upward motion. The dis-
`play shows a line or mark where the user has dragged the
`
`MSFT EX. 1006
`Page 24 of 35
`
`MSFT EX. 1006
`Page 24 of 35
`
`

`

`6,094,197
`
`7
`pen. The key remains highlighted in the display. The char-
`acter buffer remains empty at this stage, because the char-
`acter to be entered has not yet been recognized.
`In the third vicw of FIG. 10, the uscr removes the pen
`from the keyboard surface, completing the compound
`stroke. The line or mark disappears, as does the key
`highlighting, and the character produced by the graphical
`keyboard in response to the stroke appears in the character
`buffer.
`
`10
`
`30
`
`40
`
`Although the example of FIG. 10 shows the rightward
`portion of the compound stroke preceding the upward
`portion, the same “*A” character is produced if the upward
`portion of the stroke is performed before the rightward
`portion. Other kinds of modifiers can be combined by
`making compound marksin other dircctions. For example,
`if a leftward stroke indicates the “alt” modifier,
`then a
`leftward-upwardor upward-leftward compound stroke com-
`bines the “alt” and “shift” (uppercase) modifiers, and a
`leftward-rightward or rightward-lettward compoundstroke
`combines the “ctrl” and “alt” modifiers.
`
`8
`is true that creating a mark does involve a
`Although it
`physical gesture, the thing that is interpreted by the system
`is the mark itself. For example, the “X” mark requires a
`completely different physical gesture if performed with a
`pen instead of a mouse. Gesture is an important aspect of
`marking because some marks may require awkward physical
`gestures with the input device. However, the two terms can
`be distinguished. The term mark is more appropriate for
`pen-based computer systems or applications that emulate
`paper and pen, and will be used hereinbelow.
`3.2 Why Use Marks?
`Conventional human-computer interfaces are asymmetric
`in terms of input and output capabilities. There are number
`of computer output modes: visual, audio and tactile. Most
`computers extensively utilize the visual mode; high-
`resolution images that use thousands of colors of can be
`displayed quickly and in meaningful ways to a user. In
`contrast, a computer’s ability to sense user input is limited.
`Humanshave a wide range of communication skills such as
`speech and touch, but most computers sense only a small
`subsct of these. For example, keyboards only scnsc finger
`3. Marking Menus
`presses (but not pressure) and mice only sense very simple
`arm or wrist movement

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket