Key switch substrate with sensor system

By introducing smart key switches into the keyboard and integrating a horizontal orientation substrate and motion sensor system, the problems of high cost, high complexity and latency of analog keys in keyboards are solved, enabling more efficient analog sensing and flexible application of sensing technology.

CN121096802APending Publication Date: 2025-12-09LOGITECH EUROPE SA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510762830.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-03-05
Filing Date
2025-06-09
Publication Date
2025-12-09

AI Technical Summary

Technical Problem

Existing input devices, such as analog keys in keyboards, suffer from high production costs, high system complexity, high power requirements, and key switch addressing delays in key detection.

Method used

It adopts a smart key switch, integrates a horizontal orientation base plate and motion sensor system, detects the movement of the plunger and generates corresponding travel data to achieve analog sensing, and supports the modular application of multiple sensing technologies.

Benefits of technology

It reduces production costs, simplifies system complexity, reduces power requirements, and improves the response speed and address flexibility of key switches.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121096802A_ABST
    Figure CN121096802A_ABST
Patent Text Reader

Abstract

A key switch substrate with a sensor system is disclosed. A key structure includes: a housing; a plunger extending from a top side of the housing and configured to be depressed and travel along a range of motion; and a horizontally oriented substrate, the horizontally oriented substrate being disposed at the bottom of the housing. The substrate includes a motion sensor system configured to detect movement of the plunger along a range of motion and generate corresponding travel data that enables one or more processors to determine a position of the plunger along the range of motion.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application is a non-provisional application and claims the benefit and priority of U.S. Provisional Application No. 63 / 657,817, filed June 8, 2024, entitled “KEYBOARD WITH UNIVERSALSMART KEY SWITCH ADAPTOR,” which is incorporated herein by reference in its entirety for all purposes. Technical Field

[0003] This invention relates to a key switch substrate with a sensor system. Background Technology

[0004] Computer peripherals 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. Computer peripherals, or more broadly, input devices, can include any device that can provide data and control signals to a computing system. Some non-limiting examples of input devices include keyboards, computer mice, virtual reality and / or augmented reality controllers, touchpads, remote controls, game controllers, joysticks, trackballs, presenters, etc.

[0005] Input devices have undergone many significant improvements over the past few decades. In some contemporary input devices, such as keyboards, analog keys have become popular for applications like competitive gaming. Analog keys can provide better resolution in key detection than the simple on / off connection found in conventional current-sensitive key switches, but they significantly increase production costs, system complexity, power requirements, and key switch addressing latency. Therefore, a better solution is needed.

[0006] Unless otherwise indicated 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

[0007] According to one embodiment of the present invention, a key structure is provided, comprising: a housing; a plunger extending from a top side of the housing and configured to be pressed down and travel along a range of motion; a horizontally oriented substrate disposed at a bottom of the housing; and a motion sensor system coupled to the substrate and contained within the housing, the motion sensor system being configured to detect movement of the plunger along the range of motion and generate corresponding travel data, the travel data enabling one or more processors to determine the position of the plunger along the range of motion.

[0008] According to another embodiment of the present application, a key structure is provided, comprising: a housing; a plunger coupled to the housing and configured to be depressed and travel within the housing along a range of motion; a horizontally oriented base plate coupled to an exterior bottom of the housing; and a motion sensor system coupled to the base plate and configured to detect movement of the plunger along the range of motion and generate corresponding travel data, the travel data enabling one or more processors to determine a position of the plunger along the range of motion. BRIEF DESCRIPTION OF DRAWINGS

[0009] The above mentioned various embodiments of the present application, as well as other features and advantages of certain embodiments, will be more apparent from the following detailed description, taken in conjunction with the accompanying drawings, wherein:

[0010] Figure 1 A simplified example of a computer system is shown, which can include any of a variety of host computing devices and computer peripheral devices, including computer peripheral devices that can be configured to perform aspects of the various inventive concepts described herein;

[0011] Figure 2 A simplified block diagram of a system for operating a computer peripheral device according to certain embodiments is shown;

[0012] Figure 3 is a simplified block diagram of a host computing device according to certain embodiments;

[0013] Figure 4A A bottom side of a conventional printed circuit board (PCB) for a keying device with key plug-in capability is shown;

[0014] Figure 4B A smart key switch with fully integrated analog sensing according to certain embodiments is shown;

[0015] Figure 5A A conventional hot-pluggable PCB configured with analog sensor circuitry at each key switch mounting location is shown;

[0016] Figure 5B A universal hot-pluggable PCB configured to accept a standard or smart key switch according to certain embodiments is shown, with no analog sensor circuitry configured on the universal hot-pluggable PCB;

[0017] Figure 6A A progressive cutaway view of a standard 2-pin current key switch is shown;

[0018] Figure 6BA progressive cutaway view of a 3-pin smart key switch with fully integrated analog sensing is shown, in accordance with certain embodiments;

[0019] Figure 7 A smart key switch with integrated analog sensing is shown, in accordance with certain embodiments;

[0020] Figure 8A A simplified circuit diagram of various analog sensing circuits for a smart key switch is shown, in accordance with certain embodiments;

[0021] Figure 8B A simplified circuit diagram of various analog sensing circuits for a smart key switch is shown, in accordance with certain embodiments;

[0022] Figure 8C A simplified circuit diagram of various analog sensing circuits for a smart key switch is shown, in accordance with certain embodiments;

[0023] Figure 9 A simplified block diagram showing multiple design options for a smart key switch architecture is shown, in accordance with certain embodiments;

[0024] Figure 10 Identification features of a smart key switch are shown, in accordance with certain embodiments;

[0025] Figure 11A A standard socket and corresponding PCB for a conventional design are shown;

[0026] Figure 11B A universal socket and corresponding PCB for a smart key switch are shown, in accordance with certain embodiments;

[0027] Figure 12 A simplified block diagram of a universal socket is shown, in accordance with certain embodiments;

[0028] Figure 13 A simplified circuit diagram of a universal keyboard is shown, in accordance with certain embodiments;

[0029] Figure 14 A plot of dynamic scan sampling rates drawn for different scan methods is shown, in accordance with certain embodiments;

[0030] Figure 15 A universal master PCB with additional power contacts, 3-pin socket, switch for backlighting, and alignment features is shown, in accordance with certain embodiments;

[0031] Figures 16A-16D Different configurations of a key switch design are shown, in accordance with certain embodiments, in which the thickness of the bottom shell is replaced with a substrate while maintaining similar height;

[0032] Figures 17A-17DDifferent configurations of key switch designs are shown in which the substrate can be separated underneath the key switch but with increased thickness, according to some embodiments; and

[0033] Figures 18A-18B Pin locations in a side-by-side comparison between a smart switch and a PCB-embedded switch are shown, according to certain embodiments.

[0034] Throughout the drawings, it should be noted that like reference numbers are generally used to depict like elements, features, and structures. DETAILED DESCRIPTION

[0035] According to certain embodiments, aspects of the present disclosure relate generally to computer peripheral devices, and more particularly to universal keyboards or keying devices, smart key switches and key switch adapters, and corresponding infrastructure.

[0036] In the following description, various examples of universal keyboards, smart key switches, key switch adapters, and corresponding infrastructure are described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the embodiments. However, it will also be apparent to one skilled in the art that certain embodiments can be practiced without some or all of these specific details. In other instances, well-known features can be omitted or simplified in order not to obscure the novel features being described herein.

[0037] The following high-level overview is intended to provide a basic understanding of some novel innovations depicted in the accompanying drawings and presented in the corresponding description provided below. Aspects of the present invention relate to intelligent key switches. For example, a mechanical keyboard intelligent switch can include an embedded analog sensing element (e.g., optical sensor, inductive sensor, magnetic sensor, capacitive sensor, etc.) configured to sense displacement of a target (e.g., reflector, magnet, conductive element, etc.) coupled to a pressable plunger of the key switch in addition to or instead of binary galvanic contact-based detection. The intelligent key switch can have all of the specific driving electronics for the analog sensing element that can generate a signal (e.g., analog, digital, containing plunger displacement information) embedded on a substrate (e.g., printed circuit board or “PCB”) inside the key switch housing (body). In some cases, the intelligent key switch can include motion sensing circuitry but not driving electronics or some of the driving electronics. The driving electronics and sensing element can be interfaced (e.g., powered, controlled, read) by the main circuitry of the keyboard or keying device. Thus, the intelligent key switch with integrated sensing enables modular placement on the keyboard without requiring dedicated infrastructure on the keyboard itself, enabling swapping in different key switch types (e.g., galvanic, optical, inductive, magnetic) as there is no permanent installation of a specific sensing technology on the main keyboard PCB.

[0038] In some implementations, a universal keyboard or keying device can include a mechanical keyboard platform in which key switches can be installed on a universal interface configured to enable use of any switch sensing technology (e.g., galvanic, optical, magnetic, inductive, capacitive) at any key switch location on the keyboard without requiring sensors or sensor support circuitry on the keyboard PCB. As will be appreciated by one of ordinary skill in the art with the benefit of this disclosure, the platform can drive and read information about plunger position (e.g., with two or more values of the position) sensed from inside the key switch, and can power the key switch regardless of the key switch sensing technology, and can send or receive I / O signals with respect to the key switch whether digital, analog, or a combination thereof.

[0039] It should be appreciated that this high-level overview is presented in order to provide the reader with a basic understanding of some of the novel aspects of the present disclosure and to introduce the reader to the nature and scope of the subsequent detailed disclosure. This high-level overview is in no way limiting of the scope of the various embodiments described throughout the DETAILED DESCRIPTION and each of the above-cited drawings are further described in greater detail below and within their respective scopes.

