Keyboard system and method of operating an input device

By employing a hybrid key structure in the input device, combining contact-based and contactless switches, the problem of wear and tear on contact-based switches is solved, resulting in higher power efficiency and reliability, and reduced line costs.

CN121433508BActive Publication Date: 2026-07-24LOGITECH EUROPE SA
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LOGITECH EUROPE SA
Filing Date
2024-08-27
Publication Date
2026-07-24

Smart Images

  • Figure CN121433508B_ABST
    Figure CN121433508B_ABST
Patent Text Reader

Abstract

The invention relates to a keyboard system and a method of operating an input device. The keyboard system comprises a plurality of hybrid key structures configured in an array, wherein each hybrid key structure is configured within a sub-array and comprises a depressible element, a first type of key switch configured to generate a first signal when the depressible element is activated, a second type of key switch configured to generate a second signal when the depressible element is activated, and a processor configured to: receive the first signal from the activated hybrid key structure when the corresponding depressible element of the activated hybrid key structure is activated; determine the corresponding sub-array in which the activated hybrid key structure is configured; scan the corresponding sub-array for the generated second signal; detect the generated second signal from the corresponding sub-array; identify the activated hybrid key structure based on the detected generated second signal; and register a key press with respect to the identified activated hybrid key structure.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of Chinese patent application No. 202411182240.8, filed on August 27, 2024, entitled "Keyboard System and Method for Operating Input Device". Technical Field

[0002] This disclosure generally relates to electronic devices, and more specifically to computer peripherals that utilize hybrid switching implementations to improve performance characteristics. Background Technology

[0003] Input devices are common in modern society and are typically used to convert human-induced analog input (e.g., touch, click, movement, touch gestures, button presses, scroll wheel rotations, etc.) into digital signals for computer processing. Input devices can include any means that can provide data and control signals to a computing system. Some non-limiting examples of input devices include computer mice, keyboards, virtual reality and / or augmented reality controllers, touchpads, remote controls, game controllers, joysticks, trackballs, etc. Some non-limiting examples of computing systems include desktop computers, laptop computers, notebook computers, game consoles, tablet computers and "phablet" computers, smartphones, personal digital assistants, wearable devices (e.g., smartwatches, glasses), virtual reality (VR) and / or augmented reality (AR) headsets and systems, etc.

[0004] Input devices have undergone many significant improvements over the past few decades. In some modern input devices, such as computer mice and keyboards, buttons and / or keys typically use contact-based switches to detect clicks. Contact-based switches have been on the market for many years and have seen significant improvements in quality and price, but they suffer from wear and tear over long-term use due to repeated contact-based actuation. This often results in unreliable performance characteristics and a low signal-to-noise ratio, which is unacceptable even for casual users, let alone the often more discerning users in the gaming community. Therefore, a better solution is needed.

[0005] Unless otherwise stated herein, the materials described in this section are not prior art for the purposes of the claims in this application and are not considered prior art by virtue of their inclusion in this section. Summary of the Invention

[0006] In some embodiments, a keyboard system includes: a plurality of hybrid key structures configured in an array, the array including a plurality of subarrays, wherein each key structure of the plurality of key structures is configured within any one of the subarrays and includes a depressable element, a first type of key switch configured to generate a first signal when the depressable element is activated, and a second type of key switch configured to generate a second signal when the depressable element is activated; and one or more processors communicatively coupled to each of the plurality of hybrid key structures and configured to: receive a first signal from an activated hybrid key structure when a corresponding depressable element of an activated hybrid key structure is activated; determine a corresponding subarray containing the activated hybrid key structure; scan the corresponding subarray for a generated second signal; detect the generated second signal from the corresponding subarray; identify the activated hybrid key structure based on the detected generated second signal; and register a key press with respect to the identified activated hybrid key structure. In some aspects, the first type of push-button switch is a contact-based push-button switch, and the second type of push-button switch is a non-contact push-button switch. In some embodiments, the first type of push-button switch is an electromechanical push-button switch, and the second type of push-button switch is an optical push-button switch.

[0007] In some implementations, scanning the corresponding subarray includes driving a second type of key switch in each hybrid key structure of the hybrid key structure in the corresponding subarray for a generated second signal and reading the output of the second type of key switch. In some implementations, scanning the corresponding subarray to detect a corresponding second signal is performed in response to receiving the first signal. In some implementations, the power consumed in generating the first signal is less than one-tenth of the power consumed in generating the second signal. In some cases, the keyboard system generates a radio frequency (RF) report with key press data, which includes all identified activated hybrid key structures within a scan cycle consisting of multiple scan intervals, wherein the corresponding subarray is scanned during the scan interval that is temporally closest to the next RF report generation. In some aspects, the array includes rows and columns, wherein each column includes multiple rows of hybrid key structures, wherein each column corresponds to one of the multiple subarrays, and wherein each column corresponds to a subarray that is different from the other columns of the multiple subarrays. In other embodiments, the keyboard system includes a multiplexer configured to combine the total number of rows and columns by sharing the same rows and columns, thereby reducing the number of input / output (I / O) lines in the keyboard system. One or more processors may be provided in the keyboard system.

[0008] In some embodiments, a method of operating an input device includes: receiving, by one or more processors on the input device, a first signal from one of a plurality of subarrays, each of the plurality of subarrays including a plurality of hybrid key structures from different groups, each of the plurality of hybrid key structures including a first type key switch and a second type key switch, wherein the first signal is generated by a first type key switch of at least one of the hybrid key structures of the plurality of hybrid key structures in one of the plurality of subarrays, wherein the plurality of subarrays are combined to form an array; identifying one of the subarrays that generated the first signal; scanning the identified subarray in response to a second signal generated by a second type key switch; detecting the second signal generated from the identified subarray in the plurality of subarrays; identifying an activated key structure that generated the second signal; and registering a key press with respect to the identified activated key structure. In some cases, the first type key switch is a contact-based key switch, and the second type key switch is a non-contact key switch. In some embodiments, the first type key switch is an electromechanical key switch, and the second type key switch is an optical key switch. The second type of push-button switch can be different from the first type of push-button switch.

[0009] In some aspects, scanning an identified subarray among a plurality of subarrays includes driving a second type of key switch in each hybrid key structure of the identified subarray among the plurality of subarrays in response to a generated second signal and reading the output of the second type of key switch. In some implementations, scanning an identified subarray among a plurality of subarrays to detect a generated second signal is performed in response to receiving a first signal. In some aspects, the input device generates a radio frequency (RF) report with key press data including all identified activated hybrid key structures within a scan cycle consisting of a plurality of scan intervals, wherein the corresponding subarray is scanned during the scan interval that is temporally closest to the next RF report generation within the plurality of scan intervals. In some embodiments, the array includes rows and columns, wherein each column includes multiple rows of hybrid key structures, wherein each column corresponds to one of the plurality of subarrays, and wherein each column corresponds to a subarray among the plurality of subarrays that is different from the remaining columns. One or more processors may be disposed in the input device. In some aspects, the input device is a keyboard.

[0010] The terms and expressions used are descriptive rather than restrictive, and their use is not intended to exclude any equivalents of the features shown and described or portions thereof. However, it is recognized that various modifications can be made within the scope of the claimed systems and methods. Therefore, it should be understood that although the systems and methods have been specifically disclosed by way of example and optional features, those skilled in the art will recognize modifications and variations to the concepts disclosed herein, and such modifications and variations are considered to be within the scope of the systems and methods as defined by the appended claims.

[0011] This overview is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used alone to determine the scope of the claimed subject matter. This subject matter should be understood in conjunction with the entire specification of this disclosure, any or all accompanying drawings, and the appropriate portions of each claim.

[0012] The foregoing features and examples will be described in more detail, together with other features and examples, in the following specification, claims and drawings. Attached Figure Description

[0013] The features of the various embodiments of this aspect, as well as other features and advantages of certain embodiments, will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:

[0014] Figure 1 An example of a computer system is shown, which may include any of a variety of main computing devices and computer peripherals, including computer peripherals (e.g., computer mouse, keyboard, etc.) that can be configured to perform aspects of the various inventive concepts described herein.

[0015] Figure 2 A simplified block diagram of a system configured for operating an input device according to certain embodiments is shown;

[0016] Figure 3 A simplified block diagram of a system for operating a main computing device according to certain embodiments is shown;

[0017] Figure 4A A cross-section of an example of a contact-based switch for an input device is shown;

[0018] Figure 4B This is a signal diagram illustrating an example of a typical signal corresponding to a click event performed by a normally functioning contact-based switch;

[0019] Figure 4C This is a signal diagram showing examples of possible signals corresponding to a click event caused by a malfunctioning contact-based switch;

[0020] Figure 5A An example of the operation of an optical switch sensor with a default disconnect configuration according to certain embodiments is shown;

[0021] Figure 5B An example of the operation of an optical switch sensor with a default closed configuration according to certain embodiments is shown;

[0022] Figure 6 An example of a button structure with a hybrid push-button switch architecture according to certain embodiments is shown;

[0023] Figure 7 A bottom side view of a second example of a button structure having a hybrid push-button switch architecture according to certain embodiments is shown;

[0024] Figure 8 A side sectional view is shown as a second example of a button structure having a hybrid push-button switch architecture according to certain embodiments;

[0025] Figure 9 A keyboard device having a key matrix with column-based subarrays is shown according to some embodiments;

[0026] Figure 10 An example of a 3×3 hybrid switch matrix according to some implementations is shown;

[0027] Figure 11 An example of a 3×3 hybrid switch matrix using a multiplexer according to certain implementations is shown;

[0028] Figure 12 An example of a timing diagram of a subarray scanning method according to certain embodiments is shown; and

