Device and method for creating virtual keyboard

In a method for creating a virtual keyboard, multiple intersections formed as a honeycomb structure are set on a plane. A selected type of virtual keyboard is acquired according to a command input by a user. A number of keys according to the selected type of virtual keyboard are calculated to acquire intersections corresponding to the number of the keys from the plane. The keys are arranged to form a keyboard plane of the virtual keyboard. A standard difference of step lengths from a center key of the keyboard plane to the other keys is calculated. The virtual keyboard is displayed on a screen of a display device, in event the keyboard plane is determined available according to the calculated standard difference. Then the user can operate the virtual keyboard with a remote control device to input characters.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to Taiwanese Patent Application No. 103129640 filed on Aug. 28, 2014, the contents of which are incorporated by reference herein.

FIELD

The subject matter herein generally relates to input technology.

BACKGROUND

At present, a user of a set-top box (STB) or an internet protocol television (IPTV) without a standard keyboard may operate a virtual keyboard with a remote control device to input characters. The user should press directional control buttons of the remote control device to select keys corresponding to the characters. However, the present virtual keyboard is quadrate. If the keys corresponding to the characters are far away from each other, the remote control device buttons must be pressed many times. For example, if the user wants to input a word “WORLD”, he/she should press the remote control device 29 times.

DETAILED DESCRIPTION

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 word “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. 1illustrates a block diagram of an embodiment of a creating device2. In the embodiment, the creating device2includes a creating system10, a storage unit20, and a processor30. The creating device2is electronically connected to a display device4and a remote control device6. In the embodiment, the creating device2creates a virtual keyboard and transmits the virtual keyboard to the display device4for display. A user may use the remote control device6to select a key of the virtual keyboard, to input a corresponding character. The creating device2can be a set-top box (STB), and the display device4can be a smart TV, but the disclosure is not limited thereto.

FIG. 2illustrates a block diagram of an embodiment of function modules of the creating system10. The one or more function modules can include computerized code in the form of one or more programs that are stored in the storage unit20, and executed by the processor30to provide functions of the creating system10. The storage unit20can be a dedicated memory, such as an EPROM or a flash memory.

In an embodiment, the creating system10includes a setting module101, an acquisition module102, an arranging module103, a calculation module104, a determination module105, and a display module106. Descriptions of the functions of the modules101-106are given with reference toFIG. 3.

Referring toFIG. 3, a flowchart is presented in accordance with an example embodiment of a method300for creating the virtual keyboard. The method300is provided by way of example, as there are a variety of ways to carry out the method. The method300described below can be carried out using the configurations illustrated in FIGS.1and2, for example, and various elements of these figures are referenced in explaining the method300. Each block shown inFIG. 3represents one or more processes, methods, or subroutines, carried out in the exemplary method300. Additionally, the illustrated order of blocks is by example only and the order of the blocks can change. The method300can begin at block302.

At block302, the setting module101sets multiple intersections formed as a honeycomb structure on a plane. In the embodiment, as shown inFIG. 4, the setting module101draws three groups of parallels on the plane to obtain the intersections. The three groups of parallels are intersected with each other by preset angles (e.g., an angle α and an angle β).

At block304, the acquisition module102receives a command input by a user and acquires a selected type of virtual keyboard according to the command. The type of virtual keyboard may be a virtual phonetic notation keyboard, a virtual English keyboard, or a virtual numeric keyboard, for example. In the embodiment, the remote control device6includes a switch button, which is used for switching the types of the virtual keyboard. When the user presses the switch button to select the type of virtual keyboard, the remote control device6transmits the command to the creating device2, so the acquisition module102can acquire the selected type of virtual keyboard.

At block306, the acquisition module102calculates a number of keys according to the selected type of virtual keyboard, to acquire intersections corresponding to the number of the keys from the plane. In the embodiment, each intersection is corresponding to a key of the virtual keyboard. It is understood that the acquired intersections are adjacent. Different groups of the acquired intersections can form different shapes of the virtual keyboard.

