WO2009127168A1 - 一种可实现灵活键盘布局的系统 - Google Patents

一种可实现灵活键盘布局的系统 Download PDF

Info

Publication number
WO2009127168A1
WO2009127168A1 PCT/CN2009/071351 CN2009071351W WO2009127168A1 WO 2009127168 A1 WO2009127168 A1 WO 2009127168A1 CN 2009071351 W CN2009071351 W CN 2009071351W WO 2009127168 A1 WO2009127168 A1 WO 2009127168A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
user
character
word
layout
Prior art date
Application number
PCT/CN2009/071351
Other languages
English (en)
French (fr)
Inventor
黄晓凤
赵艳姣
Original Assignee
戴静芬
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 戴静芬 filed Critical 戴静芬
Priority to EP17181551.7A priority Critical patent/EP3255529B1/en
Priority to EP09731887.7A priority patent/EP2293168A4/en
Priority to JP2011504302A priority patent/JP5649563B2/ja
Priority to US12/988,468 priority patent/US9323345B2/en
Publication of WO2009127168A1 publication Critical patent/WO2009127168A1/zh
Priority to US15/074,839 priority patent/US20160202904A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Definitions

  • the present invention relates to the field of electronic devices, and in particular, to the field of electronic device information input technology, and in particular to a system for realizing flexible keyboard layout by a user inputting text to an electronic device. Background technique
  • the traditional mobile phone or portable device keyboard uses a combination of multiple characters of the button, through the accompanying software and its own dictionary file, according to the user's input button sequence to predict the word the user wants to input.
  • a common input method is to construct an index tree for a keystroke sequence, and a particular keystroke sequence can be fixedly mapped to multiple words.
  • the index tree is searched according to the keystroke sequence, and corresponding candidate words are found and displayed on the screen for the user to select.
  • This method is closely related to the layout of the keyboard in the dictionary structure. Whenever the keyboard layout changes, it is necessary to reconstruct the dictionary structure or even redesign the software. Especially for the software keyboard on the touch screen, this method is less flexible.
  • the keyboard layout cannot be flexibly changed. If the layout of the letters changes, such as from the QWERTY standard computer keyboard layout (used in the US, Asian countries), to the AZERTY keyboard layout (commonly used in European countries), you need to completely rewrite the software and dictionary files; Second, can not intelligently correct errors . If the user presses one or more of the keys, the corrected word cannot be displayed. Third, it is not convenient to input words that are not in the dictionary, such as some names, place names, email addresses, special nouns, and so on.
  • a common method of automatic error correction is to use the lookup common error list to implement automatic error correction. For example, users often spell “can” errors into “csn” because on the keyboard of the QWERTY layout, the letters “a” and “s” are in adjacent positions and it is easy to press the wrong one.
  • This method modifies the wrong key sequence to the correct word by looking up a list of predefined common errors, including the wrong key sequence and the correct word, such as "csn"->"can".
  • the system of the present invention can flexibly adopt various keyboard layouts. For equipment manufacturers, it takes a lot of manpower and resources to transform existing software and input systems, or to purchase new software for each new language or input method. With this system, you simply define a new keyboard layout without changing the companion software. This provides a faster and more convenient solution for localization in multiple languages. At the same time, for the user, the keyboard layout can be customized according to their own usage habits, which is more flexible and practical.
  • the system of the present invention can implement a more effective and practical error correction method to solve the problem that the user often presses the wrong key on the reduced keyboard.
  • the system of the present invention can quickly and comprehensively correct errors under the actual computing power of ordinary portable devices, and allows the user to set the error correction range, which is a practical and practical error correction method.
  • the system of the present invention can determine candidate words that are most suitable for the current context according to the context of the text, combined with grammatical analysis, and improve the accuracy of the candidate words.
  • a system for implementing flexible keyboard layout for inputting text to an electronic device comprising an input module for detecting an input of a user; a layout mapping module connected to the input module, The layout mapping module maps at least one input of the user into a corresponding at least one character set according to the current keyboard layout; a dictionary module for storing the candidate words; and a candidate word module connected to the dictionary module and the layout mapping module And the candidate word module generates an input sequence according to the corresponding plurality of character sets, and searches for and sorts possible candidate words according to the input sequence; and connects to the candidate word module and outputs the candidate words.
  • Output module comprising an input module for detecting an input of a user; a layout mapping module connected to the input module, The layout mapping module maps at least one input of the user into a corresponding at least one character set according to the current keyboard layout; a dictionary module for storing the candidate words; and a candidate word module connected to the dictionary module and the layout mapping module And the candidate word module generates an input sequence according to the corresponding plurality of
  • a method of implementing a flexible keyboard layout for inputting text to an electronic device comprising the first step of waiting for a user input signal; converting the user input signal to a character according to a current keyboard layout a second step of the character set including the possible corresponding characters input by the user; the third step of adding the character set to the current input sequence; The current input sequence, the fourth step of generating candidate words and sorting by priority; displaying the fifth step of the candidate words.
  • a method of quickly switching a keyboard layout includes a first step of displaying a keyboard layout on a tactile display device; a second step of waiting for a user contact to move on the touch screen; The third step of moving the original keyboard layout out of the screen in the direction of contact movement; the fourth step of moving the new keyboard layout into the screen in the direction of contact movement.
  • a method of dynamically changing a keyboard layout includes a first step of displaying a plurality of keys on a tactile display device; detecting a second movement of a user after pressing a button on a button Step; detecting the third step of the user releasing the position of the contact; adjusting the keyboard layout, adjusting the button to the position corresponding to the release contact position, and displaying the fourth step of the updated keyboard layout.
  • FIG. 1A-1E are schematic diagrams illustrating various different keyboard layouts in accordance with an embodiment of the present invention.
  • FIG. 2A is a schematic diagram illustrating an candidate word and its related words according to an embodiment of the present invention
  • FIG. 2B is an example BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 2C-2D are diagrams illustrating the prediction of a next word according to the foregoing, in accordance with an embodiment of the present invention.
  • FIG. 3 is a hardware block diagram illustrating an embodiment of the present invention.
  • FIG. 4 is a structural diagram illustrating a system module according to an embodiment of the present invention.
  • FIG. 5 is a flow chart illustrating a user completing an input according to an embodiment of the present invention
  • FIG. 6 is a schematic view illustrating information contained in each key in a layout module according to an embodiment of the present invention
  • Figure 7 is a schematic view illustrating an accurate input of a key unfolding according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram showing a dictionary structure for realizing quick search for candidate words according to an embodiment of the present invention.
  • Figure 9 is a flow chart illustrating the generation of candidate words in accordance with an embodiment of the present invention
  • Figure 10 is a general illustration of a method for enabling flexible keyboard layout for inputting text to an electronic device in accordance with an embodiment of the present invention.
  • flow chart; 11A-11C are schematic diagrams illustrating a process of quickly switching a keyboard layout according to an embodiment of the present invention
  • Figure 12 is a general flow diagram illustrating the implementation of a fast switching keyboard layout in accordance with an embodiment of the present invention
  • FIGS. 13A-13B are schematic diagrams illustrating a process of dynamically changing a keyboard layout according to an embodiment of the present invention.
  • Figure 14 is a general flow chart illustrating the dynamic change of keyboard layout in accordance with an embodiment of the present invention.
  • relational terms such as left and right, up and down, before and after, first and second are used only to distinguish one entity or action from another entity or action, and do not necessarily require or imply such Any actual relationship or order between entities or actions.
  • the terms "including”, “comprising” or “comprising” are intended to encompass a non-exclusive inclusion, such that a process, method, article, or device that comprises a An element, or an element inherent to such a process, method, item, or device.
  • keyboard is broadly defined and includes any input component having a defined area, including but not limited to hardware mechanical keyboards, hardware inductive keyboards, software keyboards on touch screens, and the like.
  • the embodiment of the present invention is exemplified by a software keyboard on a touch screen, but those skilled in the art can understand that the method and system mentioned in the present invention can also be applied to a hardware keyboard.
  • FIG. 1A depicts a keyboard system 100 and its carrier portable device 101 that can implement a flexible keyboard layout in accordance with the present invention. After the user presses a key on the keyboard 110, its input content is displayed in the text area 102.
  • Keyboard 110 is a QWERTY layout that contains 26 English letters, numbers, symbols, and spacebars, and each button can represent three characters.
  • Figure 1B depicts another layout of the keyboard 120, which is a single Key QWERTY layout, each button represents a character, and there can be numbers and symbols between the two keys.
  • Figure 1C depicts another layout of keyboards 130, which are AZERTY layouts, each of which can represent three characters.
  • Figure 1D depicts another layout of the keyboard 140, which is a 9-key layout, each of which can represent three to four letters and a number, and is widely used on mobile phone keypads.
  • Figure 1E depicts a user-defined layout of the keyboard 150, each of which can represent three characters, the content and order of which are customized by the user according to the usage habits.
  • each key will be identified below with a first line of central characters for each key in each keyboard layout.
  • the key "qw” to identify the button 111 at the top left corner of the keyboard in Figure 1A
  • the key “p” to identify the button 121 at the top right corner of the keyboard in Figure 1B
  • use the "wx” button to identify the bottom left corner of the keyboard in Figure 1C.
  • Key use the key “wxyz” to identify the button 141 at the bottom right corner of the keyboard in Figure 1D.
  • the serial number identifier is used to ensure the uniqueness of the identification method.
  • the system displays the candidate words in the candidate area 103, and the default candidate words can be displayed in the text area.
  • the enter key e.g., the space bar or some punctuation
  • the system finds all the words in the dictionary corresponding to the key sequence, and displays them in the candidate area 103. . Since the words “tie”, “turn”, “tired”, and “yield” have the highest word frequency, they are displayed on the first page of the candidate list. The “tie” is also used as the default candidate in the text area, and is displayed in a special format (such as underlined) as unconfirmed text.
  • the space bar the candidate is confirmed and entered into the text. Since the user does not explicitly specify the specific character represented by each key when the button is pressed, the candidate is matched by the dictionary, so it is called "fuzzy input”.
  • the user can also make precise entries. For example, referring to FIG. 1A, on the keyboard 110 of the touch screen, the user can press and shift left and then release the key “ty” to accurately input the letter “t”; press on the key “ui” and move it to the right. , Enter the letter “ i” exactly; press on the key “ er” and move it to the right to release the letter "r”. At this point the system finds all the words beginning with “tir”: “tired”, “tiring”, “tire”, “tirade”.
  • the user can enter the symbol below the contact key by sliding down the contact Or number. For example, referring to Figure 1A, the user can move the contact down on the key "gh” and enter the number "3". This eliminates the need for the user to switch to a dedicated digital mode or symbol mode.
  • the user can slide the contact downward in the key “q” or the key “s” or in the middle thereof, and input the symbol ";" between the two.
  • Symbols and numbers may also be part of a word in accordance with some embodiments of the invention. For example, “I'm”, “I'll”, “let's”, “C++”, “part-time”, etc. Users can easily blur input symbols or numbers on the same keyboard mode without having to switch to another symbol mode. For example, referring to FIG. 1A, on the keyboard 110, the single quotation mark “'” is on the key “ui”, and the user only needs to press the key “ui”, the key “ui”, the key “m/”, and the system can find the word. "I'm” and display it in the candidate area. According to some embodiments of the present invention, when the user wants to change the keyboard layout, for example, from the QWERTY layout of FIG.
  • a predefined action allows for fast switching.
  • the user can quickly slide from the left end to the right end of the keyboard area with the finger, then the QWERTY layout moves to the right and moves out of the right end of the screen, and the 9-key layout slides in from the left end of the screen, resulting in a coherent dynamic effect.
  • the user can also switch to the one-button QWERTY layout shown in Figure 1B, or the AZERTY layout shown in Figure 1C, or the user-defined layout shown in Figure 1E.
  • switch layouts You can detect user gestures, either with a specific button or with sound control. In this switching process, since the layout of the system and the dictionary search function are independent of each other, the same dictionary file and software can be used.
  • the user can set the error correction within the range of the letter to be pressed, for example, correcting errors in all adjacent letters, or correcting only in the left and right adjacent letters, or only the letters adjacent to each other. Error correction, or error correction between two letters (such as "t” and "U"), or no error correction.
  • related words of candidate words can be quickly selected. For example, referring to FIG. 2A, when the candidate word 211 "compare” appears in the candidate region, the user slides the contact down on “compare”, and the relevant word corresponding to "compare” appears in the keyboard region, "comparing", "compared” , “compares", and “comparison”. The user clicks on one of the related words to enter it into the text area.
  • candidate words may be associated and provided with a phrase prediction based on the context of the text. For example, referring to Figure 2B, the user needs to enter “am” after entering “I”, but presses the adjacent key "bn” when inputting "m”. At this point, the system can determine based on context association rules.
  • the candidate words in the list of candidate words are automatically predicted to form a phrase collocation with "look”, "forward to”, “at”, “into”, “for” for the user to select.
  • contextual associations and phrase associations may be provided on the basis of related words. For example, referring to FIG. 2D, when the user inputs the related word “looking” of "look", the candidate word area can still predict the phrase “forward to", “at”, “into” corresponding to "look”,
  • FIG. 3 depicts a block diagram of a portable device 300 to which the present invention is applicable.
  • Input device 301, display device 302, and storage device 303 are coupled to processor 304 via electronic circuitry.
  • the input device 301 may be a keyboard or a touch pad;
  • the display device 302 may be a liquid crystal screen;
  • the storage device 303 may be any memory medium such as a random access memory (RAM;), a read only memory (ROM;), a flash memory (Flash; , a hard disk, etc.;
  • the processor 304 can be a CPU or an application specific integrated circuit chip.
  • the input device 301 may also It is combined with display device 302, such as a touch screen.
  • the storage device 303 can store all the software, including the operating system 311 and the keyboard software 310 and the like involved in the present invention. Alternatively, the storage device can also include other applications 312, such as a text editor or the like.
  • the keyboard system of the present invention is managed by keyboard software 310.
  • Figure 4 depicts a preferred system architecture 400 for the keyboard software.
  • the system is mainly composed of an input module 401, a layout mapping module 402, a setting module 403, a candidate word module 404, a dictionary module 405, and an output module 406.
  • the input module 401 is responsible for detecting user input such as a user's keys, contact actions on the touch screen, etc., and outputs to the layout mapping module 402.
  • the layout mapping module maps the user input to the character set corresponding to the secondary input according to the current keyboard layout, and outputs the character set to the candidate word module 404.
  • the dictionary module 405 is responsible for providing the candidate words module 404 with words in the dictionary.
  • the candidate word module 404 is responsible for generating successive input character sets into an input sequence, and finding possible candidate words according to the input sequence and sorting them.
  • the output module 406 is responsible for outputting the candidate words to the device in a certain manner for the user to select.
  • the setup module 403 stores user and system settings, such as whether error correction is enabled, whether context is detected, etc., for use by the layout mapping module 402 and the candidate word module 404.
  • Figure 5 depicts the main flow 500 of the keyboard software main program when completing the user input word selection, having the following steps: waiting for user input (step 501); determining whether to confirm the operation (step 502); if yes, entering the confirmation in the text area a word, and clearing the input sequence (step 503); if not, generating a character set corresponding to the current input in the layout mapping module 402 (step 504); forming the input sequence of the character set input this time and the previously input character set ( Step 505); generating a candidate word list in the candidate module, and prioritizing (step 506); outputting the updated candidate word list (step 507).
  • the input module 401 determines whether the input confirms the operation. Confirmation can be done by pressing the space bar or confirming the key (selecting the default candidate), or by directly clicking on the candidate, or by pressing the arrow keys to select the candidate and pressing the space bar or confirm the key, or entering the punctuation automatically selects the default. Candidate words, or any other pre-specified action.
  • the layout mapping module 402 can map the current input to a corresponding set of characters according to the current keyboard layout.
  • This character set contains all the characters that may correspond to this input. For example, when the user presses the key "qw” in the QWERTY keyboard layout shown in Fig. 1A, the character set contains the fuzzy input characters "q", "w” on the key. When the setting is enabled for error correction, the character set can also contain characters on the adjacent keys, such as "a”, "s", "e”.
  • candidate word module 404 can add the set of characters entered this time to the input sequence. For example, in the QWERTY keyboard layout shown in Figure 1A, when the user presses the key “ty”, the key After “ui” and the key “er”, the input sequence contains a set of characters entered three times: ⁇ "t” , "y” ⁇ , ⁇ "u “ , "i” ⁇ , ⁇ " e “ , “r” ⁇ . Subsequently, the candidate word module 404 can search for possible candidate words in the dictionary module 405 according to various possible combinations, such as "tie", "turn”, and the like. Finally, the candidate words can be ordered according to a preferred order. In some preferred embodiments, the candidate with the highest priority may be designated as the default candidate, that is, when the user inputs a space or other symbol, the default candidate is automatically confirmed as the word input to the text region.
  • the output module 406 can display the updated list of candidate words on the screen for user selection.
  • default candidate words may be displayed within the text area and highlighted in a special format.
  • the input module 401 detects the user's key actions and records and outputs the relevant data of each key.
  • the data related to a button can include but is not limited to:
  • the output of the input module 401 may include the coordinates of the starting point at which the user pressed the key and the coordinates of the end point at which the key is released.
  • the setup module 403 contains various setup information related to system operation, including user preferences, system operational modes, and the like. For example, the user can turn off error correction. Then all the errors pressed to the adjacent buttons will not be corrected; for example, the user can select the level of error correction: only correct the errors of the adjacent buttons, correct only the errors of the adjacent buttons, and correct the adjacent buttons.
  • Setting module 403 is optional.
  • the layout mapping module 402 has three main functions.
  • the first function of the layout mapping module 402 is to define and store various layout parameters of different keyboards, such as which characters are on the keyboard, which characters are combined on one key, how to accurately select the characters on the keys, and the like.
  • the letters "q", "w", and the symbol ";" are multiplexed with a key” qw Figure 6.
  • the various fields of the data structure can be modified as needed without affecting the essence of the present invention. For example, you can add a field to describe whether the enlarged image is displayed above the key after the key is pressed to remind the user of the current input. For example, when the position or size of the key is fixed, the position of the key on the keyboard area can be omitted. Size information field.
  • the user's different touch action definitions can also be extended. For example, you can add a corresponding input that defines "user long presses the key for more than X seconds", where X can be a configurable value; for example, you can add a corresponding input that defines "user double-clicks the key".
  • the second function of the layout mapping module 402 is to store all of the keyboard layouts that may be used and switch as needed. At some point, one and only one is the currently active keyboard layout. This is the current keyboard layout that the user can see in the keyboard input area.
  • the user can switch the current keyboard with a gesture on the touch screen Layout, you can also switch the current keyboard layout with a specific button on the hardware keyboard.
  • the third function of the layout mapping module 402 is to map the user's original input to the set of characters that the input may correspond to based on the current keyboard layout.
  • a preferred character set data structure can include a fuzzy input character set, an exact input character, and an error correction character set.
  • the module when the user presses the key "qw” and directly releases it, the module first acquires the coordinates of the contact from the input module 401, and can determine the key in the key according to the current layout. Qw" on. Since the action is directly released after clicking, according to the layout data of the key "qw”, the corresponding fuzzy input character set ("q", "w", "1”, “;”) can be obtained.
  • the current error correction setting is read from the setting module 403 as vertical error correction, and the lower characters "a” and "s” are obtained from the current layout as error correction characters.
  • the output character set of the layout mapping module 402 is: fuzzy input character group ("q", "w", “1", “;”), precise input character (empty), error correction input character group ( "a” , “s” ).
  • the layout information corresponding to the key "jkl" is as follows:
  • the fuzzy input character set is ("j", "k”, "1
  • the error correction character group is the adjacent character group ("m", "i") around the key "jkl”. If the user moves left and then presses (or long presses and then moves left) on the key "jkl", since this button contains a long press action, it switches to SHIFT mode, and the exact input character is ("J"), blurred. Enter the character set (empty). According to the setting information of the setting module 403, when the precise input is not empty, the system does not need to correct the error. Therefore, the error correction character set is also (empty).
  • the layout mapping module 402 effectively converts the user's input into a set of characters that are independent of the keyboard layout, so the subsequent candidate word module 404 need not change the software or data structure depending on the layout.
  • the layout information obtained by the layout mapping module 402 is also changed accordingly, so the output character set is also changed accordingly.
  • the keyboard layout can be predefined by the phone manufacturer or customized by the user without affecting any system functions.
  • the user can define the layout of the key bits, the corresponding characters on each key, and the character groups corresponding to the actions, thereby writing a keyboard layout suitable for their own usage habits.
  • the input method of different language versions may also correspond to different keyboard layouts.
  • the candidate word module 404 adds the character set corresponding to the current input to the input sequence, thereby searching for the corresponding word in the dictionary module 405.
  • the candidate words are prioritized according to certain rules (such as word frequency, context phrases, related words, etc.), and finally the candidate words are output to the output module 406.
  • the structure of the dictionary can be implemented in a wide variety of implementations, such as in a database, or in a tree structure. Accordingly, there are many ways to find possible candidates in the dictionary.
  • a dictionary implementation method for quickly finding words can be exemplified, but the present invention does not rely on such a method.
  • This method arranges the words in the dictionary in a tree structure as shown in FIG.
  • Ni-m in the tree dictionary represents a character, where i represents the depth of the node in the tree (i-th layer).
  • the node at the i-th level represents the ith character of the word.
  • m represents the total number of characters in the layer, for example, there are 26 letters in English, then m can be no more than 26; if the dictionary can contain words composed of other symbols, such as don't, then m can be greater than 26.
  • nodes are connected by paths Pi-j-1, Pi-j-2, ..., Pi-jm, where ij represents the parent node to which the path is connected is Ni-j.
  • the sequence of nodes from the root node down to the path of a node is called the sequence of characters for that node (or the path). If the character sequence of a node is a word in the dictionary, the node is said to be a word node. If a path does not exist, the sequence of characters representing the path does not exist in the dictionary. For example, the node corresponding to the English word apple is to search for the node app-1-e in order from the root node. The node corresponding to the first letter a is on the first layer of the tree.
  • the node of the second letter p is on the second level of the tree, and the node of the last letter e is the word node, and the character sequence is "apple".
  • the advantage of this tree structure is that it can quickly find out if a particular sequence of letters is a word in the dictionary and the node corresponding to that word.
  • Each word node can correspond to a word object, but the data structure of the word object is independent of the dictionary structure.
  • a word object can contain the following information: statistic word frequency of words, related words, context association rules, alternative formats, and so on.
  • the statistic word frequency of a word can be represented by a numerical value, for example, numbers 1 to 8, 8 represent the most commonly used words, and 1 represents the least commonly used words.
  • Statistical word frequency can be an important consideration in the prioritization of candidate words. When other factors are not considered, the higher the word frequency, the higher the priority of the word.
  • a related word of a word refers to a word associated with the word, such as a plural form of a noun, a different tense of the verb, a different part of speech of the word, and the like.
  • the related words of the English word “jump” include “jumps", “naturn”, "jumped” and so on.
  • the list of related words can be implemented in a pointer, that is, a word object can point to its associated other word object.
  • the purpose of retaining related word information is to facilitate the user to quickly select their associated words from a word. For example, when the user sees "jump" appearing in the candidate, the system can display all the related words and select from them by some kind of pre-specified action (for example, sliding down on the word).
  • Context-related rules contain contextual contextual information such as common phrase collocations and grammar guidelines for the word.
  • the contextual association rule for the word “look” can include common phrase collocations "look at”, “look forward to”, “look for”, and so on.
  • the context association rule of the word “am” can include the common phrase collocation "lam” and the like.
  • the context association rule for the word “of” can include a grammar rule: "The word followed by it should be a noun or a gerund.” With this information, the system can prioritize candidate words through context intelligence.
  • the context association rules may also be effective for each other between related words. For example, when there is "look forward to” in the context association rule, even if "looking” appears in the text, it can be associated with “forward to” because "looking” is a related word of "look".
  • the alternate format is a representation of the word.
  • “asap” is an abbreviation of "as soon as possible”
  • the system can automatically correspond to "as soon as possible”.
  • “as soon as possible” is an alternative to the word object "asap”.
  • the user input "dont” can be automatically corrected to "don't” because the word object "dont” contains the alternative format "don't”.
  • the word object "dont" is actually an index.
  • the candidate module can preferentially output the alternate format. FIG.
  • step 9 illustrates a method for generating a candidate word in the embodiment, comprising the steps of: searching for a corresponding word object as a candidate word in a dictionary according to an input sequence (step 901); and selecting a candidate for a character in the error correction character group
  • the word is marked as an error correction candidate word (step 902); the related word list corresponding to the candidate word is found (step 903); the alternative form corresponding to the candidate word is found (step 904); the candidate words are prioritized (step 905) .
  • the candidate word module 404 combines the input sequences formed by the character sets corresponding to the respective keys obtained by the layout mapping module 402 into possible candidate words.
  • a list of candidate words can be constructed by arranging all the characters of the input sequence and selecting all the existing words existing in the dictionary module. But in reality, a button may contain multiple possible characters, and multiple keystrokes may result in more sequences of characters. As the length of the input sequence increases, if you want to list the full arrangement of all the character sequences and then look up the dictionary, the amount of calculation will be very large. Therefore, a preferred candidate word finding method of the present invention utilizes the characteristics of a dictionary tree to quickly eliminate impossible character sequences by retrieving the number of nodes.
  • step 902 when the input sequence includes the error correction character set, the candidate word found in step 901 includes the error-corrected word, so in order to facilitate distinguishing it from the uncorrected common candidate word, Marked as error correction candidates.
  • the probability that the user presses the key is higher than the probability of pressing a key. Therefore, in the subsequent prioritization, the error correction candidate words may have a lower priority than the ordinary candidate words.
  • the alternative form found can replace the original candidate word, adding the candidate word list.
  • the candidate word lookup module 404 needs to prioritize the candidate words. Factors affecting priority may include: context association rules, statistical word frequency, candidate word length, and so on.
  • context association rules can be prioritized. For example, if "look forward" is entered earlier, enter the following The word is likely to be "to", not a "go" that is similar and has the same high frequency. At this time, the priority of the candidate word can be improved by comparing the context association rule of the candidate word with the preceding and following texts of the current text position, and if a certain candidate word is found to form a phrase match with the context.
  • the system can consider the statistical word frequency of the word in the language.
  • the output module 406 displays the list of candidate words to the user.
  • candidate words having related words may be marked with a special status, and a shortcut may be defined to allow the user to enter a selection mode of the word related words. For example, referring to Figure 2A, there is an arrow below the word "compare” indicating that it has found a list of related words.
  • the error correction candidate words may be identified in different formats to distinguish them.
  • the candidate area when a user confirms a candidate word and inputs it to a text area, the candidate area will display the next or more possible words. Referring to FIG. 2C, when the user inputs "look", the candidate area has predictions of "forward to", “at”, “into”, “for” for the next word. This is because the contextual association rule of the word object "look” has a phrase with "look forward to", “look at”, “look into” and “look for”.
  • the candidate word module 404 finds these rules from the context association rules of the word, and displays the portion following "look” as a candidate word in the candidate region.
  • a phrase collocation of the related word may also appear in the candidate region.
  • the candidate word area can also appear as “forward to", “at”, “into”, “for” for the next word. This is because there is a "look” in the related word list of the word object "looking", and the candidate word module finds the corresponding phrase collocation in the context-related blame corresponding to the related word, and displays it in the candidate area.
  • step 10 depicts a method of implementing a flexible keyboard layout for inputting text to an electronic device designed by the present invention, having the steps of: waiting for a user input signal (step 1001); converting the user input signal to a character based on the current keyboard layout. a collection, the set of characters comprising the user input Corresponding characters (step 1002); adding the character set to the current input sequence (step 1003); generating candidate words according to the current input sequence and sorting by priority (step 1004); displaying the candidate words (step 1005).
  • the keyboard system of the present invention can change the keyboard layout at any time without affecting method implementation and user use.
  • the user can switch the keyboard layout at any time by some predefined operation. For example, on a touch screen, when the user quickly slides over the contacts in the keyboard area, the system can dynamically switch the current layout from the QWERTY layout shown in Figure 1A to the AZERTY layout shown in Figure 1C. On devices with a hardware keyboard, when the user presses a shortcut, the system can also dynamically switch the keyboard layout.
  • the switching effect can be made more natural by the animation effect during the switching of the keyboard layout.
  • FIG. 11A when the user's finger moves rapidly from left to right on the keyboard area on the touch screen, the old keyboard layout smoothly moves out from left to right, and the new keyboard layout smoothly moves in from the left end of the screen to the right.
  • Figure 11B depicts the situation where the old keyboard layout 1102 is moved out halfway while the finger is moving, and the new keyboard layout 1103 is moved halfway.
  • Figure 11C depicts the situation after the new keyboard layout has been fully moved in.
  • the animation effect can be smoothly performed, and the moving speed can be determined according to the moving speed of the user's contacts, so that the user feels that the keyboard layout is being moved by the user's finger.
  • FIG. 12 depicts a method 1200 for quickly switching a keyboard layout in the present embodiment, comprising the steps of: displaying a keyboard layout on a touch-sensitive display device (step 1201); waiting for a user contact to move on the touch screen (steps) 1202); moving the original keyboard layout out of the screen in the direction of contact movement (step 1203); moving the new keyboard layout into the screen in the direction of contact movement (step 1204).
  • the keyboard layout referred to in this method not only represents a different layout of letters, but also broadly refers to a page in a multi-page content. For example, there are multiple page selections on the symbol selection page, and the user can perform page turning operations by this method.
  • the user can also dynamically change the layout of the keyboard, such as changing the position of the keys, and the like.
  • the layout of the keyboard such as changing the position of the keys, and the like.
  • Fig. 13A when the user presses the "SPACE" space bar 1301 and drags it to the lower left corner of the keyboard area and releases it, the key is arranged in a new one as shown in Fig. 13B. Location 1302.
  • the keyboard layout will be updated accordingly. For example, the number “8" originally on the space bar becomes the number "6" to maintain the continuity of the numbers.
  • FIG. 14 illustrates a method for dynamically changing a keyboard layout in the embodiment, comprising the steps of: displaying a plurality of keys on a touch-sensitive display device (step 1401); detecting that the user moves the contact action after pressing a button (Step 1402); detecting the position at which the user releases the contact (step 1403); adjusting the keyboard layout, adjusting the button to the position corresponding to the release contact position, and displaying the updated keyboard layout (step 1404) ).
  • some keys may be preset as movable keys, and some keys may be set as non-movable keys.
  • the "SPACE" button in Figure 13A is a movable button, while the other buttons are not movable.
  • the adjusted position of the button can often be at some predefined position near the release contact position. For example, when the position where the user releases the contact falls within the area covered by the "SPACE" key in FIG. 13B or the distance thereof is not more than X pixels (X may be a predetermined value), the corresponding adjusted position It is the button position at the bottom left corner of the screen.