[0029] Figure 13 This is a simplified flowchart of a method for partially scanning a computer peripheral device (e.g., a keyboard) in response to key press events, according to certain embodiments. Detailed Implementation

[0030] According to certain embodiments, aspects of this disclosure generally relate to electronic devices, and more specifically to computer peripherals that utilize hybrid switching implementations to improve performance characteristics.

[0031] In the following description, various examples of devices utilizing hybrid switching technology are described. Specific configurations and details are illustrated for illustrative purposes to provide a thorough understanding of the implementation. However, it will be apparent to those skilled in the art that certain implementations can be practiced or implemented without disclosing every detail. Furthermore, well-known features may be omitted or simplified to prevent any confusion regarding the novel features described herein.

[0032] The following high-level overview is intended to provide a basic understanding of some of the novel innovations depicted in the accompanying drawings and presented in the corresponding description provided below. Aspects of the invention relate to various improved computer peripherals, and more generally to electronic devices incorporating hybrid switches (also referred to as input devices), as described in the following embodiments. As mentioned above, input devices are generally used to convert human analog input (e.g., touch, click, movement, touch gestures, button press, scroll wheel rotation, etc.) into digital signals for computer processing. Buttons (e.g., used in computer mice, remote controls, game controllers, etc.) or keypads (e.g., used on keyboards) are common depressable elements that can be pressed down by a user to instantiate a type of control signal (e.g., alphanumeric characters, left / right mouse buttons, triggers, etc.). For buttons, in many modern computer mice, button "click" detection is typically based on a type of contact-based switch, such as a current or electrical switch, where physical contact between two elements causes the input device to generate a control signal (e.g., a button click). These types of switches have been used for decades and have been improved in terms of lifespan, reliability, and price through continuous innovation. However, contact-based switches (see, for example...) Figure 4A It remains susceptible to unavoidable wear, as the contacts are mechanically or chemically worn away, resulting in poor quality and noise signals (see, for example...). Figures 4B to 4C Some modern input devices already incorporate contactless switches (e.g., optical switches—see example...). Figures 5A to 5B While these types of switches offer better reliability and lifespan compared to contact-based switches, they can also draw significantly more current (e.g., 5 mA to 6 mA) even when not in operation (pressed down). Although contactless switches offer improvements in their operating efficiency, they typically draw significantly more power than basic contact-based switches, which draw relatively negligible current, especially when inactive (e.g., without contact).

[0033] Some implementations involve two (or more) switches (see example...) Figure 6Hybrid adaptations of contact-based switches are used to achieve improved performance, power efficiency, reliability, lifespan, etc. In some respects, contact-based switches can be used to (1) notify the system of input activity; and contact-based switches can be used (2) when the input device is in an inactive or low-power mode. Contact-based switches can be used to "wake up" the input device (e.g., change the mode from a low-power "sleep" or "inactive" mode to a high-power "active" mode), where battery consumption is negligible. When the contacts of a contact-based switch inevitably begin to wear, the contacts will still generate a signal, but with detrimental effects (see, for example...). Figure 4C However, since the signal is only used to wake up the input device, a noisy signal can be reliably used for this purpose. A contactless switch (e.g., an optical switch) can be used in high-power mode, so the input device benefits from the low-power characteristics of a contact-based switch in low-power mode, and uses only the contactless switch (e.g., an optical switch) and its higher power requirements in active mode. The hybrid combination of the two switches presents many additional advantages and intelligent functions. While many embodiments presented herein relate to keyboard buttons, the novel ideas provided herein can be applied to any input device.

[0034] For some of the embodiments described above, a coordination challenge is the need to address both the first and second key switch types for each key structure across the entire keyboard. This can require approximately twice the amount of transmit / receive ("scan") lines compared to a conventional keyboard with only one key switch per key structure. This can be expensive from a materials standpoint and may further limit PCB space for lighting elements such as LEDs. A novel aspect of the invention mitigates this problem by grouping the first type of key switches into addressable subarrays (e.g., current grids) instead of addressing individual first key switches, thus requiring fewer transmit / receive lines to determine which subarray generates the first signal (e.g., a signal from the first type of key switch indicating a key press event corresponding to a user pressing a key). In other words, some embodiments use groups of contact-based first key switch types to notify the processor (e.g., an on-board processor, an off-board processor) that a key press event (e.g., a user pressing a key) has occurred in a subarray of key structures that generate the key press event. It should be noted that, as described above, a button press event causes both the first type of button switch and the second type of button switch to generate corresponding first and second signals simultaneously or concurrently. Subsequently, the subarray serving as the source of the detected first signal can be scanned to detect the second signal from the corresponding button structure pressed by the user.

[0035] In some implementations, the key structures are configured in an array and divided into subarrays forming multiple rows and columns. In some cases, as shown in the figure below, the key structure of each column and its corresponding first key switch type correspond to a single subarray, so the key structure of each column (e.g., a column of four or five key structures) uses a single transmit / receive line, instead of a transmit / receive line for each key structure as used in conventional implementations and as described above. As an example, keyboard key structures (keys) can be configured in the form of subarrays corresponding to vertical columns. When the "e" key is pressed, its first key switch type generates a first signal. The "e" key can correspond to a vertical column of keys including the alphanumeric keys "3, e, d, c" ​​in a typical "Qwerty" type keyboard. It should be noted that any grouping of keys, including the number of keys, the arrangement of keys (e.g., rows, columns, sections, types), etc., can constitute a subarray. Once a key press is detected in the "3, e, d, c" ​​subarray, the processor continues to determine which key structure generated the first signal by scanning for a second signal in that particular subarray. In some aspects, the second signal scan can scan each key structure in a specific subarray (and in all subarrays) individually. Once detected, the key press event of the key structure that generated the second signal can be instantiated by the processor to the host computing device.

[0036] The novel implementation described herein offers numerous technical advantages over conventional designs. Besides cost savings by utilizing fewer traces to address (send / receive or “scan”) each of the first key switch types, significant power savings are achieved because power consumption is minimal when no key is pressed and during scanning of the first signal from the first key switch type, and typically only becomes non-negligible when scanning the second key switch type, as further described below. Furthermore, key press latency is improved because key switch scanning can be performed at intervals close to report output, thus reducing the time between scan and corresponding report.

[0037] It should be understood that this high-level overview is provided to give the reader a basic understanding of some of the novel aspects of this disclosure, as well as a roadmap for the subsequent details. This high-level overview is in no way limited to the scope of the various embodiments described throughout the detailed description, and each of the figures cited above is further described below in more detail and within its appropriate scope.

[0038] Figure 1An example of a computer system 100 is shown, which may include any of a variety of main computing devices and computer peripherals, including computer peripherals (e.g., computer mouse, keyboard, etc.) that can be configured to perform aspects of the various inventive concepts described herein. The computer system 100 shows a user 105 operating a main computing device (shown as a desktop computer) 110 and a plurality of computer peripherals that may be coupled to and / or integrated with the main computing device. The computer peripherals include a display device 120, a computer mouse 130, a keyboard 140, and may include any other suitable computer peripherals (e.g., microphone, speaker, docking station, headphones, etc.). Each computer peripheral 120 to 140 may be communicatively coupled to the main computing device 110.

[0039] Although the main computing device is shown as a desktop computer, other types of main computing devices may be used, including gaming systems, laptop computers, set-top boxes, entertainment systems, tablet or “phablet” computers, stand-alone head-mounted displays (“HMDs”), or any other suitable main computing device (e.g., smartphones, smart wearables, etc.). In some cases, multiple main computing devices may be used, and one or more computer peripherals may be communicatively coupled to one or more main computing devices (e.g., a computer mouse may be coupled to multiple main computing devices). The main computing device may also be referred to herein as a “main computer,” “main device,” “computing device,” “computer,” etc., and may include a machine-readable medium (not shown) configured to store computer code, such as driver software, firmware, etc., wherein the computer code may be executable by one or more processors of the main computing device to control aspects of the main computing device, for example, via one or more computer peripherals.

[0040] Typical computer peripherals may include any suitable input, output, or input / output device, including devices shown (e.g., a computer mouse) and devices not shown (e.g., a remote control, wearable device (e.g., gloves, a watch, a head-mounted display), AR / VR controller, CAD controller, joystick, analog shifter, stylus device, or other suitable device that can, for example, convert analog input into digital signals for computer processing). By way of example, a computer peripheral (e.g., a computer mouse 130) may be configured to provide control signals for: motion tracking (e.g., xy movement on a planar surface, three-dimensional “air” movement, etc.), touch and / or gesture detection, lift detection, orientation detection (e.g., in a 3-DOF system, a 6-DOF system, etc.), power management capabilities, input detection (e.g., buttons, scroll wheels, etc.), output functions (e.g., LED control, haptic feedback, etc.), or any of the many other features that a person skilled in the art will understand can be provided by a computer peripheral. The buttons of the computer mouse 130 and the keys of the keyboard 140 (or any other pressable element on an input device) may include a hybrid switch architecture, as presented herein.

[0041] The input device may be a computer peripheral device, and may also be referred to herein as a "peripheral input device," "peripheral device," etc. Most embodiments described herein generally relate to computer peripheral device 140; however, it should be understood that the computer peripheral device may be any suitable input / output (I / O) device (e.g., user interface device, control device, input unit, etc.) which may be adapted to utilize the novel embodiments described and envisioned herein.

[0042] Systems for operating computer peripherals

