The specification relates generally to keyboards, and specifically to a method and apparatus for controlling a multi-mode keyboard of a portable electronic device.
Portable electronic devices, such as a cellular telephone or personal digital assistants (“PDA”), are capable of ever diverse functionalities. Being able to provide diverse functionalities generally necessitate the capability of accepting disparate forms of input. Keyboards of portable electronic devices generally lack space; the lack of space makes it difficult to provide means to receive disparate forms of input.
Implementations are described with reference to the following figures, in which:
An aspect of this specification provides a multi-mode keyboard for a portable electronic device, the keyboard comprising: a layer of flexible transparent touch sensors for receiving touch input; a layer of flexible output device; and a dome sheet for receiving key click input.
The keyboard can be configured for switching from a first mode to a second mode. The first mode can be an alphanumeric keypad mode and the second mode can be a navigation mode. The keyboard can be configured for switching from a key click input mode to a touch input mode.
The layer of flexible output device can comprise: a first light guide film having first indicia viewable when the multi-mode keyboard is operating in the first mode; and a second light guide film having second indicia viewable when the multi-mode keyboard is operating in the second mode.
The first indicia can comprise at least alphanumeric characters. The second indicia can comprise a plurality of navigation characters.
The second indicia can include one of a telephone dial pad, a gaming layout, a symbol layout, a gesture arrow layout and a command layout.
The multi-mode keyboard can further comprise a layer of keycaps.
The multi-mode keyboard can further include a printed circuit board having a plurality of circuit traces. The dome sheet can include a plurality of domes, each dome can be in alignment with a corresponding circuit trace.
The layer of flexible output device can comprise a layer of flexible display for displaying first indicia when the multi-mode keyboard is operating in a first mode and for displaying second indicia when the multi-mode keyboard is operating in a second mode.
Another aspect of this specification provides a method for controlling a multi-mode keyboard comprising: receiving first input data via the keyboard; and if the first input data results in a key click input received from a first input key, switching the multi-mode keyboard from an inactive mode to a first mode displaying a first indicia on the keyboard; if the first input data results in a key-click input received from a second input key, switching the multi-mode keyboard from the inactive mode to a second mode displaying a second indicia on the keyboard.
The method can further comprise: receiving second input data from the keyboard; and if the second input data is a touch input or a key click input received from the second input key, switching the keyboard from the first mode to the second mode; if the second input data is a key click input received from the first input key, switching from the second mode to the first mode.
The first mode can be a keypad mode and the second mode can be a navigation mode.
The first input key can be a non-navigation key and the second input key can be a navigation key.
The first indicia and the second indicia can be displayed on a layer of flexible display.
Another aspect of this specification provides a multi-mode keyboard for a portable electronic device having a processor, the keyboard comprising: a layer of flexible transparent touch sensors for receiving touch input; a flexible display layer configured for displaying at least one indicia thereon; a dome sheet for receiving key click input, the dome sheet including a plurality of domes; a printed circuit board including a plurality of circuit traces, each circuit trace corresponding to one of the domes; a layer of keycaps placed on top of said layer of flexible transparent touch sensors, each keycap in alignment with a corresponding one of said domes and a corresponding one of said circuit traces; wherein the keyboard can be configured for switching between a first mode and a second mode based on whether touch input or key click input is received by the processor.
The flexible display layer can be configured for displaying first indicia when the keyboard operates in the first mode, and second indicia when the keyboard operates in the second mode.
The first mode can include a keypad mode and the second mode can include a navigation mode.
Referring now to
The portable electronic device 100 includes a processor 200 connected to a read-only-memory (ROM) 202, which stores the boot firmware basic input/output system (BIOS) to be executed when the portable electronic device 100 is turned on. The processor 200 is also connected to a random access memory unit (RAM) 204 and a persistent storage device 206 that contains a plurality of applications executable by the processor 200 that enables the portable electronic device 100 to perform certain functions including, for example, PIN message functions, SMS message functions and cellular telephone functions, and an attachment viewer application for viewing attachments (e.g. document attachments to emails or documents from other sources, such as web servers). The processor 200 receives input from input devices such as the keyboard 208. The processor 200 outputs to various output devices, such as an LCD or touch-sensitive display 210. Timers 211 are connected to processor 200 to implement timers such as a keypad mode timer 212 and a navigation mode timer 213 to switch from one mode of keyboard 208 to another mode (more details of the keypad mode timer 212 and navigation mode timer 213 will be provided below). It is understood that, in some implementations, some or all of timers 211 can also be a part of processor 200. A microphone 214 and a phone speaker 215 are connected to the processor 200 for cellular telephone functions. The processor 200 is also connected to a modem and radio device 216. The modem and radio device 216 is used to connect to wireless networks and transmit and receive voice and data communications through an antenna 218. A content store 220, which is generally a file storage system for the portable electronic device 100, is also provided.
As shown in
The layer of flexible transparent touch sensors 305 comprises capacitive touch sensors. It will be understood that other touch sensors are possible, such as resistive touch sensors. The layer of flexible transparent touch sensors 305 is capable of receiving touch input. Input data representative of touch input (i.e., input that does not result in a tactile feedback) received by the layer of flexible transparent touch sensors 305 is transmitted to the processor 200 (see
The dome sheet 315 comprises a plurality of domes 317 spaced from each other according to the layout of the keyboard 208. Each dome 317 comprises a sensor to receive “key click” input from the depression of that key. The compression or collapsing of the dome 317 results in a tactile feedback or “key click”, indicating to the user that the key has been pressed and that input has been sent to the processor 200 (see
The present disclosure provides details where the first mode 100-M1 is a keypad, key-click, or tactile feedback mode, and the second mode 100-M2 is a navigation, touch, or gesture input mode. However, it is understood that more than two mode or other modes or both are contemplated.
When operating in the keypad mode 100-M1, individual key caps are depressed, collapsing the respective domes 317 and providing input to the processor 200 via the circuit traces 319. When operating in the navigation mode 100-M2, the key caps and corresponding domes are not depressed, but rather the user swipes/slides their finger (or an input device such as a stylus) across the key caps, with the input being recognized by the corresponding touch sensors 305. In other words, the present disclosure provides a single keyboard 208 that is configured for providing both key click input and touch input. It is further contemplated that such a configuration enables the form factor of the device 200 to remain small and compact, as it is not necessary to provide both a touch screen and a physical keyboard with depressible keys.
Both touch input and key click input can be received from the navigation key 345. The navigation key 345 can be a key dedicated to switching from the first mode 100-M1 to the second mode 100-M2 (either by receiving key click input or touch input at the navigation key 345) and to provide a means to input a selection. Alternatively, the processor 200 can be programmed to automatically switch between the first and second modes based on an active application (i.e., the keyboard 208 can operate in the first mode 100-M1 when an email application is in use, and can operate in second mode 100-M2 when a browser application is in use) or based on predetermined criteria set up by the user.
Referring to
Referring to
Block 1320 comprises determining whether navigation key click input was received from block 1310. For example, the processor 200 compares the input data from block 1310 to data representative of second input key or navigation key click input. When the input data equals to data representative of navigation key click input, the method 1300 advances to block 1505 of the method 1500. That is, the keyboard 208, 208a, or 208b enters the navigation mode 100-M2. More details of the method 1500 will be provided below. When the input data is not equal to data representative of navigation key click input (that is, a key click input was received from a first input key 355 [i.e., a key other than the navigation key 345]), the method 1300 advances to block 1405 of the method 1400. That is, the keyboard 208, 208a, or 208b enters the keypad mode 100-M1. More details of the method 1400 will be provided below.
Block 1405 comprises activating keypad mode 100-M1. For example, the processor 200 displays the first indicia 325 on the layer of flexible output device 310 and starts the keypad mode timer 212 (see
Block 1410 comprises determining whether the keypad mode timer 212 has expired. For example, the processor 200 compares the state of the keypad mode timer 212 to a condition representative of the keypad mode timer 212 having expired (for example, if the keyboard 208 has not been in use for a predetermined period of time [such as 60 seconds, for example]). When the state of the keypad mode timer 212 is not equal to the condition representative of the keypad mode timer 212 having expired, the method 1400 advances to block 1413.
Block 1413 comprises receiving input data from the keyboard 208, 208a, or 208b. For example, the processor 200 receives input data from the keyboard 208, 208a, or 208b. Block 1415 comprises determining whether non-navigation key touch input has been received. For example, the processor 200 compares the input data received from block 1413 to data representative of non-navigation key touch input (i.e., touch input such as swiping movement across one or more of the second input keys 335 that does not result in depression of the corresponding domes 317). When the input data equals data representative of non-navigation key touch input, the method 1400 advances to block 1417.
Block 1417 comprises resetting the keypad mode timer 212. For example, the processor 200 resets the keypad mode timer 212 (e.g., the keypad mode timer 212 is set to zero and restarted). The method 1400 returns to block 1410. Block 1410 is processed in substantially the same manner as described above. When the input data is not equal to data representative of non-navigation key touch input, the method 1400 advances to block 1420.
Block 1420 comprises determining whether non-navigation key click input has been received. For example, the processor 200 compares the input data to data representative of non-navigation key click input. When the input data equals data representative of non-navigation key click input (i.e., actuation of one of the alphanumeric keys 335, resulting in compression of the corresponding dome 317 and contact with the corresponding circuit trace 319), the method 1400 advances to block 1425.
Block 1425 comprises processing the input data. For example, the processor 200 processes the input data (e.g., if the portable electronic device 100 is currently waiting to receive typing input for an email application (not shown) and the input data represents a letter “a”, the letter “a” is displayed on LCD display 210). After such processing, the method 1400 returns to block 1417. Block 1417 is processed in substantially the same manner as described above. When the input data is not equal to data representative of non-navigation key click input, the method 1400 advances from block 1420 to block 1430.
Block 1430 comprises determining whether navigation key click input has been received. For example, the processor 200 compares the input data to data representative of navigation key click input. When the input data equals to data representative of navigation key click input (i.e., actuation of the navigation key 345 such that the corresponding dome 317 is depressed and contacts the corresponding circuit trace 319), the method 1400 advances to block 1435.
Block 1435 comprises processing the selection that caused the input data to be received from block 1413. For example, if the navigation key click input was received while the cursor (not shown) was on a link to a website, the processor 200 can take appropriate actions to respond to the selection (e.g., launch a web browser (not shown) to access the link).
Block 1445 comprises deactivating the keypad mode 100-M1. For example, the processor 200 clears the first indicia 325 from the layer of flexible output display 310 and turns off the keypad mode timer 212. In the keyboard 208a implementation, the processor 200a deactivates the first light guide film 360 (i.e., there is no backlighting of the keys) and turns off the keypad mode timer 212. In the keyboard 208b implementation, the processor 200b clears the first indicia 325 from the layer of flexible display 370 and turns off the keypad mode timer 212. The method 1400 advances to block 1505 of the method 1500 to start the second mode 100-M2. That is, block 1445 prepares the keyboard 208, 208a, 208b to switch from the first mode 100-M1 to the second mode 100 M2 by turning off the first mode 100-M1. When the input data is not equal to data representative of navigation key click input, the method 1400 advances to block 1440.
Block 1440 comprises determining whether navigation key touch input has been received. For example, the processor 200 compares the input data to data representative of navigation key touch input (i.e., touch input on the navigation key that does not result in depression of the corresponding dome 317). When the input data equals to data representative of navigation key touch input, the method 1400 advances to block 1445. Block 1445 is processed in substantially the same manner as described above. When the input data is not equal to data representative of navigation key touch input, the method 1400 advances to block 1417. Block 1417 is processed in substantially the same manner as described above.
When the keypad mode timer 212, from the comparison made in block 1410, equals to the condition representative of the keypad mode timer 212 having expired, the method 1400 advances to block 1450. Block 1450 is processed in substantially the same manner as block 1445, such that the keypad mode 100-M1 is deactivated. The method 1400 advances to block 1305 of the method 1300. That is, the keyboard 208, 208a, or 208b is placed in the inactive mode.
In the implementations employing the use of light guides, when operating in inactive mode, light guides can be turned off such that although the characters on the keyboard 208 can still be seen, there is no backlighting of the keys. When employing an OLED display, which does not include the use of light guides, the inactive mode is such that the OLED has a faded intensity when compared to the first mode 100-M1 and second mode 100-M2.
In some implementations, the keyboard 208 can display alphanumeric characters 335 in the keypad mode 100-M1 with the chevrons 350 displayed in a faded intensity and the keyboard 208 can display chevrons 350 in the navigation mode 100-M2 with the alphanumeric characters 335 in a faded intensity.
Block 1505 includes activating navigation mode. For example, the processor 200 displays the second indicia 347 on the layer of flexible output device 310 and starts the navigation mode timer 213 (see
Block 1510 comprises determining whether the navigation mode timer 213 has expired. For example, the processor 200 compares the state of the navigation mode timer 213 to a condition representative of the navigation mode timer 213 having expired (for example, if the keyboard 208 has not been in use for a predetermined period of time [such as 60 seconds, for example]). When the state of the navigation mode timer 213 is not equal to the condition representative of the navigation mode timer 213 having expired, the method 1500 advances to block 1513.
Block 1513 comprises receiving input data from the keyboard 208, 208a or 208b. For example, the processor 200 receives input data from the keyboard 208, 208a, 208b, such as a swiping movement across the keycaps in an upward direction.
Block 1515 comprises determining whether key touch input has been received. For example, the processor 200 compares the input data (i.e., the swiping movement described above) received from block 1513 to data representative of key touch input (i.e., input that does not result in depression of the corresponding domes 317). When the input data equals data representative of key touch input, the method 1500 advances to block 1520.
Block 1520 comprises processing the input data. For example, processor 200 processes the input data (e.g., if the portable electronic device 100 is currently waiting to receive pointer movement input for a map application (not shown) and the input data represents a movement to the left, the pointer (not shown) on LCD display 210 is displayed as being moved to the left).
At block 1522, the processor 200 resets the navigation mode timer 213 (for example, the navigation mode timer 213 is set to zero and restarted). The method 1500 returns to block 1510. Block 1510 is processed in substantially the same manner as described above. When the input data does not equal to data representative of key touch input, the method 1500 advances to block 1525.
Block 1525 comprises determining whether navigation key click input has been received. For example, the processor 200 compares the input data to data representative of navigation key click input (i.e., key click input received from second input key 345). When the input data equals to data representative of navigation key click input, the method 1500 advances to block 1530.
Block 1530 comprises processing the selection that caused the input data to be received from block 1513. For example, if the navigation key click input was received while the cursor (not shown) was on a link to a website, the processor 200 can take appropriate actions to respond to the selection (e.g., launch a browser (not shown) to access the link). The method 1500 then returns to block 1522. Block 1522 is processed in substantially the same manner as described above. When the input data does not equal data representative of navigation key click input, the method 1500 advances to block 1535.
Block 1535 comprises determining whether non-navigation key click input has been received. For example, the processor 200 compares the input data to data representative of non-navigation key click input (i.e., key click input received from first input key 335). When the input data equals data representative of non-navigation key click input, the method 1500 advances to block 1540.
Block 1540 comprises deactivating the navigation mode. For example, the processor 200 clears the second indicia 347 from the layer of flexible output display 310 and turns off the navigation mode timer 213. In the keyboard 208a implementation, the processor 200 deactivates the second light guide film 365 and turns off the navigation mode timer 213. In the keyboard 208b implementation, the processor 200b clears the second indicia 347 from the layer of flexible display 370 and turns off the navigation mode timer 213. The method 1500 advances to block 1405 of the method 1400. That is, the keyboard 208, 208a, or 208b enters the keypad mode 100-M1. When the input data is not equal to data representative of non-navigation key click input, the method 1500 advances to block 1522. Block 1522 is processed in substantially the same manner as described above.
When the navigation mode timer 213, from the comparison made in block 1510, equals to the condition representative of the navigation mode timer 213 having expired, the method 1500 advances to block 1540. Block 1540 is processed in substantially the same manner as described above. The method 1500 advances to block 1405 of the method 1400. That is, the keyboard 208, 208a, or 208b enters the keypad mode 100-M1.
It is understood that the first and second modes of the keyboard 208 can include additional modes (with additional layouts in which other characters are displayed on the flexible output device 310) other than those described above. For example, the flexible output device 310 could also include a numeric mode (where the display includes a telephone dial pad layout), an alphabetic mode (where the display includes alphabetic characters only layout), a symbol mode (where common symbols and characters such as “/”, “?”, “!”, and “@” are arranged, for example), a gaming mode, a gesture arrow mode, a command mode (for example, when in an email application, the keyboard could display commands/icons for “reply”, “forward”, “send”, and “delete”), a secondary language mode, a scrolling mode (where vertical arrows appear on the keyboard 208, 208a, 208b such that the user can gesture up/down to initiate scrolling of a page on the display) and a virtual navigation module mode. In the keyboard 208a implementation, including additional layout comprises including additional light guide films. In the keyboard 208b implementation, including additional layouts comprises configuring the processor 208b to generate the additional layouts on the layer flexible display 370.
Those skilled in the art will now recognize certain advantages from this specification. A portable electronic device typically has limited space on its keyboard. The functionalities of portable electronic devices are increasing and becoming more diverse increasing the need for the portable electronic devices to accept more input as well as accepting more disparate forms of input. This specification can obviate or at least mitigate at least some of these problems by accommodating any number of keyboard layouts. The keyboard 208, 208a, 208b can switched between layouts based on input received via keyboard 208, 208a, 208b or application being utilized. The keyboard 208, 208a, 208b enables the form factor of the device 100 to remain small and compact, as it is not necessary to provide both a touch screen and a physical keyboard with depressible keys.
It will now be apparent that the blocks of the methods 1300, 1400, and 1500 can be varied and likewise that many specific design choices can be made relative to how to implement various blocks in the methods 1300, 1400, and 1500. In some implementations, the functionality of the portable electronic device 100 can be achieved using a computing apparatus that has access to a code memory (not shown) which stores computer-readable program code for operation of the computing apparatus. The computer-readable program code could be stored on a nontransitory computer readable storage medium which is fixed, tangible and readable directly by these components, (e.g., removable diskette, CD-ROM, ROM, fixed disk, USB drive). Alternatively, the computer-readable program code could be stored remotely but transmittable to these components via a modem or other interface device connected to a network (including, without limitation, the Internet) over a transmission medium. The transmission medium can be either a non-wireless medium (e.g., optical and/or digital and/or analog communications lines) or a wireless medium (e.g., microwave, infrared, free-space optical or other transmission schemes) or a combination thereof.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyrights whatsoever.
Persons skilled in the art will appreciate that there are yet more alternative implementations and modifications possible for implementing the implementations, and that the above implementations and examples are only illustrations of one or more implementations. The scope, therefore, is only to be limited by the claims appended hereto.