Description

一种可实现灵活键盘布局的系统 技术领域
本发明涉及电子设备领域, 特别涉及电子设备信息输入技术领域, 具体是 指一种用户向电子设备输入文本的可实现灵活键盘布局的系统。 背景技术
现代生活中, 随着集成电路技术的不断发展, 已经出现了各种各样的电子 设备, 在这些众多的电子设备 (如掌上电脑、 智能手机、 嵌入式系统、 袖珍型电 脑等)上, 由于受到体积, 制造成本等因素的制约, 无法配备全尺寸的硬件键盘, 因而在这类设备上进行输入通常是充满挑战的。
传统的手机或便携式设备键盘采用复合多个字符的按键, 通过配套的软件 和自带的词典文件, 根据用户的输入按键序列预测出用户想输入的单词。一种常 见的输入方法是对击键序列构造索引树,一个特定的击键序列可以固定地对应为 多个单词。 当用户按键时, 根据击键序列査找索引树, 找到对应的多个候选词并 显示在屏幕上供用户选择。这种方法在词典结构上与键盘的布局密切相关, 每当 键盘布局改变就需要重新构造词典结构甚至重新设计软件。尤其对于触摸屏上的 软件键盘而言, 这种方法灵活性较差, 主要缺点有三个: 第一, 无法灵活改变键 盘布局。 如果字母的布局发生改变, 例如从 QWERTY标准电脑键盘布局 (美、 亚洲国家常用) , 切换到 AZERTY键盘布局 (欧洲国家常用) 时, 就需要彻底 改写软件及词典文件; 第二, 无法智能纠错。 如果用户按错了一个或多个按键, 就无法显示出纠正后的单词; 第三, 无法方便地输入词典中没有的单词, 例如一 些人名, 地名, Email地址, 专用名词, 等等。
同时, 由于缩小的键盘尺寸, 用户很容易按错键, 尤其是按到邻近的键上 。 因此在软件上实现自动纠错的功能是很有用的。一种常见的自动纠错方法是利 用査找常见错误列表来实现自动纠错功能。 例如, 用户经常将 " can"错误拼成 " csn" , 因为在 QWERTY布局的键盘上, 字母 " a"和 " s"在相邻的位置上, 很容易按错。这种方法通过査阅一个预定义的常见错误列表, 其中包括错误按键 序列和正确单词, 例如 " csn" -> " can" , 以此将错误按键序列修改为正确单词 。 但这种方法的局限性是显而易见的: 它只能判断有限的已知错误类型, 对于更 一般的邻近按键错误无法有效识别, 而且容易误判。 另一种自动纠错方法是通过判断屏幕触点的位置, 计算出其到各个键之间 的距离, 并以此计算击键序列与各个可能的单词之间的加权距离, 最后选取加权 距离最小的、 在词典中的单词。 这种方法在理论上可行, 但在实际中过于复杂, 由于一般便携式设备上的计算能力有限, 很难实现。 发明内容
本发明的目的是克服上述现有技术中的缺点, 提供一种可以灵活改变键盘 布局并具有智能纠错功能的系统。 相比传统方法, 本发明的优势体现在以下几 个方面:
第一, 本发明系统可以灵活采用各种键盘布局。 对于设备厂商而言, 针对 每一种新语言或输入方法都需要花费大量人力物力改造原有软件和输入系统, 或采购新的软件。 而采用本系统之后, 只需简单地定义新的键盘布局, 无需改 变配套软件。 这为多国语言版本的本地化提供了更快更便捷的方案。 同时, 对 于用户而言, 可以根据自身使用习惯自定义键盘布局, 更加灵活实用。
第二, 本发明系统可以实现一种更有效、 更实用的纠错方法, 解决用户在 缩小的键盘上经常按错键的问题。 相对与传统的两种纠错方法, 本发明系统可 以在普通便携式设备的实际计算能力下, 快速全面地纠错, 并可以让用户设置 纠错范围, 是一种真正实用的纠错方法。
第三, 本发明系统可以根据文本的上下文环境, 结合语法分析, 判断出最 适合当前语境的候选词, 提高候选词的正确率。
根据本发明的一个方面, 提供了一种用于向电子设备输入文本的可实现灵 活键盘布局的系统, 包括用于检测用户的输入的输入模块; 连接至所述输入模 块的布局映射模块, 所述布局映射模块根据当前的键盘布局, 将用户的至少一 次输入映射成相应的至少一个字符集合; 用于存储候选单词的词典模块; 连接 至所述词典模块和所述布局映射模块的候选词模块, 所述候选词模块根据所述 相应的多个字符集合生成输入序列, 并根据输入序列査找出可能的候选词并将 其排序; 以及连接至所述候选词模块并输出所述候选词的输出模块。
根据本发明的另一个方面, 提供了一种用于向电子设备输入文本的可实现 灵活键盘布局的方法, 包括等待用户输入信号的第 1步骤; 将用户输入信号根 据当前键盘布局转换为一个字符集合, 所述字符集合包含所述用户输入的可能 对应的字符的第 2步骤; 将所述字符集合加入当前输入序列的第 3步骤; 根据 所述当前输入序列, 生成候选词并按优先级排序的第 4步骤; 显示所述候选词 的第 5步骤。
根据本发明的另一个方面, 一种快速切换键盘布局的方法, 包括在带触感 的显示设备上显示一个键盘布局的第 1步骤; 等待用户触点在触摸屏上移动的 动作的第 2步骤; 将原先的键盘布局沿触点移动方向移出屏幕的第 3步骤; 将 新的键盘布局沿触点移动方向移入屏幕的第 4步骤。
根据本发明的另一个方面, 一种动态改变键盘布局的方法, 包括在带触感 的显示设备上显示多个按键的第 1步骤; 检测用户在一个按键上按下后移动 触点动作的第 2步骤; 检测用户放开触点的位置的第 3步骤; 调整键盘布局, 将所述的按键调整至所述放开触点位置所对应的位置, 并显示更新的键盘布局 的第 4步骤。 附图概述
附图 1A-1E是举例说明根据本发明实施例的各种不同键盘布局的示意图; 附图 2A是举例说明根据本发明实施例的一种候选词及其相关词的示意图; 附图 2B是举例说明根据本发明实施例的一种由上下文判断候选词的示意图 附图 2C-2D是举例说明根据本发明实施例的一种根据前文预测下一单词的 示意图;
附图 3是举例说明根据本发明实施例的一种硬件方块图;
附图 4是举例说明根据本发明实施例的一种系统模块结构图;
附图 5是举例说明根据本发明实施例的一种用户完成一次输入的流程图; 附图 6是举例说明根据本发明实施例的一种布局模块中每个键所包含的信 息的示意图;
附图 7是举例说明根据本发明实施例的一种将一个键展开进行精确输入的 示意图;
附图 8是举例说明根据本发明实施例的一种实现快速査找候选词的词典结 构示意图;
附图 9是举例说明根据本发明实施例的一种生成候选词的流程图; 附图 10是举例说明根据本发明实施例的用于向电子设备输入文本的可实现 灵活键盘布局的方法的一般流程图; 附图 11A-11C是举例说明根据本发明实施例的一种快速切换键盘布局过程 的示意图;
附图 12是举例说明根据本发明实施例的实现快速切换键盘布局的一般流程 图;
附图 13A-13B是举例说明根据本发明实施例的一种动态改变键盘布局过程 的示意图;
附图 14是举例说明根据本发明实施例的动态改变键盘布局的一般流程图。 本发明的最佳实施方案
在详细说明根据本发明的实施例前, 应该注意到的是, 所述实施例主要在 于与向电子设备中输入文本有关的方法步骤和设备组件的组合。 因此, 所属设 备组件和方法步骤已经在附图中通过常规符号在适当的位置表示出来了, 并且 只示出了与理解本发明的实施例有关的细节, 以免因对于得益于本发明的本领 域普通技术人员而言显而易见的那些细节而模糊了本公开内容。
在本文中, 诸如左和右, 上和下, 前和后, 第一和第二之类的关系术语仅 仅用来区分一个实体或动作与另一个实体或动作, 而不一定要求或暗示这种实 体或动作之间的任何实际的这种关系或顺序。 术语 "包括" 、 "包含" 或任何 其他变体旨在涵盖非排他性的包含, 由此使得包括一系列要素的过程、 方法、 物品或者设备不仅包含这些要素, 而且还包含没有明确列出的其他要素, 或者 为这种过程、 方法、 物品或者设备所固有的要素。
出于本公开的目的, 术语 "键盘" 是广义定义的, 包括任何具有确定区域 的输入部件, 包含但不局限于硬件机械式键盘、 硬件感应式键盘、 触摸屏上的 软件键盘等。 本发明的实施例默认以触摸屏上的软件键盘为例说明, 但本领域 的普通技术人员可以理解, 本发明所提及的方法和系统也可以应用于硬件键盘
1. 基本功能及操作
图 1A描述了本发明所涉及的一个可实现灵活键盘布局的键盘系统 100及其 载体便携式设备 101。 用户在键盘 110上按键后, 其输入内容显示在文本区域 102中。 键盘 110为 QWERTY布局, 包含了 26个英文字母, 数字、 符号和空 格键, 且每个按键可代表三个字符。 图 1B描述了另一种布局的键盘 120, 为单 键 QWERTY布局, 每个按键代表一个字符, 两个键之间可有数字和符号。 图 1C描述了另一种布局的键盘 130, 为 AZERTY布局, 每个按键可代表三个字符 。 图 1D描述了另一种布局的键盘 140, 为 9键布局, 每个按键可代表三至四个 字母和一个数字, 在手机键盘上广泛应用。 图 1E描述了一种用户自定义布局的 键盘 150, 每个按键可代表三个字符, 字符的内容和顺序由用户根据使用习惯定 制。
出于本公开的目的, 为了避免附图标识过于复杂, 下文中将用各个键盘布 局中每个键的第一行中央字符标识每个键。 例如, 用键 " qw"标识图 1A中键 盘最左上角的按键 111 ; 用键 " p "标识图 1B中键盘最右上角的按键 121 ; 用键 "wx"标识图 1C中键盘最左下角的按键; 用键 "wxyz"标识图 1D中键盘最右 下角的按键 141。 当在同一个图中出现据此方法定义的重复的标识时, 则使用序 号标识区分, 以确保该标识方法的唯一性。
需要指出的是, 本发明所描述的方法也可以运用于除英语外的其他语种, 其他的键盘布局, 且字母、 数字、 符号的具体内容和位置也都可任意改变。
回到图 1A, 当用户点击键盘输入区域上的键产生击键序列时, 系统将候选 的单词显示在候选区域 103中, 同时可在文本区域中显示默认的候选词。 当用 户点击候选词, 或按下确认键 (例如空格键或某些标点符号时) 时, 所选取的 单词就会输入至文本区域 102中。
例如, 在图 1A中, 当用户顺序按下键 "ty" , 键 "ui" , 键 " er"时, 系统 找到词典中对应此键序列的所有单词, 并将其排序显示在候选区域 103中。 由 于单词 "tie " , "turn" , "tired" , "yield" 具有最高词频, 故显示在候选词列 表的第一页。 其中 "tie " 同时作为默认的候选词也显示在文本区域内, 并以特 殊格式 (如下划线) 以示其为尚未确认的文本。 当用户按下空格键时, 该候选 词就被确认并输入至文本中。 由于用户在按键时并不明确指定每个按键所代表 的具体字符, 而是由词典匹配候选词, 因此称为 "模糊输入" 。
依照本发明的某些实施例, 用户还可以进行精确输入。 例如, 参考图 1A, 在触摸屏的键盘 110上, 用户可在键 " ty"上按下并左移后放开, 精确输入字母 "t" ; 在键 "ui" 上按下并右移放开, 精确输入字母 " i" ; 在键 " er" 上按下 并右移放开, 精确输入字母 "r" 。 此时系统找到的是所有 "tir" 开头的单词: "tired" , "tiring" , "tire " , "tirade " 。
依照本发明的某些实施例, 用户可以通过向下滑动触点输入键下方的符号 或数字。 例如, 参考图 1A, 用户可以在键 " gh " 上向下移动触点, 则输入数字 " 3 " 。 这样用户就无需切换到专用的数字模式或符号模式。
又例如, 参考图 1B, 用户可以在键 " q" 或键 " s" 或其中间区域向下滑动 触点, 输入两者之间的符号 ";" 。
依照本发明的某些实施例, 符号和数字也可以成为单词中的一部分。 例如 "I'm" , "I'll" , "let's" , " C++" , "part-time" 等。 用户可以在同一个键盘 模式上方便地模糊输入符号或数字, 而不需要切换到另外的符号模式。 例如, 参考图 1A, 在键盘 110上, 单引号 " ' "在键" ui"上, 用户只需顺序按下键 "ui " , 键 "ui" , 键 "m/" , 系统便能找到单词 "I'm"并将其显示在候选区域中 依照本发明的某些实施例, 当用户想要改变键盘布局, 例如从图 1A的 QWERTY布局改为图 1D的 9键布局时, 只需要通过一个预定义的动作, 即可 实现快速切换。 例如, 在触摸屏的键盘上, 用户可以用手指快速地从键盘区域 的左端滑动到右端, 则 QWERTY布局向右移动并移出屏幕的右端, 而 9键布局 从屏幕的左端滑入, 产生连贯的动态效果。 同样的, 用户也可以切换到图 1B所 示的单键 QWERTY布局, 或图 1C所示的 AZERTY布局, 或图 1E所示的用户 自定义布局。 切换布局的方式可以有很多种: 可以检测用户的手势, 可以使用 一个特定的按键, 也可以通过声音控制。 在这种切换过程中, 由于系统的布局 与词典搜索功能相互独立, 所以可以使用相同的词典文件和软件。
由于在较小的键盘区域上, 用户在输入时经常会按到相邻的键位上, 依照 本发明的一种优选实施例,可以根据词典自动纠正这种错误。例如,在图 1B中, 当用户想按键 "t" 时, 很可能错误地按到了键 "f" 上。 系统会搜索键 "f" 周 围的字母 "r" , " g " , " d" , " v " 并根据用户之前的输入判断出可能的正确单词 。 在本发明的实施例中, 即使用户所有输入的字母都是错误的, 系统也可能找 出正确的单词。 例如, 用户输入了 " V " , "i" , "p" , "1" , 系统可以提示 用户候选词 "book" , 因为 " V " , "i" , "p" , "1" 分别为 "b" , " 0 " , " 0 " , "k" 的邻近字母。 值得一提的是, 当字母位置相隔较大时, 需要扩大 纠错的范围 (如相隔两个键的纠错) 。 但扩大纠错范围的副作用是候选词数量 会增加。 为了解决这一矛盾, 本发明的一个优选实施例是纠错范围可以根据用 户偏好进行调节。 用户可以设置在所按字母多大的范围内进行纠错, 例如在所 有相邻的字母中纠错, 或只在左右相邻的字母中纠错, 或只在上下相邻的字母 中纠错, 或相隔两个字母 (如 "t"和 "U" ) 之间纠错, 或者不纠错。 依照本发明的某些实施例, 可以快速地选择候选词的相关词。 例如, 参考 图 2A, 当候选区域出现候选词 211 "compare" 时, 用户在 "compare" 上向下 滑动触点, 则键盘区域出现 "compare"所对应的相关词, "comparing" , "compared" , "compares" , 禾口 "comparison" 。 用户点击其中的一个相关词 即可将其输入至文本区域。 在很多语言中, 这种相关词是很常见的。 例如在英 语中的动词有很多不同时态, 名词有复数形式, 一个词可以有多种词性等等。 本发明的实施例可以将这些词关联起来, 因而当用户可以快速地从一个候选词 中延伸至其他相关词。
依照本发明的某些实施例, 可根据文本的上下文关联候选词并提供短语预 测。 例如, 参考图 2B, 用户之前输入了 "I"后需要输入 "am" , 但在输入 "m " 时却按在了邻近的键 "bn" 上。 此时, 系统可根据上下文关联规则, 判断出
"lam"是常用短语, 因此调整候选词 221 "am" 比原先的候选词 "an"优先级 更高。 在很多语言中, 这种短语、 特定搭配、 习惯语法的现象很常见, 因此一 个单词的出现概率不仅取决于该单词的词频, 更取决与该单词与上下文之间搭 配的概率。 在此例中, 尽管 "an"是一个比 "am"词频更高的单词, 但在 I之后跟 的几乎总是 "am" , 而非 "an" 。 因此根据上下文选择合适的单词可以大大提 高选词的有效性, 进而提高输入效率。又例如, 参考图 2C, 用户输入了单词 231
"look"之后,候选词列表中自动预测到与 "look"形成短语搭配的候选词" forward to" , "at" , "into" , "for" , 供用户选择。
依照本发明的某些实施例, 可以在相关词的基础上提供上下文关联和词组 联想。 例如, 参考图 2D, 当用户输入了 "look" 的相关词 "looking" 时, 候选 词区域仍能预测出 "look"对应的短语搭配 "forward to" 、 "at" 、 "into" 、
"for" 等。
2. 系统结构及原理
图 3描述了适用本发明的一种便携设备 300的概要框图。输入装置 301、显 示装置 302和存储装置 303通过电子线路与处理器 304相连。 输入装置 301可 以是键盘或触摸板; 显示装置 302可以是液晶屏; 存储装置 303可以是任何记 忆介质, 例如随机访问内存 (; RAM;), 只读内存 (ROM;), 闪存 (Flash;), 硬盘等; 处 理器 304可以是 CPU或专用集成电路芯片。 很多情况下, 输入装置 301也可能 与显示装置 302合成, 如触摸屏。 存储装置 303可保存所有的软件, 包含操作 系统 311和本发明涉及的键盘软件 310等, 可选地, 存储装置也可以包括其他 应用程序 312, 如文本编辑器等。
本发明的键盘系统是由键盘软件 310所管理的。 图 4描述了该键盘软件的 一种优选系统结构 400。 该系统主要由输入模块 401、 布局映射模块 402、 设置 模块 403、 候选词模块 404、 词典模块 405及输出模块 406组成。
输入模块 401负责检测用户的输入, 例如用户的按键、 在触摸屏上的触点 动作等, 并输出至布局映射模块 402。 布局映射模块根据当前的键盘布局, 将用 户输入映射成本次输入所对应的字符集合, 并输出至候选词模块 404。词典模块 405负责为候选词模块 404提供词典中的单词。候选词模块 404负责将历次的字 符集合生成输入序列, 并根据输入序列査找出可能的候选词并将其排序。 输出 模块 406负责将候选词以一定方式输出至设备, 供用户选择。 设置模块 403存 储了用户和系统设定, 例如是否启用纠错、 是否检测上下文等, 供布局映射模 块 402与候选词模块 404使用。
图 5描述了键盘软件主程序在完成用户输入选词时的主要流程 500,具备以 下步骤: 等待用户输入 (步骤 501 ) ; 判断是否确认操作 (步骤 502 ) ; 若是, 在文本区域中输入确认的词, 并清空输入序列 (步骤 503 ) ; 若否, 在布局映射 模块 402中生成本次输入对应的字符集合(步骤 504 ) ; 将本次输入的字符集合 与之前输入的字符集合构成输入序列 (步骤 505 ) ; 在候选此模块中生成候选词 列表, 并进行优先级排序 (步骤 506 ) ; 输出更新的候选词列表 (步骤 507 ) 。
对于步骤 502, 输入模块 401判断本次输入是否确认操作。确认操作可以是 按空格键或确认健 (选定默认候选词) , 或是直接点击候选词, 或是通过方向 键选中候选词后按空格键或确认健, 或是输入标点符号自动选定默认候选词, 或是其他任意事先指定的操作。
对于步骤 504, 布局映射模块 402可根据当前的键盘布局, 将本次输入映射 为对应的字符集合。 该字符集合中包含可能对应于本次输入的所有字符。 例如, 当用户在图 1A所示的 QWERTY键盘布局中按下键 " qw"时, 字符集合包含该 键上的模糊输入字符 " q" 、 "w" 。 而当设置启用纠错时, 字符集合中还可包 含邻近键上的字符, 如 " a" 、 " s " 、 " e " 。
对于步骤 505,候选词模块 404可将本次输入的字符集合加入到输入序列中 。 例如, 在图 1A所示的 QWERTY键盘布局中, 当用户先后按下键 "ty" 、 键 "ui"和键 " er"后, 输入序列包含三次输入的字符集合: { "t" , "y" }, { "u " , " i" }, { " e " , "r" }。 随后, 候选词模块 404可根据各种可能的组合, 在 词典模块 405中搜索出可能的候选词, 例如 "tie " , "turn"等。 最后, 可根据 优选顺序将候选词排序。 在某些优选实施例中, , 可指定优先级最高的候选词 为默认候选词, 即当用户输入空格或其他符号时, 自动确认默认候选词为输入 到文本区域的单词。
对于步骤 506, 输出模块 406可将更新后的候选词列表显示在屏幕上, 供用 户选择。 在某些实施例中, 可以将默认候选词显示在文本区域内, 并以一种特 殊格式高亮标记出来。 回到图 4, 下面详细描述本实施例中每个模块的实现方法。
输入模块 401检测用户的按键动作, 并将每一次按键的相关数据记录并输 出。 一次按键的相关数据可以包含但不限于:
• 用户按下触点的起点位置
• 用户放开触点的终点位置
• 用户移动触点的轨迹
• 用户保持触点的停留时间
例如, 在图 1A中, 当用户按下键 " qw" 并右移后放开时, 输入模块 401 的输出可包含用户按下该键的起点坐标以及放开该键的终点坐标。 回到图 4, 设置模块 403包含与系统运行相关的各种设置信息, 包括用户使 用偏好、 系统工作模式等。 例如, 用户可以关闭纠错。 那么所有按到相邻按键 的错误就不会被纠正; 又如, 用户可以选择纠错的级别: 只纠正上下相邻按键 的错误、 只纠正左右相邻按键的错误、 纠正周边相邻按键的错误、 或纠正相邻 两层按键的错误(如在图 1B所示的单键 QWERTY布局上按" g"可以纠正到" d " , " f" , "h" , " j " ) 。 设置模块 403是可选的。 回到图 4, 布局映射模块 402具有三个主要功能。
布局映射模块 402的第一功能是定义并存储有不同键盘的各种布局参数, 例如键盘上有哪些字符, 哪几个字符复合在一个键上, 如何精确选择键上的字 符等等。 例如, 在图 1A中, 字母 " q"、 "w" , 和符号 "; "复用一个键 " qw " 。 图 6则描述了一种在内存中描述键 " qw" 的数据结构, 其中可包含 (但不 限于) 以下字段:
• 该键在键盘布局区域上的位置和大小
• 该键上所显示的字符及其相应位置区域: " q" , "w" , ";"
• 用户不同的动作所对应输入的字符组:
o 点击后直接放开: 模糊输入 " q" , "w" , ";"
o 上移: 模糊输入 " q" , "w" 的大写形式 ( " Q " , "W" )
o 左移: 精确输入 " q"
o 右移: 精确输入 "w"
o 左上移: 精确输入 " Q "
o 右上移: 精确输入 "W"
o 下移精确输入 ";" 精确输入的方式可以有很多种。 一种优选的方式是根据用户的触点移动来 判断精确输入的字符; 另一种优选的方式是长按某个键后将该键上的多个字符 展开供用户选择。 例如, 在图 1A中, 当用户长按键 " as "超过一个预设时间后, 该键盘就展现为图 7所示的精确输入模式,显示出所有该键所代表的字符组 701, 供用户选择。 选完后返回图 1A的初始模式。 在西欧语言中, 这种方式可以用来 选择重音字符, 例如 " aaaaa" 等。
值得注意的是, 该数据结构的各个字段可以根据需要进行删减修改, 而不 影响本发明的实质。 例如, 可以增加一个字段, 描述按键后在键的上方是否显 示放大的图片, 用来提示用户当前的输入; 又如, 当键的位置或大小固定时, 可以省略该键在键盘区域上的位置大小信息字段。 同时, 用户的不同触摸动作 定义也可以是扩展的。 例如可以增加定义 "用户长按该键超过 X秒" 的对应输 入, 其中 X可以是一个可配置的值; 又如, 可以增加定义 "用户双击该键" 的 对应输入。
由此可见, 不同的按键动作可以对应于不同的字符集合。
布局映射模块 402的第二功能是存储可能用到的所有键盘布局并根据需要 切换。 在某一时刻, 有且仅有一个是当前激活的键盘布局。 这就是用户在键盘 输入区域可以看到的当前键盘布局。
在本发明的优选实施例中, 用户可以利用在触摸屏上的手势切换当前键盘 布局, 也可以利用硬件键盘上某个特定的按键切换当前键盘布局。
布局映射模块 402的第三功能是根据当前的键盘布局, 将用户的原始输入 映射为本次输入可能对应的字符集合。 一种优选的字符集合的数据结构可包含 模糊输入字符组, 精确输入字符, 及纠错字符组。
例如在图 1A所示的 QWERTY布局上, 当用户按下键 "qw"并直接放开后, 该模块先从输入模块 401中获取了触点的坐标, 根据当前布局可判断出按键在 键 "qw"上。 由于动作是点击后直接放开, 根据键 "qw" 的布局数据可得其对 应的模糊输入字符组为 ( "q" , "w" , "1" , ";" ) 。 从设置模块 403中 读取当前纠错设置为垂直纠错, 于是从当前布局中获得下方的字符 "a"和 "s " 作为纠错字符。 最终本次按键中, 布局映射模块 402的输出字符集合为: 模 糊输入字符组 ( "q" , "w" , "1" , ";" ) , 精确输入字符 (空) , 纠错 输入字符组 ( "a" , "s" ) 。
又例如, 在图 1D所示的 9键布局中, 键 " jkl"对应的布局信息如下:
• 该键在键盘布局区域上的位置和大小
• 该键上所显示的字符及其相应位置区域: "j", "k", "1" , 数字 "5 " , 句号 "."
• 用户不同的动作所对应输入的字符:
o 点击后直接放开: 模糊输入 "j" , "k" , "1" , "5"
o 长按: 进入 SHIFT模式 (如同电脑键盘上按住 SHIFT键)
o 左移: 在普通模式下, 精确输入 "j" ; 在 SHIFT模式下, 精确输入 "J o 右移: 在普通模式下, 精确输入 "1" ; 在 SHIFT模式下, 精确输入 "L o 上移: 在普通模式下, 精确输入 " k" ; 在 SHIFT模式下, 精确输入 " K o 下移: 在普通模式下, 精确输入句号 "." ; 在 SHIFT模式下, 精确输入 当用户在键 "jkl"上直接点击后放开时, 布局映射模块 402得到键 jkl的上 述布局信息。 由于本次动作为点击后直接放开, 因此模糊输入字符组为 ( "j", "k" , "1" , "5" ) ; 同时由于设置模块 403中的纠错设置为左右纠错, 因 此纠错字符组为键 "jkl" 周边的相邻字符组 ( "m" , "i" ) 。 如果用户在键 "jkl" 上左移后长按 (或长按后左移) , 由于本次按键中包 含一个长按动作, 因此切换至 SHIFT模式, 精确输入字符为 ( "J" ) , 模糊输 入字符组 (空) 。 根据设置模块 403的设定信息, 当精确输入不为空时, 系统 无需纠错。 因此纠错字符组也为 (空) 。
由此可见, 布局映射模块 402有效地将用户的输入转换成与键盘布局无关 的字符集合, 因此之后的候选词模块 404无需根据布局的不同而改变软件或数 据结构。 当键盘布局改变之后, 布局映射模块 402得到的布局信息也相应改变, 因此输出的字符集合也随之改变。
由于有了独立的键盘布局设计, 键盘布局完全可以由手机厂商预定义, 或 由用户自定义, 而不会影响任何系统功能。 例如, 用户可以自己定义键位的布 局, 每个键上对应的字符, 以及动作对应的字符组, 从而编写出适合自己使用 习惯的键盘布局。 同时, 不同语言版本的输入法也可以对应与不同的键盘布局 回到图 4, 候选词模块 404将本次输入对应的字符集合加入到输入序列中, 以此査找词典模块 405中对应的单词, 并根据一定规则 (如词频、 上下文短语、 相关词等) 对候选单词进行优先级排序, 最终将候选词输出到输出模块 406。
本领域的普通技术人员可以理解, 词典的结构可以采用很多种实现方式, 例如存储在数据库, 或以树状结构存储。 相应地, 在词典中査找出可能的候选 词也有很多种方法。
下面为了完整地描述本系统的可行性, 举例说明一种可以快速査找单词的 词典实现方法, 但本发明并不依赖于这种方法。 该方法将词典中的单词排列在 树状结构中, 如图 8所示。 在树状词典中的每一个节点 Ni-l, Ni-2 ... Ni-m代表 一个字符, 其中 i代表该节点在树中的深度 (第 i层) 。 位于第 i层的节点代表 了单词的第 i个字符。 m代表了该层中的字符总数, 例如在英语中有 26个字母, 则 m可以不超过 26; 如果词典内可以包含由其他符号组成的单词, 如 don't, 则 m可以大于 26。 这些节点由路径 Pi-j-1, Pi-j-2, ..., Pi-j-m连接起来, 其中 i-j代 表该路径所连接父节点为 Ni-j。从根节点向下到达某一节点的路径所途径的节点 序列, 称为该节点 (或该路径) 的字符序列。 如果一个节点的字符序列是词典 中的一个单词, 则称该节点为单词节点。 如果某一条路径不存在, 则代表该路 径的字符序列在词典中不存在。 例如, 英语单词 apple所对应的节点, 就是从根 节点向下顺序寻找节点 a-p-p-1-e。其中第 1个字母 a所对应的节点在树的第 1层, 第 2个字母 p的节点在树的第 2层, 而最后一个字母 e的节点是单词节点, 其 字符序列就是 "apple" 。 这种树状结构的好处是可以快速地找到一个特定的字 母序列是否是词典里的一个单词, 以及该单词对应的节点。
每一个单词节点可对应于一个单词对象, 但单词对象的数据结构是独立于 词典结构的。 一个单词对象可包含以下信息: 单词的统计词频, 相关词, 上下 文关联规则, 替代格式等。 单词的统计词频可以用一个数值表示, 例如数字 1 到 8, 8代表最常用的词, 1代表最不常用的词。 统计词频可成为候选词优先级 排序的一个重要考虑因素。 在不考虑其他因素时, 词频越高, 单词的优先级就 越高。
单词的相关词是指与该单词相关联的单词, 例如名词的复数形式, 动词的 不同时态, 该词的不同词性等等。 例如英文单词 "jump" 的相关词包括 "jumps " , " jumping" , "jumped"等。 相关词列表可以用指针方式实现, 即一个单词 对象可以指向其相关联的其他单词对象。 保留相关词信息的目的是方便用户从 一个单词快速选择其关联的单词。 例如当用户看到 "jump" 出现在候选词中时, 可以通过某种事先指定的动作 (例如在单词上向下滑动) 让系统显示出所有的 相关词, 并从中选择。
上下文关联规则包含了该单词的常见短语搭配、 语法准则等与上下文环境 相关的信息。 例如, 单词 "look" 的上下文关联规则可包含常见短语搭配 "look at" , "look forward to" , "look for" 等。 又如, 单词 "am" 的上下文关联规则 可包含常见短语搭配 "lam"等。 又如, 单词 "of" 的上下文关联规则可包含语 法规则: "其后跟的词应为名词或动名词" 。 有了这些信息后, 系统即可通过 上下文智能判断候选词的优先级。
在本实施例中, 上下文关联规则在相关词之间中也可以互相生效。 例如, 当上下文关联规则中有 "look forward to" 时, 文中即使出现 "looking" 也可以 关联到 "forward to" , 因为 "looking" 是 "look" 的相关词。
替代格式是该单词的某种表现形式, 例如 "asap" 是 "as soon as possible" 的缩写形式, 那么如果用户输入了 "asap" , 系统可以自动对应到 "as soon as possible"。 因此 "as soon as possible"就是单词对象 "asap"的替代格式。 又如, 用户输入 "dont"能自动纠正为 "don't" , 因为单词对象 "dont"上含有替代格 式 "don't" 。 此时单词对象 "dont" 实际上是一种索引。 当一个单词有替代格 式时, 候选词模块可以优先将替代格式输出。 图 9描述了本实施例中一种生成候选词的方法, 包含以下步骤: 根据输入 序列, 在词典中寻找相应的单词对象作为候选词 (步骤 901) ; 将包含纠错字符 组中字符的候选词标记为纠错候选词 (步骤 902) ; 找到候选词所对应的相关词 列表 (步骤 903) ; 找到候选词所对应的替代形式 (步骤 904) ; 将候选词进行 优先级排序 (步骤 905) 。
对于步骤 901,候选词模块 404将从布局映射模块 402获得的各次按键对应 的字符集合所构成的输入序列组合成可能的候选词。 理论上, 只要将输入序列 的所有字符排列组合, 并挑选出所有在词典模块中存在的已有单词, 即可构成 候选词列表。 但实际上, 一次按键可能包含多个可能的字符, 而多次按键可能 形成的字符序列就会更多。 随着输入序列的长度增加, 如果要列出所有字符序 列的全排列后再査找词典的话, 计算量会非常大。 因此, 本发明的一种优选的 候选词査找方法是利用词典树的特点, 通过检索数的节点快速排除不可能的字 符序列。 例如, 若用户第一次按键的字符集合为 ( "a", "s" ) , 第二次按键 的字符集合为 ( "b", "n" ) , 第三次按键的字符集合为 ( "t", "y", "u " ) , 则三次按键的字符序列组合是 2 *2 * 3 = 12个。 但如果分析前两次按键 可能的字符序列: "ab" , "an" , "sb" , "sn" , 可发现词典中不存在 "sb "序列开头的单词 (路径为空) , 因此只需考虑 "ab", "an", "sn"与后三 个字符的组合可能。 进一步分析后发现, 在所有三个字符的排列中, 只有 " ant " , "any" , "aby"和 "abu" 可能成为单词或单词的开头部分。 因此实际的 可能组合远远低于 12个。 随着用户按键次数的增加, 尽管理论上字符序列的可 能组合在增加, 但利用这种方法, 随着不断排除不可能的路径, 计算量始终保 持在较低水平。
对于步骤 902, 当输入序列包含了纠错字符组时, 步骤 901所找出的候选词 中包含了纠错后的单词, 因此为了便于将其与未经纠错的普通候选词区分, 将 其标记为纠错候选词。 根据统计, 用户按对键的概率要高于按错成某个键的概 率。 因此, 在后续的优先级排序中, 纠错候选词的优先级可低于普通候选词。
对于步骤 904, 所找到的替代形式可以代替原先的候选词, 加入候选词列表 对于步骤 905, 候选词査找模块 404需要对候选词进行优先级排序。影响优 先级的因素可包含: 上下文关联规则, 统计词频, 候选词长度等。 首先, 可优 先考虑上下文关联规则。 例如, 如果前文输入了 "look forward" , 则下面输入 的单词很有可能是 "to" , 而不是与其相近且同样词频很高的 "go" 。 此时, 可 以通过比对候选词的上下文关联规则以及当前文本位置的前文与后文, 如果发 现某个候选词与前后文形成短语搭配, 便可将该候选词的优先级提高。 其次, 系统可考虑单词在该语言中的统计词频, 词频越高, 则出现概率越大, 因此优 先级越高。 此外, 当候选词长度等于或接近用户按键次数时, 该词的优先级可 以被提高。 如果某个候选词中包含了纠错字符, 则其优先级可以降低。 在一种 优选的实施例中, 最终的优先级可以由多种因素加权后计算而得。 回到图 4, 输出模块 406将候选词列表显示给用户。在本发明的某些实施例 中, 对于具有相关词的候选词, 可以用特殊状态标出, 并可定义一种快捷方式 让用户进入到该单词相关词的选择模式。 例如, 参照图 2A, 单词 "compare"的 下方有一个箭头, 表示找到了它的相关词列表。 用户在 "compare" 上向下滑动 触点可进入相关词选择模式。 在本发明的某些实施例中, 对于纠错候选词, 可 以用不同的格式标识以示区分。 依据本发明的一个实施例, 当用户确认某个候选词并将其输入至文本区域 后, 候选区域将显示下一个或多个可能出现的词。参考图 2C, 当用户输入" look " 后, 候选区域出现对下词的预测 "forward to" , "at" , "into" , "for" 。 这是由于单词对象 "look" 的上下文关联规则里有短语搭配 "look forward to", "look at" , "look into"禾口 "look for" 。 当用户确认候选词 "look" 后, 候选 词模块 404从该单词的上下文关联规则中找出这些规则, 并将 "look"后面的部 分作为候选词显示在候选区域中。
依据本发明的一个实施例, 当用户确认某个候选词并将其输入至文本区域 后, 其相关词的短语搭配也可出现在候选区域中。 参考图 2D, 当用户输入 " I'm looking"后, 候选词区域也能出现对下词的预测 "forward to" , "at" , "into " , "for" 。 这是由于在单词对象 "looking" 的相关词列表里有 "look" , 而 候选词模块会在相关词对应的上下文关联归责中找出对应的短语搭配, 并显示 在候选区域中。
图 10描述了本发明所设计的用于向电子设备输入文本的可实现灵活键盘布 局的方法, 具备以下步骤: 等待用户输入信号 (步骤 1001) ; 将用户输入信号 根据当前键盘布局转换为一个字符集合, 所述字符集合包含所述用户输入的可 能对应的字符 (步骤 1002) ; 将所述字符集合加入当前输入序列 (步骤 1003 ) ; 根据所述当前输入序列, 生成候选词并按优先级排序 (步骤 1004) ; 显示所 述候选词 (步骤 1005 ) 。
3. 布局的切换与动态调整
由于有了灵活的键盘布局设计, 本发明的键盘系统可以随时改变键盘布局 而不影响方法实现和用户 使用。
依据本发明的某些实施例, 用户可以通过某个预定义的操作, 将键盘布局 随时切换。 例如, 在触摸屏上, 当用户在键盘区域快速滑过触点时, 系统便可 以动态地将当前布局由如图 1A所示的 QWERTY布局切换为如图 1C所示的 AZERTY布局。 在带有硬件键盘的设备上, 当用户按下某个快捷键时, 系统也 同样可以动态切换键盘布局。
依据本发明的某些实施例, 在键盘布局的切换过程中, 可以通过动画效果 来使切换更加自然。 例如, 参照图 11A, 当用户的手指在触摸屏上的键盘区域 从左向右快速移动时, 旧的键盘布局从左向右平滑地移动淡出, 新的键盘布局 从屏幕左端向右平滑地移动淡入。 图 11B描述了在手指在移动过程中, 旧的键 盘布局 1102移出到一半, 新的键盘布局 1103移入一半时的情形。 图 11C描述 了新的键盘布局完全移入之后的情形。 在本实施例中, 动画效果可以流畅地进 行, 且移动速度可根据用户触点的移动速度决定, 让用户感觉键盘布局是在被 用户手指挪动。
图 12描述了本实施例中一种快速切换键盘布局的方法 1200,包含以下步骤: 在带触感的显示设备上显示一个键盘布局 (步骤 1201 ) ; 等待用户触点在触摸 屏上移动的动作(步骤 1202); 将原先的键盘布局沿触点移动方向移出屏幕(步 骤 1203 ) ; 将新的键盘布局沿触点移动方向移入屏幕 (步骤 1204) 。
本方法所指的键盘布局不仅仅代表字母的不同布局, 也可广义地泛指为多 页内容中的某一页。 例如, 在符号选择页面上有多页选择, 用户可以通过本方 法来进行翻页操作。
依据本发明的某些实施例, 用户还可以动态地更改键盘的布局, 如改变按 键的位置等。 例如, 在图 13A中, 当用户按下 " SPACE"空格键 1301不放, 并 将其拖动到键盘区域的左下角后放开, 该键便被安排在了如图 13B所示的新的 位置 1302。 同时键盘布局会被相应更新, 例如原本在空格键上的数字 " 8 "变为 了数字 " 6" , 以保持数字的连续性。
图 14描述了本实施例中一种动态改变键盘布局的方法, 包含以下步骤: 在 带触感的显示设备上显示多个按键 (步骤 1401 ) ; 检测用户在一个按键上按下 后移动触点动作 (步骤 1402) ; 检测用户放开触点的位置 (步骤 1403 ) ; 调整 键盘布局, 将所述的按键调整至所述放开触点位置所对应的位置, 并显示更新 的键盘布局 (步骤 1404) 。
对于步骤 1402, 可以预先设定某些键为可移动的键, 设定某些键为不可移 动的键。 例如, 图 13A中 " SPACE"键为可移动的键, 而其他按键为不可移动 的建。
对于步骤 1404, 按键调整后的位置往往可以在放开触点位置附近的某些预 定义的位置上。 例如, 当用户放开触点的位置落在图 13B中 " SPACE"键所覆 盖的区域或其周围距离不超过 X像素的范围内 (X可为一个预定的值) 时, 对 应的调整后位置均为屏幕最左下角的按键位置。