[0040] Figure 1 A simplified example of a computer system 100 is shown that can include any of a variety of host computing devices and computer peripheral devices, including computer peripheral devices that can be configured to perform aspects of the various inventive concepts described herein (e.g., a computer mouse, a keyboard, etc.). The computer system 100 can include a computer 110, a monitor 120, a computer mouse 130, and a keyboard 140. In some cases, the keyboard 140 can be a “qwerty” type keyboard, or any suitable input device (e.g., an Internet of Things device, an AR / VR controller, a remote control, etc.) having one or more keys configured as analog keys with travel and force detection, as further described throughout this disclosure. As will be appreciated by one of ordinary skill in the art having the benefit of this disclosure, the keyboard 140 can be configured to control aspects of the computer 110 and the monitor 120 for the computer system 100. The monitor 120, the computer mouse 130, and the keyboard 140 can be collectively referred to as “computer peripheral devices” or “input devices.” The computer peripheral devices 120-140 can be communicatively coupled to the host computing device 110, and in some cases, to multiple host computing devices. Although many of the examples presented herein utilize analog keys in keyboard-type computer peripheral devices, one of ordinary skill in the art having the benefit of this disclosure will appreciate that the use of such structures can be applicable to other types of input devices.

[0041] The computer 110 can be any suitable computing device, including but not limited to a desktop computer, a laptop computer, a tablet or “pad” computer, a smart phone, a PDA, a wearable device (e.g., a smart watch, smart glasses), a virtual reality / augmented reality (VR / AR) system, etc. The host computing device can also be referred to herein as a “host computer,” a “host device,” a “computing device,” a “computer,” etc., and can include a machine-readable medium (not shown) configured to store computer code such as driver software, firmware, etc., which can be executed by one or more processors (see, e.g., processor 210 of FIG. 2) of the host computing device to control aspects of the host computing device, e.g., via one or more computer peripheral devices. Figure 2 ​

[0042] Figure 2 A system 200 for operating a computer peripheral device (e.g., computer mouse 130, keyboard 140, etc.) is shown in accordance with certain embodiments. System 200 can be configured to operate any computer peripheral device shown or not shown herein but within the broad scope of the present disclosure. System 200 can include a processor 210, a memory 220, a power management system 230, a communication module 240, an input detection module 250, and an output control module 260. Each of system blocks 220-260 can be in electronic communication with processor 210 (e.g., via a bus system). System 200 can include additional functional blocks, which are not shown or discussed to prevent obscuring the novel features described herein. System blocks 220-260 (also referred to as “modules”) can be implemented as separate blocks, or alternatively, more than one system block can be implemented in a single block. As will be appreciated by one of ordinary skill in the art having the benefit of the present disclosure, system 200 can be included in any computer peripheral device (e.g., input device) described or referenced herein in the context described herein and can also be configured with any of the analog key structures presented herein.

[0043] In certain embodiments, processor 210 can include one or more microprocessors and can be configured to control operation of system 200. Alternatively or additionally, processor 210 can include one or more microcontrollers (MCUs), digital signal processors (DSPs), etc. with supporting hardware and / or firmware (e.g., memory, programmable I / O, etc.) and / or software, as will be appreciated by one of ordinary skill in the art. Processor 210 can control some or all aspects of the operation of keyboard 140 (e.g., system blocks 220-260). Alternatively or additionally, some of system blocks 220-260 can include additional dedicated processors that can work in conjunction with processor 210. For example, MCUs, μCs, DSPs, etc. can be configured in other system blocks of system 200. Communication block 240 can include a local processor, e.g., to control aspects of communication with host computer 110 (e.g., via Bluetooth, Bluetooth LE, RF, IR, hardwire, ZigBee, Z-Wave, Logitech Unifying, or other communication protocols). Processor 210 can be local to (e.g., housed within) the computer peripheral device, can be external to the computer peripheral device (e.g., off-board processing by a corresponding host computing device), or a combination thereof. Processor 210 can perform any of the various functions and methods described and / or encompassed by the present disclosure in conjunction with any other system block in system 200. In some implementations, Figure 3The processor 302 of the system 200 can work in conjunction with the processor 210 to perform some or all of the various methods described throughout this disclosure. In some embodiments, multiple processors can enable performance characteristics (e.g., speed and bandwidth) in the system 200 to be increased, however, multiple processors are not essential and are not necessarily closely related to the novelty of the embodiments described herein. Those of ordinary skill in the art will understand the many variations, modifications, and alternative embodiments possible.

[0044] The memory block ("memory") 220 can store one or more software programs to be executed by one or more processors (e.g., the processor 210). It should be understood that "software" can refer to sequences of instructions that, when executed by a processing unit (e.g., a processor, processing device, etc.) cause the system 200 to perform certain operations of the software program. The instructions can be stored as firmware residing in read-only memory (ROM) and / or applications stored in a media storage device, which can be read into memory for execution by the processing device (e.g., the processor 210). The software can be implemented as a single program or a collection of individual programs, and can be stored in a non-volatile storage device and copied in whole or in part to a volatile working memory during program execution. In some embodiments, the memory 220 can store data corresponding to inputs on a computer peripheral device, such as detected movement of a computer peripheral device, sensors (e.g., optical sensors, accelerometers, etc.), activation of one or more input elements (e.g., buttons, sliders, touch-sensitive areas, etc.), and the like. The stored data can be aggregated and transmitted to a host computing device via a report.

[0045] In some embodiments, memory 220 may store various data throughout the description herein. 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 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, which may be read into memory for processing by the 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 may retrieve program instructions from the storage subsystem to perform various operations as described herein (e.g., software-controlled switching, etc.).

[0046] The power management system 230 can be configured to manage power distribution, recharging, power efficiency, 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), power management devices (e.g., a voltage regulator—not shown), and 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 incorporated 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 incorporated into or combined with other blocks (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), or a wired power supply. 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.

[0047] According to some embodiments, the communication system 240 can be configured to enable wireless communication with a corresponding main computing device (e.g., 110) or other devices and / or computer peripherals. The communication system 240 can be configured to provide radio frequency (RF), near field communication (NFC), and other communication capabilities. Logitech proprietary communication protocols (e.g., Unifying, Gaming Lightspeed, or others), infrared (IR), Z-Wave or other suitable communication technology for communicating with other computing devices and / or peripheral devices. System 200 can optionally include a hardwired connection to a corresponding host computing device. For example, computer peripheral 140 can be configured to accept a USB, or other universal type of cable to enable bidirectional electronic communication with a corresponding host computing device or other external device. Some embodiments can utilize different types of cable or connection protocol standards to establish hardwired communication with other entities. In some aspects, a communication port (e.g., USB), power port, etc. can be considered part of other blocks described herein (e.g., input detection module 250, output control module 260, etc.). In some aspects, communication system 240 can transmit reports (e.g., HID data, streaming data, or aggregated data, etc.) generated by processor 210 to a host computing device. In some cases, the reports can be generated solely by the processor, in conjunction with the processor, or by other entities in system 200. Communication system 240 can include one or more antennas, oscillators, etc., and can operate at any suitable frequency band (e.g., 2.4 GHz), etc. Numerous modifications, variations, and alternative embodiments will be apparent to those of ordinary skill in the art in light of the disclosure.

