Claims
- 1. A method of controlling a data entry user interface, comprising:
obtaining characteristics of an insertion location for controlling a data entry user interface; and controlling a data entry user interface based upon the obtained characteristics of the insertion location.
- 2. The method recited in claim 1, further comprising:
determining from the obtained characteristics of the insertion location that the insertion location is located within an edit control for receiving a random arrangement of characters; and providing a data entry user interface with a keyboard surface for entering a random arrangement of characters.
- 3. The method recited in claim 1, further comprising:
determining from the obtained characteristics of the insertion location that the insertion location is associated with a language type; and providing a data entry user interface with a writing surface for receiving electronic ink written in the language type.
- 4. The method recited in claim 1, further comprising:
receiving a plurality of insertion location messages, each message containing characteristics of the insertion location; and obtaining the characteristics for controlling from at least one of the plurality of insertion location messages.
- 5. The method recited in claim 4, further comprising:
storing each of the received plurality of insertion location messages; and periodically sampling an insertion location message from the plurality of stored insertion location messages.
- 6. The method recited in claim 5, further comprising:
employing a first programming thread to store each of the received plurality of insertion location messages; and employing a second programming thread to periodically sample an insertion location message from the plurality of stored insertion location messages.
- 7. The method recited in claim 6, further comprising:
displaying the data entry user interface for the insertion of data into a software application process being hosted by a software system process; and employing a thread maintained by the software application process as the first thread.
- 8. The method recited in claim 6, further comprising:
displaying the data entry user interface for the insertion of data into a software application process being hosted by a software system process; and employing a thread maintained by the software application process as the second thread.
- 9. The method recited in claim 6, further comprising:
displaying the data entry user interface for the insertion of data into a software application process being hosted by a software system process; and employing a thread maintained by the software system process as the first thread.
- 10. The method recited in claim 6, further comprising:
displaying the data entry user interface for the insertion of data into a software application process being hosted by a software system process; and employing a thread maintained by the software system process as the second thread.
- 11. The method recited in claim 4, further comprising:
monitoring the characteristics of the insertion location included with each of the received plurality of insertion location messages; and controlling the data entry user interface based upon changes in the characteristics of the insertion location included with the received plurality of insertion location characteristics.
- 12. The method recited in claim 4, further comprising:
monitoring the characteristics of the insertion location included with each of the received plurality of insertion location messages; determining current characteristics of the insertion location based upon an order in which the insertion location messages were issued; and controlling the data entry user interface based upon the determined current characteristics of the insertion location characteristics
- 13. The method recited in claim 1, further comprising:
displaying the data entry user interface for the insertion of data into a software application process being hosted by a software system process; and wherein the characteristics of the insertion location are provided by the software application process.
- 14. The method recited in claim 1, further comprising:
displaying the data entry user interface for the insertion of data into a software application process being hosted by a software system process; and wherein the characteristics of the insertion location are provided by the software system process.
- 15. The method recited in claim 1, further comprising:
displaying the data entry user interface for the insertion of data into a software application process being hosted by a software system process; receiving a focus message relating to a data input focus state of the software application process; and further controlling the operation of the data entry user interface based upon the received focus message.
- 16. The method recited in claim 1, further comprising:
displaying the data entry user interface for the insertion of data into a software application process being hosted by a software system process; receiving an application user interface message relating to an application user interface state of an application user interface provided by the software application process; and further controlling the operation of the data entry user interface based upon the received application user interface message.
- 17. The method recited in claim 1, wherein the characteristics of the insertion location include position information for the insertion location.
- 18. The method recited in claim 1, further comprising:
displaying the data entry user interface for the insertion of data into a software application process being hosted by a software system process; and wherein the characteristics of the insertion location include application user interface information identifying an application user interface information in which the insertion location is located.
- 19. The method recited in claim 1, wherein the language type is alphanumeric.
- 20. The method recited in claim 1, wherein the language type is pictographic.
- 21. The method recited in claim 1, further comprising:
determining from the obtained characteristics of the insertion location that the insertion location is proximal to a boundary of a work space; and rendering the data entry user interface at a position such that the data entry user interface remains within the boundary of the work space.
- 22. The method recited in claim 1, further comprising:
determining from the obtained characteristics of the insertion location that the insertion location is proximal to a boundary of a work space; and rendering the data entry user interface with a size such that the data entry user interface remains within the boundary of the work space.
- 23. The method recited in claim 1, further comprising:
determining from the obtained characteristics of the insertion location that the insertion location is within an edit control for receiving an Internet universal resource address location; and providing the data entry user interface with a keyboard surface having dedicated keys for one or more of the character strings in the group consisting of “www”, “org”, “com”, “net” and “gov”.
- 24. The method recited in claim 1, further comprising:
determining from the obtained characteristics of the insertion location that the insertion location is within an edit control for receiving numeric data; and providing the data entry user interface with a keyboard surface having numeric keys.
- 25. The method recited in claim 1, further comprising:
determining from the obtained characteristics of the insertion location that the insertion location is within an edit control for receiving numeric data; and providing the data entry user interface with button that, when activated, provides a keyboard surface having numeric keys.
- 26. A method of controlling a data entry user interface, comprising:
determining a status of an insertion location; and providing an invocation interface for invoking a data entry user interface based upon the determined status of the insertion location.
- 27. The method recited in claim 26, further comprising:
providing a target invocation interface, such that a data entry user interface is invoked in response to a pointing device passing over the target invocation interface.
- 28. The method recited in claim 26, further comprising:
providing a target invocation interface, such that a data entry user interface is invoked in response to a pointing device passing proximal to the target invocation interface.
- 29. The method recited in claim 26, further comprising:
providing a target invocation interface in response to a detected position of an insertion location.
- 30. The method recited in claim 26, further comprising:
providing a target invocation interface in response to a detection of an insertion location within a desired control.
RELATED APPLICATION INFORMATION
[0001] This application is a continuation-in-part application of U.S. patent application Ser. No. 10/356,315 entitled “Utility Object For Specialized Data Entry”, filed on Jan. 31, 2003, and naming Kyril Feldman et al. as inventors, which prior application is incorporated entirely herein by reference.