Claims

权 利 要 求
1、 一种用于向电子设备输入的可实现灵活键盘布局的系统, 其特征在于, 所述系统包括:
输入模块, 用于检测用户的输入;
连接至所述输入模块的布局映射模块, 所述布局映射模块根据当前的键盘 布局, 将用户的至少一次输入映射成相应的至少一个字符集合;
词典模块, 用于存储候选单词;
连接至所述词典模块和所述布局映射模块的候选词模块, 所述候选词模块 根据所述相应的多个字符集合生成输入序列, 并根据输入序列査找出可能的候 选词并将其排序; 以及
连接至所述候选词模块并输出所述候选词的输出模块。
2、 如权利要求 1所述的系统, 其特征在于, 还包括连接至所述布局映射模 块和所述候选词模块的设置模块, 所述设置模块存储用户和系统设定。
3、 如权利要求 1所述的系统, 其特征在于, 所述布局映射模块定义并存储 有不同键盘的各种布局参数, 并能够根据用户输入将当前键盘布局切换成另一 种键盘布局。
4、 如权利要求 1所述的系统, 其特征在于, 其中所述字符集合包含模糊输 入字符组, 即用户模糊输入时所有可能输入的字符。
5、 如权利要求 1所述的系统, 其特征在于, 其中所述字符集合包含精确输 入字符。
6、 如权利要求 1所述的系统, 其特征在于, 其中所述字符集合包含纠错字 符组, 所述纠错字符组包含用户输入发生错误时, 可能对应的正确的字符。
7、 如权利要求 6所述的系统, 其特征在于, 所述纠错字符组包含用户输入 按键的相邻按键上的字符。
8、 如权利要求 1所述的系统, 其特征在于, 所述候选词模块根据由多种影 响优先级的因素加权后得到的最终优先级进行排序, 所述多种影响优先级的因 素包括上下文关联规则、 统计词频、 候选词长度。
9、 如权利要求 8所述的系统, 其特征在于, 所述候选词模块中的上下文关 联规则包含单词的常见短语搭配、 语法准则。
10、 如权利要求 9所述的系统, 其特征在于, 所述候选词模块将候选词的 相关词加入到候选词列表。
11、 如权利要求 10所述的系统, 其特征在于, 所述上下文关联规则对规则 中涉及的单词的相关词生效。
12、 如权利要求 1所述的系统, 其特征在于, 所述候选词模块将候选词的 替代格式加入到候选词列表。
13、 如权利要求 1〜12中任一项所述的系统, 其特征在于, 所述布局映射 模块包含每一键的布局信息。
14、 如权利要求 13所述的系统, 其特征在于, 所述布局映射模块的每一键 的布局信息包含所述键在键盘布局区域上的位置和大小。
15、 如权利要求 13所述的系统, 其特征在于, 所述布局映射模块的每一键 的布局信息包含所述键上所显示的字符及其相应位置区域。
16、 如权利要求 13所述的系统, 其特征在于, 所述布局映射模块的每一键 的布局信息包含用户不同的动作所对应输入的字符。
17、 一种便携设备, 其特征在于, 所述设备包括:
输入装置;
存储装置, 用于存储相关软件;
显示装置, 向用户描绘系统输出; 和
与所述输入装置、存储装置和显示装置相连的处理器, 用于实现权利要求 1 所述的系统。
18、 一种用于向电子设备输入的可实现灵活键盘布局的方法, 其特征在于, 包括:
等待用户输入信号的第 1步骤;
将用户输入信号根据当前键盘布局转换为一个字符集合, 所述字符集合包 含所述用户输入的可能对应的字符的第 2步骤;
将所述字符集合加入当前输入序列的第 3步骤;
根据所述当前输入序列, 从词典中生成候选词并按优先级排序的第 4步骤 显示所述候选词的第 5步骤。
19、 如权利要求 18所述的方法, 其特征在于, 在第 2步骤中, 所述字符集 合包括模糊输入字符组, 即用户模糊输入时所有可能输入的字符。
20、 如权利要求 18所述的方法, 其特征在于, 在第 2步骤中, 所述字符集 合包含精确输入字符。
21、 如权利要求 18所述的方法, 其特征在于, 在第 2步骤中, 所述字符集 合包含纠错字符组, 所述纠错字符组包含用户输入发生错误时, 可能对应的正 确的字符。
22、 如权利要求 21所述的方法, 其特征在于, 所述纠错字符组包含用户输 入按键的相邻按键上的字符。
23、 如权利要求 18所述的方法, 其特征在于, 在第 4步骤中, 根据由多种 影响优先级的因素加权后得到的最终优先级进行排序, 所述多种影响优先级的 因素包括上下文关联规则、 统计词频、 候选词长度。
24、 如权利要求 19所述的方法, 其特征在于, 所述上下文关联规则包含单 词的常见短语搭配、 语法准则。
25、 如权利要求 24所述的方法, 其特征在于, 在第 4步骤中, 还包括将所 述候选词的相关词加入到候选词列表。
26、 如权利要求 25所述的方法, 其特征在于, 所述上下文关联规则对规则 中所涉及的单词的相关词生效。
27、 如权利要求 18所述的方法, 其特征在于, 在第 4步骤中, 还包括候选 词的替代格式加入到候选词列表。
28、 一种用于向电子设备输入的提供纠错候选词的方法, 其特征在于, 包 括:
等待用户输入信号的第 1步骤;
检测到用户输入的字符, 同时确定所述输入字符对应的纠错字符, 所述纠 错字符是指用户可能实际期望输入的字符的第 2步骤;
将各次用户输入的所述输入字符和所述纠错字符组合成输入序列, 并根据 所述输入序列从词典中生成纠错候选词的第 3步骤;
显示纠错候选词的第 4步骤。
29、 如权利要求 28所述的方法, 其特征在于, 所述纠错字符是指与所述用 户输入的字符所对应的按键具有相邻关系的按键上的字符, 这种相邻关系包括: 上下左右相邻、 上下相邻、 左右相邻或相隔两个按键的相邻。
30、 如权利要求 28所述的方法, 其特征在于, 所述纠错字符是由系统设定 或人为设置的。
31、 如权利要求 28所述的方法, 其特征在于, 在第 2步骤中, 将所检测到用户输入的字符转换为一个输入字符集合, 所 述输入字符集合包含所述用户输入的可能对应的字符, 并将所确定的纠错字符 转换为一个纠错字符集合;
在第 3步骤中, 将所述输入字符集合和所述纠错字符集合一起加入当前输 入序列, 并根据当前输入序列生成纠错候选词并按优先级排序。
32、 如权利要求 31所述的方法, 其特征在于, 在第 2步骤中, 所述字符集 合包含模糊输入字符组, 即用户模糊输入时所有可能输入的字符。
33、 如权利要求 31所述的方法, 其特征在于, 在第 2步骤中, 所述字符集 合包含精确输入字符。
34、 如权利要求 31所述的方法, 其特征在于, 在第 3步骤中, 根据由多种 影响优先级的因素加权后得到的最终优先级进行排序, 所述多种影响优先级的 因素包括上下文关联规则、 统计词频、 候选词长度。
35、 如权利要求 34所述的方法, 其特征在于, 所述上下文关联规则包含单 词的常见短语搭配、 语法准则。
36、 一种快速切换键盘布局的方法, 其特征在于, 包括:
在带触感的显示设备上显示一个键盘布局的第 1步骤;
等待用户触点在触摸屏上移动的动作的第 2步骤;
将原先的键盘布局沿触点移动方向移出屏幕的第 3步骤;
将新的键盘布局沿触点移动方向移入屏幕的第 4步骤。
37、 一种动态改变键盘布局的方法, 包括:
在带触感的显示设备上显示多个按键的第 1步骤;
检测用户在一个按键上按下后移动触点动作的第 2步骤;
检测用户放开触点的位置的第 3步骤;
调整键盘布局, 将所述的按键调整至所述放开触点位置所对应的位置, 并 显示更新的键盘布局的第 4步骤。
PCT/CN2009/071351 2008-04-18 2009-04-20 一种可实现灵活键盘布局的系统 WO2009127168A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP17181551.7A EP3255529B1 (en) 2008-04-18 2009-04-20 System implementing a flexible keyboard layout
EP09731887.7A EP2293168A4 (en) 2008-04-18 2009-04-20 SYSTEM WITH THE ABILITY TO ACHIEVE A FLEXIBLE KEYBOARD LAYOUT
JP2011504302A JP5649563B2 (ja) 2008-04-18 2009-04-20 柔軟なキー配列を実現することが可能であるシステム
US12/988,468 US9323345B2 (en) 2008-04-18 2009-04-20 System capable of accomplishing flexible keyboard layout
US15/074,839 US20160202904A1 (en) 2008-04-18 2016-03-18 System capable of accomplishing flexible keyboard layout

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2008100363029A CN101266520B (zh) 2008-04-18 2008-04-18 一种可实现灵活键盘布局的系统
CN200810036302.9 2008-04-18

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/988,468 A-371-Of-International US9323345B2 (en) 2008-04-18 2009-04-20 System capable of accomplishing flexible keyboard layout
US15/074,839 Continuation US20160202904A1 (en) 2008-04-18 2016-03-18 System capable of accomplishing flexible keyboard layout

