Abstract:
A text input method applied in a set-top box assistant comprises displaying a virtual keyboard on a TV display device, receiving a first input instruction, from a remote controller, decoding the first input instruction and inputting a first character, and performing a text searching operation in a text library according to the first character. Automatically selected and confirmable candidate characters are displayed on the virtual keyboard according to the search result. Movement of the remote controller is tracked, movement speed V 1  of a focus point of the remote controller on the virtual keyboard is calculated and whether movement speed is greater than a preset speed affects the recognition of commands by the assistant. Movement speed of the focus point can auto-move the focus point to a second character and the second character can be confirmed as input. A text input device is also disclosed.

Description:
FIELD 
     The subject matter herein generally relates to commands by text input for household appliances. 
     BACKGROUND 
     With development of digital televisions (TVs) and interactive applications for digital TVs, commands input by text to the TV is widely applied. A keypad of a TV remote controller is generally composed of figure keys, directional keys, and other functional keys. Traditionally, users have to input text on a TV by repeatedly pressing the direction keys and the functional keys, which is time-consuming and compromises user experience. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Implementations of the present technology will now be described, by way of example only, with reference to the attached figures. 
         FIG. 1  illustrates a diagrammatic view of an application environment of a text input system. 
         FIG. 2  illustrates a diagrammatic view of an embodiment of candidate characters for an input character in the text input system of  FIG. 1 . 
         FIG. 3  illustrates a schematic diagram of a text search on a virtual keyboard in the text input system of  FIG. 1 . 
         FIG. 4  illustrates a block diagram of one embodiment of functional modules of the text input system of  FIG. 1 . 
         FIG. 5  illustrates a flowchart of one embodiment of a text input method for the text input system of  FIG. 1 . 
     
    
    
     DETAILED DESCRIPTION 
     It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures, and components have not been described in detail so as not to obscure the related relevant feature being described. Also, the description is not to be considered as limiting the scope of the embodiments described herein. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features of the present disclosure. 
     It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.” 
     In general, the text “module” as used hereinafter, refers to logic embodied in computing or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an erasable programmable read only memory (EPROM). The modules described herein may be implemented as either software and/or computing modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives. The term “comprising”, when utilized, means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in a so-described combination, group, series, and the like. 
       FIG. 1  illustrates an application environment of a text input system  10 . In this embodiment, a remote controller  53  which may be held in the hand is utilized to input instructions. A set-top box  51  receives, decodes, and executes the instructions, and includes a receiving module  100 , a decoding module  200 , a text library module  300 , a text search module  400 , an interface module  500 , a calculation module  700 , a determining module  800 , and an input module  900 . A TV  52  displays an input interface and a virtual keyboard. 
       FIG. 4  illustrates one embodiment of functional modules of a text input system  10  in the set-top box  51 . The text input system  10  includes a receiving module  100 , a decoding module  200 , a text library module  300 , a text search module  400 , an interface module  500 , a sensing module  600 , a calculation module  700 , a determining module  800 , and an input module  900 . The modules are configured to be executed by one or more processors to perform their respective functions. In this embodiment, the modules are executed by a processor  30 . Each module of the present disclosure is a computer program for a specific function. A memory  20  stores the program code and other information of the text input system  10 . 
     The receiving module  100  receives instructions from the remote controller  53 . The instructions include (but are not limited to) activating, switching, and terminating the text input method, the determination of text input, the deletion of text input, and others. 
     The decoding module  200  decodes instructions from the remote controller  53 . For example, when the received instruction is decoded as “activation”, then the text input method is activated. When the received instruction is decoded as “switch”, then the text input method is switched. When the received instruction is decoded as “input”, the decoded instruction is sent to the text search module  400 . 
     The text library module  300  stores at least one text library. The text library module  300  may provide multiple text libraries, such as an English library, a Pinyin library, a Five Keystrokes library, and others. 
     The text search module  400  searches for a character(s) in a text library according to a first character. The text search module  400  searches for the character(s) associated with the first character according to use frequency, and highlights second characters that are associated with the highest frequency of the characters on the virtual keyboard. Referring to  FIG. 2 , for example, when the user inputs a character “D”, the text search module  400  automatically searches for and then highlights as second characters “E”, “Y”, “I”, “O.” Candidate texts, for example, “Defeat”, “Do”, and “Does” are then displayed at the region of the virtual keyboard. 
     Referring to  FIG. 3 , the interface module  500  displays the virtual keyboard on a display device, for example, the TV  52 , and candidate characters on the virtual keyboard. When a second virtual key corresponding to the second character is located near a first virtual key corresponding to the first character, a predefined area is enlarged by M*N grids where the first character is located. Moving a focus point of the remote controller on the virtual keyboard and select a desired character, for example, the first character, is thus convenient. 
     The sensing module  600  detects the movement or track of the remote controller  53 . A sensing module is installed in the remote controller  53 . When a text input is required by the remote controller  53 , the focus point of the remote controller  53  is moved to the second virtual key. The remote controller  53  can be moved up, down, left, or right directions. 
     The calculation module  700  calculates a movement speed V 1  of the focus point on the virtual keyboard, and calculates a distance d 1  between the first virtual key and the second virtual key from the candidate characters. 
     The determining module  800  determines whether the movement speed V 1  is greater than a preset speed V. When the movement speed V 1  greater than the preset speed V, the remote controller  53  auto-moves the focus point within the candidate characters, from the first virtual key to the second virtual key, wherein the distance between the first virtual key and the second virtual key is not greater than the preset distance d. For example, the focus point of the remote controller points at the grid where the character “W” is located, the distance d 1  extends from the first character “W” to the second character “E” among the associated characters “E”, “Y”, “I”, and “O” is the shortest. When the distance d 1  is less than or equal to the preset distance d, the focus point of the remote controller moves from the character “W” to the character “E” automatically. 
     The preset speed V=((P 2 −P 1 )*C 2 *s/r)/t and the preset distance d=C 1 *s/r. P 1  is a starting point of the focus point with respect to the movement track of the remote controller, P 2  is an ending point of the focus point with respect to the movement track of the remote controller, C 1  and C 2  are constants, s stands for a size of the display device, r denotes a resolution radio set by the set-top box, and t denotes a period of time for the focus point moving from the point P 1  to the point P 2  on the display device. 
     The input module  900  inputs a character on which the focus point of the remote controller is located. When such a character is the desired character, for example, is the correct second character, the input module  900  inputs the actual character, and displays the character on the display device. 
       FIG. 5  illustrates a flowchart of one embodiment of a text input method. The text input method is operable to be executed in a device communicating with a remote controller (hereinafter “communicating device”), the processor  30  executing program codes stored in the memory  20 . 
     At block  10 , the device receives instructions from the remote controller  53 . The instructions include (but are not limited to) activating, switching, and terminating the text input method, the determination of text input, the deletion of text input, and others. 
     At block  11 , the device decodes instructions from the remote controller. For example, when the received instruction is decoded as “activation”, then the text input method is activated. When the received instruction is decoded as “switch”, then the text input method is switched. When the received instruction is decoded as “input”, the decoded instruction is sent to the text search module  400 . 
     At block  12 , the device searches for a character(s) in a text library according to the first character. The text search module  400  searches for the character(s) associated with the first character according to use frequency, and highlights second characters that are associated with the highest frequency of the characters on the virtual keyboard. Referring to  FIG. 2 , for example, when the user inputs a character “D”, the text search module  400  automatically searches for and then highlights as second characters “E”, “Y”, “I”, “O”. Candidate texts, for example, “Defeat”, “Do” and “Does” are then displayed at the region of the virtual keyboard. 
     At block  13 , the device displays the virtual keyboard on a display device, for example, the TV  52 , and candidate characters on the virtual keyboard. When a second virtual key corresponding to the second character is located near a first virtual key corresponding to the first character, a predefined area enlarged by M*N grids where the first character is located. Moving the focus point of the remote controller on the virtual keyboard and select the desired character, for example, the first character, is thus convenient. 
     At block  14 , the device detects the movement or track of the remote controller  53 . A sensing module is installed in the remote controller  53 . When a text input is required by the remote controller  53 , the focus point of the remote controller  53  is moved to the second virtual key. The remote controller  53  can be moved up, down, left, or right directions. 
     At block  15 , the device calculates the movement speed V 1  of the focus point on the virtual keyboard, and calculates the distance d 1  between the first virtual key and the second virtual key from the candidate characters. 
     At block  16 , the device determines whether the movement speed V 1  is greater than a preset speed V. When the movement speed V 1  is greater than the preset speed V, execute the block  17 , if not, execute the block  14 . 
     At block  17 , when the distance d 1  between the first virtual key and the second virtual key is less than or equal to the preset distance d, the device moves the focus point within the candidate characters, from the first virtual key to the second virtual key automatically. For example, the focus point of the remote controller points at the grid where the character “W” is located, and the distance d 1  extends from the first character “W” to the second character “E” among the associated characters “E”, “Y”, “I” and “O” is the shortest. When d 1  is less than or equal to the preset distance d, the focus point of the remote controller moves from the character “W” to the character “E” automatically. 
     The preset speed V=((P 2 −P 1 )*C 2 *s/r)/t and the preset distance d=C 1 *s/r. P 1  is the starting point of the focus point with respect to the movement track of the remote controller, P 2  is the ending point of the focus point with respect to the movement track of the remote controller, C 1  and C 2  are constants, s stands for the size of the display device, r denotes the resolution radio set by the set-top box, and t denotes the period of time for the focus point moving from the point P 1  to the point P 2  on the display device. 
     At block  18 , the device inputs the character on which the focus point is located. When such a character is the desired character, for example, is the correct second character, the device inputs the actual character, and displays the character on the display device. 
     It should be emphasized that the above-described embodiments of the present disclosure, including any particular embodiments, are merely possible examples of implementations, set forth for a clear understanding of the principles of the disclosure. Many variations and modifications can be made to the above-described embodiment(s) of the disclosure without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.