[0043] Figure 2A system 200 for operating computer peripherals (e.g., computer mouse 130, keyboard 140, etc.) according to certain embodiments is illustrated. System 200 can be configured to operate any computer peripheral specifically shown or not shown herein but within the broad scope of this disclosure. System 200 may include a processor 210, a memory block 220, a power management block 230, a communication block 240, an input detection block 250, and an output control block 260. Each of system blocks 220 to 260 may be in electrical communication with processor 210 (e.g., via a bus system). System 200 may include additional functional blocks, which are not shown or discussed to avoid obscuring the novel features described herein. System blocks 220 to 260 (also referred to as “modules,” “system,” or “system blocks”) may be implemented as separate modules, or alternatively, more than one system block may be implemented within a single module. As those skilled in the art will understand from this disclosure, in the context described herein, system 200 may be included in any computer peripheral described or mentioned herein and may also be configured with at least the following... Figures 8 to 11 The description refers to any hybrid switch implementation presented in this article.

[0044] In some implementations, processor 210 may include one or more microprocessors and may be configured to control the operation of system 200. Alternatively or additionally, processor 210 may include one or more microcontrollers (MCUs), digital signal processors (DSPs), etc., having supporting hardware and / or firmware (e.g., memory, programmable I / O, etc.) and / or software, as will be understood by those skilled in the art. Processor 210 may control some or all aspects of the operation of computer peripherals 140 (e.g., system blocks 220 to 260). Alternatively or additionally, some system blocks 220 to 260 may include additional dedicated processors that can operate in conjunction with processor 210. For example, MCUs, μCs, DSPs, etc., may be configured in other system blocks of system 200. Communication block 240 may include a local processor, for example, to control aspects of communication with host computer 110 (e.g., via Bluetooth, Bluetooth LE, RF, IR, hardwired, ZigBee, Z-Wave, Logitech Unifying, or other communication protocols). Processor 210 may be local to the peripheral device (e.g., housed therein), external to the peripheral device (e.g., performing off-board processing, such as off-board processing via a corresponding main computing device), or a combination thereof. Processor 210 may be combined with any other system block in system 200 to perform any of the various functions and methods (e.g., method 1100) described and / or covered by this disclosure. In some implementations, Figure 3The processor 302 may operate in conjunction with the processor 210 to perform some or all of the various methods described throughout this disclosure. In some embodiments, multiple processors may improve performance characteristics (e.g., speed and bandwidth) in the system 200, but multiple processors are not necessary, nor are they necessarily closely related to the novelty of the embodiments described herein. Many variations, modifications, and alternative implementations will be understood by those skilled in the art.

[0045] Memory block (“memory”) 220 may store one or more software programs to be executed by a processor (e.g., in processor 210). It should be understood that “software” may refer to a sequence of instructions that, when executed by a processing unit (e.g., processor, processing device, etc.), cause system 200 to perform certain operations of the software program. The instructions may be stored as firmware residing in read-only memory (ROM) and / or as an application stored in a media storage device that can be read into memory for execution by a processing device (e.g., processor 210). Software may be implemented as a single program or a collection of single programs and may be stored in non-volatile storage and copied, wholly or partially, to volatile working memory during program execution. In some embodiments, memory 220 may store data corresponding to inputs on peripheral devices, such as movement detected by peripheral devices, sensors (e.g., optical sensors, accelerometers, etc.), activation of one or more input elements (e.g., buttons, sliders, touch-sensitive areas, etc.). The stored data may be aggregated and sent to the main computing device via reports.

[0046] In some embodiments, memory 220 may store various types of data described throughout this disclosure. For example, memory 220 may store and / or include instructions configured to perform various hybrid switching control modes presented herein, such as method 1100. Memory 220 may be used to store any suitable data to perform any functions described herein and as will be understood by those skilled in the art who will benefit from this disclosure. Memory array 220 may be referred to as a storage system or storage subsystem and may store one or more software programs to be executed by a processor (e.g., in processor 210). It should be understood that “software” may refer to a sequence of instructions that, when executed by a processing unit (e.g., processor, processing device, etc.), cause system 200 to perform certain operations of the software program. Instructions may be stored as firmware residing in read-only memory (ROM) and / or as applications stored in a media storage device that can be read into memory for processing by a processing device. Software may be implemented as a single program or a collection of single programs and may be stored in a non-volatile storage device and copied wholly or partially to volatile working memory during program execution. The processing device can retrieve program instructions to be executed from the storage subsystem to perform various operations as described herein (e.g., software-controlled switching, etc.).

[0047] The power management system 230 can be configured to manage power distribution, recharging, power efficiency, haptic motor power control, etc. In some embodiments, the power management system 230 may include a battery (not shown), a Universal Serial Bus (USB)-based recharging system for the battery (not shown), and power management devices (e.g., a voltage regulator—not shown), as well as a power grid within system 200 for providing power to each subsystem (e.g., communication block 240, etc.). In some embodiments, the functionality provided by the power management system 230 may be integrated into processor 210. Alternatively, some embodiments may not include a dedicated power management block. For example, functional aspects of power management block 240 may be included in or combined with another block (e.g., processor 210). The power source may be a replaceable battery, a rechargeable energy storage device (e.g., a supercapacitor, lithium polymer battery, NiMH, NiCd), a wired power source, or other suitable power source. The recharging system may be an additional cable (dedicated to recharging purposes), or the recharging system may use a USB connection to recharge the battery.

[0048] According to some implementations, communication system 240 may be configured to enable wireless communication with a corresponding host computing device (e.g., 110) or other devices and / or peripherals. Communication system 240 may be configured to provide radio frequency (RF), Bluetooth®, Logitech proprietary communication protocols (e.g., Unifying, Gaming Lightspeed, or others), infrared (IR), ZigBee®, Z-Wave, or other suitable communication technologies for communicating with other computing devices and / or peripherals. System 200 may optionally include a hardwired connection to the corresponding host computing device. For example, input device 130 may be configured to receive USB, FireWire®, Thunderbolt®, or other common-type cables to enable bidirectional electronic communication with the corresponding host computing device or other external devices. Some implementations may utilize different types of cables or connection protocol standards to establish hardwired communication with other entities. In some aspects, communication ports (e.g., USB), power ports, etc., may be considered as part of other blocks described herein (e.g., input detection module 250, output control module 260, etc.). In some aspects, communication system 240 can send reports (e.g., HID data, streaming or aggregated data, etc.) generated by processor 210 to a main computing device. In other cases, reports can be generated solely by the processor, in conjunction with the processor or other entities in system 200. Communication system 240 may include one or more antennas, oscillators, etc., and can operate in any suitable frequency band (e.g., 2.4 GHz, etc.). Many modifications, variations, and alternative implementations will be understood by those skilled in the art upon receipt of this disclosure.

[0049] Input detection module 250 can control the detection of user interactions with input elements (also referred to as "elements") on an input device. For example, as those skilled in the art will understand from this disclosure, input detection module 250 can detect user input from: keys or buttons (e.g., depressable elements), scroll wheels, motion sensors, scroll wheels, trackballs, touchpads (e.g., one-dimensional and / or two-dimensional touch-sensitive touchpads), click wheels, dial pads, keyboards, microphones, GUIs, touch-sensitive GUIs, proximity sensors (e.g., IR, thermal, Hall effect, inductive sensing, etc.), image sensor-based detection such as gesture detection (e.g., via a webcam), audio-based detection such as voice input (e.g., via a microphone), etc. Alternatively, the functionality of input detection module 250 may be included in or combined with processor 210.

[0050] In some embodiments, the input detection module 250 can detect touches or touch gestures on one or more touch-sensitive surfaces on the input device 130. The input detection module 250 may include one or more touch-sensitive surfaces or touch sensors. Touch sensors typically include sensing elements suitable for detecting signals such as direct contact, electromagnetic or electrostatic fields, or beams of electromagnetic radiation. Touch sensors can typically detect changes in received signals, the presence of a signal, or the absence of a signal. Touch sensors may include a source for emitting the detected signal, or the signal may be generated by an auxiliary source. Touch sensors may be configured to detect the presence of an object at a distance (e.g., <5 mm) from a reference area or point, an object in contact with the reference area or point, or a combination of both. Some embodiments of the computer peripheral device 150 may or may not utilize touch detection or touch sensing capabilities.

[0051] Input detection block 250 may include touch and / or proximity sensing capabilities. Some examples of touch / proximity sensor types may include, but are not limited to, resistive sensors (e.g., based on standard air-gap 4-wire, based on pressure-dependent (FSR), interpolated FSR, strain gauges, etc., with different electrical properties on carbon-supported plastics), capacitive sensors (e.g., surface capacitance, self-capacitance, mutual capacitance, etc.), optical sensors (e.g., optical barrier type (default open or closed), infrared optical barrier matrix, laser-based diodes coupled to a photodetector that can measure the time of flight of the optical path, etc.), acoustic sensors (e.g., piezoelectric buzzers coupled to a microphone to detect modified wave propagation patterns associated with the touch point, etc.), inductive sensors, magnetic sensors (e.g., Hall effect, etc.), etc.

[0052] In some embodiments, the output control module 260 can control various outputs of a corresponding computer peripheral device. For example, the output control module 260 can control several visual output elements (e.g., LEDs, LCD screens), displays, audio outputs (e.g., speakers), haptic output systems, etc. Those skilled in the art will understand many modifications, variations, and alternative implementations based on this disclosure.

[0053] As will be understood by those skilled in the art, although certain systems may not be explicitly discussed, they should be considered as part of system 200. For example, system 200 may include a bus system for transmitting power and / or data to and from different systems in system 200. It should be understood that system 200 is illustrative, and variations and modifications are possible. System 200 may have other capabilities not specifically described herein. Furthermore, while system 200 is described with reference to specific blocks, it should be understood that these blocks are defined for ease of description and are not intended to imply a particular physical arrangement of component parts. Moreover, these blocks do not necessarily correspond to physically different components. Blocks may be configured to perform various operations, for example, by programming a processor or providing an appropriate control circuitry system, and depending on how the initial configuration is obtained, various blocks may or may not be reconfigurable.