[0048] Input detection module 250 can control detection of user interaction with input elements on input devices. For example, as will be appreciated by one of ordinary skill in the art with the benefit of this disclosure, input detection module 250 can detect user input from: motion sensors, keys or buttons (e.g., depressible elements), scroll wheels, dials, keyboards, microphones, GUIs, touch-sensitive GUIs, proximity sensors (e.g., IR sensing, heat sensing, Hall effect sensing, 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 or a subset thereof can be subsumed by processor 210 or combined with processor 210.

[0049] In some embodiments, the input detection module 250 can detect touches or touch gestures on one or more touch sensitive surfaces on the keyboard 140. The input detection block 250 can include one or more touch sensitive surfaces or touch sensors. Touch sensors generally include a sensing element adapted to detect a signal such as a direct contact, an electromagnetic or electrostatic field, or a beam of electromagnetic radiation. The touch sensor can generally detect a change in a received signal, a presence or absence of a signal. The touch sensor can include a source for emitting a detected signal, or the signal can be generated by an auxiliary source. The touch sensor can be configured to detect a presence of an object at a distance (e.g., < 5 mm) from a reference area or a reference point, a contact with the reference area or the reference point, or a combination thereof. Certain embodiments of the computer peripheral 140 can or can not utilize touch detection or touch sensing capabilities.

[0050] The input detection block 250 can include touch and / or proximity sensing capabilities. Some examples of types of touch / proximity sensors can include, but are not limited to, resistive sensors (e.g., air-gap 4-wire based, FSR based with different electrical properties depending on pressure, interpolated FSR, strain gauges, etc.), capacitive sensors (e.g., surface capacitive, self-capacitive, mutual capacitive, etc.), optical sensors (e.g., grating type (open or closed by default), infrared grating matrix, laser based diode coupled with a photodetector that can measure a time of flight of a light path, etc.), acoustic sensors (e.g., piezoelectric buzzer coupled with a microphone to detect changes in wave propagation patterns related to a touch point, etc.), inductive sensors, magnetic sensors (e.g., Hall effect, etc.), etc.

[0051] The input detection module 250 can include a movement tracking sub-block that can be configured to detect relative displacement (movement tracking) of the computer peripheral. For example, the input detection module 250 includes optical sensors such as IR LEDs and photodiode imaging arrays to detect movement of the computer peripheral relative to an underlying surface. The computer peripheral can optionally include movement tracking hardware that utilizes coherent (laser) light. Movement tracking can provide position data (e.g., delta X and delta Y data relative to a last sample) or lift detection data. For example, the optical sensors can detect when a user lifts the computer peripheral (e.g., computer mouse 130) off of an underlying surface (also referred to as a “work surface”) and can send this data to the processor 210 for further processing. In some embodiments, the processor 210, a movement tracking block (which can include an additional dedicated processor), or a combination thereof, as would be understood by one of ordinary skill in the art with the benefit of this disclosure.

[0052] In certain implementations, an accelerometer can be used for movement detection. An accelerometer can be an electromechanical device (e.g., a microelectromechanical system (MEMS) device) configured to measure acceleration forces (e.g., static and dynamic forces). One or more accelerometers can be used to detect three-dimensional (3D) positioning. For example, 3D tracking can utilize a three-axis accelerometer or two two-axis accelerometers (e.g., in a “3D air mouse,” HMD, or other device). An accelerometer can also determine whether a computer peripheral has been lifted off a surface below and can provide movement data that can include velocity, physical orientation, and acceleration of the computer peripheral. In some implementations, a gyroscope can be used instead of or in conjunction with an accelerometer to determine movement or input device orientation. In some implementations, input detection block 250 can control aspects of one or more sensing elements as described herein.

[0053] In some implementations, output control module 260 can control various outputs for corresponding computer peripherals. For example, output control module 260 can control a plurality of visual output elements (e.g., LEDs, LCDs, or LED screens / keys), displays, audio output devices (e.g., speakers), haptic output systems, etc. Numerous modifications, variations, and alternative implementations will be apparent to those of ordinary skill in the art in light of the disclosure.

[0054] As will be appreciated by persons of ordinary skill in the art, although certain systems can not be explicitly discussed, they should be considered part of system 200. For example, system 200 can include a bus subsystem to transmit electrical power and / or data to and from different systems in system 200. It will be appreciated that system 200 is illustrative and variations and modifications are possible. System 200 can have other capabilities not specifically described herein. In addition, while system 200 is described with reference to particular blocks, it will be appreciated that these blocks are defined for convenience to aid in understanding of the more general inventive concepts and are not intended to confine the scope of the systems. Additionally, these blocks can not necessarily correspond to physically distinct components. Blocks can be configured to perform various operations, e.g., by programming a processor or providing appropriate control circuitry, and depending on how initial configurations are obtained, various blocks can or can not be reconfigurable.

[0055] System 200 can be used entirely or partially (e.g., a subset of system blocks 210 to 260), or in conjunction with additional blocks, to implement the various inventive concepts described herein. In some cases, multiple systems 200 or portions thereof can be applied to a computer peripheral device. For example, some or all of the smart key switch embodiments described herein (see, for example) will be understood by those skilled in the art who benefit from this disclosure. Figures 6A-9 This can include aspects of system 200 to control sensing (e.g., optical, inductive, magnetic, mechanical), communication via I / O lines (in some cases wireless communication), output control (e.g., LEDs, haptic, etc.), or any other aspect via blocks 210 to 260. Similarly, as will be understood by one of ordinary skill in the art who benefits from this disclosure, implementations of the main PCB can utilize some or all aspects of system 200 to communicate with a smart switch (e.g., via a universal socket) having dedicated drive / sensing lines, as described in U.S. Application No. 18 / 457,974, which is incorporated herein by reference in its entirety for all purposes.

[0056] Embodiments of the invention can be implemented in a variety of devices, including electronic devices (e.g., computer peripherals) implemented using any combination of circuit systems and software. Furthermore, aspects and / or portions of system 200 can be combined with or operated by other subsystems, depending on design requirements. For example, input detection module 250 and / or memory 220 can operate within processor 210, rather than as separate entities. Additionally, 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, explicitly, or implicitly (e.g., those skilled in the art will know 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 who benefit from this disclosure will appreciate numerous applications and possibilities.

[0057] Figure 3is a simplified block diagram of a host computing device 300 according to certain embodiments. The host computing device 300 can implement some or all of the functionality, acts, and / or capabilities described herein that will use electronic storage or processing, as well as other functionality, acts, or capabilities not explicitly described. The host computing device 300 can include a processing subsystem (processor) 302, a storage subsystem 306, user interfaces 314, 316, and a communication interface 312. The computing device 300 can also include other components (not explicitly shown) such as a battery, a power controller, and other components operable to provide various enhanced capabilities. In various embodiments, the host computing device 300 can be implemented in any suitable computing device, such as in a desktop or laptop computer (e.g., desktop 110), a mobile device (e.g., a tablet computer, a smartphone, a mobile phone), a wearable device, a media device, etc., or in a peripheral device (e.g., a keyboard, etc.) in certain embodiments.

[0058] The processor 302 can include a MCU, a microprocessor, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a processor, a controller, a microcontroller, a microprocessor, or an electronic unit designed to perform the functions, parts of the functions, or the combination of the methods, functions, etc. described throughout the present disclosure.

[0059] The storage subsystem 306 can be implemented using local storage and / or removable storage media, such as using a disk, a flash memory (e.g., a secure digital card, a universal serial bus flash drive), or any other non-transitory storage medium or combination of media, and can include volatile and / or non-volatile storage media. The local storage can include a memory subsystem 308 including random access memory (RAM) 318 such as dynamic RAM (DRAM), static RAM (SRAM), synchronous dynamic RAM (e.g., DDR), or battery-backed RAM, or read-only memory (ROM) 320, or a file storage subsystem 310 that can include one or more code modules. In some embodiments, the storage subsystem 306 can store one or more applications and / or operating system programs to be executed by the processing subsystem 302, including programs to be executed by a computer for implementing some or all of the operations described above. For example, the storage subsystem 306 can store one or more code modules for implementing one or more method steps described herein.

[0060] Firmware and / or software implementations can utilize modules (e.g., procedures, functions, and so on) to implement the implementations. Machine-readable media tangibly embodying the instructions can be used, for example, in implementing the described methods. Code modules (e.g., instructions stored in memory) can be implemented inside or outside a processor. As used herein, the term "memory" refers to long-term, short-term, volatile, nonvolatile, or other types of storage media and is not limited to any particular type of storage medium, number of memories, or type of memory on which the media is stored.

[0061] Furthermore, the term "storage media" or "storage device" can represent one or more memories for storing data, including read only memory (ROM), RAM, magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and / or other machine readable mediums for storing information. The term "machine-readable medium" includes, without being limited to, portable or fixed storage devices, optical storage devices, wireless channels, and / or various other storage devices capable of storing that can store instructions and / or data.

[0062] Furthermore, implementations can be implemented by hardware, software, scripting languages, firmware, middleware, microcode, hardware description languages, and / or any combination thereof. When implemented in software, firmware, middleware, scripting language, and / or microcode, the program code or code segments to perform the tasks can be stored in a machine-readable medium such as a storage medium. A code segment or machine-executable instruction can represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a script, a class, or any combination of instructions, data structures, and / or program statements. A code segment can be coupled to another code segment or a hardware circuit by passing and / or receiving information, data, arguments, parameters, and / or memory contents. Information, arguments, parameters, data, etc. can be passed, forwarded, or transmitted via a suitable means including memory sharing, message passing, token passing, network transmission, etc. These descriptions of software, firmware, storage media, etc. apply to system 200 and 300, as well as any other implementations within the broad scope of the present disclosure. In some implementations, aspects of the present disclosure (e.g., surface classification) can be performed by software stored in storage subsystem 306, stored in memory 220 of a computer peripheral, or both. Those of ordinary skill in the art, with the benefit of this disclosure, will appreciate many modifications, variations, and alternatives to the implementations.

[0063] Implementations of 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. For a hardware implementation, the processing units can be implemented within one or more ASICs, DSPs, DSPDs, PLDs, FPGAs, processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above, and / or combinations thereof.

[0064] Each code module can include a set of instructions (code) embodied on a computer-readable medium that directs the processor of the host computing device 110 to perform corresponding actions. The instructions can be configured to run in sequential order, in parallel (e.g., under different processing threads), or a combination thereof. After a code module is loaded into a general-purpose computer system, the general-purpose computer becomes a special-purpose computer system.

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

[0066] The computer system 300 can include user interface input devices 314 elements (e.g., a touchpad, touch screen, scroll wheel, click wheel, dial, button, switch, keypad, keyboard, microphone, etc.) and user interface output devices 316 (e.g., a video screen, indicator lights, speakers, headphone jacks, virtual or augmented reality displays, etc.), as well as supporting electronics (e.g., digital-to-analog or analog-to-digital converters, signal processors, etc.). A user can operate the input devices of the user interface 314 to invoke functions of the computing device 300, and can view and / or hear output from the computing device 300 via the output devices of the user interface 316.

[0067] The processing subsystem 302 can be implemented as one or more processors (e.g., an integrated circuit, one or more single core or multicore microprocessors, microcontrollers, central processing units, graphics processing units, etc.). In operation, the processing subsystem 302 can control the operation of the computing device 300. In some implementations, the processing subsystem 302 can execute a variety of programs in response to program code and can maintain multiple concurrently executing programs or processes. Some or all of the program code can reside in the processing subsystem 302 and / or in storage media, such as the storage subsystem 304, during execution. Through programming, the processing subsystem 302 can provide various functionalities for the computing device 300. The processing subsystem 302 can also execute other programs that are used to control the other functions of the computing device 300, including programs that can be stored in the storage subsystem 304.

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

[0069] As will be appreciated by those skilled in the art with the benefit of this disclosure, the user interface input devices 314 can include any suitable computer peripheral devices (e.g., a computer mouse, a keyboard, a game controller, a remote control, a stylus device, etc.). The user interface output devices 316 can include display devices (e.g., a monitor, a television, a projection device, etc.), audio devices (e.g., speakers, microphones), haptic devices, etc. Note that the user interface input and output devices are shown as part of the system 300 as an integrated system. In some cases, such as in a laptop computer, this can be the case where the keyboard and input elements and the display and output elements are integrated on the same host computing device. In some cases, as shown in FIG. 1, the input devices and output devices can be separate from the system 300. Numerous modifications, variations, and alternative implementations will be apparent to those skilled in the art in light of this disclosure. Figure 1 ​

[0070] It will be appreciated that the computing device 300 is illustrative and that variations and modifications are possible. The host computing device can have various functions not specifically described (e.g., voice communications via a cellular telephone network), and can include components suitable for such functions. While the computing device 300 is described with reference to particular blocks, it is to be understood that these blocks are defined for convenience and are not intended to imply a particular physical arrangement. For example, the processing subsystem 302, storage subsystem 306, user interfaces 314, 316, and communication interfaces 312 can be in one device or distributed across multiple devices. Also, these blocks can not correspond to particular physical components. Blocks can be configured to perform various operations, e.g., by programming a processor or providing appropriate control circuitry, and various blocks might be reconfigurable, depending on how an initial configuration is obtained. Embodiments of the present application can be implemented in a variety of devices including electronic devices using a combination of hardware and software. The system 300 can be used to implement a host computing device or even a peripheral device described herein.

[0071] Universal smart key switch and adapter

[0072] Contemporary trends in keying gaming devices (e.g., keyboards) include the use of analog key switches, which enable more functional options beyond the binary on / off states found in conventional mechanical variants. For example, some gaming keyboards now primarily implement three different types of switch detection, including (1) galvanic; (2) non-contact digital (e.g., optical); and (3) analog, and the new smart switch technology described herein is compatible with all three. The sensing technology can be integrated and typically soldered onto the main PCB and interfaced with each key structure (with analog key switches) to facilitate analog sensing. Certain embodiments of the invention integrate the sensing technology entirely within the key switch itself, which enables hot-swapping of the key switches to implement any desired sensing technology within the same keyboard, which enables the keyboard itself to remain compatible with galvanic switches on the market. Another benefit of the implementation of the smart switch as described herein is that the sensor can be located entirely within the key housing, so it is not sensitive to PCB or key frame displacement, which is a very common problem with contemporary gasket-mounted keyboards. Moreover, the modularity and upgradability of the smart switch concept brings some good advantages in terms of sustainability. Instead of replacing the entire keyboard, the switches can be easily replaced or upgraded. Notably, the main PCB of the keyboard is typically a major source of CO2. Moreover, failure of the analog sensor can be remedied by replacing the faulty key switch in question instead of replacing the entire keyboard. From the keyboard manufacturer’s perspective, the smart switch can enable multiple keyboard designs (e.g., ID or switch-mounted) very quickly based on a single stable platform. While the smart switch presents significant value due to its pluggability, the architecture and platform nature is also effective and valuable for soldered switches.

[0073] Accordingly, some embodiments include a keyboard having a mechanical keyboard key switch with an embedded sensing element (e.g., optical, inductive, magnetic, capacitive, etc.) that is generally configured to sense displacement of a sensing target (“target”) coupled to a plunger on the key switch, in addition to (or instead of) galvanic contact-based detection. In this case, the specific drive electronics for the sensing element are configured to generate a signal (e.g., analog or digital) containing plunger displacement information (e.g., magnitude of displacement, acceleration, etc.), which are also embedded on a substrate inside the key switch body, and the drive electronics and sensing element can be interfaced (e.g., powered, controlled, read, etc.) by the keyboard main circuitry (e.g., system 200), as further described below. In some cases, analog sensing functionality can also be implemented by a force sensor, as will be appreciated by one of ordinary skill in the art having the benefit of the present disclosure.

[0074] Figure 4AA bottom side of a conventional printed circuit board (PCB) 400 for a keying device is shown. The PCB 400 includes analog sensing circuitry 410 on the bottom side of the PCB 400 and a key switch 420 coupled to the top side of the PCB 400. The PCB 400 is conventional in design in that it includes some or all of the analog sensing circuitry on the PCB itself. For example, it can include an infrared (IR) emitter and a photodetector, where the IR emitter can direct light off of a reflective surface coupled to a key switch plunger, or through a path that can be blocked by a shutter that can be coupled to the key switch plunger. In such an implementation, the keyboard is limited to one particular sensing technology, as the sensing technology is integrated and hardwired to the PCB 400.

[0075] Figure 4B A smart key switch 450 with fully integrated analog sensing is shown, in accordance with certain embodiments. The smart key switch 450 can include a plunger 460, analog sensing circuitry 470, current contacts 480, and input / output (I / O) pins 490. The analog sensing circuitry 470 is fully integrated within the key switch 450, and enables replacement with a smart key switch having a different sensing technology (e.g., inductive versus optical), as there are no compatibility issues with any sensing technology that is already hardwired to a corresponding host PCB, as described further at least with respect to Figure 6B and Figure 7 as described further below. Thus, a smart key switch with inductive analog sensing fully integrated with the smart key switch can replace another smart key switch with optical analog sensing or other suitable analog sensing technology, and can be implemented in a modular fashion when coupled to a universal smart key switch adapter, as described further below at least with respect to Figure 11B Some embodiments can also switch out the analog sensing technology and target in a particular smart key switch in a modular fashion by replacing an internal PCB (described further below) on which the analog sensing circuitry is integrated, and by replacing the plunger to switch out the target, without having to replace the entire key body (housing) of the smart key switch. The smart key switch can save power and significantly reduce cost and material waste. For example, on a conventional keyboard, every dedicated analog sensor circuit configured under each key switch can not be used. In a keyboard with 100+ keys, the number of circuitry and associated power requirements can be significant. In contrast, the smart key switch has fully self-contained analog sensing, such that a user can utilize the smart key switch only on the keys (e.g., WASD keys) for which they want analog functionality. In addition to the above benefits, adding logic on the key switch itself can enable faster scan rates, as described further below with respect to the digital smart switch.

[0076] Figure 5AA conventional PCB 500 is shown, in which analog sensor circuitry 510 is configured and integrated at each keyswitch mounting location on the host PCB. Figure 5B A universal PCB 550 configured to receive standard or smart keyswitches on which analog sensor circuitry is not configured is shown, in accordance with certain embodiments. The universal PCB 550 includes universal socket mounting locations 560, each configured to receive a universal smart keyswitch adapter for modularly mounting / removing a smart keyswitch (see, e.g., Figure 11B ), and a controller 570 configured to facilitate driving and sensing lines to detect key presses in any of the keyswitchs on the keying device. The universal PCB 550 can accommodate both smart keyswitchs utilizing a 3-pin architecture as described herein and conventional mechanical (e.g., current draw) keyswitchs utilizing a standard 2-pin architecture as described further below. In some implementations, some sockets can have more than three pins, however such embodiments can not be cost effective nor optimal.

[0077] Figure 6A A progressive cutaway view of a 2-pin standard mechanical type keyswitch 600 is shown. The keyswitch 600 includes a plunger 610, an insert having a first mechanical (e.g., current draw) contact 620 having a first I / O pin and a second mechanical (e.g., current draw) contact 630 having a second I / O pin. The first mechanical contact 620 can include a protrusion that comes into contact with the second mechanical contact 630 when the plunger 610 is depressed. The protrusion can provide a resistance to the second mechanical contact 630 when the plunger 610 is depressed, resulting in a key press feedback profile (e.g., tactile, clicky, linear, etc.) based on the shape of the protrusion and the interaction between the first and second mechanical contacts. The first or second I / O pins can be coupled to a driver such that when the plunger is depressed and the first and second mechanical contacts come into contact, a circuit is closed, which can be detected and interpreted as a key press event. The keyswitch 600 can include a conventional 2-pin layout in which the first and second I / O pins are oriented to accommodate standard current draw keyswitchs, as will be appreciated by one of ordinary skill in the art.

[0078] Figure 6BA progressive cutaway view of a smart key switch 650 with fully integrated analog sensing is shown in accordance with certain embodiments. The smart key switch 650 includes a plunger 660, a PCB 670 with a first bifurcated I / O pin 672 and a second bifurcated I / O pin 674, a mechanical contact 680 coupled to the PCB 670, and a current I / O pin 690. The smart key switch 650 has three I / O pins, two of which (672, 674) are configured in the same orientation as the standard 2-pin layout of the key switch 600. The PCB 670 integrates analog sensing circuitry (e.g., IR emitter and phototransistor, inductive coil, etc.). The plunger 660 can include (directly or indirectly coupled thereto) a target that is sensed by the analog sensing circuitry of the PCB 670, which can include a reflector or shutter for optical sensing, a conductor for inductive sensing, a magnet for magnetic sensing, etc., as further described below at least with respect to FIG. 8. The first bifurcated I / O pin 672 is a multi-purpose I / O that can be used for analog or digital data transfer (e.g., input signal), for driving current circuitry (e.g., contact-based key detection), and for key identification, as further described below with respect to FIG. 8. The I / O pin 672 is bifurcated, with two conductive traces that are electrically isolated from one another. The second bifurcated I / O pin 674 is also a multi-purpose I / O that can be used for analog or digital data transfer (e.g., output signal) as well as for power (e.g., VCC) wiring. The PCB 670 can include a current contact 680, which can provide both haptic feedback (e.g., clicky, tactile, linear, etc. feedback profiles) as well as a conduction path for current key detection via the pin, I / O pin 674, and the current contact 690. In some implementations, the PCB 670 can be modular and losslessly removable, such that a user can change, for example, upgraded or different types of analog sensing technology, by simply replacing one PCB 670 with another. In the event that the sensing technology changes (e.g., optical IR / PT to Hall sensor), the plunger 660 can need to be changed (e.g., shutter to magnet) to include the appropriate target that matches the new sensing technology. From a manufacturing perspective, this can add value, as only the plunger and PCB can have to change between versions of the switch. Thus, the bottom and top shells of the switch can be produced in very high quantities and at lower cost. Figure 10 The PCB 670 can include a current contact 680, which can provide both haptic feedback (e.g., clicky, tactile, linear, etc. feedback profiles) as well as a conduction path for current key detection via the pin, I / O pin 674, and the current contact 690. In some implementations, the PCB 670 can be modular and losslessly removable, such that a user can change, for example, upgraded or different types of analog sensing technology, by simply replacing one PCB 670 with another. In the event that the sensing technology changes (e.g., optical IR / PT to Hall sensor), the plunger 660 can need to be changed (e.g., shutter to magnet) to include the appropriate target that matches the new sensing technology. From a manufacturing perspective, this can add value, as only the plunger and PCB can have to change between versions of the switch. Thus, the bottom and top shells of the switch can be produced in very high quantities and at lower cost.

[0079] Figure 7A smart key switch 750 with integrated analog sensing is shown according to some embodiments. The key switch 750 includes: a plunger 760; a substrate (e.g., a PCB) 770; a target 772 directly or indirectly coupled to the plunger 760; an analog sensing element 774 integrated with the substrate 770; a current contact 780; interface pins 790 (e.g., three I / O pins) including two branched pins (each pin enabling two signals) and supporting a total of five signals (e.g., GND, input, output, VCC, and current pins) on the three I / O pins; and drive electronics 776 integrated with the substrate 770 that can drive the analog sensing and facilitate key switch identification. Identification can be important because all key switches have the same interface pins, and the system needs to know which key switch it should correctly communicate with via onboard sensing technology. The key switch 750 can be... Figure 4B , Figure 6B and Figure 8 to Figure 10 The key switches shown are the same or similar (e.g., similar architectures with the same or different analog sensing circuitry systems on substrate 770). Target 772 can be any suitable target type corresponding to the analog sensing circuitry system of sensing element 774. For example, for optical sensing, target 772 can be a reflector or shutter coupled to plunger 770. For inductive sensing, target 772 can be a conductive element coupled to plunger 770. The following discusses... Figure 8A Further examples are presented. In addition to analog sensing, some implementations of the key switch 750 may include contact-based detection via the current contact 780, or may not include contact-based detection and only include analog sensing (e.g., the substrate 770 may or may not include the current contact 780).

[0080] Figure 8A Simplified circuit diagrams of various analog sensing circuits for smart key switches according to certain embodiments are shown. Figure 8A The non-limiting analog sensing circuits described include standard switch-contact-based detection 800, optical sensing 810, inductive sensing 820, and magnetic switch sensing 830, but other types are also possible.

[0081] The detection 800 based on standard switch contact may include current detection via a metal plate coupled to a first contact 804 (the “GALVA” pin on metal plate 802). When the plunger is pressed, a second contact 806 (the “IN” pin) makes mechanical and electrical contact with the first contact 804, thereby instantiating a contact-based key press, as will be understood by those skilled in the art who benefit from this disclosure. In addition to the analog sensing circuitry in a hybrid key switch architecture, this circuitry can also be incorporated into a smart key switch.

[0082] According to certain embodiments, the optical switch 810 can be a hybrid key switch with both current and optical analog sensing. The optical sensing can be implemented via one or more light emitting elements (e.g., infrared light emitting diodes (“IR LEDs”)) and one or more light detecting elements (e.g., photodetectors, phototransistors). The target can be coupled to the plunger and can include a reflector (e.g., reflecting light from the IR LED toward the photodetector) or a shutter (e.g., blocking light from the IR LED from reaching the photodetector). The position of the plunger and the corresponding target can affect the amount of light reaching the light detecting element, which can be correlated to the measured analog position of the plunger, as will be appreciated by one of ordinary skill in the art having benefit from this disclosure. The analog sensing circuitry, drive electronics, and current contacts can be mounted on a substrate (e.g., substrate 770) housed entirely within the hybrid key switch, as described above with respect to Figure 7 The drive electronics for analog sensing can include resistors, transistors, diodes, or other discrete or integrated components, as will be appreciated by one of ordinary skill in the art having benefit from this disclosure.

[0083] According to certain embodiments, the inductive switch 820 can be an analog-only key switch, or a hybrid key switch with both current and inductive analog sensing. The inductive sensing can be implemented via one or more self-inductors (e.g., coils). The target can be coupled to the plunger and can include a conductive element. The position of the plunger and the corresponding target can affect the amount of eddy current generated by the coil, which can be correlated to the measured analog position of the plunger, as will be appreciated by one of ordinary skill in the art having benefit from this disclosure. The analog sensing circuitry, drive electronics, and current contacts can be mounted on a substrate (e.g., PCB 770) housed entirely within the hybrid key switch, as described above with respect to Figure 7 The drive electronics for analog sensing can include resistors, transistors, diodes, or other discrete or integrated components, as will be appreciated by one of ordinary skill in the art having benefit from this disclosure.

[0084] According to certain embodiments, the magnetic switch 830 can be an analog-only key switch, or a hybrid key switch with both current and magnetic sensing. The magnetic sensing can be implemented via a Hall sensor. The target can be coupled to the plunger and can include a magnetic element. The position of the plunger and the corresponding target can affect the amount of magnetic field detected by the Hall sensor, which can be correlated to the measured analog position of the plunger, as will be appreciated by one of ordinary skill in the art having benefit from this disclosure. The analog sensing circuitry (e.g., Hall sensor in an integrated circuit (IC) package), drive electronics, and current contacts can be mounted on a substrate (e.g., PCB 770) housed entirely within the hybrid key switch, as described above with respect to Figure 7The described. The drive electronics for analog sensing can include resistors, transistors, diodes, or other discrete or integrated components, as will be appreciated by those of ordinary skill in the art having the benefit of the present disclosure.

[0085] Other analog sensing methods can be used in place of or in combination with the various analog sensing schemes described above. For example, among other techniques, serial keyswitches, daisy chain keyswitches, radio frequency (RF) keyswitches, and wireless keyswitches can be used, as shown in Figures 8B-8C For example, with serial keyswitches, current detection can be combined with mutual capacitance-based sensing elements, both of which can be integrated on a substrate (e.g., PCB 770), for example, with a digital sensor IC (e.g., ASIC) for drive electronics. Corresponding dielectric elements can be configured as targets. For example, with daisy chain keyswitches, current detection can be combined with time-of-flight (TOF) laser sensing elements, both of which can be integrated on a substrate (e.g., PCB 770), for example, with a digital sensor IC (e.g., ASIC) for drive electronics. Corresponding reflectors can be configured as targets. For example, with RF keyswitches, current detection can be combined with optical IR-PT sensing elements, both of which can be integrated on a substrate (e.g., PCB 770), for example, with a digital sensor IC (e.g., ASIC) for drive electronics. Corresponding reflectors or shutters can be configured as targets. For example, with wireless keyswitches like RF, current detection can be combined with TMR sensing elements, both of which can be integrated on a substrate (e.g., PCB 770), for example, with a digital sensor IC (e.g., ASIC) for drive electronics. In some cases, corresponding plastic (IME) can be used as a substrate to hold the electronics and sensors. Many modifications, variations, and alternative embodiments will be appreciated by those of ordinary skill in the art having the benefit of the present disclosure.

[0086] It should be noted that while many of the novel designs described herein are configured in a way to keep the pin count low, to have a simple interface (e.g., a socket) to connect to the key switches on a keyboard. For example, some non-ideal designs can include four signal switches (e.g., VCC, GND, IN, OUT) for identification, current reading, and motion sensor reading. However, the four signal version can have less than ideal issues with performance. For example, the motion sensor can only be driven when the key switch is closed (e.g., if the current fails, the system fails), the motion sensing signal can be subject to bounce of the current contact, and the identification will only work if the switch is closed. Thus, with the current channel (e.g., GALV OUT pin) separated from the motion sensor channel (e.g., IN pin), a five signal key switch can have functional benefits, meaning both can be read separately, and the identification is still linked with the IN pin. In some implementations, the switch can have more pins, which would make driving easier (e.g., each feature has its pin), but can add significant complexity in terms of socket / pin connection and size, and in terms of PCB wiring. The novelty described herein of having signals or I / O on the key switch with multiple functions is advantageous not only at the switch level (e.g., where IN is used for current drive, motion sensor drive, and identification), but also at the keyboard level (where row I / O is used for both current reading and power control of the switch).

[0087] Figure 9 A simplified block diagram 900 is shown presenting multiple design options for a smart key switch architecture, in accordance with certain implementations. At a high level, the block diagram 900 illustrates multiple design options in a smart key switch design that includes at least one mechanical keyboard key switch with an embedded sensing element configured to sense displacement of a target coupled to a plunger, in addition to or instead of current contact based detection, where all the specific driving electronics for the sensing element configured to generate an analog or digital signal containing plunger displacement information are also embedded on a substrate inside the switch body. The driving electronics and sensing element can be interfaced (e.g., powered, controlled, read) by the keyboard main circuitry.

[0088] Figure 10Identification features of intelligent key switches according to certain embodiments are shown. Circuit 1010 includes a switch, resistor R (or network thereof), capacitor C (or network thereof), where R can vary (e.g., 10K ohms to 100K ohms). Circuit 1010 can be used to identify a particular key switch based on a discharge time constant controlled by the values of R and C. Changing R in small increments (2K ohms to 5K ohms) between 10K ohms and 100K ohms will change the discharge time constant enough to measure differences between key switches, as shown in chart 1030. In some embodiments, a comparator network 1040 can be used across a group of key switches (e.g., grouped by column, row, or other suitable grouping) to determine when the voltage across the capacitor discharges below a threshold voltage. This discharge time can be used to identify the correct key switch that was activated (e.g., generated an analog output) during a key press event. In some embodiments, a resistive voltage divider internal to the intelligent switch can be used, as it can make identification fairly easy using an analog-to-digital converter (ADC) on the host processor. However, to implement a cost-effective KBD architecture, the number of ADCs and overall analog inputs will typically be curtailed. In some cases, digital identification can be used via an ASIC or MCU configured inside the key switch, where there is memory for storing switch information. This exchange of information between the switch and the MCU can be encrypted and used to authenticate the switch.

[0089] Figure 11A A standard socket 1110 for a conventional design and corresponding PCB 1100 are shown. As shown, the socket 1110 is mounted on the keyboard PCB 1100 and includes a two-pin interface in the conventional orientation and configuration, including a col pin 1112 and a row pin 1114. The socket 1110 can accommodate a standard two-pin current key switch for contact-based current sensing, as also shown. Figure 4A

[0090] Figure 11B A universal socket 1160 for an intelligent key switch and corresponding host keyboard PCB 1150 (or one of a plurality of local keyboard PCBs) according to certain embodiments are shown. The universal socket 1160 can be configured to be coupled to the PCB 1150 in the manner shown. The universal socket 1160 can be a hot-pluggable interface and can include a pin layout that is compatible with a variety of key switch technologies, including standard two-pin current key switches (e.g., Figure 11B ​​key switch), a smart key switch (as described in the present disclosure), etc. The universal socket 1160 can include a first forked I / O pin with two contacts 1162 / 1163, a second forked I / O contact pin with two contacts 1164 / 1165, and a current I / O pin 1166. The first forked I / O pin is a multipurpose I / O that can be used for analog or digital data transmission (e.g., input signals), for driving current circuits (e.g., contact-based key detection), and for key identification. The first forked I / O pin can be forked, with two conductive traces (contacts 1162 / 1163) electrically isolated from each other. In some embodiments, the first forked I / O pin can be configured to receive (e.g., electrically coupled to and secured to) Figure 6B the forked pin 672 or pin 674 of a smart key switch as described herein. The second forked I / O pin can be forked, with two conductive traces (contacts 1164 / 1165) electrically isolated from each other. In some embodiments, the second forked I / O pin can be configured to receive (e.g., electrically coupled to and secured to) Figure 6B the forked pin 672 or pin 674 of a smart key switch as described herein.

[0091] In summary, the universal socket 1160 has three I / O pins. When the universal socket 1160 is coupled to a conventional 2-pin key switch (e.g., see Figure 6A ), the combination of the current I / O pin 1166 and two contacts 1164 / 1165 (or 1162 / 1163) can operate as COL and ROW lines for driving and sensing as a conventional key switch. When the universal socket 1160 is coupled to a 3-pin smart key switch, as described herein (e.g., see Figures 6B-7 ), by utilizing the additional contacts to interface with the smart key switch including signals of GND, IN (input) data, OUT (output) data, current contact, and VCC, the first forked contact, the second forked contact, and the current contact can be configured to operate as shown in Figure 11B . The input data line can be a multipurpose I / O including driving IN signals, driving current pins, and for key switch identification. Some embodiments can employ additional pins and / or circuitry to facilitate any suitable functionality, including wireless communication with each key switch. Those of ordinary skill in the art having the benefit of the present disclosure will appreciate many modifications, changes, and alternatives.

[0092] Figure 12A simplified block diagram 1200 of a universal adapter (e.g., socket) is shown in accordance with certain embodiments. At a high level, the block diagram 1200 shows multiple design options in a universal key switch adapter design that includes aspects of a mechanical keyboard platform, where key switches can be mounted on a universal interface that allows any key switch sensing technology (e.g., current, light, magnetic, inductive, capacitive) to be used at any location on the keyboard. In this case, no sensing technology is mounted on the keyboard main PCB itself underneath the key switches. For any key switch sensing technology, the universal adapter and main keyboard PCB can drive and read information from each key switch's plunger position (e.g., with two or more values for that position) that is sensed internally from the key switch, as well as power the switch when needed. The signals sent to and / or received from the key switches can be digital or analog, or a combination thereof.

[0093] Figure 13 A simplified circuit diagram 1300 of a universal keyboard is shown in accordance with certain embodiments. Figure 13 Some of the main functions of the circuit diagram shown can be implemented based on a matrix, in order to individually access each smart switch with the least number of lines / signals. Rows can be individually powered through a "virtual ground" (e.g., using a MOSFET for each switch, but controlled only by the row), and columns are selected directly through MCU GPIO. Then, the outputs of all smart switches can be connected together. Another implementation can use multiplexers, where rows are scanned through MUX, however this can require more time (e.g., MUX channel switching) and increase system cost. Some implementations use a MOSFET for each switch, which can be on the main PCB. A virtual GND MOSFET can also be located within the switch. In order to still be able to quickly read the current switch state (e.g., for current switches or hybrid switches), the row implementation is enabled to allow the same pin to be used for current preparation and switch addressing (through the virtual ground explained above).

[0094] Figure 14 A graph plotting dynamic scan sampling rates for different scan methods is shown in accordance with certain embodiments. A benefit of a smart switch is that it can be individually addressed. Hardware (HW) features allow firmware (FW) to decide which key switch to sample, and only when needed. This method is based on three stages: (1) scan the current matrix to know which keys are pressed; (2) sample only for the analog or digital values for the keys that are pressed. Typically, analog keyboards can require very long scan times due to the analog nature of the signal (need for ADC) and the number of switches that need to be scanned. The individual dynamic scan method allows for very high reporting rates when only a limited number of switches are pressed. This means that if the number of keys pressed at the same time is limited (e.g., <10), the smart switch dynamic scan is significantly faster than typical implementations.

[0095] Figure 15 A universal host PCB with additional power contacts, 3-pin receptacle, switch for backlight, and alignment features is shown in accordance with certain embodiments. The additional power contacts can include exposed pads (e.g., GND or VCC) that can be used, for example, for an “always on” switch or module. The 3-pin receptacle can include holes for the receptacle. The switch for backlight can have LED pads on the host PCB. The alignment features can be holes for plastic pins and can be used, for example, to protect the electrical connector pins and, for example, to be compatible with standard 5-pin switches.

[0096] Additional alternative embodiments

[0097] In some embodiments, the various smart switches described herein place the substrate (e.g., PCB) vertically inside the housing of the key structure. Alternatively, some embodiments can utilize a horizontally oriented substrate configured underneath the key structure. In some aspects, the substrate can also be kept separate underneath the switch but can add thickness. The horizontally oriented design can be compatible with contemporary sensor designs and can use various switch designs including, but not limited to, analog switches with magnetic, optical, capacitive, inductive fields, or other analog switches that would be understood by one of ordinary skill in the art with the benefit of this disclosure. Some benefits of the module design are that the switch can avoid typical keyboard design issues such as gasket tolerances and stack-up tolerances. In some cases, the metal pins can be more robust than the PCB pins of the smart switch.

[0098] Figures 16A-16D Different configurations of key switch designs are shown in accordance with certain embodiments, where the bottom case thickness is replaced or supplemented with a substrate (e.g., PCB) and, in some cases, while maintaining similar overall key switch height. In Figure 16A , a standard current design is shown for reference. In Figure 16B , a PCB embedded switch with magnetic type switch is shown. In Figure 16C , a PCB embedded switch with optical type switch is shown. In Figure 16D , a PCB embedded switch with inductive type switch is shown.

[0099] Referring to reference Figure 16A , the key switch includes a housing 1600, a plunger 1610, a biasing mechanism 1620 (e.g., spring), and current contacts 1650 for a current switch. The housing 1600 can be coupled to a PCB 1630. The PCB 1630 can include a receptacle 1640 configured to receive pins from the key switch, such as described above, for example, with respect to Figure 11B , Figure 15 , and Figures 18A-18BThe socket 1640 can be operable to at least partially secure the key switch to the PCB 1630. The plunger can be depressed within the housing 1600 along a range of motion. The biasing mechanism 1620 can operate to provide a resistance feedback profile and a return force to return the depressed plunger to a neutral, undepressed position (as shown). Figure 16A A current type switch is shown. Figures 16B-16D The key switch can be an analog key switch with or without a current type switch (with or without a current contact 1650).

[0100] In some example implementations, a key switch (generally referred to herein as a key structure) can include a housing 1600 and a plunger 1610 extending from a top side of the housing and configured to be depressed and travel within the housing along a range of motion. In some aspects, the housing can contain a horizontally oriented substrate 1660 configured on a bottom of the housing. A motion sensor system can be coupled to or embedded / integrated with the substrate 1660 and contained within the housing. The motion sensor system can be configured to detect movement of the plunger along the range of motion and generate corresponding travel data that enables one or more processors (e.g., processor 210) to determine a position of the plunger along the range of motion. In some aspects, the substrate can include an in-mold electronics (IME) embedded therein that includes at least a portion of the motion sensor system. In certain implementations, the substrate and the housing are a unitary structure (e.g., the substrate is integrated with or in fact is the bottom of the housing). The substrate can also be a flexible film or an embedded PCB. Drive electronics can be configured to control the motion sensor system and can be contained within the housing of the key structure or held entirely or partially outside of the housing of the key structure. The motion sensor system can include optical sensors, mutual capacitance sensors, inductive sensors, magnetic sensors, or other suitable sensing technologies, as will be appreciated by one of ordinary skill in the art with the benefit of this disclosure.

[0101] In implementations where the motion sensor system includes magnetic sensors (e.g., see Figure 16B ), the substrate can include Hall effect sensors 1675 or tunneling magnetoresistance (TMR) sensors, the plunger can include a magnet 1670, and the strength of a magnetic field generated by the magnet can be detected by the Hall effect sensors or TMR sensors based on changes in the position of the plunger along the range of motion.

[0102] In some implementations where the motion sensor system includes an optical sensor system (e.g., see Figure 16C), the substrate can include a light emitting element 1680 and a light detecting element 1685, and the plunger can include a shutter 1688 (also referred to as a blocker) that blocks an amount of light from the light emitting element from reaching the light detecting element based on the position of the plunger along the range of motion. In some cases, the plunger includes a reflector (see, e.g., Figure 7 ) that reflects an amount of light from the light emitting element onto the light detecting element based on the position of the plunger along the range of motion.

[0103] In implementations where the motion sensor system includes an inductive sensor system (see, e.g., Figure 16D ), the substrate can include a current driver (also referred to as drive electronics - not shown) and an inductive coil 1690 driven by the current driver, where the plunger includes a conductive element and a magnetic field generated by the inductive coil varies based on the position of the plunger along the range of motion.

[0104] In implementations where the motion sensor system includes a mutual capacitance sensor (see, e.g., Figure 8B ), the substrate can include a plurality of conductive elements with mutual capacitance therebetween, a dielectric element coupled to the plunger, and a digital sensor integrated circuit configured to drive and read an amount of mutual capacitance between the plurality of conductive elements, where the strength of the mutual capacitance between the plurality of conductive elements varies based on the position of the plunger and the dielectric element relative to the plurality of conductive elements.

[0105] Figures 17A-17D Different configurations of key switch designs are shown in accordance with some implementations, where the substrate (e.g., PCB) can be separate underneath the key switch, but with increased thickness. In Figure 17A , a standard current design is shown for reference. In Figure 17B , a PCB-embedded switch with a magnetic type switch is shown. In Figure 17C , a PCB-embedded switch with an optical type switch is shown. In Figure 17D , a PCB-embedded switch with an inductive type switch is shown.

[0106] Referring to reference Figure 17A , reference Figure 17A is made to reference Figure 16A , the key switch includes a housing 1700, a plunger 1710, a biasing mechanism 1720 (e.g., a spring), and a current contact 1750 for a current switch. The housing 1700 can be coupled to a PCB 1730. The PCB 1730 can include a receptacle 1740 configured to receive a pin from the key switch, as described above, e.g., with respect to Figure 11B , Figure 15 , and Figures 18A-18BThe socket 1740 can be operable to secure the key switch to the PCB 1730 at least in part, and in some cases through an intermediate PCB 1760 (including a sensing system), as further described below. The plunger can be depressed within the housing 1700 along a range of motion. The biasing mechanism 1720 can operate to provide a resistance feedback profile and a return force to return the depressed plunger to a neutral, undepressed position (as shown). Figure 17A A current type switch is shown. Figures 17B-17D The key switch can be an analog key switch with or without a current type switch (with or without a current contact 1650).

[0107] In some example implementations, a key switch (generally referred to herein as a key structure) can include a housing 1700 and a plunger 1710 coupled to the housing and configured to be depressed and travel within the housing 1700 along a range of motion. A horizontally oriented substrate 1760 can be coupled to an exterior bottom of the housing 1700. A motion sensor system can be coupled to (or integrated with and / or embedded in) the substrate and configured to detect movement of the plunger along the range of motion and generate corresponding travel data that enables one or more processors to determine a position of the plunger along the range of motion. The substrate can include in-mold electronics embedded therein, the IME including at least a portion of the motion sensor system. The substrate can be a flexible membrane, an embedded printed circuit board, or other suitable implementation. The substrate can also include drive electronics configured to control the motion sensor system.

[0108] In implementations where the motion sensor system includes a magnetic sensor (see, e.g., Figure 17B ), the substrate can include a Hall effect sensor 1775 or a tunneling magnetoresistance (TMR) sensor, the plunger can include a magnet 1770, and a strength of a magnetic field generated by the magnet can be detected by the Hall effect sensor or the TMR sensor based on changes in a position of the plunger along the range of motion.

[0109] In some implementations where the motion sensor system includes an optical sensor system (see, e.g., Figure 17C ), the substrate can include a light emitting element 1780 and a light detecting element 1785, and the plunger can include a shutter 1788 (also referred to as a blocker) that blocks an amount of light from the light emitting element from reaching the light detecting element based on a position of the plunger along the range of motion. In some cases, the plunger includes a reflector (see, e.g., Figure 7 ) that reflects an amount of light from the light emitting element onto the light detecting element based on a position of the plunger along the range of motion.

[0110] In embodiments where the motion sensor system comprises an inductive sensor system (e.g., see Figure 17D ), the substrate can comprise a current driver (also referred to as drive electronics - not shown) and an inductive coil 1790 driven by the current driver, wherein the plunger comprises an electrically conductive element and the magnetic field generated by the inductive coil varies based on the position of the plunger along the motion range.

[0111] In embodiments where the motion sensor system comprises a mutual capacitance sensor (e.g., see Figure 8B ), the substrate can comprise a plurality of electrically conductive elements with mutual capacitance therebetween, a dielectric element coupled to the plunger, and a digital sensor integrated circuit configured to drive and read the amount of mutual capacitance between the plurality of electrically conductive elements, wherein the strength of the mutual capacitance between the plurality of electrically conductive elements varies based on the position of the plunger and the dielectric element relative to the plurality of electrically conductive elements. It should be noted that any of the embodiments described herein (e.g., Figures 16A-17D ) can utilize any of the sensing technologies described herein (e.g., see Figures 8A-8C ).

[0112] Figures 18A-18B Pin positions in side-by-side comparison between smart switch (as described throughout this disclosure) and PCB-embedded switch are shown in accordance with certain embodiments. Figure 18A Small vertical orientation PCB with multiple contact pins is shown. Figure 18B Small horizontal orientation PCB with multiple contact pins is shown.

[0113] SUMMARY OF CERTAIN EMBODIMENTS

[0114] (1) Smart switch = housing + plunger + motion sensor + substrate (“PCB in switch”)

[0115] a) Motion sensor

[0116] i. Digital / Analog sensing only

[0117] 1. Analog output:

[0118] a. Magnetic (Hall, TMR,...), inductive, capacitive, optical,

[0119] Resistance

[0120] 2. Digital output:

[0121] a. Magnetic (Hall, TMR,...), inductive, capacitive, optical ii. Hybrid implementation

[0122] 1. Current contact built-in in housing in addition to analog sensing

[0123] 2. Possible current contact before or after analog / digital sensing

[0124] a. Current contact triggered as soon as the user starts touching in order to initiate / wake up the motion sensor throughout the range of motion of the switch

[0125] 3. Current contact can happen simultaneously with analog / digital sensing

[0126] b) Alternative sensors

