This application claims the benefits of Taiwan application Serial No. 104113877, filed Apr. 30, 2015, and Taiwan application Serial No. 104114697, filed May 8, 2015, the subject matters of which are incorporated herein by reference.
1. Field of the Invention
The invention relates in general to a keyboard, and more particularly to a keyboard capable of controlling multiple hosts.
2. Description of the Related Art
With the rapid technology progress, several technology products have been widely used in modern life, including desktop computers, laptop computers, tablet computers, smart phones, etc. Because the limited size of the mobile phone, it is not easy for users to input text. One possible approach is to use a computer keyboard with wireless connection capability. The computer keyboard can control the mobile phone through wireless data transmission. In addition, nowadays a user may possess more than one tablet computers and smart phones. Thus, it is an important subject in the industry to provide a user friendly keyboard that is capable of connecting to multiple hosts and controlling multiple hosts.
The invention is directed to a keyboard capable of wirelessly connecting to one of multiple hosts and the control method thereof.
According to a first aspect of the present invention, a keyboard is provided. The keyboard is capable of wirelessly connecting to one of multiple hosts. Each host has a device identification (ID) code and a device authorization code. The keyboard includes a host selection device, a storage device, a connection device, and a communication device. The storage device stores a lookup table, wherein the lookup table includes multiple host codes, each host code corresponding to one of the device ID codes and one of the device authorization codes. The host selection device selects one of the host codes as a candidate host code when receiving a first operation, and one of the hosts, whose device ID code and device authorization code corresponding to the candidate host code, being designated as a candidate host. The connection device is capable of receiving a second operation, wherein the first operation is different from the second operation. The communication device is capable of wirelessly connecting the keyboard to the candidate host. When the second operation lasts shorter than a threshold period, the keyboard wirelessly connects to one of the hosts having the device ID code and the device authorization code corresponding to the candidate host code. When the second operation lasts longer than the threshold period, the keyboard updates the device ID code and the device authorization code corresponding to the candidate host code.
According to a second aspect of the present invention, a keyboard is provided. The keyboard is capable of wirelessly connecting to one of multiple hosts. Each host has a device ID code and a device authorization code, and executes an operating system (OS). Each operating system is represented by an OS ID code. The keyboard includes multiple host selection keys, multiple OS selection keys, a storage device, a connection device, and a communication device. The storage device stores a lookup table, wherein the lookup table includes multiple host codes, each host code corresponding to one of the OS ID codes, one of the device ID codes, and one of the device authorization codes. The host selection keys select one of the host codes as a candidate host code, and one of the hosts, whose device ID code and device authorization code corresponding to the candidate host code, being designated as a candidate host. The OS selection keys select one of multiple OS ID codes as a candidate OS ID code. The communication device is capable of wirelessly connecting the keyboard to the candidate host. When one of the host selection keys is first triggered and then the connection device is triggered next, the keyboard wirelessly connects to one of the hosts having the device ID code and the device authorization code corresponding to the candidate host code. When one of the OS selection keys is first triggered and then the connection device is triggered next, the keyboard wirelessly connects to one of the hosts having the device ID code and the device authorization code corresponding to the candidate OS ID code.
According to a third aspect of the present invention, a keyboard control method is provided. The control method includes the following steps. Providing a keyboard capable of wirelessly connecting to one of multiple hosts. The keyboard includes multiple host selection keys, multiple OS selection keys, a storage device, a connection device, and a communication device. Each host executes an OS, and has a device ID code and a device authorization code. Each operating system is represented by an OS ID code. Storing a lookup table by the storage device, wherein the lookup table includes multiple host codes, each of the host codes corresponding to one of the OS ID codes, one of the device ID codes, and one of the device authorization codes. Selecting, by the host selection keys, one of the host codes as a candidate host code, and one of the hosts, whose device ID code and device authorization code corresponding to the candidate host code, being designated as a candidate host. Selecting, by the OS selection keys, one of the OS ID codes as a candidate OS ID code. Wirelessly connecting, by the communication device, the keyboard to the candidate host. When one of the host selection keys is first triggered and then the connection device is triggered next, the keyboard wirelessly connects to one of the hosts having the device ID code and the device authorization code corresponding to the candidate host code. When one of the OS selection keys is triggered first and then the connection device is triggered next, the keyboard wirelessly connects to one of the hosts having the device ID code and the device authorization code corresponding to the candidate OS ID code.
The above and other aspects of the invention will become better understood with regard to the following detailed description of the preferred but non-limiting embodiment(s). The following description is made with reference to the accompanying drawings.
The hosts 221-224 may be for example tablet computers or smart phones or the like. The keyboard 20 may be paired with and wirelessly connected to the hosts 221-224 through Bluetooth signal to switch to control the hosts 221-224. The communication device 208 is configured to transmit and receive Bluetooth control signals.
In the initial state the keyboard 20 does not store any host related information. After pairing with individual host 221-224, the related information of the hosts 221-224 may be stored in the storage device 204 of the keyboard 20. The storage device 204 may be implemented by non-volatile memory. The storage device 204 may store the device ID code and the device authorization code of the host in a lookup table LUT2. The lookup table LUT2 records a host code and the corresponding device ID code and the device authorization code. After the pairing process, the keyboard 20 can switch to control the hosts 221-224 according to the lookup table LUT2. An example of the lookup table LUT2 is shown in Table 1 below.
The user may select which host code to be paired with the current host or which host to be controlled by the host selection device 202. The host selection device 202 may be disposed on the keyboard 20 just like general keys. The host selection device 202 provides the user selection capability, whereas the specific implementation of the host selection device 202 is not limited thereto. Some possible implementations of the host selection device 202 are shown in
The connection device 206 is for example a key. Depending on the time that the connection device 206 is triggered, either a pairing operation or a switching connection operation is performed. For example, when the time that the connection device 206 is pressed is longer than a threshold period Tp (such as 3 seconds), the pairing operation is performed. On the other hand, when the pressing time is shorter than or equal to the threshold period Tp, the switching connection operation is performed. The two operations are described in detail below.
The pairing operation: this operation enables the keyboard 20 to recognize the host to be paired, and to store the host related information in the keyboard 20. For example, a user attempts to pair a mobile phone P1 (with device ID code HHH, device authorization code 5678) to the host code #3 of the keyboard 20. First, the host selection device 202 is switched to the host code #3, which may be accomplished by rotating, sliding, or key pressing, such as the examples shown in
Switching connection operation: after the keyboard 20 has stored information related to multiple hosts, the user may switch to control different hosts. For example, the user wants to switch to control the tablet computer P2. The information related to the tablet computer P2 is recorded at the host code #2 in the lookup table LU2. First, the host selection device 202 is switched to the host code #2, which may be accomplished by rotating, sliding, or key pressing, such as the examples shown in
It should be noted that in the above examples, either in the pairing operation or in the switching connection operation, the method includes the first step of triggering the host selection device 202 and the second step of triggering the connection device 206. After the first step of triggering the host selection device 202, the communication device 208 does not transmit any Bluetooth control signal. That is, neither the connection status nor the internally stored pairing status of the keyboard 20 changes after performing only the first step. The second step of triggering the connection device 206 has to be performed, and then the communication device 208 starts to transmit the related Bluetooth control signal for the pairing operation or the switching connection operation. In this way, accidental mistake operation from the user may be avoided, and also power consumption may be reduced effectively.
For example, when the user wants to switch to the host code #3 but accidentally switches to the host code #4, the Bluetooth control signal is not transmitted to the host corresponding to the host code #4. The user can correct the mistake by switching to the host code #3 and then trigger the connection device 206. The Bluetooth control signal is transmitted only after the connection device 206 is triggered. Take the knob button 401 in
The connection device 206 may be implemented in various ways, for example, an independent key disposed on the keyboard 20. The connection device 206 may also be integrated to the host selection device 202, such as implemented by the knob button 401 shown in
In the above examples, the first operation of triggering the host selection device 202 has to be different from the second operation of triggering the connection device 206, such as different operation gestures, different operation times, or different operation locations. According to the examples given above, when the host selection device 202 and the connection device are different keys, the first operation and the second operation correspond to pressing keys at different locations. When the host selection device 202 and the connection device 206 are integrated together, such as the knob button 401 shown in
The control method of this embodiment may be referred to
As for the switching connection operation,
The storage device 304 further stores multiple OS ID codes. Each host code in the lookup table LUT3 is corresponding to one of the OS ID codes, one of the device ID codes, and one of the device authorization codes. The OS selection device 303 is configured to select one of the OS ID codes as a candidate OS ID code. The keyboard 30 determines the candidate host 223 according to the candidate OS and the candidate host code, and the communication device 308 transmits a corresponding key code according to the candidate OS to enable the keyboard 30 to control the candidate host 223. The OS ID codes to be selected may include iOS, Android, Windows, and the like. Different OS has different key codes. An example lookup table LUT3 is shown in Table 2 below.
The control method of the keyboard 30 is similar to that of the keyboard 20. The switching connection operation or the pairing operation starts only after the connection device 306 has been triggered. The difference to the control method of the keyboard 20 lies in: the user may select the target host to be controlled by triggering the OS selection device 303. The keyboard 30 then identifies the device ID code and the device authorization code of the target host in the lookup table LUT3 according to the candidate OS ID code to facilitate wireless connection.
The OS selection device 303 may be implemented by the examples shown in
The display device 305 is configured to display the connection status between the keyboard 30 and the multiple hosts 221-224. As such, even if the user forgets the current connection status, or the user is away from the keyboard for a while, the user still can immediately know the current connection status from the display device 305. The display device 305 may include multiple indication lights, which are corresponding to the hosts 221-224 respectively. After the keyboard 30 connects to the candidate host 223, the indication light corresponding to the candidate host 223 is turned on. Therefore the user may know which host the keyboard is currently connected to from the indication lights. In one embodiment, the display device 305 may be a flashing indication light. The number of flashing times of the flashing indication light is corresponding to a numerical code of the candidate host 223 currently being connected to the keyboard 30. For example, the candidate host 223 is corresponding to the host code #3, the flashing indication light flashes 3 times such that the user can know the keyboard 30 is currently connected to the candidate host 223. In one embodiment, the display device 305 may display the connection status when the user triggers the connection device 306. In another embodiment, the display device 305 may continuously display the connection status.
Furthermore, as described above, there may be possible conflict between the target host specified by the host selection device 302 and the target host specified by the OS selection device 303. In this situation, the display device 305 may be configured to display at least one host that is a legal connection target among the hosts 221-224. According to the example described above, when the host selection device 302 specifies the host code #1, while the OS selection device 303 specifies Android system, the display device 305 may display legal connection target hosts for Android system. Please refer to Table 2, legal connection target hosts for Android system include the host codes #2 and #4. Thus the indication lights corresponding to the host codes #2 and #4 are turned on to inform the user the conflict situation, and to prompt the user to make a further choice.
Another embodiment of the invention is given below.
The operations of the storage device 504, the connection device 506, and the communication device 508 are similar to those in the keyboard 20 and in the keyboard 30, and thus are not repeated here. For example, when the connection device 506 is triggered long enough, the pairing operation is then enabled. The main difference between the control method of the keyboard 50 and the control method in the previous embodiments is that, the connection target is determined according to the last triggered selection key before the connection device 506 is triggered. If the host selection key 502 is first triggered and then the connection device 506 is triggered next, connection is performed according to the host specified by the host selection key 502. If the OS selection key 503 is first triggered and then the connection device 506 is triggered next, a candidate host code is read from the lookup table LUT3 according to the candidate OS ID code specified by the OS selection key 503, and then connection is performed according to the newly determined candidate host code. For example, when the OS selection key 503 specifies iOS, and then the connection device 506 is triggered immediately after the OS selection key 503 is triggered, even if the host selection key 502 currently specifies the host code #2, the host code will be updated to #1 because of the selected iOS and the lookup table LUT3. The keyboard 50 is then connected to the host 221.
As shown in
When one of the host selection keys 502, such as key 523, is first triggered and then the connection device 506 is triggered next, the keyboard 50 turns on the host indication light 553 corresponding to the triggered host selection key 523. The user can know the connection status between the keyboard 50 and multiple hosts 221-224 from the host indication lights 551-554. Furthermore, the keyboard 50 may update the candidate OS ID code to an OS ID code corresponding to the candidate host code in the lookup table LUT3 and turns on the OS indication light corresponding to the updated candidate OS ID code. In the above example, the OS ID code corresponding to the candidate host 223 in the lookup table LUT3 is Windows. The candidate OS ID code is updated to Windows, and the OS indication light corresponding to Windows is turned on. For example, OS #1 on the OS selection key 531 is corresponding to Windows, then the OS indication light 571 is turned on. The user can thus clearly know the OS of the host that is currently being connected to the keyboard 50.
In another embodiment, when one of the OS selection keys 503, such as key 532, is first triggered and then the connection device 506 is triggered next, the keyboard 50 turns on the OS indication light 572 corresponding to the triggered OS selection key 532. The user can know the OS that is currently being controlled by the keyboard 50 from the OS indication lights 571-573. Furthermore, the keyboard 50 may update the candidate host code to a host code corresponding to the candidate OS ID code in the lookup table LUT3 and turns on the host indication light corresponding to the updated candidate host code. In the above example, the OS ID code is for example iOS, corresponding to the host code #1 in the lookup table LUT3. The candidate host code is then updated to #1, and the host indication light 551 corresponding to the host code #1 is turned on. The user can thus clearly know which host the keyboard is currently connected to.
Following the above example, if the candidate OS ID code is Android, there will be more than one host codes corresponding to Android in the lookup table LUT3, including the host codes #2 and #4. In this situation, the keyboard 50 turns on more than one host indication lights (including host indication lights 552 and 554) corresponding to the more than one host codes corresponding to the candidate OS ID code (Android). The user can thus know the currently selected OS is corresponding to more than one hosts. The user is then prompted to further choose one of them, that is, press one of the host selection key 522 and host selection key 524. After that, the connection device 506 may be triggered to initiate connection.
The control method of the keyboard 50 may be referred to
Step S208: Determine whether the last triggered device before the connection device being triggered is the host selection key or the OS selection key. That is, determine whether the scenario is: one of the host selection keys 502 is first triggered and then the connection device 506 is triggered next, or one of the OS selection keys 503 is first triggered and then the connection device 506 is triggered next. If the determination result of the step S208 is the host selection key, step S210 is performed. Step S210: The keyboard wirelessly connects to one of the hosts having the device ID code and the device authorization code corresponding to the candidate host code. If the determination result of the step S208 is the OS selection key, step S212 is performed. Step S212: The keyboard wirelessly connects to one of the hosts having the device ID code and the device authorization code corresponding to the candidate OS ID code.
Regarding the multiple host selection keys 502 and the multiple OS selection keys 503,
If the determination result of step S156 is yes, there are more than one corresponding operating systems, and thus further processing is required. Refer to the node B in
If the last pressed key is the OS selection key in the step S150, referring to the node A in
In the above embodiments, the user is provided with the freedom in choosing hosts and choosing OS's, making the keyboard easy for use. For example, it may be difficult for the user to memorize the exact relationship between the host codes and the actual electronic devices. Switching between multiple hosts by selecting the OS may be more close to the user's intuition. Moreover, in a scenario where there are multiple available options, a clear indication is provided to the user. For example, after the user chooses the OS, if the OS is corresponding to multiple hosts, the matching hosts that are compatible with the OS are clearly shown to the user, such that the user may make a further choice among these available options to select an appropriate host that matches the selected OS.
Another embodiment regarding a keyboard capable of controlling multiple hosts is provided below. As shown in
The keyboard 70 includes a keyboard body 700, a switching device 702, and a communication device 704. The keyboard body 700 may include a keyboard mechanical body and multiple keys, such as keys for English letters. The switching device 702 is disposed on the keyboard body 700. When the switching device 702 is triggered, the communication device 704 broadcasts a connection message cnt_msg to the multiple hosts 721-724, such that the connection response program App1 is activated to receive a user's triggering. When one of the hosts 721-724 receives the user's triggering, the host that receives the user's triggering becomes a candidate host 723 and sends the connection response message res_msg. When the communication device 704 receives the connection response message res_msg, the communication device 704 makes the keyboard 70 connect to the candidate host 723, such that the keyboard 70 is capable of transmitting data to the candidate host 723.
In this embodiment, appropriate software or application program is installed in the hosts 721-724 that are connected to the keyboard 70. As in the above example, the hosts 721-724 execute a connection response program App1.
In another embodiment, when the hosts 721-724 receive the connection message cnt_msg, the hosts 721-724 are triggered to display a connection response window 750. One of the hosts 721-724 is capable of being triggered by a user to become a candidate host 723. The candidate host 723 sends the connection response message res_msg to the keyboard 70.
In one embodiment, the connection response program App1 executed by each host 721-724 may be the same. The connection response window 750 displayed on each host 721-724 may also be the same. For example, “Establish Connection” and “Deny Connection” exist in all the connection response windows 750 on each host 721-724. After one of the hosts 721-724 has been selected to establish connection and thus has become the candidate host, the other hosts that are not selected by the user may wait for a time period and then disable the connection response window 750 to recover to the normal operation mode, without waiting for user's further selection. For example, the connection response window 750 displayed on the hosts other than the candidate host may last for a first predetermined time period T1 and then disappear. The first predetermined time period T1 may be 5 seconds or 10 seconds, which may be set appropriately depending on the actual usage.
In one embodiment, the keyboard 70 may send a message to control the hosts to stop displaying the connection response window 750, making the hosts to recover to the normal operation mode.
The keyboard 70 may further include a display device, for displaying the connection status between the keyboard 70 and the hosts 721-724. The display device may be implemented by multiple indication lights which are corresponding to the hosts 721-724 respectively, or a flashing indication lights, with the number of flashing times indicating the connected host. The display device showing the connection status has been described in the previous embodiments and thus is not repeated here.
The flowchart of the control method regarding the keyboard 70 may be referred to
The control flow at the keyboard and at the host is individually described below.
The keyboard 70 in this embodiment has even simpler hardware design for its exterior appearance. Only a single switching device, such as a key, is required. The switching device does not have to possess multiple selection markers or multiple available options. The switching device only has to be able to distinguish a triggered state from a non-triggered state. Consequently the hardware cost of the keyboard can be saved. In addition, a different user experience can be brought to the user. With the keyboard in this embodiment, the user does not have to select the host or the OS to connect. The user can simply trigger the switching device to indicate switching about to happen, and then confirm at the host to complete the switching operation. This operation method is even more intuitive to the user. The user does not have to memorize the exact relationship between the host codes and the hosts. The user can also clearly select the candidate host that the user wishes to control during the switching operation.
While the invention has been described by way of example and in terms of the preferred embodiment(s), it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.
Number | Date | Country | Kind |
---|---|---|---|
104113877 | Apr 2015 | TW | national |
104114697 | May 2015 | TW | national |