[0054] Embodiments of the invention can be implemented in a variety of devices, including electronic devices (e.g., computer peripherals) implemented using any combination of circuitry and software. Furthermore, aspects and / or portions of system 200 can be combined with or operated by other subsystems as required by design. For example, input detection block 250 and / or memory 220 can operate within processor 210, rather than being used as separate entities. Moreover, the inventive concepts described herein can be applied to any electronic device. Furthermore, system 200 can be applied to any computer peripheral described in the embodiments herein, whether explicitly, implicitly, or by way of implicit description (e.g., those known to those skilled in the art that it can be applied to a particular computer peripheral). The foregoing embodiments are not intended to be limiting, and those skilled in the art will appreciate numerous applications and possibilities with the benefit of this disclosure.

[0055] Systems for operating the main computing device

[0056] Figure 3This is a simplified block diagram of a main computing device 300 according to certain embodiments. The main computing device 300 may implement some or all of the aforementioned functions, behaviors, and / or capabilities that utilize electronic storage or processing, as well as other functions, behaviors, or capabilities not explicitly described. The main computing device 300 may include a processing subsystem (processor) 302, a storage subsystem 306, a user interface 314, a user interface 316, and a communication interface 312. The computing device 300 may also include other components (not explicitly shown) capable of operating to provide various enhanced capabilities, such as batteries, power controllers, and other components. In various embodiments, the main computing device 300 may be implemented in any suitable computing device, such as a desktop or laptop computer (e.g., desktop 110), a mobile device (e.g., a tablet computer, smartphone, mobile phone), a game console, a wearable device, a media device, etc., or in some implementations in a peripheral device (e.g., a keyboard, etc.).

[0057] Processor 302 may include one or more MCUs, microprocessors, application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, or electronic units designed to perform combinations of functions or methods, features, etc., described throughout this disclosure.

[0058] Storage subsystem 306 may be implemented using local storage and / or removable storage media such as disks, flash memory (e.g., Secure Digital Card, Universal Serial Bus flash drive), or any other non-transitory storage media or combinations thereof, and storage subsystem 306 may include volatile and / or non-volatile storage media. Local storage devices may include memory subsystem 308 comprising random access memory (RAM) 318 or read-only memory (ROM) 320 such as dynamic RAM (DRAM), static RAM (SRAM), synchronous dynamic RAM (e.g., DDR), or backup battery RAM, or local storage devices may include file storage subsystem 310, which may include one or more code modules. In some embodiments, storage subsystem 306 may store one or more application and / or operating system programs to be executed by processing subsystem 302, including programs to be executed using a computer to implement some or all of the operations described above. For example, storage subsystem 306 may store one or more code modules for implementing one or more method steps described herein.

[0059] Firmware and / or software implementations can be implemented using modules (e.g., procedures, functions, etc.). Machine-readable media that tangibly implements instructions can be used in implementing the methods described herein. Code modules (e.g., instructions stored in memory) can be implemented within or outside the processor. As used herein, the term "memory" refers to a type of long-term, short-term, volatile, non-volatile, or other storage medium, and is not limited to any particular type of memory, any number of memories, or any particular type of medium storing memory.

[0060] Furthermore, the terms "storage medium" or "storage device" can refer to one or more memories used for storing data, including read-only memory (ROM), RAM, magnetic RAM, magnetic core memory, disk storage media, optical storage media, flash memory devices, and / or other machine-readable media used for storing information. The term "machine-readable medium" includes, but is not limited to, portable or fixed storage devices, optical storage devices, wireless channels, and / or various other storage media capable of storing instructions and / or data.

[0061] Furthermore, implementations can be carried out using hardware, software, scripting languages, firmware, middleware, microcode, hardware description languages, and / or any combination thereof. When implemented in software, firmware, middleware, scripting languages, and / or microcode, program code or code segments for performing tasks can be stored in a machine-readable medium such as a storage medium. Code segments (e.g., code modules) or machine-executable instructions can represent processes, functions, subroutines, programs, routines, subroutines, modules, software packages, scripts, classes, or combinations of instructions, data structures, and / or program statements. Code segments can be coupled to another code segment or hardware circuitry by passing and / or receiving information, data, arguments, parameters, and / or memory contents. Information, arguments, parameters, data, etc., can be passed, forwarded, or transmitted by appropriate means—including memory sharing, messaging, token passing, network transmission, etc. These descriptions of software, firmware, storage media, etc., apply to system 200 and system 300, as well as any other implementations within the broad scope of this disclosure. In some embodiments, aspects of the invention (e.g., surface classification) may be executed by software stored in storage subsystem 306, memory stored in memory 220 of a computer peripheral device, or both. Many modifications, variations, and alternative implementations will be understood by those skilled in the art who will benefit from this disclosure.

[0062] The techniques, blocks, steps, and means described throughout this disclosure can be implemented in various ways. For example, these techniques, blocks, steps, and means can be implemented in hardware, software, or a combination thereof. In the hardware implementation, the processing unit can be implemented in one or more ASICs, DSPs, DSPDs, PLDs, FPGAs, processors, controllers, microcontrollers, microprocessors, other electronic units designed to perform the functions described above, and / or combinations thereof.

[0063] Each code module may include a set of instructions (code) implemented on a computer-readable medium that instructs the processor of the main computing device 110 to perform corresponding actions. The instructions may be configured to run sequentially, in parallel (e.g., under different processing threads), or in combination thereof. After the code modules are loaded onto a general-purpose computer system, the general-purpose computer is transformed into a special-purpose computer system.

[0064] Computer programs incorporating the various features described herein (e.g., in one or more code modules) can be encoded and stored on various computer-readable storage media. The computer-readable medium encoding the program code can be packaged together with a compatible electronic device, or the program code can be provided separately from the electronic device (e.g., downloaded via the Internet or as a separately packaged computer-readable storage medium). Storage subsystem 306 can also store information useful for establishing network connections using communication interface 312.

[0065] Computer system 300 may include user interface input devices 314 (e.g., touchpad, touchscreen, scroll wheel, click wheel, dial pad, button, switch, keyboard, microphone, etc.), user interface output devices 316 (e.g., video screen, indicator lights, speaker, headphone jack, virtual or augmented reality display, etc.), and supporting electronic devices (e.g., digital-to-analog or analog-to-digital converters, signal processors, etc.). Users can operate the input devices of user interface 314 to invoke functions of computing device 300, and can view and / or hear output from computing device 300 via the output devices of user interface 316.

[0066] Processing subsystem 302 can be implemented as one or more processors (e.g., integrated circuits, one or more single-core or multi-core microprocessors, microcontrollers, central processing units, graphics processing units, etc.). In operation, processing subsystem 302 can control the operation of computing device 300. In some embodiments, processing subsystem 302 can execute various programs in response to program code and can maintain multiple concurrently executing programs or processes. At a given time, some or all of the program code to be executed can reside in processing subsystem 302 and / or storage medium (e.g., storage subsystem 304). Through programming, processing subsystem 302 can provide various functions for computing device 300. Processing subsystem 302 can also execute other programs for controlling other functions of computing device 300, including programs that can be stored in storage subsystem 304.

[0067] The communication interface (also referred to as the network interface) 312 can provide voice and / or data communication capabilities to the computing device 300. In some embodiments, the communication interface 312 may include radio frequency (RF) transceiver components for accessing wireless data networks (e.g., Wi-Fi networks, 3G, 4G / LTE, etc.), mobile communication technologies, components for short-range wireless communication (e.g., using Bluetooth communication standards, NFC, etc.), or combinations of other components or technologies. In some embodiments, in addition to or instead of a wireless interface, the communication interface 312 may also provide wired connectivity (e.g., Universal Serial Bus (USB), Ethernet, Universal Asynchronous Receiver / Transmitter, etc.). The communication interface 312 can be implemented using a combination of hardware (e.g., driver circuitry, antenna, modulator / demodulator, encoder / decoder, and other analog and / or digital signal processing circuitry) and software components. In some embodiments, the communication interface 312 may support multiple communication channels simultaneously.

[0068] As will be understood by those skilled in the art who benefit from this disclosure, user interface input device 314 may include any suitable computer peripheral device (e.g., computer mouse, keyboard, game controller, remote control, stylus device, etc.). User interface output device 316 may include display devices (e.g., monitor, television, projector, etc.), audio devices (e.g., speakers, microphones), haptic devices, etc. Note that the user interface input and output devices are shown as part of system 300 as an integrated system. In some cases, such as in a laptop computer, this may be where the keyboard and input elements, as well as the display and output elements, are integrated on the same main computing device. In some cases, the input and output devices may be separate from system 300, such as... Figure 1 As shown. Those skilled in the art who benefit from this disclosure will understand its many modifications, variations, and alternative implementations.

[0069] It will be understood that computing device 300 is illustrative, and variations and modifications are possible. The main computing device may have various functions not specifically described (e.g., voice communication via a cellular telephone network) and may include components suited to such functions. Although computing device 300 is described with reference to specific blocks, it should be understood that these blocks are defined for ease of description and are not intended to imply a specific physical arrangement of component portions. For example, processing subsystem 302, storage subsystem 306, user interface 314, user interface 316, and communication interface 312 may be in one device or distributed across multiple devices. Furthermore, these blocks do not necessarily correspond to physically different components. Blocks can be configured to perform various operations, for example, by programming a processor or providing appropriate control circuitry, and depending on how the initial configuration is obtained, the various blocks may be reconfigurable or may not be reconfigurable. Embodiments of the invention can be implemented in various devices, including electronic devices implemented using a combination of circuitry and software. The main computing device or even peripheral devices described herein can be implemented using system 300.