[0127] i. The smart switch can also include a force detection sensor

[0128] (1) Force sensing can be done at the bottom of the switch

[0129] (2) Force sensing can be done at the keycap level

[0130] c) Substrate with electrical traces and ability to solder active components

[0131] (1) The switch includes one or more substrates (PCB)

[0132] (2) Substrate with motion sensors mounted vertically and / or horizontally

[0133] (3) Electronics

[0134] (1) With or without drive electronics in the switch

[0135] (2) With or without a processor in the switch

[0136] (4) Motion + drive electronics can be a single custom ASIC

[0137] (1) Motion + drive + processor combination in a single ASIC.

[0138] (Allowing extremely high refresh rates)

[0139] d) The smart switch can also include active haptic feedback

[0140] e) The smart switch architecture can be used for hot-swappable implementations, but is also valid for soldered switches. (Allowing keyboard manufacturers to quickly release variants of a keyboard, preventing re-certification for release, etc. CE / FCC)

[0141] f) The smart switch can also include one or more RGB lighting features.

[0142] g) The smart switch can be done in a low-profile or high-profile mechanical switch.

[0143] (2) Keyboard switch with identification features

[0144] 1. Allow switch / technology specific communication protocols, which can be important for the smart switch platform / architecture

[0145] 2. Same wire used to drive analog motion sensor and to identify switch type.

