IP Library Granted Patent US 7,900,156
Granted Patent B2
US 7,900,156 · App. 11/696,703 · Granted Mar 1, 2011

Activating virtual keys of a touch-screen virtual keyboard

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 7,900,156
App. No.
11/696,703
Granted
Mar 1, 2011
Kind
B2
Abstract

A method of operating a touch screen to activate one of a plurality of virtual keys is provided. A touch location is determined based on location data pertaining to touch input on the touch screen, wherein the touch input is intended to activate one of the plurality of virtual keys. Each of the plurality of virtual keys has a set of at least one key location corresponding to it. For each of the virtual keys, a parameter (such as physical distance) is determined for that virtual key that relates the touch location and the set of at least one key location corresponding to that virtual key. The determined parameters are processed to determine one of the virtual keys. For example, the determined one virtual key may be the virtual key with a key location (or more than one key location, on average) being closest to the touch location. A signal is generated indicating activation of the determined one of the virtual keys.

Claims (47)

1. A method of processing input from a touch screen, the method comprising:

displaying on the touch screen a plurality of GUI items, each item having a displayed extent and a corresponding set of one or more GUI item locations;

processing a touch input point to activate a respective GUI item in the plurality of GUI items, wherein:

the touch input point activating the respective GUI item need not be within the displayed extent of the respective GUI item; and

the processing includes determining a distance from the touch input point to one or more GUI item locations corresponding to each of the plurality of GUI items; and

adding a GUI item location to the set of one or more GUI item locations corresponding to the respective GUI item, the added GUI item location corresponding to the location of the touch input point, the added GUI item location configured for use in processing a subsequent touch input point.

2. The method of claim 1 wherein the touch input point activating the respective GUI item is within the displayed extent of another GUI item.

3. The method of claim 1 wherein processing the touch input point to activate the respective GUI item further comprises:

generating a virtual key shape for each of the plurality of GUI items, wherein the virtual key shape does not exactly correspond to the displayed extent of the GUI item;

detecting a touch input point within the virtual key shape for the respective GUI item; and

activating the respective GUI item.

4. The method of claim 1 wherein processing the touch input point to activate the respective GUI item further comprises:

applying a weighting to each of the determined distances; and

activating the respective GUI item having one or more GUI item locations that are a shortest weighted distance from the touch input point.

5. The method of claim 4 wherein the weightings for each determined distance are all equal.

6. The method of claim 4 wherein the weightings are determined dynamically.

7. The method of claim 1 , wherein the adding includes limiting a number of one or more GUI item locations corresponding to each GUI item of the plurality of GUI items.

8. The method of claim 1 , wherein the adding includes removing a GUI item location that was added earliest among the one or more GUI item locations in the set of one or more GUI item locations corresponding to the respective GUI item, from the set of one or more GUI item locations corresponding to the respective GUI item.

9. A computing device, comprising:

a touch screen;

a processor;

memory; and

a program that is stored in the memory and configured to be executed by the processor, the program including instructions for:

displaying on the touch screen a plurality of GUI items, each item having a displayed extent and a corresponding set of one or more GUI item locations;

processing a touch input point to activate a respective GUI item in the plurality of GUI items, wherein:

the touch input point activating the respective GUI item need not be within the displayed extent of the respective GUI item; and

the processing includes determining a distance from the touch input point to one or more GUI item locations corresponding to each of the plurality of GUI items; and

adding a GUI item location to the set of one or more GUI item locations corresponding to the respective GUI item, the added GUI item location corresponding to the location of the touch input point, the added GUI item location configured for use in processing a subsequent touch input point.

10. The computing device of claim 9 , wherein the touch input point activating the respective GUI item is within the displayed extent of another GUI item.

11. The computing device of claim 9 , wherein processing the touch input point to activate the respective GUI item further comprises:

applying a weighting to each of the determined distances; and

activating the respective GUI item having one or more GUI item locations that are a shortest weighted distance from the touch input point.

12. The computing device of claim 11 , wherein the weightings are determined dynamically.

13. The computing device of claim 9 , wherein the adding includes limiting a number of one or more GUI item locations corresponding to each GUI item of the plurality of GUI items.

14. The computing device of claim 9 , wherein the adding includes removing a GUI item location that was added earliest among the one or more GUI item locations in the set of one or more GUI item locations corresponding to the respective GUI item, from the set of one or more GUI item locations corresponding to the respective GUI item.

15. A computer readable storage medium storing a program, the program comprising instructions, which when executed by a computing device with a touch screen, cause the device to:

display on the touch screen a plurality of GUI items, each item having a displayed extent and a corresponding set of one or more GUI item locations;

process a touch input point to activate a respective GUI item in the plurality of GUI items, wherein:

the touch input point activating the respective GUI item need not be within the displayed extent of the respective GUI item; and

the processing includes determining a distance from the touch input point to one or more GUI item locations corresponding to each of the plurality of GUI items; and

add a GUI item location to the set of one or more GUI item locations corresponding to the respective GUI item, the added GUI item location corresponding to the location of the touch input point, the added GUI item location configured for use in processing a subsequent touch input point.

16. The computer readable storage medium of claim 15 , wherein the touch input point activating the respective GUI item is within the displayed extent of another GUI item.

17. The computer readable storage medium of claim 15 , wherein processing the touch input point to activate the respective GUI item further comprises:

applying a weighting to each of the determined distances; and

activating the respective GUI item having one or more GUI item locations that are a shortest weighted distance from the touch input point.

18. The computer readable storage medium of claim 15 , wherein the adding includes limiting a number of one or more GUI item locations corresponding to each GUI item of the plurality of GUI items.

19. The computer readable storage medium of claim 15 , wherein the adding includes removing a GUI item location that was added earliest among the one or more GUI item locations in the set of one or more GUI item locations corresponding to the respective GUI item, from the set of one or more GUI item locations corresponding to the respective GUI item.

Assignments (1)
CHANGE OF NAME Recorded May 11, 2007
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 019265/0961 →