[0070] Contact-based switches

[0071] In computer peripherals (e.g., keyboard devices), button press detection (e.g., detecting when a depressable element such as a keyboard key or button is pressed) primarily relies on contact-based switches (e.g., current / electrical switches), where physical contact between two elements causes the input device to generate a control signal. Contact-based switches typically utilize current isolation, which involves isolating functional parts of the electrical system to prevent current flow, making it possible that no direct conduction path exists. In other words, when the physical switch is closed, current flows and typically a signal is generated, such as a button press signal or other suitable human-machine interface (HID) signal, as will be understood by one of ordinary skill in the art who benefits from this disclosure. When the switch is open, no current flows and typically no HID signal is generated. Contact-based switches have been used for decades and have been improved over the years for better lifespan, reliability, and price stability. Contact-based switches also offer excellent power efficiency. When the switch is open (e.g., when the button is at rest and not pressed or activated), virtually no current flows and power consumption is almost zero (e.g., negligible microamp leakage current, etc.). Although the switch is closed (typically for durations in the millisecond range), the operating current and corresponding power consumption remain relatively low (e.g., 100 to 400 µA). Despite these excellent power consumption characteristics, contact-based switches are subjected to repeated mechanical shocks, and after a period of time, the contacts mechanically or chemically wear down, resulting in potentially unreliable or unusable noise data. This can render the corresponding input device at least partially inoperable and unsuitable for its intended use. According to some embodiments, hybrid switching methods (see, for example...) Figure 6 This can present an excellent depressurizable element structure that combines the aspects of contact-based switches with a second switch (e.g., a non-contact switch such as an optical switch) that utilizes the excellent power consumption characteristics of contact-based switches, while mitigating their lifespan weaknesses, as at least regarding the following... Figure 6 As further described below, contact-based switches typically present themselves as "type one push-button switches" that generate a first signal, and contactless switches typically present themselves as "type two push-button switches" that generate a second signal.

[0072] Figure 4AA simplified cross-section of a contact-based switch 400 for an input device is shown. The contact-based switch 400 may include a housing 410, an actuator 420, a biasing mechanism 430, terminals and contacts (not fully shown), and a feedback distribution biasing mechanism 460. The housing 410 is configured to house and protect the internal mechanisms of the switch 400 to provide electrical insulation and mechanical integrity. The housing 410 may be a separate sub-component of the input device (e.g., a keyboard), although some embodiments may employ multiple switches within a shared housing, such as the type used in the hybrid switch 600, as described below. Figure 6 As further described.

[0073] Actuator 420 can be configured to transmit movement and externally applied force to the internal mechanism of switch 400. For example, a user can directly or indirectly press actuator 420 (e.g., via a button, keycap, etc. coupled to actuator 420) to move actuator 420 along a linear translation path and apply force to biasing mechanism 430. As will be understood by those skilled in the art who benefit from this disclosure, in some aspects, the depressible element can be a button or pushbutton combined with actuator 420. Actuator 420 may include multiple elements, including internal elements for better transmission of force to internal components and user interface elements (e.g., mouse buttons, keycaps, etc.). As will be understood by those skilled in the art who benefit from this disclosure, any suitable shape or number of elements can be used.

[0074] The biasing mechanism 430 can provide a restoring force to return the button to its original unpressed position. The actuator 420 typically applies a user-induced force (e.g., from button or key press) to move the terminal portion and contact from a first position, i.e., an open-circuit state, to a second position, i.e., a closed-circuit state forming electrical contact. In some cases, the first position may correspond to the depressable element (e.g., actuator 420 and its corresponding element) not being pressed to a specific position or within a range of positions where the contact 450 does not form electrical contact, and the second position may correspond to the depressable element being fully pressed to form electrical contact. The biasing mechanism 460 can be configured to provide a feedback distribution by providing a “click” or other suitable feedback (e.g., incremental feedback followed by release) to provide a suitable tactile feedback experience to the user. Figure 4A A simplified implementation of a contact-based switch is provided, and those skilled in the art who benefit from this disclosure will understand many modifications, variations, and alternative implementations of this disclosure.

[0075] Figure 4BThis is a signal diagram 480 illustrating an example of a typical signal 481 corresponding to a click event performed by a normally functioning contact-based switch. When contact 450 makes electrical contact with terminal B, signal 481 switches from a low voltage (e.g., electrical ground) 482 to a higher voltage (e.g., line voltage) 489. When contact is made, a typical contact-based switch in good condition (e.g., without significant wear) bounces briefly and sequentially, typically lasting about 2 to 5 µs / ms, and manifests as signal fluctuations 488 in the signal. This occurs during normal operation and generally does not affect the ability to interpret button inputs; however, bounce elimination algorithms used to interpret and account for bounce may add some delay to detection (e.g., 1 ms or more). The bounce decays at a threshold 486 (e.g., typically 2 V, 3.3 V, etc.) before a clean, fully transitioned signal 489 appears. With “good” contact, the bounce can last about 0.7 ms and is typically less than 1 ms to 2 ms; however, other durations are possible. A typical user click can be as short as 30 ms, so a 1 ms jump is usually insignificant when trying to determine the expected input (e.g., a single click, a double click, etc.).

[0076] Figure 4C Examples of possible signals corresponding to a click event caused by a malfunctioning contact-based switch are shown. (As in...) Figure 4C As can be seen, in response to the pressable element being pressed and contact 450 contacting terminal B, signal 491 is noisy and does not show a clean transition between low and high voltage. Signal 491 transitions from low voltage 492 to signal noise 498 over a relatively long period until a stable high voltage signal 499 is identified at threshold 496. Whether the noise includes fluctuations, whether double presses occur, etc., and whether it may lead to unreliable output is unclear. Harmful noise occurs for approximately 300 ms. Since a typical user click may take approximately 30 ms, it is clear how user input (e.g., click, double click, click and hold, etc.) can be misinterpreted, and in some cases, the noise may actually be completely unrelated to user input. As mentioned above, Figure 4C This indicates that some contact-based switches exhibit significant wear on the contacts and / or corresponding terminals, which can limit the operational life of the input device. It should be noted that, as those skilled in the art who benefit from this disclosure will understand, the various durations provided herein are given in context, and other durations are also possible. Furthermore, Figures 4B to 4CA signal that is normally low (e.g., 0V when no button is pressed) is shown, which rises (e.g., 2.5V) upon mechanical contact and falls back low when the contact is released. Some embodiments can be configured to have a normally high signal that falls low upon mechanical contact and rises back high when the contact is released. Many modifications, variations, and alternative embodiments thereof will be understood by those skilled in the art who benefit from this disclosure.

[0077] Non-contact switch

[0078] Considering the lifespan and reliability issues typically associated with contact-based switches, some modern manufacturers have shifted to contactless switches. Contactless switches generally lack mechanical interface elements (no contacts) during operation and can have a substantially longer operating life due to the absence of critical components subject to wear. Therefore, contactless switches can provide very clean signals (e.g., no bounce, intermittent contact, etc.), enabling input devices to have a longer operating life. Some non-limiting examples of contactless switches include optical switches (described in the embodiments herein), magnetic switches, inductive switches, capacitive switches, piezoelectric switches, etc. Furthermore, because contactless switches do not involve physical contact between elements, no additional time delay is required to apply anti-bounce algorithms, etc. Despite these advantages, contactless switches (e.g., optical switches) can consume significantly more current compared to contact-based switches because they must be actively scanned (continuously or periodically) to confirm whether the switch is open or closed.

[0079] Figure 5AAn example of operation of an optical switch sensor 500 with a default disconnect configuration according to certain embodiments is shown. The optical switch sensor (“optical switch”) 500 may include a transmitter 520, a receiver 530, and a barrier 510, which is typically directly or indirectly coupled to an actuator (e.g., similar to actuator 420) to move up and down in response to movement of a depressable element. The barrier 510 may also be referred to as a “baffle.” Typically, the barrier 510 can be moved from a first position that does not obstruct the line of sight between the transmitter 520 and the receiver 530 to a second position that obstructs the line of sight. The barrier 510 can provide analogous operation by allowing a user to adjust the position of the barrier 510 by adjusting the amount of obstruction, ranging from complete obstruction to partial obstruction to no obstruction. In operation, the transmitter 520 typically includes a light-emitting diode (LED) pulsating with an LED current (e.g., 2 mA to 10 mA) and a fixed frequency (e.g., 1 ms) (e.g., 2 µs to 50 µs), typical of contemporary high-end gaming peripherals (e.g., computer mice and keyboards). Light 525 is projected from emitter 520 toward receiver 530, which may be a phototransistor or other photosensitive element. The amount of current generated by receiver 530 can correspond to the amount of light 525 received from emitter 520. Unlike contact-based switches that typically have a binary output including “on” (circuit closed) or “off” (circuit open) operations, contactless switches can allow no light emitted from emitter 520, some light emitted from emitter 520, or all light emitted from emitter 520 to reach receiver 530, thus allowing any number of intermediate settings and allowing the user to set the “on” state to any suitable actuation threshold (e.g., the corresponding output from receiver 530), which can correspond to how far a button or key needs to be pressed to exemplify a key press. The optical switch 500 is in a normally open configuration, wherein when the actuator of the control barrier 510 is not pressed, the switch allows light 525 emitted from the transmitter 520 to reach the receiver 530 without obstruction, and when the actuator is pressed, the switch blocks light 525 from the transmitter 520.