[0146] 3. Identification can be done with resistors that limit the discharge current to provide different RC constants between switch types.

[0147] 4. Identification features can be based on on-board memory

[0148] 5. Identification can be encrypted and used for switch authentication

[0149] 3) 3+ pin universal socket

[0150] 1. Three pin socket with two aligned pins, while preserving two standard pins (compatible with standard sockets)

[0151] (1) 2 aligned pins allow for simple substrate (e.g. PCB) to slide into the housing.

[0152] 2. Additional power plane (ground or supply) that can be placed under the switch to easily "always on" power connection through connectors (e.g. pogo pins, etc.)

[0153] 4) Five signals on three pins

[0154] 1. Substrate used as connection interface to the main PCB

[0155] 2. Two sides of the PCB / substrate carry different signals

[0156] 3. Substrate connection pins can even be more complex and each pin carries even more signals 2+.

[0157] 5) Electronic circuit / schematic for multiple switch type interfaces

[0158] 1. All smart switches can be individually addressed

[0159] (1) They can all be individually powered

[0160] (2) They can all share the same output

[0161] (3) They can all be powered simultaneously.

[0162] 2. Communication

[0163] (1) Four signal solution with current connection internal analog drive signal (input)

[0164] (2) Five signal solution with separate analog & current

[0165] (3) Five + signal solution