Publications (1)

Publication Number Publication Date
WO2009127168A1 true WO2009127168A1 (zh) 2009-10-22

Family

ID=39988958

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/071351 WO2009127168A1 (zh) 2008-04-18 2009-04-20 一种可实现灵活键盘布局的系统

Country Status (5)

Country Link
US (2) US9323345B2 (zh)
EP (2) EP2293168A4 (zh)
JP (4) JP5649563B2 (zh)
CN (1) CN101266520B (zh)
WO (1) WO2009127168A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011197782A (ja) * 2010-03-17 2011-10-06 Fujitsu Ltd 候補表示装置および候補表示方法
EP2431842A3 (en) * 2010-09-16 2012-09-05 Sony Ericsson Mobile Communications AB Quick input language/virtual keyboard/ language dictionary change on a touch screen device
EP2410404A3 (en) * 2010-07-19 2013-02-20 EchoStar Technologies L.L.C. System and method for data item filtering based on character sequence entry

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10048860B2 (en) 2006-04-06 2018-08-14 Google Technology Holdings LLC Method and apparatus for user interface adaptation
CN101266520B (zh) * 2008-04-18 2013-03-27 上海触乐信息科技有限公司 一种可实现灵活键盘布局的系统
KR20100042976A (ko) * 2008-10-17 2010-04-27 엘지전자 주식회사 단말기 및 그 제어 방법
CN101483678B (zh) * 2009-02-13 2012-10-03 华为终端有限公司 一种终端的按键设置方法及终端
US20110001641A1 (en) * 2009-07-01 2011-01-06 Mitac Technology Corporation Electronic Device Equipped with Programmable Key Layout and Method for Programming Key Layout
US8363798B2 (en) * 2009-10-22 2013-01-29 Padmanabhan Mahalingam Custom telephony device configuration
JP5155287B2 (ja) * 2009-12-02 2013-03-06 シャープ株式会社 操作機器、その操作機器を備えた電子機器および画像処理装置ならびに操作方法
CN101710269A (zh) 2009-12-16 2010-05-19 深圳华为通信技术有限公司 调整软键盘布局的方法及移动终端
JP5091267B2 (ja) * 2010-02-18 2012-12-05 シャープ株式会社 操作機器、その操作機器を備えた電子機器および画像処理装置ならびに操作方法
CN102314450B (zh) * 2010-06-30 2014-11-26 国际商业机器公司 用于增强网页浏览的方法和设备
US20120001748A1 (en) * 2010-06-30 2012-01-05 Norman Ladouceur Methods and apparatus for visually supplementing a graphical user interface
US20120047454A1 (en) * 2010-08-18 2012-02-23 Erik Anthony Harte Dynamic Soft Input
KR101044320B1 (ko) * 2010-10-14 2011-06-29 주식회사 네오패드 가상 키입력수단의 배경화면 컨텐츠 제공 방법 및 시스템
US9891818B2 (en) * 2010-12-30 2018-02-13 International Business Machines Corporation Adaptive touch-sensitive displays and methods
CN102096553B (zh) * 2011-01-28 2013-02-13 鸿富锦精密工业(深圳)有限公司 电子阅读器及其输入法的显示方法
WO2012125988A2 (en) * 2011-03-17 2012-09-20 Laubach Kevin Input device enhanced interface
US9201861B2 (en) 2011-03-29 2015-12-01 Panasonic Intellectual Property Corporation Of America Character input prediction apparatus, character input prediction method, and character input system
CN102184028A (zh) * 2011-04-11 2011-09-14 百度在线网络技术(北京)有限公司 获取与输入按键序列相对应的候选字符串的方法与设备
CN102779064A (zh) * 2011-05-10 2012-11-14 北京磊友信息科技有限公司 提供应用调用的方法和服务器
WO2012158170A1 (en) * 2011-05-18 2012-11-22 King Saud University Ergonomic keyboard
US8656315B2 (en) 2011-05-27 2014-02-18 Google Inc. Moving a graphical selector
US8826190B2 (en) 2011-05-27 2014-09-02 Google Inc. Moving a graphical selector
KR101704549B1 (ko) * 2011-06-10 2017-02-22 삼성전자주식회사 문자 입력 인터페이스 제공 방법 및 장치
CN103733173A (zh) * 2011-06-15 2014-04-16 徐赈皓 用于提供键盘布局的用户界面装置及方法
TWI444883B (zh) * 2011-07-04 2014-07-11 Compal Electronics Inc 輸入介面編輯方法及應用其之電子裝置
WO2013024526A1 (ja) * 2011-08-15 2013-02-21 富士通株式会社 携帯電子機器及びキー表示プログラム
CN103019580A (zh) * 2011-09-27 2013-04-03 鸿富锦精密工业(深圳)有限公司 触摸屏电子装置及其软键盘启动方法
CN103034337A (zh) * 2011-09-30 2013-04-10 Ge医疗系统环球技术有限公司 键盘输入装置及其制造方法
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
CN103123572B (zh) * 2011-11-21 2016-07-06 联想(北京)有限公司 一种输入字符的方法和电子装置
EP2618248B1 (en) 2012-01-19 2017-08-16 BlackBerry Limited Virtual keyboard providing an indication of received input
US9557913B2 (en) 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
CA2865272C (en) 2012-02-24 2019-11-05 Blackberry Limited Virtual keyboard with dynamically reconfigurable layout
EP2631758B1 (en) 2012-02-24 2016-11-02 BlackBerry Limited Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters
CN104272223B (zh) 2012-02-28 2018-05-04 谷歌有限责任公司 用于将输入文本从第一字符集音译到第二字符集的技术
CN103309589B (zh) * 2012-03-06 2016-12-14 汉王科技股份有限公司 自定义键盘的按键排布方法及装置
US9223497B2 (en) 2012-03-16 2015-12-29 Blackberry Limited In-context word prediction and word correction
CN103365573B (zh) * 2012-03-27 2017-07-21 北京搜狗科技发展有限公司 一种对多键输入字符进行识别的方法和装置
US8850349B2 (en) * 2012-04-06 2014-09-30 Google Inc. Smart user-customized graphical keyboard
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
CN102736850B (zh) * 2012-04-20 2015-01-28 中兴通讯股份有限公司 输入方法及装置
US9292192B2 (en) 2012-04-30 2016-03-22 Blackberry Limited Method and apparatus for text selection
US9354805B2 (en) 2012-04-30 2016-05-31 Blackberry Limited Method and apparatus for text selection
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
CN106774982B (zh) * 2012-06-04 2020-06-09 华为终端有限公司 一种提示字符输入的方法和电子设备
WO2013184106A1 (en) * 2012-06-06 2013-12-12 Thomson Licensing Method and apparatus for entering symbols from a touch-sensitive screen
CN103513896B (zh) * 2012-06-20 2017-03-08 Tcl集团股份有限公司 一种自定义电子终端的虚拟键盘的方法及系统
JP5910345B2 (ja) * 2012-06-21 2016-04-27 富士通株式会社 文字入力プログラム、情報処理装置および文字入力方法
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
US9274609B2 (en) * 2012-07-23 2016-03-01 Mingyan Xie Inputting radical on touch screen device
CN103576882B (zh) * 2012-07-27 2018-03-09 深圳市世纪光速信息技术有限公司 非正常文本识别方法及其系统
EP2703956B1 (en) * 2012-08-31 2014-11-26 BlackBerry Limited Ranking predictions based on typing speed and typing confidence
US9063653B2 (en) * 2012-08-31 2015-06-23 Blackberry Limited Ranking predictions based on typing speed and typing confidence
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US8656296B1 (en) 2012-09-27 2014-02-18 Google Inc. Selection of characters in a string of characters
US9804777B1 (en) * 2012-10-23 2017-10-31 Google Inc. Gesture-based text selection
CN103092606B (zh) * 2012-12-21 2017-02-08 广东欧珀移动通信有限公司 移动终端弹出框的显示和隐藏方法及系统
CN103076892B (zh) * 2012-12-31 2016-09-28 百度在线网络技术(北京)有限公司 一种用于提供输入字符串所对应的输入候选项的方法与设备
IN2013CH00469A (zh) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
US10474355B2 (en) 2013-01-21 2019-11-12 Keypoint Technologies India Pvt. Ltd. Input pattern detection over virtual keyboard for candidate word identification
EP2759912B1 (en) * 2013-01-29 2018-07-25 BlackBerry Limited Apparatus and method pertaining to predicted-text entry
US20140214401A1 (en) 2013-01-29 2014-07-31 Tencent Technology (Shenzhen) Company Limited Method and device for error correction model training and text error correction
CN103970765B (zh) * 2013-01-29 2016-03-09 腾讯科技(深圳)有限公司 一种改错模型训练方法、装置和文本改错方法、装置
US10037139B2 (en) 2013-02-20 2018-07-31 Blackberry Limited Method and apparatus for word completion
CN104007832B (zh) * 2013-02-25 2017-09-01 上海触乐信息科技有限公司 连续滑行输入文本的方法、系统及设备
CN104049859A (zh) * 2013-03-15 2014-09-17 青岛海尔电子有限公司 智能终端及其软操控界面的显示控制方法
CN103279192A (zh) * 2013-04-18 2013-09-04 百度在线网络技术(北京)有限公司 一种利用多义键盘进行输入的方法和设备
KR101334342B1 (ko) * 2013-05-16 2013-11-29 주식회사 네오패드 문자 입력 장치 및 문자 입력 방법
JP2014235612A (ja) 2013-06-03 2014-12-15 富士通株式会社 端末装置、補正方法および補正プログラム
US9261973B2 (en) 2013-06-07 2016-02-16 Blackberry Limited Method and system for previewing characters based on finger position on keyboard
JP5801348B2 (ja) * 2013-06-10 2015-10-28 レノボ・シンガポール・プライベート・リミテッド 入力システム、入力方法およびスマートフォン
GB2516029A (en) * 2013-07-08 2015-01-14 Ibm Touchscreen keyboard
TWI489368B (zh) * 2013-10-22 2015-06-21 Darfon Electronics Corp 周邊裝置及其操作方法及應用其之電子系統
CN104268166B (zh) * 2014-09-09 2017-04-19 北京搜狗科技发展有限公司 一种输入方法、装置和电子设备
US10459608B2 (en) * 2014-12-01 2019-10-29 Ebay Inc. Mobile optimized shopping comparison
CN105988704B (zh) * 2015-03-03 2020-10-02 上海触乐信息科技有限公司 高效的触摸屏文本输入系统及方法
US9990268B2 (en) * 2015-03-30 2018-06-05 Infosys Limited System and method for detection of duplicate bug reports
US10222978B2 (en) * 2015-07-07 2019-03-05 International Business Machines Corporation Redefinition of a virtual keyboard layout with additional keyboard components based on received input
US10379737B2 (en) * 2015-10-19 2019-08-13 Apple Inc. Devices, methods, and graphical user interfaces for keyboard interface functionalities
US10628036B2 (en) 2016-01-18 2020-04-21 Microsoft Technology Licensing, Llc Keyboard customization
CN105786347A (zh) * 2016-02-25 2016-07-20 珠海格力电器股份有限公司 移动终端控制方法、装置和移动终端
JP6677415B2 (ja) 2016-03-03 2020-04-08 富士通コネクテッドテクノロジーズ株式会社 文字入力装置及び文字入力プログラム
CN107239716A (zh) * 2016-03-27 2017-10-10 陈金仁 防偷窥输入设备与方法
US11460926B2 (en) 2016-03-31 2022-10-04 Sensel, Inc. Human-computer interface system
US11422631B2 (en) 2016-03-31 2022-08-23 Sensel, Inc. Human-computer interface system
US10564839B2 (en) * 2016-03-31 2020-02-18 Sensel Inc. Method for detecting and characterizing inputs on a touch sensor surface
US10866642B2 (en) 2016-03-31 2020-12-15 Sensel Inc. System and method for detecting and responding to touch inputs with haptic feedback
US10331265B2 (en) 2016-03-31 2019-06-25 Sensel, Inc. Human-computer interface system
CN107688594B (zh) * 2017-05-05 2019-07-16 平安科技(深圳)有限公司 基于社交信息的风险事件的识别系统及方法
WO2019000153A1 (en) * 2017-06-26 2019-01-03 Orange METHOD FOR DISPLAYING A VIRTUAL KEYBOARD ON A MOBILE TERMINAL SCREEN
US10394344B2 (en) 2017-11-07 2019-08-27 International Business Machines Corporation Character input error correction
TWI689846B (zh) * 2018-02-14 2020-04-01 元太科技工業股份有限公司 輸入裝置及其顯示符號之方法
CN109521889B (zh) * 2018-09-29 2021-02-09 咪咕音乐有限公司 一种输入方法及装置、终端及存储介质
US10963067B2 (en) 2019-02-25 2021-03-30 Microsoft Technology Licensing, Llc Multilayout keyboard
US11029846B1 (en) 2020-07-28 2021-06-08 Charter Communications Operating, Llc Method and apparatus for a dynamic search keyboard
US11726657B1 (en) 2023-03-01 2023-08-15 Daniel Pohoryles Keyboard input method, system, and techniques

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050048978A (ko) * 2003-11-20 2005-05-25 주식회사 팬택앤큐리텔 터치 스크린을 가지는 기기에서 소프트웨어 키보드 자판배열 변경 장치 및 그 방법
WO2007086371A1 (ja) * 2006-01-30 2007-08-02 Kyocera Corporation 文字入力装置
CN101021763A (zh) * 2007-04-09 2007-08-22 庄德重 一种触摸屏幕上软键盘布局快速输入方法
CN101266520A (zh) * 2008-04-18 2008-09-17 黄晓凤 一种可实现灵活键盘布局的系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748512A (en) * 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
CN1154910C (zh) * 1995-07-26 2004-06-23 蒂吉通信系统公司 压缩键盘的明义系统
US5953541A (en) * 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
JPH11167569A (ja) * 1997-12-02 1999-06-22 Sony Corp 文章入力装置及び方法並びに記録媒体
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US6562078B1 (en) * 1999-06-29 2003-05-13 Microsoft Corporation Arrangement and method for inputting non-alphabetic language
US6710770B2 (en) * 2000-02-11 2004-03-23 Canesta, Inc. Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
CA2400345C (en) * 2000-03-06 2007-06-05 Iarchives, Inc. System and method for creating a searchable word index of a scanned document including multiple interpretations of a word at a given document location
JP2002117024A (ja) * 2000-10-11 2002-04-19 Allied Brains Inc 文章入力方法
JP3722359B2 (ja) * 2001-06-29 2005-11-30 Esmertecエンジニアリングサービス株式会社 文字入力システム及び通信端末
JP2003022157A (ja) * 2001-07-06 2003-01-24 Toshiki Uchida 携帯端末装置の入力方法
ATE295567T1 (de) * 2002-03-22 2005-05-15 Sony Ericsson Mobile Comm Ab Texteingabe in ein elektronisches kommunikationsgerät
US7310053B2 (en) * 2003-04-24 2007-12-18 Taylor Bollman Compressed standardized keyboard
US20050027534A1 (en) * 2003-07-30 2005-02-03 Meurs Pim Van Phonetic and stroke input methods of Chinese characters and phrases
US20050190970A1 (en) * 2004-02-27 2005-09-01 Research In Motion Limited Text input system for a mobile electronic device and methods thereof
GB0406451D0 (en) * 2004-03-23 2004-04-28 Patel Sanjay Keyboards
US7508324B2 (en) * 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US9606634B2 (en) * 2005-05-18 2017-03-28 Nokia Technologies Oy Device incorporating improved text input mechanism
NZ564249A (en) * 2005-06-16 2010-12-24 Firooz Ghassabian Data entry system
EP1895382A1 (en) * 2006-08-28 2008-03-05 Research In Motion Limited Three row qwerty keyboard layout for compact landscape portable handheld messaging devices
CN101206659B (zh) * 2006-12-15 2013-09-18 谷歌股份有限公司 自动搜索查询校正
KR101376894B1 (ko) * 2007-02-28 2014-03-20 엘지전자 주식회사 이동통신단말기의 다이얼링 방법 및 터치스크린을 구비한이동통신단말기
US8667412B2 (en) * 2007-09-06 2014-03-04 Google Inc. Dynamic virtual input device configuration
US8520848B1 (en) * 2011-03-14 2013-08-27 Trend Micro, Inc. Secure password management using keyboard layout

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050048978A (ko) * 2003-11-20 2005-05-25 주식회사 팬택앤큐리텔 터치 스크린을 가지는 기기에서 소프트웨어 키보드 자판배열 변경 장치 및 그 방법
WO2007086371A1 (ja) * 2006-01-30 2007-08-02 Kyocera Corporation 文字入力装置
CN101021763A (zh) * 2007-04-09 2007-08-22 庄德重 一种触摸屏幕上软键盘布局快速输入方法
CN101266520A (zh) * 2008-04-18 2008-09-17 黄晓凤 一种可实现灵活键盘布局的系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2293168A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011197782A (ja) * 2010-03-17 2011-10-06 Fujitsu Ltd 候補表示装置および候補表示方法
EP2410404A3 (en) * 2010-07-19 2013-02-20 EchoStar Technologies L.L.C. System and method for data item filtering based on character sequence entry
US10013077B2 (en) 2010-07-19 2018-07-03 DISH Technologies L.L.C. System and method for data item filtering based on character sequence entry
US10606371B2 (en) 2010-07-19 2020-03-31 DISH Technologies L.L.C. System and method for data item filtering based on character sequence entry
EP2431842A3 (en) * 2010-09-16 2012-09-05 Sony Ericsson Mobile Communications AB Quick input language/virtual keyboard/ language dictionary change on a touch screen device