[0080] Figure 5BA switch 550 with a normal closed configuration is shown, wherein when the actuator of the control barrier 560 is not pressed, the switch blocks light 575 emitted from the transmitter 570 from reaching the receiver 580, while when the actuator is pressed, the switch allows light 575 from the transmitter 570 to reach the receiver 580. In either configuration, despite the advantages of a clean signal (e.g., no bounce or delay corresponding to bounce elimination), the ability to set an actuation threshold, and a significantly improved lifetime compared to contact-based switches, contactless switches can always utilize power, even when the depressable element is not pressed, to detect the state of the button in an acceptablely fast time (e.g., within 1 ms), and therefore utilize significantly more power than contact-based switches. In some embodiments, as further described below, a hybrid switch topology mitigates this problem by scanning only contactless switches (e.g., second-type push-button switches) when the subarray reports a first signal.

[0081] Hybrid switch

[0082] Various aspects of the present invention employ a hybrid switch design (e.g., hybrid switch 600) that utilizes both contact-based and contactless switches to create an improved switch design that gains the benefits of both types of switches while mitigating their drawbacks. In some embodiments, as described above, contact-based switches can be used when the input device is in a low-power mode to take advantage of their low power consumption characteristics. As described above, contact-based switches can be grouped into subarrays. As described above, a contact-based switch, when pressed, can generate a first signal, which triggers the system to scan the corresponding subarray for a second signal (a second signal from a contactless switch) to identify the pressed key structure. Therefore, the power consumed before the system scans the subarray to determine the source of the second signal (the pressed key structure) is negligible. In some aspects, the leading edge 484 (or another portion thereof) of signal 481 can be used to present the first signal. Even when the contact-based switch begins to malfunction and generates noisy and potentially undecipherable signals as user input (e.g., click, double-click, click and hold, etc.), as shown in signal 491, the rising edge 494 can simply be used as a binary trigger to register the first signal on the input device. Therefore, any amount of noise may be present in the signal due to a button press event, and since a simple rising edge can still be reliably generated despite poor presentation, a malfunctioning contact-based switch can still reliably trigger state changes. In some aspects, as those skilled in the art who benefit from this disclosure will understand, the above system can be operated such that the leading edge can also be a falling edge.

[0083] Non-contact switches can also be used in the same hybrid switch architecture and can be configured to be activated when a button is pressed. This takes advantage of the excellent responsiveness and reliability of non-contact switches and largely avoids their high power consumption by keeping the non-contact switch off until the first signal is detected in one of the subarrays.

[0084] Figure 6 An example of a key structure 600 with a hybrid push-button switch architecture according to certain embodiments is shown. The key structure 600 includes mechanical pins 610 and a contactless module 620. As described above, the mechanical pins 610 can each be coupled to separate electrical contacts operable to make and break contact to realize a key press event when the key structure is pressed. The contactless module 620 can incorporate optical sensing, wherein an actuator is pressed down by a user (via a depressible element), and a biasing mechanism is moved downward to simultaneously close a contact-based switch (a first-type switch) to generate a first signal, and cause an optical barrier of the contactless switch to block light from a photodiode to prevent it from reaching a phototransistor, thereby causing the contactless switch to generate a second signal. The key structure can have a form factor similar to other common keyboard key structures, such as MX Cherry® push-button switches, or other suitable form factors. As described above, any suitable contact-based push-button switch (e.g., typical mechanical, current-based push-button switches, etc.) and non-contact push-button switches (e.g., optical, magnetic, inductive push-button switches, etc.) can be used in a hybrid push-button configuration, as will be understood by one of ordinary skill in the art who benefits from this disclosure. In some cases, the optical element may be part of the motherboard, rather than integrated with the switch as shown.

[0085] Figure 7 A bottom side view of a second example of a button structure 700 with a hybrid push-button switch architecture according to certain embodiments is shown. As illustrated, optical elements (e.g., photodiodes and phototransistors) are configured differently on the push-button switch. In some cases, the optical elements may be separate from the push-button switch and mounted on a motherboard with the switch or other suitable arrangement integrated therein, as will be understood by those skilled in the art who benefit from this disclosure. Figure 8 A side sectional view is shown of a second example of a button structure 700 having a hybrid push-button switch architecture according to certain embodiments.

[0086] Scanning method for keyboard matrices with hybrid switches

[0087] According to certain embodiments, aspects of the present invention relate to an improved method for scanning a matrix of key structures using hybrid switches. The hybrid switch pair typically includes mechanical contact-based switches (first type switches) and contactless switches (second type switches). This high-performance sensing method can improve system performance and reliability, eliminate bounce, while utilizing conventional mechanical contacts (first type switches) to reduce power consumption, and simultaneously maintain a good UX key feel for the user.

[0088] When an MCU (e.g., an MCU with limited I / O) needs to scan a large number of keys, these keys are typically placed in a matrix arrangement, such as a matrix arrangement of N drive columns × M read rows. In the case of mixed key structures, the second type of switch for "high-performance sensing" is typically placed in a matrix arrangement of (drive) columns and (read) rows. However, according to some implementations, contact-based sensing (the first type of switch) is not placed in another matrix arrangement, but is connected together to form different clusters called current networks ("mechanical current networks" or "subarrays"). A novel aspect is that, by default, the MCU does not scan the "high-performance sensing" matrix until an interrupt is received on the subarray (current cluster) that is announcing to the MCU (e.g., announcing to the MCU via a first signal generated by the first type of switch) an ongoing typing activity (e.g., a key press event). In some implementations, high-performance sensing is matrixed, and the MCU is operable to enable power column by column, thereby providing an improved method of clustering subarrays for better power consumption and latency performance. One approach is to group key structures on the same column to form a single mechanical current network. When a key press event is detected on that column, the MCU only needs to power on to scan that active column. This can be called a "partial scan" because only the active column of the second type of push-button switches needs to be scanned.