[0166] (4) Communication can be daisy chained between switches

[0167] 6) Single key dynamic scanning

[0168] 1. Scan through keys that are off using only analog function with current input detection.

[0169] 2. In comparison to typical analog scanning methods, individually addressed keys allow for extremely high refresh rates.

[0170] 7) New type of HMI on keyboard slot

[0171] 1. Socket can be used as an interface for other types of inputs: knobs, touch buttons, joysticks, rocker, 2D touch panel, fingerprint sensor, RFID (NFC) reader in switch, lighting features, proximity sensor, etc.

[0172] 2. Secure switch with encrypted key for KB or computer login / authentication

[0173] 8) Multi-slot keyboard module for new type of HMI

[0174] 1. Socket capable of mounting modules larger than one slot

[0175] 2. When multiple slots are used, the communication path is enhanced and allows for additional communication protocols (e.g. communicate with one input device via multiple slots)

[0176] 3. Potential modules: display (e.g. E-Ink, OLed), pusher, rocker, knob, fingerprint sensor, environmental sensors, microphone, speaker, trackpad, etc.

[0177] 9) Wireless smart switch

[0178] 1. Smart switch can be implemented by socket for power, but communication can be done wirelessly

[0179] 2. Power can also be done "wirelessly" through induction.

[0180] 3. Keyboard can not need a main MCU, where all wireless keys communicate directly with the host.