Also Published As

Publication number Publication date
JP5649563B2 (ja) 2015-01-07
JP2015019395A (ja) 2015-01-29
EP3255529A3 (en) 2018-01-10
CN101266520B (zh) 2013-03-27
JP5980279B2 (ja) 2016-08-31
JP2011516995A (ja) 2011-05-26
CN101266520A (zh) 2008-09-17
EP3255529B1 (en) 2020-09-30
US20160202904A1 (en) 2016-07-14
US9323345B2 (en) 2016-04-26
JP2017152053A (ja) 2017-08-31
JP2015028784A (ja) 2015-02-12
US20110090151A1 (en) 2011-04-21
JP6382620B2 (ja) 2018-08-29
EP3255529A2 (en) 2017-12-13
EP2293168A4 (en) 2014-04-23
EP2293168A1 (en) 2011-03-09

Similar Documents

Publication Publication Date Title
WO2009127168A1 (zh) 一种可实现灵活键盘布局的系统
KR100893447B1 (ko) 사용자 단어 및 사용자 동작의 컨텍스트 예측 장치 및 방법
CN110083254B (zh) 多手势文本输入预测
KR101895503B1 (ko) 시맨틱 줌 애니메이션 기법
US9026428B2 (en) Text/character input system, such as for use with touch screens on mobile phones
JP4463795B2 (ja) 減少型キーボード曖昧さ除去システム
US8417855B2 (en) Handheld electronic device and associated method employing a multiple-axis input device and learning a context of a text input for use by a disambiguation routine
US20200278952A1 (en) Process and Apparatus for Selecting an Item From a Database
CN103136196A (zh) 用于向电子设备输入文本和纠错的方法
US20130002553A1 (en) Character entry apparatus and associated methods
KR20120006503A (ko) 개선된 텍스트 입력
JP2007133884A5 (zh)
KR20140074889A (ko) 시맨틱 줌
KR20140074888A (ko) 시맨틱 줌 제스처
JP2004534425A6 (ja) 迅速テキストタイピングをサポートするハンドヘルド装置
CN103197765B (zh) 键盘布局调整方法
CN103135786B (zh) 用于向电子设备输入文本的方法
CN106970899B (zh) 一种文本处理方法及装置
CN103135787B (zh) 用于向电子设备输入文本的方法及键盘系统
WO2022135294A1 (zh) 候选词显示方法及装置、电子设备
JP2007094802A (ja) リスト表示装置、リスト表示方法及びプログラム
JP2016200896A (ja) 文字入力方法、装置、及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09731887

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011504302

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2009731887

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2009731887

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12988468

Country of ref document: US