RussianPatents.com
|
Dynamic programmed keyboard. RU patent 2504820. |
|||||||||||||||||||||
IPC classes for russian patent Dynamic programmed keyboard. RU patent 2504820. (RU 2504820):
|
FIELD: information technology. SUBSTANCE: system which implements a dynamic programmed keyboard includes: a predictive keyboard mechanism; one or more units connected to provide the predictive keyboard mechanism with information describing the current input environment for the programmed keyboard; and said predictive keyboard mechanism is configured based at least in part on information describing the current input environment with the possibility of: changing the pressing region of multiple keys of the programmed keyboard, reducing the size of the pressing region of one of the multiple keys while increasing the size of the pressing region of an adjacent key from the multiple keys so that the pressing region of the adjacent key from the multiple keys passes over the display area of said one key. The changed pressing region of said adjacent key includes one or more positions in which said adjacent key is displayed, as well as one or more positions in which said one key is displayed and not said adjacent key, and for each of the multiple keys, the pressing region includes positions on the programmed keyboard corresponding to a key; the changed pressing regions of the multiple keys are used. EFFECT: high rate of input. 20 cl, 5 dwg
THE LEVEL OF TECHNOLOGY Currently available are many different types of mobile computing devices, as a rule, providing a large amount of computing power in a small package. One problem facing mobile devices, however, is to enter data. Users are accustomed to data input through the keyboard, which may be large and cumbersome, often larger than directly to your mobile computing device. Some of the mobile solve this problem when using the soft keyboard that is a keyboard displayed on the display of the mobile device and allows the user to select keys that appear on the screen (for example, using the stylus, finger user etc). Unfortunately, due to the lack of physically separated keys and often small size software keyboards, for users, it remains difficult to select keys on the software keyboards. THE ESSENCE OF THE INVENTION The essence of the invention is to familiarize in a simplified form with a set of principles, which are further described below in the Detailed Description. The essence of the invention is not intended to identify the key features or essential features of the claimed invention, and it is not intended to be used to restrict the context of the declared object of the invention. Herediscusses the dynamic on-screen keyboard. In accordance with one or more aspects, the user input is received over the soft keyboard the soft keyboard includes multiple keys. Information describing the current environment, the input for the software keyboard, turns, and the determination is made, any one or more keys from multiple keys was meant to be selected by the user's input. This definition is done based at least partially on the current environment entry. BRIEF DESCRIPTION OF DRAWINGS The same numbers are used all over the drawings to refer to the same characteristics. Figure 1 - block diagram illustrating example of a computing device, which implements a dynamic soft keyboard, in accordance with one or more incarnations. Figure 2 illustrates an example of a display device that displays the soft keyboard in accordance with one or more incarnations. Figure 3 illustrates an example of a system that implements dynamic soft keyboard, in accordance with one or more incarnations. Figure 4 is a block diagram illustrating an example of the process for dynamic software keyboard in accordance with one or more incarnations. Figure 5 illustrates an example of a computing device that can be configured to implement a dynamic soft keyboard, in accordance with one or more incarnations. DETAILED DESCRIPTION It discusses the dynamic on-screen keyboard. The user interface of the software keyboard is displayed to the user. You also get a variety of information, describing the current environment entry for the user interface of the software keyboard. This information describing the current environment, the input may include, for example, information describing the type of data entered by a user (for example, email address, postal code, city, etc); information describing the language normally used by the user and the data is usually entered by the user; the material operating environment (for example, on the desktop, when walking in the moving car and etc); symbols and/or words near a data entry field, etc. This information describing the current environment, the user input is used to detect which key(and) software keyboard was meant to be selected by the user when receiving user input. Dynamic on-screen keyboard can thus help speed of user input and user satisfaction. Figure 1 - flow chart showing as an example, the computing device 100, implements a dynamic soft keyboard, in accordance with one or more incarnations. Computing device 100 can be any of a number of different devices. For example, the computing device 100 may be a desktop computer, a mobile station, entertainment device, subscriber installation, communicative associated with the device display, TV, cordless phone, digital camera, game console, car computer, etc. Thus, the computing device can vary from 100 devices with large memory and processor resources (for example, personal computers, game consoles) to devices with limited memory and/or resources data processing (e.g., traditional subscriber installation, portable game consoles). Computing device 100 includes management module 102 software keyboard and foretell module 104 keyboard. Control module 102 software keyboard generates the soft keyboard 108 for display to the user. The soft keyboard is 108 is the user interface that appears on the display device. The soft keyboard is 108 includes multiple keys that can be chosen by the user, as discussed in more detail below. Computing device 100 may include a display component, through which the soft keyboard 108 can be shown, or alternatively can output the signal or data to another device or component, through which the soft keyboard 108 can be displayed. The soft keyboard is 108 includes multiple keys, which can be located in any number of different layouts and can fit any number of different alphanumeric characters and hieroglyphs, groups of characters or words (such as "http://", "www." and etc), other characters etc. One sample layout for keys is the QWERTY layout, although other layouts can be alternatively provided. Furthermore, the software keyboard 108 is dynamic. This dynamic entity belongs to the property prediction module 104 keyboard, changing over time, and/or user interface displayed as the soft keyboard 108, changing over time. As discussed in more detail below, this change may involve changing the location of the keyboard; changes in various alphanumeric characters or symbols corresponding to the keys, change in whose location on the soft keyboard 108 correspond to which keys, change of the logic of the press and etc The soft keyboard is 108 appears on the display device, and enter the user also introduced through this device display. In one or more incarnations display output on the screen soft keyboard, 108, is itself or combined with touch screen or touch panel, through which the user inputs can be entered touch user, or approaching, in close proximity to areas of the display that display key on the soft keyboard 108. This touch or proximity can be done using a stylus, stylus, finger etc. In other variants of implementation uses other pointing devices, and not the touch screen or touch pad. You can use as many other pointing device to move the cursor and enter input, using the soft keyboard 108, including relevant pointing devices such as a mouse, slider, touch panel, trackball, etc Other types of pointing devices can also be used, including completely disjointed pointing devices, such as a pen tablet. These different pointing devices usually include one or more buttons or other mechanism(s) selection, which can be activated by the user to choose a certain arrangement of the soft keyboard 108 (for example, a user can press the mouse button when the cursor is located in the required area of the soft keyboard 108). Don't need no private financial keyboard with material keys that correspond to the soft keyboard 108, through which introduces the user input. Figure 2 illustrates as an example of the display device 200 displaying the soft keyboard, 202 in accordance with one or more incarnations. The soft keyboard 202 can be, for example, a soft keyboard 108 of Figure 1. It must be emphasised that the approximate layout and alphanumeric characters, the corresponding keys on the soft-keyboard 202, are only an example and that you can use as many different layouts and/or associated characters or signs, as discussed above. In the example of Figure 2, on-screen keyboard 202 does not occupy the entire display area of the device to 200 display, leaving room for other information that will be displayed to the user of the device to 200. Furthermore, the software keyboard 202 may take an entire (or almost entire) display area of the device to 200 display. The soft keyboard 202 may also optionally include the UI mechanism for hiding and showing the functions to be performed, allowing the keyboard 202 be hidden from view in certain moments. As discussed above, any of the numerous pointing devices can be used to enter the input on the soft keyboard 202. As an example of a pointing device Figure 2 illustrates the stylus 204, which the user can use to touch or overhanging above a certain key on the keyboard 202. When the user touches a certain area of the keyboard 202 (with stylus 204 or a pointer, which manages other pointing device) or moves the stylus 204 (or other pointer) in the specific area of the keyboard 202, then is automatically detected by a specific key that the user intended to choose touching or moving the stylus or other pointing device. How to perform this automatic detection is based at least partially on the input current environment, as discussed in more detail below. In one or more incarnations device 200 display includes a touch screen or touch pad, allowing the user to touch or move close stylus, a variety of field devices 200 display to allow the user to enter the user input. Such a touch screen or touch pad can be electromagnetic input device, the capacitive input device, resistive input device, the input device of the surface acoustic wave optical device data entry processing images etc Such touchscreens or touch panels are known to specialists in the field of technology. Be aware that if you use other pointing devices (such as a mouse, pen tablet and etc), the device 200 display must not include a touch screen or touch pad. Returning to figure 1, the module management 102 software keyboard also receives input 110 user. Enter 110 user refers to select a specific location(s) of the software keyboard 108. This choice can be made using a stylus, stylus, finger, index, which manages the pointing device and etc. as discussed above. Data input 110 user usually represented by 102 as a set of one or more coordinates (for example, the coordinates X-Y, X-Y-Z etc)identifying the location of(I) the software keyboard 108, which were selected by the user. As discussed above, this choice may include a touch or move in the immediate vicinity of the touch screen or of the touch pad or other input from other pointing device. The coordinates X and Y refer respectively to the horizontal and vertical locations input surface (for example, the surface of the touch screen, touch pad, pen tablet etc.). Z-coordinate represents the distance from the surface of the field and can be used to determine hung whether the user is over a part of the input surface. In one or more incarnations enter 110 user is a stream of data (for example, flow X-Y coordinates flow coordinates X-Y-Z etc). The data stream consists of one or more input trajectory, one or more follow descent trajectory of the pen and the output path. Input trajectory is called on a thread coordinates before manipulator reach the surface (or before the selection mechanism is activated by the user). Descent trajectory pen refers to the place on the surface, which reaches pointing device (or where the pointer is located, when the mechanism of choice is driven by the user). Often there is a unique trajectory of the pen, although there may be obtained multiple descent trajectory pen (for example, if the user returns the pen at the moment when it reaches the surface). Output trajectory refers to the flow of coordinates at the moment when the manipulator leaves the surface (or after the selection mechanism is driven by the user). Predicting module 104 keyboard receives input 110 user control module 102 soft keyboard. Predicting module 104 keyboard determines, based on input 110 user, and the information describing the current environment, the input for the software keyboard 108 which one or more keys the soft keyboard 108 user intended to choose the input 110 user. As discussed in more detail below, this current environment entry describes the various aspects of the environment in which the software keyboard 108 is displayed on the screen, such as the current type of user input (for example, email address, postal code, city, etc), language normally used by the user of the software keyboard 108, data, usually entered by the software keyboard 108 etc. One or more of the incarnation predicts module 104 keyboard also determines, based on input 110 user and/or information describing the current environment, the input for the software keyboard 108, changes you want to make the software keyboard 108. These changes may be a change in the location of the keyboard and/or a change in various alphanumeric signs or designations, corresponding to the keys, as discussed in more detail below. Control module 302 software keyboard generates soft keyboard, 308 and accepts input 310 user (like the soft keyboard 108 and commissioning of the 110 user of Figure 1). Enter 310 user are selections from the soft keyboard 308, choice, which is a definite one or more of the provisions of the soft keyboard 308. This choice can be made in different ways, such as the touch display with your finger, stylus, stylus, etc, dragging the pointer to the location of the software keyboard, moving the pen or stylus close to the display, and so The choice includes one or more input trajectory, one or more follow descent trajectory of the pen, and the output path, as discussed above. Control module 302 software keyboard can provide input 310 user by any number of different ways. In one or more incarnations enter 310 user is presented as a set of one or more X-y coordinates. Set of coordinates X-Y identifies the specific location of the soft keyboard 308 in 2-dimensional space. A certain arrangement of the soft keyboard 308 be defined baseline situation (for example, lower left corner of the soft keyboard 308, center software keyboard 308 etc), and the values of the X-Y represent the location along the X-axis and Y-axis relative to this position. In addition, in one or more incarnations display, which is displayed on the screen soft keyboard 308, supports axis Z. The Z axis is perpendicular to the 2-dimensional space X-y coordinates. Such displays can discover, for example, stylus, close, but not relating to the display. The distance between the stylus and the display is recorded as the value of Z. Thus, the use of such displays, enter 310 user is presented as a set of one or more of the coordinates X-Y-z In addition, in one or more incarnations value of extra time T is written for user input. Time value T refers to the duration of the user's choice, such as the amount of time stylus user concerned certain designated X-Y keyboard 308, the amount of time stylus user was at a certain distance Z from a certain location X-Y keyboard 308, the amount of time that the index has been allotted (hovered above a certain place X-Y keyboard 308, etc. Thus, in such incarnations enter 310 user is presented as a set of one or more X-Y-T or X-Y-Z-T. the Value of the time T - enter in predicting mechanism 320 keyboard and can be used to make better forecasts for the text input required by the user, as discussed in more detail below. In addition, in one or more incarnations, multiple provisions keyboard 308 can be selected at a time. These multiple provisions could be, for example, two or more provisions of selected at the same time (for example, using two fingers), such as the Shift key plus the letter key, the Control key plus the letter key and etc., These multiple provisions could also be movement from one location to another (for example, the touch keyboard 308 with the stylus in one position, move the stylus through the display and then lift the stylus in the other location), etc. In such situations enter 310 user is presented as a set of several coordinates (for example, X-Y, X-Y-Z X-Y-T, X-Y-Z-T etc). One or more coordinates also include trajectory parameter that identifies the direction in which the stylus (or finger, pen etc) moves along a display device, or when in contact with the device display, or was located close to a display device (for example, the distance Z from the display devices). In some embodiments, installing this equipment, users typically have more errors in target shooting in the vertical direction and more accurate in the horizontal direction. Predicting module 304 keyboard receives input 310 user control module 302 software keyboard and determines, based on input 310 user, and the information describing the current environment, the input for the software keyboard 308, any one or more keys the soft keyboard 308 intended to choose a user with the introduction of 310 user. In one or more incarnations predicts module 304 keyboard also determines the changes to make them in the soft keyboard 308, based at least partially on the current environment entry. Indication of these changes is sent to the control module 302 soft keyboard, which accordingly changes the display the soft keyboard 308. Predicting module 304 keyboard includes predicts mechanism 320 keyboard module 322 define the module 324 dictionaries language module 326 user-defined vocabulary, module 328 rendering context module 330 determine the language module 332 n-gram statistics words and phrases. Each of the modules 322-332 provides foretelling mechanism 320 keyboard variety of information regarding the current entry environment for software keyboard 308. Predicting mechanism 320 keyboard alternately uses this information relative to the current entry environment, to change the soft keyboard, 308 (for example, layout, or characters, or symbols corresponding to certain keys), and determine which one or more keys the soft keyboard 308 user intended to choose the input 310 user. Predicting mechanism 320 keyboard displays readings 340 of which key the user assumes choose with a specific user input. These indications 340 typically used to update the user interface of the software keyboard 308, and can also be presented for the other component (not illustrated) for use as input character(s). These indications 340 may also be returned to one or more of the modules 322-332 to help determine the current entry environment. For example, as discussed in more detail below, the module 326 user-defined vocabulary can control the words entered by the user. In addition, in one or more incarnations predicts mechanism 340 keyboard also displays the predicted input line 360, which is forecast mechanism 340 of a specific word or phrase that the user enters. Conclusion this prediction allows the user to select the option "autocomplete", where the predicted word or phrase is entered without the user already is not proper to re-enter the characters of a word or phrase. Predicted line 360 input is provided for the control module 302 soft keyboard or any other part of the system (not shown) to the predicted word or phrase could be shown to the user. The user can choose is shown predicted word or phrase in various ways through the soft keyboard, 308, such as, pressing "Enter", pressing "autocomplete", the choice of a specific character in the predicted word or phrase etc. Should be mentioned that the user may also optionally select only a portion of the predicted word or phrase. Module 322 determining the operation mode determines the mode of operation of the device, which is displayed on the screen soft keyboard 308. Mode of operation may include, for example, financial position and/or geographical location of the device. Financial position refer to the physical description of how you use your device. This description of the physical properties may include, for example, whether the device is stationary or moving, focuses whether the device in a certain direction etc. Material situation, can be defined in various ways, for example, be specified by the user of the device, using motion sensors in your device, based on the peripheral devices or other components, based on communication with the wireless base or access point, etc. Geographical position refers to a geographical description of where the device is. Geographical location can be determined in various ways, such as user-defined device using the global positioning system (GPS)based on the address (for example, address the Internet Protocol (IP))assigned to the device and etc. Information describing the mode of the device from the module 322 determine the mode of operation can be used to foretell mechanism 320 keyboard in many different ways. For example, predicts mechanism 320 keyboard may assume that it is more difficult to accurately identify certain key when the device is moved and is not stationary, thus, a mechanism 320 can assign a b o strengthen the sphere of software keyboard 308 certain keys, when the device moves rather than when a device is stationary. These large areas to match the larger keys shown on the soft keyboard 308, or large areas of pressing for a certain keys, as discussed in more detail below. Language(s), usually used by the user can be identified in different ways. For example, the language(s) as may be specified by the user may be the default language based on the location where you purchased the system 300 (for example, if the system 300 was sold in France, the default language was French)can be based on previous inputs by the user (for example, if a large part of the previous entries was in English, the language would be English)can be obtained from another module (such as a module 330 definition language, discussed in more detail below) etc. Module 326 user-defined vocabulary collects and maintains information regarding the words (or other data, such as integers, characters, etc), which are usually entered by the user. This information may be collected and stored in many different ways. In one or more incarnations are saved words entered by the user and the relevant frequency, indicating how often those words are. This frequency can be, for example, counter words that increments each time a word is entered, the coefficient, indicating how often a word appears in relation to other words, storable module 326 etc. in addition, the user or administrator (for example, for the Corporation, which employs a user) can optionally install the new custom dictionary that adds their words as they are entered by the user (and/or additionally to include the default word and frequency for the user). Besides, the words that are monitored or saved module 326, can become outdated over time so that the words used with the same frequency, but more long ago, were identified as the less frequently used by the user, than the words that had been introduced recently. This obsolescence can be approached in different ways, such as, support record of when a particular word was used (for example, in minutes, hours, days, etc), changing (for example, reducing frequency, corresponding to a word that is not being used for at least a threshold amount of time etc. As discussed above, foretelling mechanism 320 keyboard can automatically attempt to identify specific words or phrases entered by the user. One piece of information provided for predicting the mechanism 320 keyboard module 326 user-defined vocabulary is the information concerning the words (or other data)that is generally entered by the user. Module 328 display context supports the display of certain fields in which the user can enter data in the data types that are valid for each particular field. For example, if the field - the postal code, the reliable data could be numbers, but not letters. Through another example, if a field is an email address field, then the valid data can be letters, numbers, and certain symbols (such as "@"), but not the other characters (such as"!" or "#"). Module 328 display context can identify certain fields to be displayed to the user along with the soft keyboard 308 in any number of different ways. For example, data displayed on the screen, can be analyzed, and specific fields identified (for example, a field labeled "postal code" or "zip code", the field labeled "e-mail" or "e-mail address, etc). In another example, different tags or identifiers can be included in the data displayed on the screen along with the soft keyboard 308, these tags or IDs tells the module 328 display context on certain shown on the display field. In another example, the input field can explicitly declare its existence as a "type" or legitimate input constraints through application programming interface (API) of the operating system in a system 300. Valid data types for certain fields can be identified in different ways. In one or incarnations valid data types for certain fields are pre-programmed or otherwise identified for the module 328 rendering context. For example, different tags, IDs or other metadata corresponding to the instructions on the screen along with the soft keyboard can identify the allowed data types for certain fields, or other remote devices can access to obtain valid data types for certain fields. Through another example, the API of the operating system in a system 300 can be called to obtain valid data types for certain fields. In other incarnations one or more valid data types for certain fields can be automatically identified module 328 rendering context. For example, a module 328 display context can find out what a specific data type is not valid for a specific field, if the user tries to enter the data of this type and the error is returned to the user program or other component that handles input. Information about how to display the context of the module 328 display context can be used to foretell mechanism 320 keyboard in many different ways. In one or more incarnations predicts mechanism 320 keyboard decides that certain types of data that are not valid for a specific field, are not intended to be selected with input 310 user. For example, if a certain field accepts only numbers, predicting mechanism 302 keyboard may decide that key, which he intended to choose the user who will be the keys on the soft keyboard 308, which is closest to the input 310 user. As another example, if a certain field accepts only numbers, predicting mechanism 320 keyboard can instruct the module to control 302 soft keyboard, soft keyboard 308 should include only numbers and no letters. As an option, foretelling mechanism 320 keyboard may decide that certain types of data that are valid, the user is easier than other types of data. For example, if the designation is valid notation for a specific field, but the symbol "!" and "#" are not valid for that field, then the logic pressing implemented foreseeing mechanism 320 keyboard, can increase the likelihood that will be selected by the@symbol. This probability can be enhanced in various ways, such as making clicking on the symbol "@" more than that of the character "!" and "#". The area of depression on the soft keyboard 308 for a specific key is drawn to the provisions of the soft keyboard 308, which correspond to a specific key. Since characters "!" and "#" are located on either side of the "@" symbol on many keyboards, resizing pressing makes it easier for the user to select the "@" symbol touch the soft keyboard 308 or near the symbol "@". The use of presses and logic clicks implemented foreseeing mechanism 320 keyboard, are discussed in more detail below. Module 330 definition language identifies the language used by the system user 300. Language can be identified through various means, such as specifying the user's language or 330 module automatically identifies the language. Module 330 can automatically identify the language, for example, obtaining access to the default language for the system 300 (for example, as recorded by the operating system), gaining access to the module 328 rendering context, to identify the types of data and their corresponding language (for example, if the designation of characters is a valid data type, the language can be automatically identified as Japanese) etc. Language identified by the module 330 determination of the language, may be the language normally used by the system user 300, or any language can be used by the system user 300 for a particular record, made by the user. For example, if the user entered a partial word (for example, "uni"), the module 330 definition language can automatically detect the language of the user input. This might be a separate definition (for example, based only on partial word) or alternatively may be in conjunction with other information (e.g. language(mi), commonly used by system user 300). Module 332 n-gram statistics words and phrases identifies words and phrases that are more likely than others based on partial inputs. It can include, for example, the identification of words based on fractional you enter the word, and the identification of phrases, based on a single (or multiple) you enter the word. In one or more incarnations this identification is based on the actual words (for example, from the dictionary provided by the module 324 language dictionaries). For example, if you enter the word "United", the module 332 may indicate that the word "States" more likely than the word "work". In other incarnations, this identity module 332 is based on the rules of grammar or other rules. For example, the two verbs are usually not adjoin to each other, so if the verb is entered as the first word, the module 332 may indicate that the next word in the phrase is unlikely to be a verb. As another example, a module 332 may decide that the phrase "United States" is often a user enters the system 300, thus, the module 332 may decide that, if the United States were introduced by the user, then "America" is more likely in the phrase than other phrases. Information identifying the probable words or phrases from the word and module 332 n-gram statistics words and phrases can be used to foretell mechanism 320 keyboard in many different ways. Similarly, the discussion of the above module 328 rendering context, information identifying the probable words or phrases can be used to decide that certain words, letters or other symbols do not have in mind to be selected with input 310 user and thus does not allow write these words, letters or other characters, or alternatively can change the pressing, making it easy for the user to select certain words, letters or other characters. Predicting mechanism 320 keyboard takes information describing the current environment, the input from the various modules 322-332, as discussed above. Predicting mechanism 320 keyboard uses this information describing the current environment, the input to change the location and/or alphanumeric symbols or characters matching keys the soft keyboard 308, and/or to determine what key the user intended to select a specific user input. Predicting mechanism 320 keyboard repeats this change and/or determination after each key selection(s)made by the user. The current environment input may change after each key selection(s) of the user and a new input current environment may be taken into account foreseeing mechanism 320 keyboard after each key selection(s) by the user. As discussed above, information describing the current environment, the input can specify that certain glands are more likely than others. In one or more incarnations this information is used to modify the layout of the soft keyboard 308. For example, information may be used to modify the layout of the soft keyboard 308 from the QWERTY layout of the keyboard, the numeric keypad, include only certain keys of the QWERTY layout, etc. In other incarnations information describing the current environment, the input is used to change any alphanumeric character or other characters that are appropriate keys the soft keyboard 308. In response to this change the soft keyboard 308 shows new appropriate signs or symbols for those keys instead of the previously displayed signs or symbols, and the choice of one of those keys is the result of user input current display of the corresponding symbol. For example, the string keys the soft keyboard 308 can be changed from the corresponding numbers on the compliance of the characters. In another example, some keys can be modified to meet certain specific signs and/or characters in the language. In other incarnations information describing the current environment, the input is used to modify the surface of the keys the soft keyboard 308. In response to this change, the program keyboard 308 shows various surfaces for keys. For example, keys that are probable and/or possible future letters of words that are entered, can be highlighted. As another example, the keys for the letters which would not be the result of a word (based on already entered letters), may not be available to help visually guiding and reduce the force of the user. In other incarnations information describing the current environment, the input is used to determine which key the user intended to choose with a specific user input. Predicting mechanism 320 keyboard, including logic clicking, it uses the current environment input along with putting 310 user to identify which a certain key on the soft keyboard 308 user intended to choose. One way in which predicts mechanism keyboard may use the current environment, the input and enter 310 user to change the size of pressed purposes for certain keys. As discussed above, each key on the soft keyboard 308 may have a relevant area of depression, and foretell mechanism 320 keyboard can assign region pressing each key. This area is pressing for a specific keys are drawn to places on the soft keyboard 308, which correspond to this particular key. The area of depression for specific keys can be changed - the area of depression may be increased in the amount of foretell mechanism 320 keyboard to more places on the soft keyboard 308 corresponded to that particular key, or may be reduced in the amount of foretell mechanism 320 keyboard so that fewer seats on the soft keyboard 308 corresponded to that particular key. Increase of the area of pressing the key, therefore, it is usually easier for the user to select the key, while the reduction of the press, press, and usually makes it more difficult for the user to select the hotkey. In addition, predictive mechanism 320 keyboard can make some keys on the soft keyboard 308 void. Thus, predicting mechanism 320 keypad does not indicate that the invalid key was meant to be selected from a specific user regardless of whether this particular user input. For example, if the "!" symbol determined to be invalid, predicting mechanism 320 keypad does not indicate that the "!" symbol meant to be selected from a specific user regardless of which this particular user input. Predicting mechanism keyboard 320 can determine how to modify the layout and/or alphanumeric characters or symbols corresponding keys the soft keyboard 308, and/or to determine what key the user intended to choose from a particular user input in many different ways. In one or more incarnations predicts mechanism 320 keyboard is learning a system that learns with different inputs (keyboard input 310 user and all kinds of information, describing the current environment, the input). This training involves providing a mechanism 320 various glands and the correct answer so that the mechanism 320 might learn what the answers should be given in response to various glands. Initial training is usually done by a developer prediction mechanism 320 keyboard, and additional training can be done during system operation 300. This additional training can be performed, for example, based on feedback, giving mechanism 320 specify whether a particular conclusion 340 correct. Any of a number of different training systems can be used, including artificial intelligence systems and other systems based on statistics. For example, the kind of learning systems may include artificial neural network system inference, the algorithm of k-nearest neighbors etc In addition, predictive mechanism 320 keyboard can be implemented as other systems. For example, a mechanism 320 can be implemented using any number of systems of the statistical analysis, to assess enter 310 user, and all manner of information, describing the current environment, the input. As another example, the mechanism 320 could be implemented using other rules, criteria or weights applied to the input 310 user, and all manner of information, describing the current environment, the input. Thus, you can see that the soft keyboard 308 is dynamic. In one or more incarnations screen keyboard 308 changes the layout and/or alphanumeric characters or symbols that correspond to the number keys, forming a dynamic soft-keyboard. In addition, in one or more incarnations, which key the user intended to choose from a certain input may vary, forming a dynamic soft-keyboard. Such changes, relative to which key the user intended to choose from a certain input can be performed with the conclusion or suppress display to the user regarding such change. Figure 4 is a block diagram illustrating as an example the process of 400 for dynamic software keyboard in accordance with one or more incarnations. The process of 400 performed by the system, such as the system of 300 from Figure 3, and can be implemented in software, embedded firmware, hardware, or combinations of the above. The process of 400 shown as a series of actions that indicate operations with one or more devices, and not necessarily limited to the modes, shown in order to perform the respective actions. The process of 400 is an example of a process for dynamic software keyboard; additional discussion of dynamic software keyboard included here with reference to other drawings. Initially, the user input is received via the soft keyboard (action 402). This user input is defined by one or more provisions of the soft keyboard, as discussed above. In addition, it turns out information describing the current environment, the input (action 404). This information can be any number of different types of information, such as information discussed above concerning the modules 322-332 of Figure 3. A specific one or more keys that were meant to be selected user input, are defined (action 406), based at least partly on the information received in action 404. Display one or more keys that you decide to choose the user, is displayed (action 408). Indication of the predicted value of the input string additionally output (action 410). In addition, in one or more incarnations soft keyboard is changed (action 412), based at least partly on the information received in action 404. This change can, for example, change the layout and/or modify alphanumeric characters or symbols corresponding keys the soft keyboard, as discussed above. Figure 5 illustrates an example of a computing device 500, which can be configured to implement a dynamic soft keyboard, in accordance with one or more incarnations. Computing device 500 may be, for example, computing device 100 from Figure 1. Computing device 500 includes one or more processors or processor units 502, one or more computer-readable media 504, which may include one or more components 506 memory and/or storage of one or more devices 508 input / output (I/O), through which we obtain input 110 user of Fig.1 (or enter 310 user from Figure 3), and bus 510, which allows various components and devices to communicate with each other. Readable computer media 504 and/or device(s) 508 IO may be included in computing device 500 as part of or may be associated with him. Bus 510 is one or more of several types of structures tyres, including the bus memory or memory controller, peripheral bus, accelerated graphics port, and processor or local bus, using any of a variety of bus architectures. Bus 510 can include wired and/or wireless tyres. Component 506 memory/storage represents one or more computer media. Component 506 may include volatile media (such as random access memory (RAM)and/or a non-volatile medium (such as a permanent memory (ROM), flash memory, optical disks, floppy disks, and so on). Component 506 may include fixed media such as RAM, ROM, fixed hard drive etc)and removable media (e.g. flash card, removable hard drive, optical drive, etc...). The techniques discussed here can be implemented in software using the instructions executed by the processor(s) 502. You need to take into account that different instructions can be saved in various components of a computing device, 500, such as processor 502, in different processor cache 502, in another cache memory of the device 500 (not shown), on the other computer media, etc. in addition, it must be emphasised that the place where instructions are stored in the computer 500 can change over time. One or more devices 508 o allow the user to enter commands and information in computing device 500 and also allow information to be presented to the user and/or other components or devices. This information is presented to the user may include soft keyboard, 108 of 1 or soft keyboard, 308 of Figure 3. Examples of input devices include the keyboard, the device that controls the cursor or pointer (such as a mouse, touchpad, slider, pen tablet etc.), microphone, scanner, touch screen, touch pad, etc. Examples of output devices include display (such as a monitor or projector), speakers, printer, network card, etc. Different methods can be described in the General context of software or software modules. Usually, the software includes routines, programs, objects, components, data structures etc. that perform specific tasks or implement specific abstract data types. The implementation of these modules and methods can be stored on computer-readable media or transmitted through them. Computer readable medium medium can be any available media or media that can be accessed by the computing device. As an example, and is not limited to, computer readable media may contain "computer storage devices" and "means of communication". "Computer storage devices" include volatile and non-volatile, removable and non-removable drives, implemented by any method or technology to store information, such as computer readable instructions, data structures, software modules or other data. Computer storage devices include, but are not limited to, RAM, ROM, EEPROM, flash memory, or other technology memory, CD-ROM, digital versatile discs (DVD) or other optical drives, magnetic tapes, magnetic tape storage device on a magnetic disk or other magnetic storage devices, or any other media that can be used to store the required information and that your computer can access. "Means of communication" usually embody computer readable instructions, data structures, software modules or other data in the modulated signal, such as a carrier wave or other transport mechanism. Communications also include any medium of information delivery. The term "modulated signal" means a signal that has one or more of its characteristics, fixed or modified in such a way to encode information in a signal. As an example, and is not limited to, communications include the United wire media, such as a wired network or direct connection wire and wireless carriers, such as speaker, radio frequency, infrared, and other wireless carriers. A combination of any of the above is also included in the scope of computer-readable media. Usually, any of the functions or the techniques described here can be implemented by using the software, firmware, hardware (for example, fixed logical layout), manual processing or combination of these implementations. The terms "module", "functionality" and "logic", used here, is generally a software, firmware, hardware, or a combination thereof. In the case of program implementation module, functionality, or logic to represent the code that performs these tasks when running on the CPU (for example, CPU, or Central processing units (CPUs). Code can be saved in one or more computer-readable storage devices, further description of which can be found with the link in figure 5. Functions of methods of dynamic software keyboard described here, are platform independent, meaning that methods can be realized on the set of commercial computing platforms with multiple processors. Although the content is described in the language specified for the design details and/or methodological steps, you must understand that the content specified in the accompanying claims, is not necessarily limited to certain functions or to the actions described above. Rather, certain functions and activities described above is disclosed as a form as an example of realization of the claims. 1. Computer storage media, with many of the commands that, when you run one or more processors device, make one or more processors: to accept user input via the soft keyboard, and screen keyboard includes set of keys, each of which has a corresponding area of depression, containing provisions on the soft keyboard that correspond to the key; to receive the information that describes your current environment entry for the soft keyboard; determine, based at least partially on the current environment input which one or more keys from the set of keys meant to be selected user input; and change, based at least partially on the current environment and input user input, the area of depression, one of the many keys, increasing the size of the region key to pass over the site display adjacent keys from the set of keys at the same time reducing the size of the area clicking the adjacent keys of many keys, and dirty area pressing said one key includes one or more of the provisions, which appears referred to one key and one or more of the provisions, which appears referred ensuite key of many keys, and it is not mentioned key. 2. Computer media device according to claim 1, and user input is a set of one or more coordinates that specify one or more provisions of the soft keyboard is selected by the user. 3. Computer media device according to claim 1, with information describing the current environment, the input contains information describing the mode of the device. 4. Computer storage media on p.3, and information describing the mode of operation of the device includes the geographical position of the device. 5. Computer media device according to claim 1, with information describing the current environment, the input contains specific language dictionary. 6. Computer media device according to claim 1, with information describing the current environment, the input contains information related words that are commonly entered by the user device. 7. Computer media device according to claim 1, with information describing the current environment, the input contains information establishing the compliance of fields, each of one or more of the fields in which the user can enter data in the data types that are valid for the field. 8. Computer storage media on p.3, and information describing the mode of the device, contains a physical description of how you use your device. 11. Computer storage media of claim 1, wherein the instructions additionally, make one or more processors to change the soft keyboard, based at least partially information describing the current environment, the input. 12. Computer media device according to claim 1 in which the identification of which one or more keys from the set of keys meant to be selected user input, you need to identify the particular key on the soft keyboard that is void, and not to indicate that this particular key software keyboard meant to be selected input of the user, regardless of user input. 13. A system that implements dynamic soft keyboard, containing: predicting mechanism keyboard; one or more of the modules connected to provide foretelling mechanism keyboard information describing the current environment, the input for the software keyboard; and the foretelling mechanism keyboard is configured on the basis of, at least partially, information describing the current environment of input, with the possibility of change of the press of the many keys the soft keyboard, reducing the size of the press, one of the many keys at the same time increasing the size of the press adjacent keys from the set of keys so that the area clicking the adjacent keys of the many keys took place over the site referred to display one key, and dirty area pressing mentioned adjacent keys includes one or more of the provisions, which appears referred ensuite key and one or more of the provisions, which appears referred to one key and it is not mentioned ensuite key, and for each of the many key area of depression for key contains provisions on the soft keyboard that correspond to the key; and use the modified areas pressing multiple keys to determine which one or more of the many keys the soft keyboard were selected by the user of the system. 14. System on item 13, which predicts mechanism keyboard contains a system of artificial intelligence. 15. System on item 13, which predicts mechanism keypad additionally configured to determine how to modify the layout of the soft keyboard, based at least partly on information describing the current environment, the input. 16. System on item 13, in which one or more modules, includes: module determine the mode of operation to provide information describing the mode of operation of the system; and module user-defined vocabulary to provide information concerning the words which usually entered by the user of the system. 17. The method that implements the dynamic soft keyboard in the computing device that contains the stages at which: take a set of one or more coordinates that specify one or more provisions of the soft keyboard, a user-selected device, with the soft keyboard has a lot of keys and each of the many key has an associated scope pressing containing provisions on the soft keyboard that correspond to the key, and at least one of the many key has a corresponding area of depression, modified by increasing the size of the press, at least one key at the same time reducing the size of the area clicking the adjacent keys of many keys, and modified the area of depression, at least one of the keys takes place beyond the display, at least one key and it includes one or more the provisions, which appears, at least one key and one or more of the provisions, which appears referred ensuite key of many keys, and it is not mentioned one key; and determine on the basis of, at least partly, as a set of one or more coordinates, and logic region keypresses, using the current environment entry for the software keyboard which one or more of the many keys meant to be selected by the user. 18. The method according to item 17, additionally contains a change, what marks, numbers, or symbols correspond to which of the many keys, based at least partially current entry environment. 19. The method according to paragraph 17, where the current environment entry includes information on words that are commonly entered by the user of the device, and information establishing the compliance of fields, each of one or more of the fields in which the user can enter data in the data types that are valid for the field. 20. The method according to paragraph 17, where the current environment entry includes information describing the language used by the user, and the information describing the specific words or phrases that are more likely than others words or phrases based on partial entries.
|
© 2013-2014 Russian business network RussianPatents.com - Special Russian commercial information project for world wide. Foreign filing in English. |