[0181] Digital smart switch

[0182] By default, some embodiments can have no processor in the keyswitch. However, some embodiments with an on-board processor can have a motion sensor + processor in the keyswitch for digital communication with the processor, and can set the activation threshold (or detection algorithm) directly on the keyswitch processor. Thus, the value position can be processed and only an on / off provided to the main MCU, rather than transmitting an analog value (which can be slower to process by the main MCU on the main PCB). This means that there is no longer a limit by the main MCU ADC conversion speed (which typically reduces the reporting rate to 1-2 kHz), but a very high reporting rate of 16 kHz or even 32 kHz can be achieved. In some aspects, all of the above can be integrated in a custom ASIC.

[0183] Non-switching module

[0184] In some aspects, additional ground pads can be added to the top side of the PCB to support the addition of spring pins to the smart switch. Some smart keyswitches with more complex switch systems can include a knob on top (e.g., a rotary encoder), a joystick on top, etc. Such larger switches can use multiple socket slots (e.g., can still be mounted in the universal socket described above, but above multiple socket slots), and can include features such as a joystick on top, an analog fader, an OLED or e-ink screen, a touch panel, etc. Many modifications, variations, and alternative embodiments will be apparent to those of ordinary skill in the art, in light of this disclosure.

[0185] Miscellaneous design considerations

[0186] In some embodiments, drive electronics for driving a motion sensor (e.g., Figure 7 ) can be in the housing, as presented above, however some implementations can have the drive electronics, or a portion thereof, outside of the keyswitch housing. In some cases, as will be appreciated by one of ordinary skill in the art with the benefit of this disclosure, any suitable substrate can be used for the keyswitch, including a PCB, a flexible PCB, a film, an IMF, or other substrate with electrical traces. In some cases, the motion sensor system can alternatively or additionally include a force sensor system using FSRs, strain gauges, etc. Some embodiments can use capacitive sensing, inductive sensing, optical sensing, magnetic sensing, or other suitable methods capable of motion sensing. As will be appreciated by one of ordinary skill in the art with the benefit of this disclosure, some embodiments using magnetic sensing can use Hall effect sensors, TMR sensors, etc.

[0187] Most implementations utilize at least one network that supports communications using any of a variety of commercially-available protocols, such as TCP / IP, UDP, OSI, FTP, UPnP, NFS, CIFS, etc., as is conventionally known by those of skill in the art. The network can be, for example, an intranet, the Internet, a virtual private network, an extranet, a local area network, a wide area network, a wireless network, a public switched telephone network, an infra-red network, a wireless network, a public switched telephone network, an infra-red network, a wireless network, and any combination thereof.