[0089] At a higher level, partial scanning can be summarized as follows: (1) high-performance sensing (e.g., high-performance sensing of non-contact type II push-button switches) is disabled by default; (2) when an interrupt is detected on the subarray (e.g., a first signal indicates that a contact-based push-button switch within the current grid is pressed), high-performance sensing is triggered and enabled only for that current grid (e.g., the MCU scans the subarray for a second signal generated by a type II push-button switch (e.g., an optical sensor) to register a key press event; and (3) when all keys are released (or after a threshold time period), high-performance sensing is disabled. As mentioned above, some technical advantages of partial scanning include reduced power consumption and faster scanning as well as less latency. Regarding reduced power consumption, partial scanning consumes power only when there is typing activity (key press event), and in other cases, the power used in scanning for key presses is negligible (e.g., leakage current < 50 μA). In some aspects, sleep modes and deep sleep modes (e.g., low-power modes) can be triggered to wake up in response to the receipt of a first signal (e.g., active mode), which does not require high-performance scanning. Furthermore, only columns (e.g., subarrays) with key press events need to be powered for scanning. Therefore, not all subarrays need to be scanned compared to a conventional design that scans all columns. Thus, by using a current grid for each driven column, the MCU can be directly informed which column(s) are active, and therefore only that specific column needs to be scanned to register the key structure. As mentioned above, while it may be optimal to align subarrays with the physical columns of the keys, any grouping of the key structure is possible, which may include columns, rows, or any suitable arrangement (e.g., linear, non-linear, continuous, discontinuous arrangements, etc.). Many modifications, variations, and alternative implementations will be understood by those skilled in the art who benefit from this disclosure.

[0090] Regarding faster scanning and lower latency, key press events are registered more quickly because only the active column needs to be scanned (e.g., partial scanning results in fewer columns being scanned), and partial scanning can be configured to occur just before the generation of periodic RF or USB reports, thus minimizing the average latency of key press events.

[0091] Figure 9A keyboard device with a key matrix according to certain embodiments is shown, the key matrix having column-based subarrays. Keyboard 900 can be operated by system 200, etc. Keyboard 900 may include an array 905 of key structures including a plurality of hybrid key structures 910 disposed within the keyboard. Each hybrid key structure may include a first type of key switch and a second type of key switch that generate a first signal and a second signal, respectively, as discussed throughout this disclosure. In some embodiments, the array 905 of key structures may be divided into a plurality of subarrays 920_1 to 920_n, each of these subarrays including a plurality of hybrid key structures. For example, subarray 920_1 may include four key structures, and subarray 920_2 may include six key structures. When a first signal is detected, the system identifies the active subarray that generated the first signal, and the system scans the subarray for one or more second signals to determine key press events, as further described below. While some preferred embodiments may configure each subarray as a single-column hybrid key structure, it should be understood that any grouping of the hybrid key structure is possible for the subarray, which may be linear or non-linear grouping, continuous or discontinuous grouping, subarrays of different sizes, or any suitable arrangement of the hybrid key structure—typically configured to enable partial scanning for lower power consumption and, in some respects, less latency in reporting, as will be understood by one of ordinary skill in the art who benefits from this disclosure.

[0092] Figure 10 An example of a 3×3 hybrid switch matrix 1000 according to some embodiments is shown. The keyboard 900 is referenced for illustrative purposes only, and any arrangement of the key structures is possible, still combined with the partial scanning concept presented herein. Matrix 1000 may include a processor 210 (identified as an MCU), optical columns (outputs) 1010, optical rows (inputs) 1020, and a current grid (input) 1030. Each subarray 920_1, 920_2, 920_3 includes multiple hybrid key structures 910, as referenced above. Figure 9 As described, the optical column (COL) 1010 includes multiple outputs—typically one output per column—to send (drive) optical elements (e.g., normally open or normally closed optical elements). The optical row 1020 reads (receives, inputs) the corresponding optical element for closing the circuit. The current network 1030 can be configured to detect when any of the current elements (first-type push-button switches) in the group within the sub-array (column) is closed. As described above, embodiments of the invention use this system to determine which column contains the closed first-type push-button switches.

[0093] During operation, at step 1, the user presses a key structure in the key structure of subarray 920_2 of the key array, which... Figure 10 The hybrid key structure is shown as highlighted in the diagram. This causes a first-type key switch and a second-type key switch to close. The closed first-type key switch generates a first signal, which is detected by the current grid input 1030 and provides the MCU with an indication that a key press event is occurring in subarray 920_2. The active subarray (e.g., column) is enabled, and optical detection systems 1010 and 1020 now scan that particular subarray 920_2 and determine the optical switch state of the highlighted hybrid key switch, thereby generating the detected key press event. It should be noted that since only subarray 920_2 generates the first signal, the optical system does not scan other subarrays, thus achieving a faster scan rate and potentially less reporting latency with less power, as described throughout this disclosure.

[0094] By way of example, if two buttons in subarray 920_2 are pressed, two first signals will be detected, and similar to the previous example, only subarray 920_2 will be scanned for the optical signal (second signal)—in this case, two second signals and two corresponding button press events will be detected. In another example, if two buttons on adjacent subarrays (e.g., subarrays 920_1 and 920_2) are pressed, the first signal will be detected via a current grid, and the optical system will scan these subarrays for the optical signal (second signal), thereby generating two button press events. Many modifications, variations, and alternative implementations will be understood by those skilled in the art who benefit from this disclosure.

[0095] Figure 11 An example of a 3×3 hybrid switch matrix 1100 using a multiplexer according to some embodiments is shown. The hybrid switch matrix 1100 is similar to... Figure 10 The matrix 1000 differs in that the COL and current grid are multiplexed together. By default, the IO is configured as an input and "listens" to the current grid signal. When it is necessary to scan the active COL with optical elements, the COL is configured to drive the output of the corresponding active COL. This implementation does not change... Figure 10 The overall concept presented herein allows for reduced I / O usage by multiplexing the COL and current grid together, and typically uses additional components (e.g., MOSFETs) to perform the multiplexing function, as will be understood by those skilled in the art who benefit from this disclosure. For comparison, in an example matrix of 7 COLs × 15 ROWs (a total of 105 addressable keys), Figure 10The architecture (with a similar number of buttons) can use 7 COLs + 15 ROWs + 7 current grids, for a total of 29 I / Os for switching, while a standard switch may only require 7 COLs and 15 ROWs, for a total of 22 I / Os. Multiplexing capability can further reduce the number of required I / Os by sharing the same lines, thereby eliminating or reducing the need for more I / Os.

[0096] Figure 12 An example timing diagram of a subarray scanning method 1200 according to certain embodiments is shown. Timing diagram 1210 illustrates a subarray scanning method used in some conventional systems. In this arrangement, each column is scanned sequentially for an optical signal, regardless of whether any key is pressed. That is, a conventional system can be configured to sequentially scan rows and / or columns of keys to determine if any key has been pressed, and after each sequence is completed, a report can be generated and sent to a communication-coupled main computing device (e.g., via a wireless (RF) or wired connection). As can be clearly observed, scanning all columns requires constant, near-constant, or frequent power consumption, which is problematic for battery-powered products with limited power resources. Furthermore, any key press detection performed earlier in the scan sequence (e.g., in column 0) will be reported much later than key press detection read later in the sequence (e.g., in column 6). This can result in different delays for different keys, such that the "a" key in a typical QWERTY key layout (e.g., in column 1) will always have a longer reporting delay (e.g., the time from actual key press to reporting) than the "h" key (e.g., in column 6), for the reasons stated above.

[0097] As shown in timing diagram 1220, some implementations address this problem by reading the active subarrays just before generating / submitting the next wireless report. In the case of partial scanning, only the subarrays (e.g., columns) with the detected first signal (e.g., a current signal) are scanned. To improve this latency issue, the subarrays with the detected first signal can be scanned close to the next wireless report. For example, if a column is reporting the first signal, it can be scanned for the optical signal within the time frame that would normally be scanned for the latest column (e.g., column 6) in a conventional sequential scanning system, as shown in timing diagram 1220. If two columns with the first signal are detected, the scanning period may occur where the last two columns would normally be scanned. Using this method (partial scanning), power is not necessarily consumed during periods when no key presses are detected, and multiple keys can be grouped so that optical scanning can be performed only during those key press events. For example, if a key press is detected in columns 1 and 6, a partial scanning system can choose to scan columns 1 and 6 during the last two scanning periods (e.g., at columns 5 and 6 shown in timing diagram 1210), instead of scanning column 1 during the second sequential period and then scanning column 1 again during the final sequential period. In this case, better latency characteristics can be achieved, although similar power consumption may exist.

[0098] In summary, some exemplary embodiments may include a keyboard system comprising a plurality of hybrid key structures configured in an array, the array comprising a plurality of subarrays, wherein each of the plurality of key structures configured in any of the plurality of subarrays includes: a depressable element; a first type of key switch configured to generate a first signal when the depressable element is activated; and a second type of key switch configured to generate a second signal when the depressable element is activated; and one or more processors communicatively coupled to each of the plurality of hybrid key structures, and the one or more processors being configured to: receive a first signal from an activated hybrid key structure when a corresponding depressable element of the hybrid key structure is activated; determine a corresponding subarray in which the activated hybrid key structure is configured; scan the corresponding subarray for the generated second signal; detect the generated second signal from the corresponding subarray; identify the activated hybrid key structure based on the detected generated second signal; and register a key press for the identified activated hybrid key structure. The first type of push-button switch can be a contact-based push-button switch (e.g., an electromechanical push-button switch), and the second type of push-button switch can be a non-contact push-button switch (e.g., an optical push-button switch). In some cases, as mentioned above... Figure 10As described in the example, scanning the corresponding subarray includes driving a second type of key switch in each of the hybrid key structures in the corresponding subarray and reading its output for use in generating a second signal. In some aspects, scanning the corresponding subarray is performed in response to receiving a first signal (e.g., a first signal from a current network) for detecting the corresponding second signal. Typically, the power consumed in generating the first signal is negligible (e.g., leakage current <100 μA) and is typically less than one-tenth of the power consumed in generating the second signal. In some embodiments, the keyboard system generates a radio frequency (RF) report with key press data, which includes all identified active hybrid key structures within a scan period consisting of multiple scan intervals, wherein the corresponding subarray is scanned during the scan interval closest in time to the next RF report generation within the multiple scan intervals. In some aspects, the array may include rows and columns, wherein each column includes multiple rows of hybrid key structures, wherein each column corresponds to one of the multiple subarrays, and wherein each column corresponds to a subarray that is different from the remaining columns among the multiple subarrays. It should be noted that rows and columns may be a linear arrangement of key structures, or they may not be a linear arrangement of key structures. As will be understood by those skilled in the art who benefit from this disclosure, some rows and columns may be curved, continuous, or discontinuous, or may be any suitable plurality of key structures. In some aspects, one or more processors are provided in the keyboard system (e.g., processor 210).

[0099] Figure 13 This is a simplified flowchart of a method for partially scanning a computer peripheral device (e.g., a keyboard) in response to a key press event, according to certain embodiments. Method 1300 can be executed by processing logic, which may include hardware (circuit, dedicated logic, etc.), software operating on suitable hardware (e.g., a general-purpose computing system or a dedicated machine), firmware (embedded software), or any combination thereof. In some embodiments, method 1300 can be executed by aspects of system 200 (e.g., processor 210), system 300, or combinations thereof. For example, as referenced above… Figures 8 to 12 The novel method is described in the operation of the embodiments shown and described, however, as will be understood by those skilled in the art, it can be implemented using other hardware.

[0100] According to some embodiments, in operation 1310, method 1300 may include receiving a first signal from one of a plurality of subarrays (e.g., 920(1), 920(2) etc.) by one or more processors on the keyboard. In some aspects, each of the plurality of subarrays includes a plurality of hybrid key structures 910 of different groups, each of the plurality of key structures including a first type of key switch (e.g., a contact-based key switch, key switch 810) and a second type of key switch (e.g., a non-contact key switch, key switch 820), wherein the first signal is generated by a first type of key switch of at least one of the hybrid key structures of the plurality of hybrid key structures of one of the plurality of subarrays. The subarrays collectively form array 905.

[0101] According to some implementations, in operation 1310, method 1300 may include identifying one of the subarrays that generates the first signal among a plurality of subarrays.

[0102] According to some embodiments, in operation 1320, method 1300 may include scanning an identified subarray of a plurality of subarrays in response to a second signal generated by a second type of key switch. In some aspects, scanning the corresponding subarray includes driving a second type of key switch in each hybrid key structure of the corresponding subarray in response to the generated second signal and reading its output. The scanning of the corresponding subarray for detecting the corresponding second signal is performed in response to receiving a first signal. In some embodiments, the keyboard system generates a radio frequency (RF) report with key press data including all identified activated hybrid key structures within a scan period comprising multiple scan intervals, and scans the corresponding subarray during the scan interval that is temporally closest to the next RF report generation among the multiple scan intervals.

[0103] According to some implementations, in operation 1330, method 1300 may include detecting a second signal generated from an identified subarray among a plurality of subarrays.

[0104] According to some implementations, in operation 1340, method 1300 may include identifying the activated key structure that generates the generated second signal.

[0105] According to some embodiments, in operation 1350, method 1300 may include registering a key press with respect to an identified, activated key structure. In some aspects, the first type of key switch is a contact-based key switch, and the second type of key switch is a non-contact key switch. In some cases, the first type of key switch is an electromechanical key switch, and the second type of key switch is an optical key switch. Typically, the second type of key switch differs from the first type of key switch. In some embodiments, the array may include rows and columns, wherein each column includes multiple rows of mixed key structures, each column corresponds to one of a plurality of subarrays, and each column corresponds to one of the plurality of subarrays that is different from the other columns. In some aspects, key release is also registered. Once a key press is sensed, the system continues scanning via a second sensing (e.g., optical sensing) until a key release is detected.

[0106] It should be understood that, according to certain implementation methods, Figure 13 The specific steps illustrated herein provide a particular method 1300 for partially scanning a computer peripheral device in response to a key press event. Other sequences of steps may also be performed according to alternative implementations. Furthermore, additional steps may be added or removed depending on the specific application. Any modified combination may be used, and many variations, modifications, and alternative implementations will be understood by those skilled in the art with the benefit of this disclosure.

[0107] This document sets forth numerous specific details to provide a thorough understanding of the claimed subject matter. However, those skilled in the art will understand that the claimed subject matter can be practiced without these specific details. In other instances, methods, apparatus, or systems known to those of ordinary skill in the art have not been described in detail so as not to obscure the claimed subject matter. The various embodiments shown and described are provided merely as examples to illustrate the various features of the claims. However, the features shown and described with respect to any given embodiment are not necessarily limited to the associated embodiment and can be used or combined with other embodiments shown and described. Furthermore, the claims are not intended to be limited to any of the exemplary embodiments.

[0108] Although the subject matter has been described in detail with reference to specific embodiments of the invention, it should be understood that those skilled in the art, upon gaining an understanding of the foregoing, can readily generate such modifications, variations, and equivalents of the embodiments. Therefore, it should be understood that this disclosure is presented for illustrative purposes rather than limiting, as will be readily apparent to those skilled in the art, and does not exclude such modifications, variations, and / or additions to the subject matter. In fact, the methods and systems described herein can be embodied in various other forms; furthermore, various omissions, substitutions, and changes can be made to the form of the methods and systems described herein without departing from the spirit of this disclosure. The appended claims and their equivalents are intended to cover such forms or modifications falling within the scope and spirit of this disclosure.

[0109] While this disclosure provides certain exemplary implementations and applications, other implementations that will be apparent to those skilled in the art—including those that do not provide all the features and advantages set forth herein—are also within the scope of this disclosure. Therefore, the scope of this disclosure is intended to be limited only by reference to the appended claims.

[0110] The one or more systems discussed herein are not limited to any particular hardware architecture or configuration. A computing device may include any suitable arrangement of components that provides a result conditioned on one or more inputs. Suitable computing devices include multi-functional microprocessor-based computer systems that access stored software that programs or configures the computing system from a general-purpose computing device to a dedicated computing device that implements one or more embodiments of this subject matter. The teachings contained herein can be implemented in the software used for programming or configuring the computing device using any suitable programming, scripting, or other type of language or combination of languages.

[0111] Implementations of the methods disclosed herein can be performed within the operation of such a computing device. The order of the blocks presented in the example above can be varied—for example, the blocks can be reordered, combined, and / or divided into sub-blocks. Some blocks or processes can be executed in parallel.

[0112] Unless otherwise expressly stated or otherwise understood in the context in which they are used, conditional language used herein, such as “can,” “could,” “might,” “may,” “eg,” etc., is generally intended to express that some examples include certain features, elements, and / or steps while other examples do not. Therefore, such conditional language is not generally intended to imply that one or more examples require features, elements, and / or steps in any way, or that one or more examples must include logic for determining, with or without author input or prompting, whether such features, elements, and / or steps are included in any particular example or to be performed in any particular example.

[0113] The terms “comprising,” “including,” “having,” etc., are synonymous and used inclusively in an open-ended manner, without excluding additional elements, features, actions, operations, etc. Furthermore, the term “or” is used in its inclusive sense (rather than in its exclusive sense), such that, for example, when used to connect lists of elements, the term “or” means one, some, or all of the elements in the list. The use of “suitable for” or “configured to” in this document implies open and inclusive language, which does not exclude means suitable for or configured to perform additional tasks or steps. Additionally, the use of “based on” implies open and inclusiveness because a process, step, calculation, or other action “based on” one or more enumerated conditions or values ​​may actually be based on additional conditions or values ​​beyond those enumerated. Similarly, the use of “at least partially based on” implies open and inclusiveness because a process, step, calculation, or other action “at least partially based on” one or more enumerated conditions or values ​​may actually be based on additional conditions or values ​​beyond those enumerated. The headings, lists, and numbers included herein are for illustrative purposes only and are not intended to be limiting.

[0114] The various features and processes described above can be used independently of each other or in combination in various ways. All possible combinations and sub-combinations are intended to fall within the scope of this disclosure. Additionally, in some embodiments, certain method or process blocks may be omitted. The methods and processes described herein are not limited to any particular order, and the blocks or states associated with them may be executed in other suitable orders. For example, the described blocks or states may be executed in an order other than that specifically disclosed, or multiple blocks or states may be combined into a single block or state. Example blocks or states may be executed serially, in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed examples. Similarly, the example systems and components described herein may be configured differently from those described. For example, elements may be added, removed, or rearranged compared to the disclosed examples.

Claims

1. A keyboard system, comprising: Multiple hybrid button structures are configured in an array, the array comprising multiple sub-arrays. Each of the plurality of hybrid button structures is configured within any one of the plurality of sub-arrays, and includes: Press-down components; A first type of push-button switch, configured to generate a first signal when the depressible element is activated; and A second type of push-button switch, configured to generate a second signal when the depressible element is activated; and One or more processors, communicatively coupled to each of the plurality of hybrid key structures, and configured to: During a scan cycle comprising a plurality of scan intervals: When the corresponding depressable element of the activated hybrid key structure is activated, a first signal is received from the activated hybrid key structure. Determine the corresponding subarray configured with the activated hybrid key structure; During the last scan interval of the plurality of scan intervals, and independently of the time when the first signal is received, the corresponding subarray is scanned for the generated second signal; The second signal generated from the corresponding subarray is detected; The activated hybrid key structure is identified based on the detected generated second signal; and At the end of the scan cycle, a key press is registered for the identified activated hybrid key structure.

2. The keyboard system according to claim 1, wherein, The first type of push-button switch is a contact-based push-button switch, and the second type of push-button switch is a non-contact push-button switch.

3. The keyboard system according to claim 1, wherein, The first type of push-button switch is a current-mechanical push-button switch, and The second type of push-button switch is an optical push-button switch.

4. The keyboard system according to claim 1, wherein, Scanning the corresponding subarray includes driving a second type of key switch in each hybrid key structure in the corresponding subarray for the generated second signal and reading the output of the second type of key switch.

5. The keyboard system according to claim 4, wherein, During the last scan interval, the corresponding subarray is scanned to detect whether the corresponding second signal is performed in response to receiving the first signal.

6. The keyboard system according to claim 5, wherein, The power consumed to generate the first signal is less than one-tenth of the power consumed to generate the second signal.

7. The keyboard system according to claim 1, wherein, The array comprises rows and columns. Each column includes a multi-row mixed key structure. Each column corresponds to one of the plurality of subarrays, and Each column corresponds to a subarray that is different from the other columns in the plurality of subarrays.

8. The keyboard system of claim 7 further includes a multiplexer (MUX) configured to combine the total number of rows and columns by sharing the same rows and columns, thereby reducing the number of input / output (I / O) lines in the keyboard system.

9. The keyboard system according to claim 1, wherein, One or more processors are located in the keyboard system.

10. A method of operating an input device, the method comprising: During a scan cycle comprising multiple scan intervals, a first signal is received by one or more processors on the input device from one of a plurality of subarrays, each of the plurality of subarrays comprising a plurality of hybrid key structures in different groups, each of the plurality of hybrid key structures comprising a first type key switch and a second type key switch, wherein the first signal is generated by a first type key switch of at least one of the hybrid key structures of the plurality of subarrays, wherein the plurality of subarrays are combined to form an array; Identify the subarray among the plurality of subarrays that generated the first signal; During the last scan interval of the plurality of scan intervals, and independently of the time when the first signal is received, the identified subarray of the plurality of subarrays is scanned in response to the second signal generated by the second type of key switch; The second signal generated from one of the identified subarrays of the plurality of subarrays is detected; Identify the activated hybrid key structure that generates the second signal; and At the end of the scan cycle, a key press is registered for the identified activated hybrid key structure.

11. The method according to claim 10, wherein, The first type of push-button switch is a contact-based push-button switch, and The second type of push-button switch is a non-contact push-button switch.

12. The method according to claim 10, wherein, The first type of push-button switch is a current-mechanical push-button switch, and The second type of push-button switch is an optical push-button switch.

13. The method according to claim 10, wherein, The second type of push-button switch is different from the first type of push-button switch.

14. The method of claim 10, wherein, Scanning the identified subarray among the plurality of subarrays includes driving a second type of key switch in each of the hybrid key structures in the identified subarray among the plurality of subarrays in response to the generated second signal and reading the output of the second type of key switch.

15. The method according to claim 10, wherein, During the last scan interval, scanning the identified subarray of the plurality of subarrays to detect the generated second signal is performed in response to receiving the first signal.

16. The method of claim 10, wherein, The array comprises rows and columns. Each column includes a multi-row mixed key structure. Each column corresponds to one of the plurality of subarrays, and Each column corresponds to a subarray that is different from the other columns in the plurality of subarrays.

17. The method according to claim 10, wherein, The one or more processors are disposed in the input device.

18. The method according to claim 10, wherein, The input device is a keyboard.

Citation Information

Patent Citations

  • CN114461080A

  • CN116225239A