IP Library Granted Patent US 9,940,016
Granted Patent B2
US 9,940,016 · App. 14/485,720 · Granted Apr 10, 2018

Disambiguation of keyboard input

Inventors: William A. S. Buxton (Toronto, CA); Richard L. Hughes (Monroe, WA); Kenneth P. Hinckley (Redmond, WA); Michel Pahud (Kirkland, WA); Irina Spiridonova (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F3/04886G06F3/0233G06F3/0234G06F3/0236G06F3/0237G06F3/0488G06F3/04842
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,940,016
App. No.
14/485,720
Granted
Apr 10, 2018
Kind
B2
Abstract

An apparatus includes a keyboard engine that operates a keyboard that accepts shape-writing input and radial entry input. A keyboard input module obtains input data from at least one input sensor of the keyboard. An intention disambiguation engine enables simultaneous use of the shape-writing input and the radial entry input acceptance for a user of the keyboard.

Claims (70)

1. An apparatus comprising:

at least one device processor; and

at least one computer readable storage medium storing instructions which, when executed by the at least one device processor, cause the at least one device processor to:

operate a keyboard configured to implement shape-writing of words and radial entry of individual characters;

obtain input data identifying an input to the keyboard that is directed to a primary character, the input moving in a specific direction usable to select an auxiliary character associated with the primary character;

evaluate the input data to disambiguate whether the input is a shape-writing input to enter a particular word or a radial entry input to enter the auxiliary character;

in a first instance when the input is disambiguated as the shape-writing input, enter the particular word, the particular word including the primary character; and

in a second instance when the input is disambiguated as the radial entry input, enter the auxiliary character associated with the primary character.

2. The apparatus of claim 1 , wherein the instructions, when executed by the at least one device processor, cause the at least one device processor to:

analyze the input data and provide candidate processed values that

a candidate shape-writing input result identifying the particular word, and

a candidate radial entry input result identifying the auxiliary character;

display a plurality of suggestions in response to the input data, the plurality of suggestions including a first suggestion of the particular word and a second suggestion of the auxiliary character;

in the first instance, enter the particular word responsive to selection of the first suggestion; and

in the second instance, enter the auxiliary character responsive to selection of the second suggestion.

3. The apparatus of claim 1 , wherein the shape-writing input passes through another character of the particular word, the another character being located in the specific direction on the keyboard relative to the primary character.

4. The apparatus of claim 1 , wherein the instructions, when executed by the at least one device processor, cause the at least one device processor to:

in the first instance, disambiguate the input data as the shape-writing input based at least on an observed length of the input data.

5. The apparatus of claim 4 , wherein the instructions, when executed by the at least one device processor, cause the at least one

device processor to:

in the second instance, disambiguate the input data as the radial entry input based at least on the observed length of the input data.

6. The apparatus of claim 1 , wherein the instructions, when executed by the at least one device processor, cause the at least one device processor to:

compare an observed length of the input data to a threshold;

determine that the input data is the shape-writing input when the observed length of the input data exceeds the threshold; and

determine that the input data is the radial entry input when the observed length of the input data falls below the threshold.

7. The apparatus of claim 1 , wherein the instructions, when executed by the at least one device processor, cause the at least one device processor to:

determine, from the input data, an observed pressure of the input; and

disambiguate the input data based at least on the observed pressure of the

input.

8. The apparatus of claim 7 , wherein the instructions, when executed by the at least one device processor, cause the at least one device processor to:

when the observed pressure indicates a substantially light touch on the keyboard, designate the input data as the shape-writing input; and

when the observed pressure indicates a substantially strong touch on the keyboard, designate the input data as the radial entry input.

9. The apparatus of claim 1 , wherein the instructions, when executed by the at least one device processor, cause the at least one device processor to:

determine, from the input data, an observed velocity of the input; and

disambiguate the input data based at least on the observed velocity of the

input.

10. The apparatus of claim 9 , wherein the instructions, when executed by the at least one device processor, cause the at least one device processor to:

when the observed velocity falls below a threshold, designate the input data as the radial entry input; and

when the observed velocity exceeds the threshold, designate the input data as the shape-writing input.

11. The apparatus of claim 1 , wherein the instructions, when executed by the at least one device processor, cause the at least one device processor to:

determine, from the input data, an observed acceleration of the input; and

disambiguate the input data based at least on the observed acceleration of

the input.

12. A method performed by a computing device, the method comprising:

obtaining input data from a keyboard that accepts shape-writing and radial entry, the input data indicating that a current stroke performed on the

keyboard moved in a specific direction;

identifying a shape-writing input and a radial entry input that can both be entered to the keyboard via strokes that move in the specific direction;

based at least on a characteristic of the current stroke, disambiguating the current stroke to determine whether the current stroke is the shape-writing input or the radial entry input;

in a first instance when the current stroke is disambiguated as the shape-writing input, entering a word on the computing device, the word being identified by the shape-writing input; and

in a second instance when the current stroke is disambiguated as the radial entry input, enter a character on the computing device.

13. The method of claim 12 , the characteristic being a length of the current stroke.

14. The method of claim 12 , the characteristic being a velocity of the current stroke.

15. The method of claim 12 , the characteristic being a pressure applied during the current stroke.

16. The method of claim 12 , the characteristic relating to whether the current stroke includes an inflection point.

17. The method of claim 16 , further comprising:

in the first instance, disambiguating the current stroke as the shape-writing input based at least on the current stroke including the inflection point.

18. The method of claim 17 , further comprising:

in the second instance, disambiguating the current stroke as the radial entry based at least on the current stroke lacking the inflection point.

19. A system

comprising: a processor; and

a computer-readable storage medium storing executable code that causes the processor to:

provide a keyboard having a key for entering a particular character when the key is touched;

obtain input data from the keyboard indicating that a current input to the keyboard contacts the key and moves in a specific direction away from the key;

based at least on a characteristic of the current input, determine whether to process the input data as shape-writing input;

in a first instance when a determination is made to not process the current

input as shape-writing input, enter an auxiliary character

associated with the key in response to the current input; and

in a second instance when a determination is made to process the current input as shape-writing input, enter a word in response to the current input, the word including a primary character associated with

the key.

20. The system of claim 19 , the auxiliary character being a capitalized version of the particular character.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2014
From: BUXTON, WILLIAM A. S.; HUGHES, RICHARD L.; HINCKLEY, KENNETH P.; PAHUD, MICHEL; SPIRIDONOVA, IRINA
To: MICROSOFT CORPORATION
Reel/Frame 033735/0769 →
Continuity (1)
Related Publication 20160077734A1 · Mar 17, 2016