Dynamic text input using on and above surface sensing of hands and fingers
First Claim
1. A method of implementing a virtual keyboard, the method comprising:
- detecting a hand above a display surface;
tracking at least one finger movement of at least one finger of the hand before the at least one finger touches the display surface;
determining a fastest moving finger of the at least one finger;
retrieving predetermined key configuration data corresponding to the fastest moving finger;
determining, based on the predetermined key configuration data corresponding to the fastest moving finger, a most probable key that the fastest moving finger is likely to touch before the fastest moving finger touches the display surface;
adjusting the display surface by displaying one or more virtual keys on the display surface before the fastest moving finger touches the display surface, wherein the one or more virtual keys displayed includes the most probable key;
detecting contact on the display surface by the fastest moving finger; and
selectively updating the predetermined key configuration data corresponding to the fastest moving finger based on the contact detected;
wherein the predetermined key configuration data corresponding to the fastest moving finger is updated in response to the fastest moving finger touching a different virtual key than the most probable key; and
wherein each finger has corresponding predetermined key configuration data comprising information relating to a most probable key that the finger is likely to touch.
1 Assignment
0 Petitions
Accused Products
Abstract
A virtual keyboard is displayed on a touch screen display surface of a computing device. Partial images of the keyboard are displayed, where a partial image may be one key, referred to as the most probable key that the user will touch, or a group of keys, which may include some less probable or surrounding keys that may be touched. Sensors under or near the display surface detect an outline of the user hands and determines which finger is the fastest moving finger, which is presumed to be the finger used to touch a key. The most probable key is determined based on the fastest moving finger and may be displayed before the finger touches the surface. If the most probable key is not touched, a user profile containing user typing habits may be updated to reflect that a less probable key was touched.
-
Citations
36 Claims
-
1. A method of implementing a virtual keyboard, the method comprising:
-
detecting a hand above a display surface; tracking at least one finger movement of at least one finger of the hand before the at least one finger touches the display surface; determining a fastest moving finger of the at least one finger; retrieving predetermined key configuration data corresponding to the fastest moving finger; determining, based on the predetermined key configuration data corresponding to the fastest moving finger, a most probable key that the fastest moving finger is likely to touch before the fastest moving finger touches the display surface; adjusting the display surface by displaying one or more virtual keys on the display surface before the fastest moving finger touches the display surface, wherein the one or more virtual keys displayed includes the most probable key; detecting contact on the display surface by the fastest moving finger; and selectively updating the predetermined key configuration data corresponding to the fastest moving finger based on the contact detected; wherein the predetermined key configuration data corresponding to the fastest moving finger is updated in response to the fastest moving finger touching a different virtual key than the most probable key; and wherein each finger has corresponding predetermined key configuration data comprising information relating to a most probable key that the finger is likely to touch. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of entering text using a virtual keyboard, the method comprising:
-
outlining a hand and one or more fingertips of the hand; determining a keyboard size and a keyboard position on a display surface; identifying the one or more fingertips of the hand; tracking at least one finger movement of at least one finger of the hand before the at least one finger touches the display surface; determining a fastest moving finger of the at least one finger; retrieving predetermined key configuration data corresponding to the fastest moving finger; based on the keyboard size, the keyboard position, the fastest moving finger and the predetermined key configuration data corresponding to the fastest moving finger, displaying a partial virtual keyboard on the display surface before the fastest moving finger touches the display surface, wherein the partial virtual keyboard displayed includes a most probable key that the fastest moving finger is likely to touch before the fastest moving finger touches the display surface; detecting contact on the display surface by the fastest moving finger; and selectively updating the predetermined key configuration data corresponding to the fastest moving finger based on the contact detected; wherein the predetermined key configuration data corresponding to the fastest moving finger is updated in response to the fastest moving finger touching a different virtual key than the most probable key; and wherein each finger has corresponding predetermined key configuration data comprising information relating to a most probable key that the finger is likely to touch. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A computing system for implementing a virtual keyboard, the system comprising:
-
a processor; a touch screen display; a sensor configured to track a hand and one or more fingers of the hand above the touch screen display; and a data storage device storing instructions that when executed by the processor causes the processor to m operations including; storing one or more user typing profiles and predetermined key position data for the one or more fingers of the hand, wherein each finger has corresponding predetermined key configuration data comprising information relating to a most probable key that the finger is likely to touch; determining a fastest moving finger of the hand based on at least one finger movement of at least one finger of the hand before the at least one finger touches the touch screen display; retrieving predetermined key configuration data corresponding to the fastest moving finger; determining, based on the predetermined key configuration data corresponding to the fastest moving finger, a most probable key that the fastest moving finger is likely to touch before the fastest moving finger touches the touch screen display; adjusting the touch screen display by displaying one or more virtual keys on the touch screen display before the fastest moving finger touches the touch screen display, wherein the one or more virtual keys displayed includes the most probable key; detecting contact on the touch screen display by the fastest moving finger; and selectively updating the predetermined key configuration data corresponding to the fastest moving finger based on the contact detected; wherein the predetermined key configuration data corresponding to the fastest moving finger is updated in response to the fastest moving finger touching a different virtual key than the most probable key. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
Specification