[0188] In embodiments utilizing a web server as an operations server or a security server, the web server can run any of a variety of server or mid-tier applications, including HTTP servers, FTP servers, CGI servers, data servers, Java servers, and business application servers. The server(s) also can be capable of executing programs or scripts in response requests from user devices, e.g., by executing one or more applications that can be implemented as one or more scripts or programs written in any programming language, such as Java, C, C# or C++, or any scripting language, such as Perl, Python or TCL, as well as combinations thereof. The server(s) can also include database servers, including without limitation those commercially available from Oracle®, Microsoft®, Sybase®, IBM® (as provided within DB2®, Informix®, etc.), Microsoft® SQL Server, PostgreSQL, Apache, MySQL, etc.

[0189] Such devices also can include a computer-readable storage media reader, a communications device (e.g., a modem, a network card (wireless or wired), an infrared communication device, etc.), and working memory as described above. The computer- readable storage media reader can be connected with a non-transitory computer-readable storage medium, or the like, such that the system can read information from and write information to the non-transitory computer-readable storage medium. The computer-readable storage medium can include, for example, an optical disk available from ASUS®. THOR™, HP®, YAMAHA™, MAXTOR™, SEAGATE™, SAMSUNG™, QUANTUM™, TOSHIBA™, IBM®, CONNER™, DELL™, HP®, PANASONIC™, or WESTERN DIGITAL™, a floppy disk available from DELL™, a flexible disk available from IOMEGA™, a hard disk drive, an array of disks, magnetic tape or cassette, or a compact disk, or the like. The computer-readable storage medium also can include a solid-state drive (SSD) or a flash drive, such as those available from ASTOR™, ADATA™, CRUCIAL™, HP®, KINGSTON™, PNY™, SANDISK™, or TOSHIBA™. The communications device can enable the system to communicate with a personal device or server, for example, over the Internet with an application provider, or the like. The working memory can include a RAM or ROM device, as described above. The system also can include a communications device or network interface card, a sound or video card, a modem, a scanner, or the like, as is conventionally known.

[0190] ​​​Many specific details are set forth herein to provide a thorough understanding of the claimed subject matter. However, it will be understood by those skilled in the art that the claimed subject matter can be practiced without these specific details. In other instances, methods, apparatuses or systems that would be known by one of ordinary skill have not been described in detail in order to not obscure the claimed subject matter. The various embodiments shown and described are merely examples to illustrate various features of the claims. However, the features shown and described in relation to any given embodiment are not necessarily limited to that embodiment and can be used with or in combination with other embodiments shown and described. Furthermore, the claims are not intended to be limited by any one example embodiment.

[0191] While the subject matter has been described in detail with respect to specific embodiments thereof, it will be understood that those skilled in the art, upon attaining an understanding of the foregoing, can readily produce alterations, variations and equivalents thereto without departing from the scope and spirit of the subject matter. Accordingly, it is to be understood that the disclosure is presented by way of example and not limitation, and that other embodiments can come within the scope and spirit of the subject matter. Indeed, the methods and systems described herein can be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein can be made without departing from the spirit of the disclosure. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the disclosure.

[0192] While the disclosure provides certain example embodiments and applications, other embodiments that would be apparent to one of ordinary skill in the art, including embodiments that do not provide all of the features and advantages set forth herein, are intended to be within the scope of this disclosure. Accordingly, the scope of the disclosure is intended to be defined only by reference to the appended claims.

[0193] Unless specifically stated otherwise, discussions herein using terms such as "processing," "computing," "calculating," "determining," and "identifying," or the like, refer to actions or processes of a computing device, such as one or more computers or a similar electronic computing device or devices, that manipulate or transform data represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the computing platform.

[0194] The system or systems discussed herein are not limited to any particular hardware architecture or configuration. A computing device can include any suitable arrangement of components that provides a result conditioned on one or more inputs. Suitable computing devices include a multipurpose microprocessor-based computer system accessing stored software that programs or configures the computing system from a general-purpose computing apparatus to a special- purpose computing apparatus implementing one or more embodiments of the subject matter. The teachings contained herein can be implemented in software, in firmware, or in one or more of hardware components such as a combination of the two. Any suitable programming, scripting, or other type of language or combinations of languages can be used to implement the teachings contained herein in software to be used in programming or configuring a computing device for a special purpose.

[0195] Embodiments of the methods disclosed herein can be performed in the operation of such computing devices. The order of presentation of the blocks in the above examples can be varied— e.g., blocks can be reordered, combined, and / or split into sub-blocks. Certain blocks or processes can be performed in parallel.

[0196] Conditional language used herein, such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used by those of ordinary skill in the art, is generally intended to convey that certain examples include, while other examples do not include, certain features, elements, and / or steps. Thus, such conditional language is not generally intended to imply that one or more examples are required to include a feature, element and / or step in order to be deemed to be within the scope of the one or more examples. It will be understood that any described features, elements, and / or steps can be provided alone or in any combination of one or more features, elements and / or steps.

[0197] The terms “comprises,” “comprising,” “includes,” “including,” “has,” “such as,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, in a list of two or more items, that item like “or” is an inclusive word that means elements drawn from the list can be included individually, or any combination of two or more items can be included. The use of “adapted to” or “configured to,” herein means open and inclusive language that does not foreclose additional devices or steps not specifically mentioned. Additionally, the use of “based on” means that the process, step, operation, or other action can be based, at least in part, on a recited value or condition, but that the process, step, operation, or other action can also be based on additional values or conditions not recited. Similarly, the use of “based at least in part on” means that the process, step, operation, or other action can be based, at least in part, on a recited value or condition, but that the process, step, operation, or other action can also be based on additional values or conditions not recited. The headings, lists, and numbering herein are for convenience only and are not intended to be limiting.

[0198] The various features and processes described above can be used independently of one another or can be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of the present disclosure. In addition, certain method or process blocks can be omitted in some implementations. The methods and processes described herein are also not limited to any particular order or sequence, and the blocks or states relating thereto can be performed in other suitable orders or sequences. For example, blocks or states described in succession can be performed at the same time or can be performed in an order other than the order in which they are described. Multiple blocks or states can be combined into a single block or state. Some example blocks or states can be performed in series, in parallel, or in some other manner. Blocks or states can be added to or removed from the disclosed examples. Similarly, the example systems and components described herein can be configured differently than described. For example, elements can be added, removed, or rearranged.

Claims

1. A bond structure, comprising: case; A plunger that extends from the top side of the housing and is configured to be pressed down and travel along a range of motion; A horizontally oriented substrate, wherein the horizontally oriented substrate is disposed at the bottom of the housing; as well as A motion sensor system coupled to the substrate and contained within the housing, the motion sensor system being configured to detect movement of the plunger along the range of motion and generate corresponding travel data, the travel data enabling one or more processors to determine the position of the plunger along the range of motion.

2. The bond structure according to claim 1, wherein, The substrate includes an in-mold electronics (IME) embedded therein, the IME comprising at least a portion of the motion sensor system.

3. The bond structure according to claim 1, wherein, The substrate and the housing are an integral structure.

4. The bond structure according to claim 1, wherein, The substrate is a flexible film.

5. The bond structure according to claim 1, wherein, The substrate is an embedded printed circuit board (PCB).

6. The key structure of claim 1, further comprising drive electronics configured to control the motion sensor system.

7. The bond structure according to claim 6, wherein, The driving electronics are contained within the housing of the key structure.

8. The bond structure according to claim 6, wherein, The driving electronics are located outside the housing of the key structure.

9. The bond structure according to claim 1, wherein, The motion sensor system includes: Optical sensors; Mutual capacitance sensor; Inductive sensor; or Magnetic sensor.

10. The bond structure according to claim 9, wherein, When the motion sensor system includes an optical sensor, the substrate includes: Light-emitting elements; and Optical detection element, and The plunger includes a shutter, which blocks a certain amount of light from the light-emitting element from reaching the light-detecting element based on the position of the plunger along the range of motion.

11. The bond structure according to claim 9, wherein, When the motion sensor system includes an optical sensor, the substrate includes: Light-emitting elements; and Optical detection element, and The plunger includes a reflector that reflects a certain amount of light from the light-emitting element onto the light-detecting element based on the position of the plunger along the range of motion.

12. The bond structure according to claim 9, wherein, When the motion sensor system includes an inductive sensor, the substrate includes: Current driver; and The induction coil driven by the current driver, The plunger includes a conductive element, and The magnetic field generated by the induction coil changes based on the position of the plunger along the range of motion.

13. The bond structure according to claim 9, wherein, When the motion sensor system includes a magnetic sensor, the substrate includes: Hall effect sensor or tunnel magnetoresistive (TMR) sensor, The plunger includes a magnet, and The strength of the magnetic field generated by the magnet, detected by the Hall effect sensor or the TMR sensor, changes based on the position of the plunger along the range of motion.

14. The bond structure according to claim 9, wherein, When the motion sensor system includes a mutual capacitance sensor, the substrate includes: Multiple conductive elements, wherein the multiple conductive elements have mutual capacitance; Dielectric element, the dielectric element being coupled to the plunger; and A digital sensor integrated circuit, configured to drive and read the amount of mutual capacitance between the plurality of conductive elements. The strength of the mutual capacitance among the plurality of conductive elements varies based on the position of the plunger and the dielectric element relative to the plurality of conductive elements.

15. The bond structure according to claim 9, wherein, The key structure also includes a current contact for current switching.

16. A bond structure, comprising: case; A plunger coupled to the housing and configured to be pressed down and travel within the housing along a range of motion; A horizontally oriented substrate, the horizontally oriented substrate being coupled to the outer bottom of the housing; as well as A motion sensor system coupled to the substrate and configured to detect movement of the plunger along the range of motion and generate corresponding travel data, the travel data enabling one or more processors to determine the position of the plunger along the range of motion.

17. The bond structure according to claim 16, wherein, The substrate includes an in-mold electronics (IME) embedded therein, the IME comprising at least a portion of the motion sensor system.

18. The bond structure according to claim 16, wherein, The substrate is a flexible film.

19. The bond structure according to claim 16, wherein, The substrate is an embedded printed circuit board (PCB).

20. The bond structure according to claim 16, wherein, The substrate also includes drive electronics configured to control the motion sensor system.

Citation Information

Patent Citations

  • Partial scanning in a hybrid switch array

    US12119187B1