1. Technical Field
The present invention relates generally to lighting control for keyboards, and more particularly to dynamic and individual control of backlighting for keys within a keyboard.
2. Background Discussion
Electronic devices are ubiquitous in society and can be found in everything from wristwatches to computers. While electronic devices such as computers operate in a world of ones and zeros, human beings do not. Thus, many computers include intermediary devices that allow human beings to interface to the computer. One such device is a keyboard which allows the user to interface with the computer by pressing certain keys. Optionally, the user may view a display connected to the computer to determine if the user's desired output was achieved, or input correctly entered.
While most conventional approaches implement keyboards and other intermediary devices as purely input devices, some conventional approaches may convey output information to the user of the computer via the keyboard. For example, when a user presses the CAPS lock key, a light at the top of the keyboard may light up to indicate that such a selection has been made. Alternatively, some conventional approaches may provide a keyboard that associates lights with its keys, where the keyboard may be statically configured at boot time. Unfortunately, these conventional approaches have several drawbacks. For example, most conventional keyboards lack the ability to convey complex information to a user (such as, for example, more information than just whether the CAPS lock key is on). Also, while some conventional keyboards may include backlit keys, conventional keyboards with backlighting do not offer the ability to dynamically control lighting schemes for each of the keys individually based upon interaction from the user (e.g., typing on a keyboard, mouse movements, or based upon which application is currently executing that is independent of a particular input from the user). Accordingly, methods and apparatuses that provide increased control of backlit keys for a keyboard are useful.
Methods and apparatuses are disclosed that provide increased control of backlit keys for a keyboard. Some embodiments may include controllers within the keyboard that are capable of dynamically programming illumination of the keyboard based upon interaction from a user, where each key of the keyboard may be individually programmed in a dynamic manner. For example, a spell checking function may be executing on a computer system, and as the user types various words, the keyboard may dynamically program the illumination of keyboard controllers such that the next letter of the word being typed is illuminated by the keyboard. Also, different keyboard illumination schemes may be generated based upon mouse movements by the user and/or based upon which application is currently executing.
Data for controlling the keys of the keyboard may be generated as an array that may include such information as the identifier associated with a particular key (e.g., the “A” key), a brightness associated with this key (e.g., High, Medium, Low and so on), a color associated with this key (e.g., red, green, and/or blue), as well as a duration of illumination for this key (e.g., two seconds). The information in such a data array may be provided to the keyboard in this format or further processed to create different representations of the data based upon the sophistication of the keyboard circuitry. For example, in some embodiments, the keys of the keyboard may be light sources of any color, and may result from a combination of two or more primary colors, such as light sources capable of producing red, green, and/or blue (RGB) light. In such embodiments, the array may include individualized illumination information for each of the primary colors such as one second for the red light source at a first power level and two seconds for the green light source at a second power level. In other embodiments, the keys of the keyboard may be light sources that include a single color of illumination capable of producing differing shades of the same color.
Some embodiments of the keyboard may include at least two control circuits for controlling the illumination of the keys. For example, the keyboard may include a global controller that receives illumination information (such as data arrays of illumination information) and conveys this information to local controllers, where each local controller may independently control a group of keys. In these embodiments, one local controller may control the keys on the left hand side of the keyboard and another local controller may control the keys on the right hand side of the keyboard. Other embodiments may have different global/local controller configurations, such as a single combined global/local controller, any combination of global and local controllers, or a number of independent local controllers without a global controller.
Some embodiments may include a keyboard where the keyboard further includes a plurality of keys, a plurality of light sources coupled to the keys, and a global control circuit coupled to a first local control circuit controlling a first light source in the plurality and coupled to a second local control circuit controlling a second light source in the plurality. In these embodiments, the first and second local control circuits may be dynamically programmed during operation of the keyboard. Other embodiments may have different circuit configurations, such as a single combined global/local circuit, any combination of global and local circuits, or a number of independent local circuits without a global control circuit.
Other embodiments may include a system that includes a computer with a keyboard coupled to the computer. The keyboard may include a plurality of keys, a keyboard controller coupled to the plurality of keys, a plurality of light sources coupled to the plurality of keys, and a lighting control circuit coupled to the plurality of light sources. In these embodiments, the keyboard controller may detect a keystroke of a user associated with an application executing on the computer, and the lighting control circuit may be dynamically programmed based upon the keystroke.
Still other embodiments may include a method of operating a keyboard as an output device, where the method includes executing an application on a computer system (the computer system coupled to the keyboard), detecting a keystroke associated with the application, and dynamically controlling illumination of a plurality of light sources coupled to a plurality of keys of the keyboard, where the dynamic control may be based upon the keystroke, or alternatively, the dynamic control may be based upon other system events, such as mouse movement or a currently executing application.
The use of the same reference numerals in different drawings indicates similar or identical items.
Embodiments are disclosed that allow individual and dynamic control of backlit keys in a backlit keyboard. Some embodiments may include controllers within the keyboard that are capable of dynamically programming illumination of the keyboard based upon interaction from a user, where each key of the keyboard may be individually programmed in a dynamic manner.
Although one or more of these embodiments may be described in detail in the context of a computer system, the embodiments disclosed should not be interpreted or otherwise used as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application. Accordingly, the discussion of any embodiment is meant only to be exemplary and is not intended to suggest that the scope of the disclosure, including the claims, is limited to these embodiments.
The computer 110 may couple to one or more input devices such as a keyboard 125 and/or mouse 126. (The keyboard 125 is shown in greater detail below in
Depending upon the embodiment, the keyboard 125 and mouse 126 may take a variety of forms. For example in some embodiments, the keyboard 125 may be a 101-key US traditional keyboard configured to support the English language while the mouse may be a PS2 style. However, in alternative embodiments, the keyboard 125 may be a 102/105-key International keyboard configured to support non-English languages. In still other embodiments, the keyboard 125 may provide multimedia support, with dedicated keys for accessing and controlling multimedia files, or providing other specialized functionality.
While
Some embodiments may implement the computer 110 as a Macintosh® computer manufactured by Apple Inc. For example, the computer 110 may be a Mac® Mini and the OS may be Mac OS® X.
Alternative embodiments are possible where the computing system 100 is not a personal computer. For example, the computing system 100 may be a gaming system, such as the XBox® gaming system manufactured by Microsoft, Inc., the Playstation® gaming system manufactured by Sony, Inc., and/or the Wii® gaming system manufactured by Nintendo. As will be appreciated by one of skill in the art, the input devices, such as the keyboard 125 and mouse 126, may take a variety of forms depending upon the actual implementation of the computing system 100. For example, in the embodiments where the computing system 100 is a gaming system, the input devices may be game controllers with dynamic illumination operations akin to the keyboard 125 and mouse 126 (which are described in further detail below).
In some embodiments, processor 310 is a microprocessor manufactured by Motorola, such as the 680XX0 processor, or a microprocessor manufactured by Intel, such as the X86 line of processors. Any other suitable microprocessor or microcomputer may be utilized, however.
Depending upon the embodiment, the bus 305 may include multiple busses. For example, the bus 305 may include a Northbridge bus coupled between the processor 310 and the main memory 302 and video memory 300, as well as a Southbridge bus coupled between the processor 310 and the keyboard 125, mouse 126, and/or other peripheral devices.
During operation, code received by system 100 may be executed by the processor 310 as it is received, and/or stored in the mass storage 303, or other non-volatile storage for later execution. In this manner, system 100 may obtain application programs or OS software in a variety of forms. Application programs may be embodied in any form of computer program product such as a medium configured to store or transport computer readable code or data, or in which computer readable code or data may be embedded. Examples of computer program products include CD-ROM discs, ROM cards, floppy disks, magnetic tapes, computer hard drives, servers on a network, and solid state memory devices.
Referring to
As shown in
In some embodiments, each of the lights 415 may be one or more light emitting diodes (LEDs) of differing colors. For example, in some embodiments, a single LED containing red, green, and blue (RGB) LEDs may be positioned underneath each of the keys 410. In other embodiments, the single LED may contain other light combinations such as cyan, yellow, and magenta (CYM), or amber-green to name but a few. Alternatively, three separate LEDs may be used to provide a mixture of primary colors. By mixing these three primary colors, a wide variety of resulting colors may be generated individually for each of the keys 410. In other embodiments, the lights 415 may be organic LEDs (OLEDs), and may generate a wide variety of display patterns and colors on each of the keys 410.
Other embodiments may place the lights 415 within the keys 410. For example,
The depression assembly 515 may detect key depressions, such as the user pressing the keycap 510. In some embodiments, such as those shown in
Regardless of whether lights for the keyboard 125 are integrated within the keys as shown in
Referring to
In some embodiments, the global controller 600 and/or the local controllers 605A-N may be microcontrollers, such as a model 8742 manufactured by Intel Corporation, or a PIC16F84 manufactured by Microchip, Inc. In other embodiments, the global controller 600 may be part of a larger integrated circuit, such as a microprocessor, capable of running in either master or slave mode. The global controller 600 may couple to a keyboard controller 610, which, as indicated by the dashed lines in
The connection 615 between the keyboard controller 610 and the global controller 600 may take the form of any of a variety of multiple connection bussing protocols. For example, in some embodiments, the connection 615 may be a Universal Serial Bus (USB) protocol and/or a PS/2 protocol.
The global controller 600 may communicate with the local controllers 605A-N via a multiple connection electrical bus, such as a serial peripheral interface (SPI) bus 620, which is a synchronous serial data link capable of operating in full duplex mode. Other embodiments may implement the bus 620 as an inter-integrated circuit (12C) bus or a system management bus (SMBus). In the event that the bus 620 is implemented as a SPI bus, it may include four separate electrical connections: a serial clock (CLK) output provided by the global controller 600, a data in (DI) connection used by the global controller 600 for supplying data to the local controllers 605A-N, and a data out (DO) connection used by the local controllers 605A-N to communicate data to the global controller 600. As indicated by the dashed line in
Because the local controllers 605A-N may share the DO connection, the outputs of the local controllers 605A-N may be tri-state outputs. In this manner, when a particular local controller 605A-N is not selected, its outputs may be high impedance, thereby allowing multiple local controllers 605A-N to be electrically isolated from the local controller 605A-N that is currently in use and allow for individual control of the light sources coupled to the local controllers 605A-N.
During operation, the global controller 600 and the local controllers 605A-N may communicate in a master/slave fashion where the global controller 600 initiate communication between the global controller 600 and the local controllers 605A-N in the form of frames of data. To initiate a connection, the global controller 600 may configure the CLK signal to operate at a frequency that can be commonly supported by all of the local controllers 605A-N. In some embodiments, the local controllers 605A-N may be capable of operating in the range of 1-70 MHz. Thus, in the event that the local controllers 605A-N do not employ the same HW and/or have different operating frequencies, then the global controller 600 may select a frequency that is commonly supported by each of the local controllers 605A-N. For example, the local controller 605A may operate at 1 MHz while the local controller 605N may operate at 70 MHz. In such a situation the global controller 600 may adjust the CLK signal to operate at 1 MHz to accommodate both local controllers. In some embodiments, in addition to adjusting the CLK signal frequency, the global controller 600 may adjust the signal's polarity and/or phase to vary the behavior of signal transmission between the global controller 600 and the local controllers 605A-N.
In the example of
In the embodiment shown in
During a cycle of the CLK signal, assuming the local controller 605A has been initiated with the CS signal, the global controller 600 may send a bit of data on the DI signal line and the local controller 605A may read the data from the DI line. Further, the local controller 605A may send a bit of data on the DO line, and the global controller 600 may read this data from the DO line. (Note that in some embodiments, one or more of these operations may be combined or eliminated.) Because the local controller 605A has been indicated with the CS line, the other local controllers 605B-n will disregard the CLK signal and signals on the DI and DO signal lines.
As shown in
Each LED 640 in the groups 635A-N may be separately coupled to a key of the keyboard 125. For example, the LED 640 may be implemented as the light source 505 as shown in
In some embodiments, the lighting controller 425 (an example of which is shown in
The drain of the third transistor 720A may be connected to the current source 715A while the source of the third transistor 720A may be connected to the second transistor 710A. In this manner, the current source 715A may be connected between the drain connection of the third transistor 720A and a voltage supply, such as VDD. During operation, the third transistor 720A may control the current supplied to the second transistor 710A by being turned on and off, for example by using a pulse width modulated (PWM) signal coupled to the gate connection of the third transistor 720A. The PWM signal may be generated within the driver 700, or alternatively, received from the keyboard controller 610 via the bus 615. As the third transistor 720A switches on and off per the PWM signal, the current flowing in the second transistor 710A may be mirrored to the first transistor 705A. For example, when the first and second transistors 705A and 710A are substantially the same size, and the third transistor 720A is on, then the current in the first transistor 705A may be substantially equal to the current supplied by the current source 715A. In some embodiments, the value of the current supplied by the current source 715A may be 20-25 milliamperes (mA). As a result of the second transistor 710A alternating between conducting current and not conducting current, the first transistor 705A may alternate between conducting and non-conducting states. The drain connection of the first transistor 705A may couple to the LED 640A so that the current flowing in the first transistor 705A may control the current in the LED 640A. By controlling the PWM signal, by virtue of the current mirror, the current flowing in the first transistor 705A and the LED 640A may be controlled, and therefore, the intensity of the light emanating from the LED 640A may be controlled.
As shown, the electrical devices within the driver 700 that are coupled to the LED 640A may be replicated and coupled to other LEDs in the array in a similar fashion. For example, the transistors 705N, 710N, and 720N and current source 715N may couple to the LED 640N in the same way that the transistors 705A, 710A, and 720A and current source 715A are coupled to the LED 640A. In this manner, the current flowing in each of the LEDs 640A-N may be uniform, thereby allowing the intensity of the light emanating from each of the LEDs 640A-N to be individually adjusted in a uniform manner. The ability to individually and uniformly adjust the light emanating from each of the LEDs 640A-N may be beneficial in many ways, such as by producing a more aesthetically pleasing output signal from the keyboard 125 to the user, or allowing output information to be conveyed to the user through the keyboard 125 more accurately.
Referring now to
As shown in
Although Table 1 illustrates potential signals for two keys, the array generated by the keyboard driver 810 may contain many entries. For example, in the event that the keyboard 125 is a 101-key US traditional keyboard, then the array may contain 101 entries each having a brightness, color, and/or duration. Furthermore, although Table 1 illustrates potential signals color illumination, non-color illumination signals (e.g., luminance only) are also possible. Generation of the array data for Table 1 may occur during operation 910 in
The backlight driver 810 may couple to a backlight controller 815. In some embodiments, the backlight controller 815 may exist as a discrete integrated circuit within the keyboard 125. In other embodiments, the backlight controller 815 may exist as firmware stored in a read only memory (ROM) within another portion of the keyboard 125, such as the lighting controller 425. Regardless of the implementation of the backlight controller 815, during dynamic configuration of the keyboard 125, the backlight driver 810 may generate data signals for programming the backlight controller 425. This is shown in operation 915.
In some embodiments, the data signals generated by the backlight driver 810 may be in array form as shown in Table 2, which is akin to the array shown in Table 1, yet more rudimentary than the array of data shown in Table 1. The more rudimentary nature of the data signals in Table 2 may be beneficial, for example, in the embodiments where the driver 810 is less complex and unable to directly process the data of Table 1. Again, although Table 2 illustrates potential signals for but a few keys, the array generated by the driver 810 may contain many entries, such as when the keyboard 125 is a 101-key US traditional keyboard. In the embodiments where the registers 625 and 630A-N (shown in
As shown in Table 2, each individual key may have customized RGB values, current levels, and/or firing durations each red, green, and/or blue LEDs of each key of the keyboard 125. Notably, these customized values may vary as the keyboard 125 is dynamically controlled based upon user inputs.
In some embodiments, the values and/or settings shown in Table 2 may be implemented by the combination of the keyboard controller 610 in combination with the global controller 600 and local controllers 605A-N (shown in
Note that although Tables 1 and 2 illustrate potential signals for controlling key illumination, other embodiments are possible. For example, while Tables 1 and 2 include information regarding the duration of the illumination, other embodiments may control the LEDs with a pulse-width-modulated (PWM) for each of the individual colors. Each of the PWM signals may have a frequency of N, where the frequency of the PWM signal N may be chosen such that it is above the flicker detection threshold of the human eye (e.g., 60 Hz). In these embodiments, the computer 110 may determine values for the RGB backlights N times per second to determine an instantaneous desired color based upon the duty cycle of the PWM signal. For example, the RGB backlight may be off when each of the red, green, and blue backlights have a PWM signal with a duty cycle of 0%, and the RGB backlight may be a teal color when the red PWM signal duty cycle is 0%, the green PWM signal duty cycle is 100%, and the blue PWM signal duty cycle is 100%.
The keyboard controller 610 also may include firmware 820 capable of detecting keystrokes and conveying this information back to the computer 110 to allow dynamic control of the lighting schemes. In some embodiments, however, separate circuitry 820 may be included in the keyboard 125 to report keystroke information back to the computer 110. This reporting is shown in
Regardless of whether reporting occurs via firmware or via dedicated circuitry, the keyboard driver 805 described above also may process data reported from the firmware or circuitry 820 and report depressed key sequences back to the OS or applications running on the computer 110. This is shown in operation 930. Reporting the depressed keys and/or key sequences back to the OS and/or applications running on the computer 110 may allow dynamic control of the keyboard 125 that is interactively based upon inputs by the user. Thus, per operation 935, in the event that the user's inputs require a modification of the current lighting scheme, control may flow to operation 905 where the OS or application may request dynamic key lighting re-configuration. On the other hand, if the user's inputs do not require a modification of the current lighting scheme, then control may flow to operation 960 where it may be determined whether the illuminating scheme is finished. In the event that the illumination scheme is not finished, control may flow to operation 910 where the keyboard driver 805 may continue to generate data arrays based upon the current lighting scheme. In the event that the illumination scheme is finished, then control may flow to operation 965, where the sample operations 900 may end.
Generally, a printed circuit board (PCB) forms a base layer 1000. Beneath each key, a multicolor LED (or multiple LEDs, each of which may emit a single color) are secured to the PCB 1000 and wired to a controller. A frame 1110 made of polycarbonate or another suitable material may overlay the base layer 1000. As shown in
A separate lightguide 1120 is used for each key. In this fashion, each lightguide 1120 may distribute light from the underlying LED(s) to the corresponding key. The lightguides rest in the apertures formed in the frame 1110. When the frame, lightguide and PCB 1000 are affixed to one another, the LEDs rest in a notch defined in each opening in the frame with the lightguides adjacent the LEDs. In this manner, the LEDs may emit light into the side of the lightguides and the guides, in turn, may redirect the emitted light upward as well as diffuse it. For example, the lightguide may diffuse the light emitted by one or more associated LEDs across its entire upper surface and therefore across the entire upper surface of a key or may concentrate the emitted light in an area corresponding to an etched or transparent part of the key, as discussed with respect to
A mask 1130 overlays the frame and PCB. The mask 1130 exposes at least portions of the upper surfaces of the lightguides 1120 but conceals the LEDs. The mask also holds the lightguides 1120 in place within the frame and atop the PCB 1000. As stated above, these layers, when assembled, are generally fitted within a keyboard and beneath the keys themselves.
While the present disclosure has been described with reference to various examples, it will be understood that these examples are illustrative and that the scope of the disclosure is not limited to them. Many variations, modifications, additions, and improvements are possible. More generally, examples in accordance with the present disclosure have been described in the context or particular embodiments. Functionality may be separated or combined in blocks differently in various embodiments of the disclosure or described with different terminology. These and other variations, modifications, additions, and improvements may fall within the scope of the disclosure as defined in the claims that follow.
This application is a continuation of U.S. patent application Ser. No. 12/476,000, entitled “Keyboard with Increased Control of Backlit Keys,” filed on Jun. 1, 2009, now U.S. Pat. No. 8,378,972, which is incorporated by reference in its entirety as if fully disclosed herein. The following related patent applications are hereby incorporated by reference in their entirety as if set forth fully herein: U.S. patent application Ser. No. 12/476,067 titled “Light Source With Light Sensor” and filed Jun. 1, 2009; U.S. patent application Ser. No. 12/476,040 titled “User Interface Behaviors For Input Device with Individually Controlled Illuminated Input Elements” and filed Jun. 1, 2009; and U.S. patent application Ser. No. 12/475,993 titled “White Point Adjustment For Multicolor Keyboard Backlight” and filed Jun. 1, 2009.
Number | Date | Country | |
---|---|---|---|
Parent | 12476000 | Jun 2009 | US |
Child | 13770799 | US |