An issue with computer keyboards and similar key entry devices is the ability to detect multiple, simultaneous key presses. When typing quickly, it is not unusual for the typist to press the next key before releasing the first. In some cases, three or more keys may be depressed. This phenomenon is referred to as key rollover. Most modern keyboards are designed to handle a limited amount of key rollover. Some keyboards can detect an unlimited number of simultaneous key presses. This feature is referred to as “n-key rollover”.
An early keyboard that supported n-key rollover employed a rigid printed circuit board (PCB) which allowed the inclusion of electronic components near each key site. New applications soon emerged which took advantage of the multi-key feature. One of the more notable applications was Braille typing, in which the user “chorded” (simultaneously pressed keys similar to playing a chord on a piano) an entire dot column. However, the discrete switches and large PCBs of early keyboards were very expensive.
Currently, most modern keyboards use a far less expensive design which combines the switch function and the PCB function into a stack of flexible sheets printed with conductive ink. The top and bottom sheets are printed to form a matrix pattern with intersections under each key. A third sheet acts as a spacer and is placed between the top and bottom sheets with the conductive traces facing in. The spacer sheet has a hole at each key site. When the stack of sheets is depressed at a key site, the traces on the top sheet are bent in through the hole to make electrical contact with the traces on the bottom sheet. This technology has allowed the mass production of extremely inexpensive keyboards.
Unfortunately, a limitation of the flexible sheet technology is that it does not easily allow for the placing of arbitrary electronic components at each key site. Thus, the standard matrix keyboard design which uses a diode in series with each switch is not feasible. These keyboards are essentially a matrix of vertical and horizontal conductors with switches that short electrically from each row to each column when a key is depressed. The simple, diode-free matrix cannot distinguish all multi-key presses, and no longer has the n-key rollover feature.
The following presents a simplified summary in order to provide a basic understanding of some novel embodiments described herein. This summary is not an extensive overview, and it is not intended to identify key/critical elements or to delineate the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
To that end, disclosed is a keyboard design that supports the n-key rollover feature, while being compatible with well established, high volume, inexpensive manufacturing techniques. The keyboard design is a matrix design that uses resistance at each key site rather than a diode, and employs novel circuits which allow any combination of simultaneous key presses to be detected using this resistive matrix. The resistors can be screen printed on the flexible sheets in a manner similar to the conductors.
The resistive keyboard matrix also employs circuit techniques that eliminate phantom key presses. The resistors can be created by screen-printing carbon ink, for example. Additionally, various implementations of the decoder circuits can be employed to provide the n-key rollover feature on flexible sheets for inexpensive mass production.
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings. These aspects are indicative of the various ways in which the principles disclosed herein can be practiced, all aspects and equivalents of which are intended to be within the scope of the claimed subject matter. Other advantages and novel features will become apparent from the following detailed description when considered in conjunction with the drawings.
Keyboards typically include multiple keys associated with key sites constructed as a switch matrix of rows and columns of conductors that when shorted together as a switch function at a key site (e.g., by pressing of a key) passes a signal that is properly interpreted as the purpose for that key. Keyboard matrices are typically laid out so that problematic key combinations (e.g., that produce ghost keys) are assigned to combinations that are unlikely to be pressed by the user.
Recently, many computer games have emerged that make extensive use of multiple simultaneous key presses. In some cases, keyboard designs were not capable of supporting the new key combinations. Manufacturers have realized the market return for computer gaming and can (and do) reorganize keyboard layouts to support particular, popular games. However, many of these games allow players to arbitrarily reassign controls to any keys. Thus, the strategy of rearrangement is fundamentally insufficient.
The disclosed switch matrix keyboard (keypad or other input devices that utilize key or button input) design supports the n-key rollover feature, while being compatible with well established, high volume, inexpensive manufacturing techniques. The keyboard design is a matrix design that uses one or more printed resistors at each key site rather than a diode, and employs novel circuits which allow any combination of simultaneous key presses to be detected using the resistive matrix. The resistors can be screen printed on the flexible sheets in a manner similar to the conductors thereby facilitating low cost and high volume manufacturing.
The switch matrix allows the state of each switch to be individually sensed, and does not require semiconductor components at each switch (or key) site. Instead, the new matrix uses printed resistors, which are compatible with current keyboard manufacturing techniques. Low-cost keyboards are currently manufactured by screen-printing conductive silver ink onto polyester or other plastic film. The silver ink has low resistance (e.g., about thirty milliohms per square) but is expensive.
By instead printing carbon ink, with resistance of one hundred ohms per square or more, it is possible to realize resistors. The ratio of resistance between the resistors, which have high resistance, and the conductive wires (or tracks), which have low resistance, can be achieved by printing the wires with silver ink, and the resistors with carbon ink. If only one type of ink is used, then the ratio can also be achieved by geometry, by making the “resistor” traces long and thin, and the “wire” traces short and fat.
Reference is now made to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. It may be evident, however, that the novel embodiments can be practiced without these specific details. In other instances, well known structures and devices are shown in block diagram form in order to facilitate a description thereof. The intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the claimed subject matter.
Switch closure is accomplished by downward pressure of an associated key (not shown) of the key site 102 that forces contact of the key contact 110 to the resistor contact 112, thereby placing the printed resistor 108 in the conductive path. A signal passed through the path is then processed for that key.
It is to be appreciated that multiple key sites are typically employed, and thus, the switch matrix can be defined by the row conductors, column conductors, printed resistors, and contacts. Moreover, the top sheet 116, bottom sheet 118, and insulating sheet 120 can be flexible plastic (e.g., a polyester such as Mylar™). However, it is not a requirement that the bottom sheet be flexible.
The ability to make printed resistors introduces a cost savings over the use of discrete devices, as well as more complex (and less reliable) techniques for making diodes on flexible sheets. As previously indicated carbon ink and/or silver ink can be employed for printing the resistor; however, carbon ink is less expensive than silver ink. The series printed resistors 108 shown in the sheet 200 can be formed and oriented in any suitable manner (e.g., straight, curved).
The keyboard 500 also includes keys 504 that when pressed cause the associated resistor to be imposed into series with the switch and the switch to close, thereby enabling the conductive path by which the depressed key function can be interpreted. The keyboard 500 further comprises sensing circuitry 506 coupled to each row and column for sensing state at each switch site. These and other relevant details are depicted and described in greater detail herein. Note that although described in the context of a keyboard, the disclosed architecture applies to all types of similar input devices such as keypads, game controllers, portable device keypads (e.g., cell phones), and so on.
As previously indicated, the conductor material can be carbon ink and/or silver ink, for example. The sensing circuitry 506 can include a transimpedance sensing circuit in each row for sensing state of a switch site and a comparator for providing a digital output of the sensed state. Alternatively, the sensing circuitry 506 can comprise a bipolar transimpedance amplifier in each row for sensing state of a switch site and a comparator for providing a digital output of the sensed state. The sensing circuitry 506 can include an analog-to-digital converter (ADC) for sensing state of a switch site and providing a digital output of the sensed state. Still alternatively, the sensing circuitry 506 can comprise a transimpedance sensing circuit for sensing state of a switch site and multiplexer for multiplexing a single conductive path to the transimpedance sensing circuit to sense switches individually. The sensing circuitry 506 can also comprise a capacitive sensing circuit for sensing state of a switch based on a dynamic change in charge at a switch site as a row/column is scanned.
Put another way, the keyboard 500 can include the matrix 502 of switch sites each having a switch, a row conductor and a column conductor, each switch for enabling a connection between the row conductor and the column conductor. The matrix 502 can include a sheet on which resistive elements (e.g., a resistor) are printed and connected in series with each switch during closure of the associated switch. The resistive substrate has printed thereon the resistive elements using conductive ink (e.g., carbon). The keyboard 500 can also include circuitry (e.g., sensing circuitry 506) for sensing state of each switch individually. The circuitry drives the column conductor of a switch site to a different (e.g., higher) voltage than the row conductor and senses current from the corresponding row conductor using a sensing circuit.
The keyboard 500 can also include interface and communications components 508 that facilitate wired and/or wireless interfacing of the keyboard 500 to a computer, for example.
Following is a description of several different types of sensing circuits that can be employed for sensing the state of a key site.
Switch closure of switch 608 can be detected by measuring the current that flows through the column conductor 606, resistor 610, and switch 608, to the row conductor 604 when all of the voltages are held fixed. Current does not flow between two nodes (switch sites) held at the same voltage. Alternatively, switch closure can be by measuring the current that flows through the row conductor 604, switch 608, and resistor 610, to the column conductor 606 when all of the voltages on the other conductors are held fixed.
The current IA only depends upon whether or not the switch 608 is open or closed and the value of the resistance (resistor 610). In this example, electrical points are connected directly to ground or to VDD—there are no floating voltages, thereby providing a keyboard resistant to electromagnetic interference (EMI) in the nearby vicinity. Conventional designs frequently require additional shielding to prevent erratic operations in eclectically noisy environments. However, in one implementation of the disclosed architecture, a shielding layer in the keyboard is not needed due to this invulnerability to electrical noise.
More current is being pulled down through the NPN transistor which then pulls current through the top resistor to rise above the threshold and turn on the PNP device. The PNP transistor is configured to function as a comparator to provide a logic output.
Note that rows can float if none of the switches are closed. However, it does not matter what the float voltage is because the float voltage is not measured. This circuit also has the advantages of the EMI capabilities of the circuit in
Typically, the matrix is designed so that there are more columns than rows. Thus, in contrast to the figures provided herein, the sensing circuitry can be provided on the rows and the I/O pins are driving the columns. Note also that other techniques can be employed to reduce the number of resistors to the I/O pins 908, for example. Since the resistors are going into an I/O pin there is some capacitance there. The onboard microprocessor can configure the I/O pin as an output for a moment to pre-charge that capacitance and then see if the voltage is held, or discharged through the transistor. This and other well known techniques can be employed to eliminate parts.
In other words, the transimpedance amplifier previously employed delivers a low impedance at a node on that column. Instead of using an active circuit, a low value resistor can replace the amplifier to perform a similar function. To sense the current through that resistor the voltage drop across the resistor can be measured. The voltage is going to be very small (e.g., 100 millivolts). By operating at low impedance, injected current noise will also produce a small voltage so EMI is not a factor. The comparators 1004 can be implemented in chips as an inexpensive solution for a digital output. Additionally, the load resistors 1002 can be printed on the flexible polyester (e.g., Mylar™) film along with the series resistances (e.g., on the order of a kilohm) for the switch sites.
As can be appreciated, there are many alternative embodiments that can be employed within the spirit and scope of the disclosed architecture, ranging from swapping rows and columns to the alternative amplifier designs.
It is to be appreciated that the microcontroller can be put to sleep until a key press occurs without having to scan the rows (or columns, as configured). If the rows are all driven low, and the columns are configured as digital input pins with a pull-up transistor, then a column will go high when any key in that column is pressed. Typical microcontrollers can generate an interrupt in response to this edge on a digital input pin.
State of the switch at the switch site can be determined by making an actual true resistance measurement by measuring the current. An ADC can be utilized to perform this.
One application for the disclosed architecture includes backlit keyboards. Conventional keyboards assign keys to positions in the matrix in order to reduce the perception of ghosting. This produces a mechanically complex pattern of traces to implement that matrix. The disclosed architecture allows the matrix to be laid out for mechanical convenience only, since no combinations ghost. This makes it possible to cut large holes in the flexible substrate, in order to allow light to shine through. Alternatively, instead of cutting holes, transparent areas can be employed to serve the same function.
Another application for the disclosed architecture includes pressure sensitive keys where minor circuit changes allow the measurement of the resistance at each key. Piezoresistive inks and carbon loaded elastomers change resistance with applied force, and resistive contacts can be designed to change resistance with force.
Still another application includes digital resistive touch screens where creating a high resistance layer between row and column sheets of ITO (indium/tin oxide) allows independent measurement at each junction such as for a multi-touch implementation.
In yet another embodiment, an approach is to read the keyboard switches as a normal matrix to identify if there are any keys that are pressed. If the matrix rows and columns are connected to typical microcontroller I/O pins, then this adds no extra hardware cost. This can then be used to quickly determine if ghosting is occurring. In other words, a method can be provided in which a scan is made to find ghosting and then a targeted scan is made to disambiguate the ghosting. The normal matrix scan may be faster to complete than the anti-ghosting scan; this optimization can therefore be used to improve battery life, by allowing the microcontroller to spend more time asleep.
Included herein is a set of flow charts representative of exemplary methodologies for performing novel aspects of the disclosed architecture. While, for purposes of simplicity of explanation, the one or more methodologies shown herein, for example, in the form of a flow chart or flow diagram, are shown and described as a series of acts, it is to be understood and appreciated that the methodologies are not limited by the order of acts, as some acts may, in accordance therewith, occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all acts illustrated in a methodology may be required for a novel implementation.
The word “exemplary” may be used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
What has been described above includes examples of the disclosed architecture. It is, of course, not possible to describe every conceivable combination of components and/or methodologies, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, the novel architecture is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.