For example,FIG. 5shows an embodiment of the acquired intersections corresponding to the number of the keys according to the virtual phonetic notation keyboard.FIG. 6shows an embodiment of the acquired intersections corresponding to the number of the keys according to the virtual English keyboard.FIG. 7shows an embodiment of the acquired intersections corresponding to the number of the keys according to the virtual numeric keyboard.

At block308, the arranging module103arranges the keys according to the selected type of virtual keyboard to form a keyboard plane of the virtual keyboard. For example, if the selected type of virtual keyboard is the virtual English keyboard, the arranging module103arranges a key “A” to a first intersection, and arranges a key “B” to a second intersection, and so on, to form the keyboard plane including all English keys.FIG. 8shows an embodiment of the keyboard plane of the virtual phonetic notation keyboard.FIG. 9shows an embodiment of the keyboard plane of the virtual English keyboard.FIG. 10shows an embodiment of the keyboard plane of the virtual numeric keyboard.

At block310, the calculation module104calculates a standard difference (SD) of step lengths from a center key of the keyboard plane to the other keys. The step length is a time of moving from the center key to each of the other keys, which is equal to a time of pressing the remote control device6to select the one of the other keys. The calculation module104can calculate the SD according to a formula represented as

SD=1n-1⁢∑i=1n-1⁢(xi-xc)2,
wherein n is the number of the keys of the virtual keyboard, xcis a position of the center key, xiis a position of each of the other keys, xi−xcis the step length from the center key to each of the other keys.

FIG. 11shows an embodiment of step lengths from the center key to the other keys of a present phonetic notation keyboard. The SD of the step lengths of the present phonetic notation keyboard is

SD=141⁢(12×4+22×7+32×8+42×8+52×8+62×6)=3.97.
FIG. 12shows an embodiment of step lengths from the center key to the other keys of a present English keyboard. The SD of the step lengths of the present English keyboard is

SD=128⁢(12×4+22×6+32×6+42×6+52×5+62×1)=3.47.
FIG. 13shows an embodiment of step lengths from the center key to the other keys of a present numeric keyboard. The SD of the step lengths of the present numeric keyboard is

FIG. 14shows an embodiment of step lengths from the center key to the other keys of the virtual phonetic notation keyboard. The SD of the step lengths of the virtual phonetic notation keyboard is

SD=141⁢(12×6+22×12+32×18+42×5)=2.68.
FIG. 15shows an embodiment of step lengths from the center key to the other keys of the virtual English keyboard. The SD of the step lengths of the virtual English keyboard is

SD=128⁢(12×6+22×12+32×7+42×3)=2.42.
FIG. 16shows an embodiment of step lengths from the center key to the other keys of the virtual numeric keyboard. The SD of the step lengths of the virtual numeric keyboard is

SD=132⁢(12×6+22×13+32×14)=2.39.
According to the calculated results, it is understood that the SD of the step lengths of the virtual keyboards are less than the SD of the step lengths of corresponding present keyboards.

At block312, the determination module105determines whether the keyboard plane is available according to the calculated SD. If the calculated SD is less than a preset value, the determination module105determines the keyboard plane is available, and the method300implements block314. If the calculated SD is not less than the preset value, the determination module105determines the keyboard plane is unavailable, and the method300returns to block306. In the embodiment, the preset value is the SD of the step lengths corresponding to the present keyboard, for example, the present phonetic notation keyboard, the present English keyboard, or the present numeric keyboard inFIGS. 11-13.

At block314, the display module106displays the virtual keyboard on a screen (not shown) of the display device4. Then the user can operate the virtual keyboard through the remote control device6to input characters. In the embodiment, the remote control device6may include an up directional control button, a down directional control button, an upper left directional control button, an upper right directional control button, a lower left directional control button, and a lower right directional control button. The user can press the directional control buttons to select keys of the virtual keyboard to input corresponding characters.