Analog input device, computing system, and method for receiving and processing analog input
By using analog pressure sensors and analog-to-digital converters in the input device to convert pressure changes into analog signals, the problem of insufficient functions and accuracy of existing input devices is solved, and more precise input control and flexible user operation is achieved.
Patent Information
- Application Number
- CN201980081438.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-12-13
- Filing Date
- 2019-10-17
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2039-10-17
AI Technical Summary
Existing input devices can only output binary signals, limiting the implementation of functions and user intentions, especially when more precise control is required.
An analog input device is designed, using analog pressure sensors and analog-to-digital converters to convert pressure changes into analog signals, and transmit data packets to the host processor through processors and communication interfaces to achieve more precise input control.
More refined control of the input signal is realized, corresponding predetermined application events can be generated in the application, and the flexibility and accuracy of user operations are enhanced.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 779,006, filed on December 13, 2018, the entire contents of which are incorporated herein by reference for all purposes. Technical Field
[0003] Various embodiments generally relate to analog input devices, computing systems for receiving and processing analog input, and methods of processing analog input for computer systems. In particular, various embodiments generally relate to force-sensitive or pressure-sensitive analog input devices. Background Art
[0004] Conventionally, input devices such as game controllers, game pads, keyboards, or mice include buttons or keys connected to digital switches. These digital switches only output binary signals and limit the achievable functions of the input device and possible user intent. For example, in games, a larger granularity of input may be preferred for more precise control of the magnitude of a character's speed, direction, movement, action, etc. Such control is not usually achievable with binary input devices.
[0005] Therefore, a more effective input device is needed to solve the above problems. Summary of the invention
[0006] According to various embodiments, an analog input device is provided. The analog input device may include at least one mounting panel. The analog input device may include a matrix of analog button assemblies mounted to the at least one mounting panel, each analog button assembly including an analog pressure sensor. The analog pressure sensor of the analog input device may include a pressure receiving device having an optical sensing sub-device configured to measure an amount of light that varies according to a pressure sensed at the pressure receiving device and an output terminal for outputting an analog signal corresponding to the measured amount of light. The analog pressure sensor of the analog input device may include a plunger element configured to apply the pressure to the pressure receiving device when the analog button assembly is pressed by a user's finger. The analog input device may also include a multiplexer, the multiplexer including an input side and an output side, wherein the input side is coupled to the output terminals of the matrix of analog button assemblies. The analog input device may also include an analog-to-digital converter coupled to the output side of the multiplexer. The analog input device may also include a processor coupled to the analog-to-digital converter and configured to output a data packet including a button identification (ID) of the button assembly pressed by the user's finger and a digital step value corresponding to the analog signal from the button assembly. The analog input device may also include a communication interface configured to transmit the data packet to a host computing device.
[0007] According to various embodiments, a computing system for receiving and processing analog input is provided. The computing system may include a host processor. The computing system may include an input device as described herein, the input device being connected to the host processor via the communication interface. The host processor may be configured to receive a data packet from the input device, determine a depression amount of a button component based on a digital step value corresponding to the analog signal from a corresponding button component, and generate a corresponding predetermined application event in the application based on the determined depression amount of the corresponding button component and an input setting for the application.
[0008] According to various embodiments, a method of processing analog input for a computing system as described herein is provided. The method may include generating an analog signal via the pressure receiving device, the analog signal corresponding to the amount of light measured as a measure of the pressure applied to the pressure receiving device when the button component is pressed by a user's finger. The method may include digitizing the analog signal into a corresponding digital step value via the analog-to-digital converter. The method may include outputting the data packet via the processor, the data packet including a button identification (ID) of the button component pressed by the user's finger and a digital step value corresponding to the analog signal from the button component. The method may include transmitting the data packet from the processor of the input device to the host processor of the computing system via the communication interface. The method may include determining, via the host processor, an amount of depression of the corresponding button component based on the corresponding digital step value from the received data packet. The method may include generating, via the host processor, the corresponding predetermined application event in the application based on the determined amount of depression of the corresponding button component and the input setting for the application. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] In the accompanying drawings, like reference numerals generally refer to the same parts throughout the different views. The accompanying drawings are not necessarily drawn to scale, but emphasis is generally placed on illustrating the principles of the invention. In the following description, various embodiments are described with reference to the following drawings, in which:
[0010] Figure 1 A schematic diagram illustrating an analog input device according to various embodiments;
[0011] Figure 2 A schematic diagram illustrating an analog input device according to various embodiments;
[0012] FIG. 3A to FIG. 3D Shown according to various embodiments Figure 1 and Figure 2 Various examples of light blocking elements simulating cutout profiles of input devices;
[0013] Figure 4 A schematic diagram illustrating a computing system 401 for receiving and processing analog input according to various embodiments;
[0014] Figure 5 A schematic diagram illustrating a computing system having an emulated keypad as an emulated input device according to an embodiment; and
[0015] Figure 6 and Figure 7 Schematic diagrams showing other computing systems with analog input devices according to various embodiments. DETAILED DESCRIPTION
[0016] The embodiments described below in the context of an apparatus are analogously valid for the corresponding method, and vice versa. Furthermore, it will be appreciated that the embodiments described below may be combined, for example parts of one embodiment may be combined with parts of another embodiment.
[0017] It should be understood that the terms "upper", "above", "top", "bottom", "lower", "side", "rear", "left", "right", "front", "lateral", "sideways", "upward", "downward", etc., when used in the following description, are used for convenience and to assist in understanding relative positions or directions, and are not intended to limit the orientation of any device or structure, or any part of any device or structure. In addition, the singular forms "a", "an", and "the" include plural referents unless the context clearly indicates otherwise. Similarly, the word "or" is intended to include "and" unless the context clearly indicates otherwise.
[0018] As described herein, a processor (or processing unit or host processing unit or host processor, etc.) may be understood as any kind of logical implementation entity, which may be a dedicated circuit or processor that executes software, firmware, or any combination thereof stored in memory. Thus, a processor may be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor (e.g., a programmable logic controller (PLC)), for example, a microprocessor (e.g., a complex instruction set computer (CISC) processor or a reduced instruction set computer (RISC) processor). A processor may also be a processor that executes software, such as any kind of computer program, such as a computer program using a virtual machine code such as, for example, Java.
[0019] Various embodiments generally relate to analog input devices. Specifically, various embodiments generally relate to force-sensitive analog input devices or pressure-sensitive analog input devices. According to various embodiments, the input device may include, but is not limited to, a controller, a keypad, a keyboard, a mouse, a joystick, or a steering wheel. According to various embodiments, the input device may include a matrix of analog buttons or keys, each of which may be configured to vary an input signal based on the amount of pressing force or pressure applied by a user to a corresponding analog button or key. Therefore, the corresponding analog button or key may provide a variable force-sensitive or pressure-sensitive analog input according to the force or pressure applied to the analog button or key. According to various embodiments, varying the amount of pressing force or pressure applied to the corresponding analog button or key may vary the range or degree of pressing experienced by the analog button or key. Therefore, varying the range or degree of pressing of the corresponding analog button or key may vary the analog output signal of the corresponding analog button or key from the analog input device. According to various embodiments, the analog output signal may be processed by a processor to generate a corresponding application event in an application.
[0020] Various embodiments generally relate to a computing system for receiving and processing analog inputs and a method for processing analog inputs for a computer system. A computing system may refer to an information handling system or a functional system capable of performing a large number of calculations. A computing system may include a processing unit, a random access memory, a disk storage, an input device, and an output device, among others. According to various embodiments, a computing system may include a host processor and an analog input device of various embodiments. According to various embodiments, a user may provide an analog input via an analog input device, so that an analog input signal may be sent to a host processor via the analog input device, and the host processor may process the analog input signal to generate a corresponding application event in response to the analog input signal and provide a corresponding output. The corresponding output may include, but is not limited to, text and / or graphic display, sound, lighting, or tactile feedback.
[0021] The following examples pertain to various embodiments.
[0022] Example 1 is an analog input device, comprising:
[0023] at least one mounting panel;
[0024] a matrix of analog button assemblies mounted to the at least one mounting panel, each analog button assembly comprising an analog pressure sensor, wherein the analog pressure sensor comprises:
[0025] a pressure receiving device having an optical sensing sub-device configured to measure an amount of light that varies according to pressure sensed at the pressure receiving device and an output terminal for outputting an analog signal corresponding to the measured amount of light; and
[0026] a plunger element configured to apply the pressure to the pressure receiving device when the simulated button assembly is pressed by a user's finger;
[0027] a multiplexer comprising an input side and an output side, wherein the input side is coupled to the output terminals of the matrix of the analog button assembly;
[0028] an analog-to-digital converter coupled to the output side of the multiplexer;
[0029] a processor coupled to the analog-to-digital converter and configured to output a data packet including a button identification (ID) of the analog button assembly pressed by the user's finger and a digital step value corresponding to the analog signal from the button assembly; and
[0030] A communication interface is configured to transmit the data packet to a host computing device.
[0031] In Example 2, the subject matter of Example 1 can optionally include an analog filter electrically coupled between the pressure sensor and the analog-to-digital converter.
[0032] In Example 3, the subject matter of Example 1 or 2 can optionally include a lighting device comprising at least one light source controlled by the processor.
[0033] In Example 4, the subject matter of any one of Examples 1 to 3 can optionally include: the analog signal being an analog voltage.
[0034] In Example 5, the subject matter of any one of Examples 1 to 4 may optionally include: the pressure receiving device may include a biasing element, which is arranged between the plunger element and the at least one mounting panel and the biasing element biases the plunger element away from the at least one mounting panel in a biasing direction.
[0035] In Example 6, the subject matter of Example 5 may optionally include: the optical sensing sub-device may include:
[0036] a light emitter disposed at an intermediate height between the plunger element and the at least one mounting panel and oriented to emit light along a light path perpendicular to a biasing direction of the biasing element;
[0037] a light sensor disposed in the light path and configured to generate the analog signal based on the amount of light sensed by the light sensor for output via the output terminal; and
[0038] a light blocking element associated with the plunger element in a manner movable with the plunger element along a movement direction parallel to the biasing direction and extending toward the mounting panel to intersect the optical path between the light emitter and the optical sensor, wherein the light blocking element includes a cutout profile that varies an amount of light passing through the light blocking element as the light blocking element moves laterally across the optical path when the plunger element moves toward the at least one mounting panel.
[0039] Example 7 is a computing system for receiving and processing analog input, the computing system comprising:
[0040] a host processor; and
[0041] The input device of any one of examples 1 to 6, connected to the host processor via the communication interface,
[0042] The host processor is configured to receive the data packet from the input device, determine the amount of pressing of the button component based on the digital step value corresponding to the analog signal from the corresponding button component, and generate a corresponding predetermined application event in the application based on the determined amount of pressing of the corresponding button component and the input setting for the application.
[0043] In Example 8, the subject matter of Example 7 can optionally include: the host processor can be further configured to transform the determined depression amount onto a non-linear scale before generating the corresponding predetermined application event.
[0044] In Example 9, the subject matter of Example 7 or 8 can optionally include: the corresponding predetermined application event can include a continuously variable action, and wherein the host processor is configured to generate a state of the continuously variable action according to the determined pressing amount.
[0045] In Example 10, the subject matter of Example 7 or 8 may optionally include: the corresponding predetermined application event may include a discrete action, and wherein the host processor is configured to generate the discrete action when the determined amount of press is equal to or greater than a preset press level.
[0046] In Example 11, the subject matter of Example 7 or 8 may optionally include: the corresponding predetermined application event may include a first discrete action and a second discrete action, and wherein the host processor is configured to generate the first discrete action when the determined press amount is equal to a first preset press level or between the first preset press level and the second preset press level, and to generate the second discrete action when the determined press amount is equal to or greater than the second preset press level.
[0047] In Example 12, the subject matter of any one of Examples 7 to 11 may optionally include: the host processor may be configured to switch between a first input setting and a second input setting for the application based on a user input command via a physical modifier key or a virtual modifier key, and wherein a first corresponding predetermined application event associated with the first input setting is different from a second corresponding predetermined application event associated with the second input setting.
[0048] Example 13 is a method of processing analog input for a computing system according to claim 7, the method comprising:
[0049] generating an analog signal via the pressure receiving device, the analog signal corresponding to an amount of light measured as a measure of pressure applied to the pressure receiving device when the button assembly is pressed by a user's finger;
[0050] digitizing the analog signal into a corresponding digital step value via the analog-to-digital converter;
[0051] outputting, via the processor, the data packet, the data packet including a button identification (ID) of the button assembly pressed by the user's finger and a digital step value corresponding to the analog signal from the button assembly;
[0052] transmitting the data packet from the processor of the input device to the host processor of the computing system via the communication interface;
[0053] determining, via the host processor, the depression amount of the corresponding button component based on the corresponding digital step value from the received data packet; and
[0054] The corresponding predetermined application event is generated in the application via the host processor based on the determined amount of depression of the corresponding button component and the input setting for the application.
[0055] In Example 14, the subject matter of Example 13 can optionally include transforming the determined depression amount onto a non-linear scale before generating the corresponding predetermined application event.
[0056] In Example 15, the subject matter of Example 13 or 14 may optionally include: the corresponding predetermined application event may include a continuously variable action, and wherein generating the corresponding predetermined event may include generating a state of the continuously variable action according to the determined pressing amount.
[0057] In Example 16, the subject matter of Example 13 or 14 may optionally include: the corresponding predetermined application event may include a discrete action, and wherein generating the corresponding predetermined event may include generating the discrete action when the determined press amount is equal to or greater than a preset press level.
[0058] In Example 17, the subject matter of Example 13 or 14 may optionally include: the corresponding predetermined application event may include a first discrete action and a second discrete action, and wherein generating the corresponding predetermined event may include generating the first discrete action when the determined press amount is equal to a first preset press level or between the first preset press level and the second preset press level, and generating the second discrete action when the determined press amount is equal to or greater than the second preset press level.
[0059] In Example 18, the subject matter of any of Examples 13 to 17 may optionally include switching between a first input setting and a second input setting for the application based on a user input command via a physical modifier key or a virtual modifier key, and wherein a first corresponding predetermined application event associated with the first input setting is different from a second corresponding predetermined application event associated with the second input setting.
[0060] Figure 1 A schematic diagram of an analog input device 100 according to various embodiments is shown. According to various embodiments, the analog input device 100 may include at least one mounting panel 110. According to various embodiments, the at least one mounting panel 110 may be part of an internal support structure of the analog input device 100. According to various embodiments, the at least one mounting panel 110 may also be an internal printed circuit board (PCB) of the analog input device 100. According to various embodiments, the analog input device 100 may include a matrix of analog button assemblies 120 mounted to the at least one mounting panel 110. According to various embodiments, the analog input device 100 may include two or more or more analog button assemblies 120. For example, when the analog input device 100 is a mouse, the analog input device 100 may include two or more analog click buttons. When the analog input device 100 is a keypad having 15 to 25 keys, the analog input device 100 may include up to 15 to 25 analog keys. When the analog input device 100 is a game controller having four or more buttons, the analog input device 100 may include two or three or four or more analog buttons. When the analog input device 100 is a keyboard, the analog input device 100 may include a plurality of analog keys.
[0061] According to various embodiments, each simulated button assembly 120 may include a pressure sensor 121 having a plunger element 122 and a pressure receiving device 124. The plunger element 122 may interact with the pressure receiving device 124 in a manner that applies pressure or force to the pressure receiving device 124 when the simulated button assembly 120 is being pressed by a user's finger. According to various embodiments, the pressure sensor 121 may be a single-key switch that may be exchanged or may be a non-separable integrated built-in device of the simulated input device 100. According to various embodiments, each simulated button assembly 120 may include a button cap 123 that may be removably coupled or fixedly coupled to the plunger element 122 of the pressure sensor 121. According to various embodiments, the button cap 123 may be a thin shell having an input surface for receiving a user's fingertip. Therefore, the button cap 123 may be ergonomically shaped for receiving a fingertip.
[0062] According to various embodiments, the pressure receiving device 124 of each analog button assembly 120 may include an optical sensing sub-device 125, which is configured to measure the amount of light that changes according to the pressure or force sensed at the pressure receiving device 124. Therefore, pressing the analog button assembly 120 can apply a corresponding pressure or force to the pressure receiving device 124, which can change the amount of light sensed by the optical sensing sub-device 125. According to various embodiments, the amount of light can be changed by changing the range of light blocked by the light blocking element 134 in proportion to the pressure or force on the pressure receiving device 124. According to various embodiments, the pressure receiving device 124 may include an output terminal 133, which is used to output an analog signal corresponding to the measured amount of light. Therefore, the measured amount of light can be output as an analog signal. According to various embodiments, the amount of light can be the intensity of light.
[0063] According to various embodiments, the pressure receiving device 124 may include a biasing element 126. The biasing element 126 may be arranged between the plunger element 122 and at least one mounting panel 110. The biasing element 126 may bias the plunger element 122 away from the at least one mounting panel 110 in a biasing direction. Therefore, the biasing element 126 may provide resistance to the pressure or force that causes the simulated button assembly 120 to be pressed. According to various embodiments, the biasing element 126 may include a spring or elastic membrane structure or other suitable element, structure or configuration that can return the plunger element 122 to an original or initial position after being pressed. According to various embodiments, the biasing element 126 may be directly or indirectly connected between the plunger element 122 and at least one mounting panel 110. According to various embodiments, the pressure receiving device 124 may include a housing mounted to at least one mounting panel 110, and the plunger element 122 may be slidable through a top plate of the housing. The button cap 123 may be coupled to the plunger element 122 so as to be movable relative to the housing. The biasing element 126 may bias the plunger element 122 away from the bottom plate of the housing in a biasing direction so as to indirectly bias the button cap 123 away from the at least one mounting panel 110 .
[0064] According to various embodiments, the optical sensing sub-device 125 of the pressure receiving device 124 may include a light emitter 130. The light emitter 130 may be disposed at an intermediate height between the plunger element 122 and at least one mounting panel 110. The light emitter 130 may be oriented to emit light along an optical path 131 that is perpendicular to the bias direction of the biasing element 126. Thus, the optical path 131 of the light emitted from the light emitter 130 may be substantially perpendicular to the direction in which at least one simulated button assembly 120 is pressed by a user. According to various embodiments, the light emitter 130 may be a laser light emitter or a collimated light emitter. According to various embodiments, the intermediate height between the plunger element 122 and at least one mounting panel 110 may be a position along the height between the maximum pressing of the mounting panel 110 and the plunger element 122.
[0065] According to various embodiments, the optical sensing sub-device 125 of the pressure receiving device 124 may include a light sensor 132. The light sensor 132 may be disposed in the optical path 131, and may be configured to output an analog signal based on the amount of light sensed by the light sensor 132, so as to be output via the output terminal 133. Therefore, the light sensor 132 may be placed in a position directly facing the light emitter 130. Therefore, the light emitter 130 and the light sensor 132 may be arranged in a relative manner so that the light from the light emitter 130 is directly projected straight toward the light sensor 132. According to various embodiments, the light sensor 132 may detect the intensity of light incident on the light sensor 132 and output an analog signal according to the intensity of the detected light. According to various embodiments, the light sensor 132 may include, but is not limited to, a phototransistor type light sensor, a photoresistor type light sensor, or a photodiode type light sensor. According to various embodiments, the analog signal from the light sensor 132 may be an analog voltage or an analog current.
[0066] According to various embodiments, the optical sensing sub-device 125 of the pressure receiving device 124 may include a light blocking element 134. The light blocking element 134 may be associated with the plunger element 122 in a manner that it can move along a moving direction parallel to the biasing direction with the plunger element 122. The light blocking element 134 may extend toward the mounting panel 110 to intersect with the optical path 131 between the light emitter 130 and the optical sensor 132. According to various embodiments, the light blocking element 134 may be directly or indirectly coupled to the plunger element 122. According to various embodiments, the light blocking element 134 may have an elongated shape and may extend downward toward the mounting panel 110. According to various embodiments, the light blocking element 134 may be positioned in a manner such that the moving path of the light blocking element 134 may intersect with the optical path 131 between the light emitter 130 and the optical sensor 132 due to the simulated button assembly 120 being pressed by the user. According to various embodiments, when the pressure receiving device 124 includes a housing and the plunger element 122 is slidable through a top plate of the housing with the button cap 123 coupled to the plunger element 122 , the light blocking element 134 may be coupled to the plunger element 122 so as to be movable together with the button cap 123 .
[0067] According to various embodiments, the light blocking element 134 may include a cutout profile. FIG. 3A to FIG. 3D Various embodiments of the cutout profile 136 of the light blocking element 134 are shown. As the light blocking element 134 moves laterally across the light path 131 when pressure or force is applied to push the button cap 123 toward at least one mounting panel 110, the cutout profile 136 of the light blocking element 134 can cause the amount of light passing through the light blocking element 134 to vary. Therefore, depending on the movement of the plunger element 122 due to the pressure or force on the pressure receiving device 124, the cutout profile 136 of the light blocking element 134 can cause the degree of obstruction of the light path 131 to vary. According to various embodiments, the cutout profile 136 of the light blocking element 134 can include, but is not limited to, a triangular shape (see Figure 3A ), or a frustoconical shape (see Figure 3B ), or trumpet-shaped (see Figure 3C ), or an arc shape (see Figure 3D ), or any other suitable shape that can change the amount of light passing therethrough as the light blocking element 134 moves to intersect the light path 131. According to various embodiments, the light blocking element 134 may include an elongated plate having a cutout profile 136, and may be configured to move longitudinally to intersect the light path 131 as a user applies pressure or force to push the button cap 123.
[0068] According to various embodiments, the analog input device 100 may include a multiplexer 138 having an output side and an input side. According to various embodiments, the input side of the multiplexer 138 may be coupled to the output terminal 133 of the matrix of the analog button assembly 120. Thus, the multiplexer 138 may receive multiple analog signals from the matrix of the analog button assembly 120 and provide a single output. According to various embodiments, the analog button assembly 120 of the analog input device 100 may be coupled to the multiplexer 138 via a matrix connection.
[0069] According to various embodiments, the analog input device 100 may include an analog-to-digital converter (ADC) 140. The ADC 140 may be coupled to the output side of the multiplexer 138. Thus, the ADC 140 may receive an analog signal from the multiplexer 138 and may be configured to discretize the analog signal into corresponding digital step values. According to various embodiments, the multiplexer 138 may be electrically coupled to the ADC 140 so that the analog signal output from the multiplexer 138 may be sent to the ADC 140 for conversion into readable data. According to various embodiments, the ADC 140 may convert the analog signal of continuous time and continuous amplitude from the multiplexer 138 into digital step values of discrete time and discrete amplitude. According to various embodiments, the ADC 140 may perform the conversion at a predetermined sampling interval. According to various embodiments, the total number of discrete digital step values for the range of the analog signal from the light sensor 132 may be based on the resolution of the ADC 140. According to various embodiments, the digital step value may be an integer from 0 to N, where N is 1 less than a power of 2. Thus, each integer of the digital step value may represent a corresponding amplitude of the analog signal from the light sensor 132 .
[0070] According to various embodiments, the analog input device 100 may include a processor 142. The processor 142 may be connected to the ADC 140 in a manner to receive a digital step value. The processor 142 may be configured to output a data packet including a button identification (ID) of the analog button assembly 120 pressed by the user's finger and a digital step value corresponding to an analog signal from the analog button assembly 120. According to various embodiments, the processor 142 and the ADC 140 may communicate digitally with each other. Therefore, the digital step value converted by the ADC 140 may be digitally transferred from the ADC 140 to the processor 142. According to various embodiments, the processor 142 may receive various information data from the ADC 140 and / or the pressure receiving device 124 and / or the pressure sensor 121, and may arrange, compile and / or format the various information data including the button identification (ID) and the digital step value into a formatted data string for transmission. According to various embodiments, the formatted data string may be in the form of a USB (Universal Serial Bus) HID (Human Interface Device) vendor report.
[0071] According to various embodiments, the analog input device 100 may include a communication interface 144. The communication interface may be wired or wireless. The communication interface 144 may be connectable to a host computing device. The communication interface 144 may be configured to transmit data packets from the processor 142 to the host computing device. According to various embodiments, the wired communication interface 144 may include a USB connector or a multi-pin electrical connector. According to various embodiments, the wireless communication interface 144 may include an infrared (IR) communication interface, a radio frequency (RF) communication interface, a Bluetooth communication interface, or a Wi-Fi communication interface. According to various embodiments, the host computing device may be a computer or a programmable machine or a programmable electronic device, to which a peripheral device such as the input device 100 may be connected and direct the operation of the peripheral device, the peripheral device including a driver for an input / output device connected to the host computing device.
[0072] According to various embodiments, the ADC 140 and the processor 142 may be separate elements of the analog input device 100. According to various embodiments, the ADC 140 and the processor 142 may be integrated into a single microcontroller 150.
[0073] Figure 2 Schematic diagram of an analog input device 200 according to various embodiments is shown. According to various embodiments, Figure 2 The analog input device 200 includes Figure 1 Therefore, it is suitable for Figure 1 All features, changes, modifications and variations of the analog input device 100 may also be applied to Figure 2 According to various embodiments, Figure 2 The analog input device 200 is connected to Figure 1 The analog input device 100 may differ in that, Figure 2 The analog input device 200 may also include the following additional features and / or limitations.
[0074] According to various embodiments, Figure 2 The analog input device 200 may further include a filter 260. The filter 260 may be electrically coupled between the pressure sensor 121 and the analog-to-digital converter 140. The filter 260 may be configured to reduce noise in the analog signal from the pressure sensor 121. According to various embodiments, the filter 260 may include a low-pass filter.
[0075] According to various embodiments, Figure 2The analog input device 200 may further include a storage element 270. The storage element 270 may be coupled to the processor 142 and may store instructions for execution by the processor 142. According to various embodiments, the storage element 270 may be a memory. According to various embodiments, the memory may include, but is not limited to, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or a flash memory.
[0076] According to various embodiments, Figure 2 The simulated input device 200 may further include an illumination device 280, the illumination device 280 including at least one light source controlled by the processor 142. According to various embodiments, the illumination device 280 may include a backlight for at least one simulated button assembly 120, and / or underglow lighting for the simulated input device 200. According to various embodiments, the processor 142 may be configured to control the illumination device 280 based on an illumination sequence and / or pattern stored in the storage element 270. According to various embodiments, the processor 142 may receive instructions from a host computing device to which the simulated input device 200 is connected. According to various embodiments, the processor 142 may prioritize control of the illumination device 280 based on the instructions received from the host computing device over the illumination sequence and / or pattern stored in the storage element 270. According to various embodiments, the processor 142 may overwrite or replace the illumination sequence and / or pattern stored in the storage element 270 with a new illumination sequence and / or pattern based on the instructions received from the host computing device.
[0077] Figure 4 1 shows a schematic diagram of a computing system 401 for receiving and processing analog input according to various embodiments. According to various embodiments, the computing system 401 may include a host processor 402 and a ( Figure 1 and / or Figure 2According to various embodiments, the host processor 402 may be a central processing unit of the host computing device 404. According to various embodiments, the host processor 402 may receive data packets from the analog input devices 100, 200. According to various embodiments, the host processor 402 may interpret the input data packets from the analog input devices 100, 200 and execute programmed instructions based on the interpreted input data packets. According to various embodiments, the host processor 402 may determine the amount of depression of the button cap 123 of the analog button assembly 120 based on the digital step value corresponding to the analog signal from the corresponding analog button assembly 120. According to various embodiments, the host processor 402 may determine the amount of depression of the button cap 123 of the corresponding button assembly 120 via performing calculations or mathematical processing or mapping or table lookup operations or other suitable processing techniques. According to various embodiments, the host processor 402 may generate a corresponding predetermined application event in the application based on the determined amount of depression of the button cap 123 of the corresponding button assembly 120 and the input settings for the application. According to various embodiments, the corresponding predetermined application event may be a programmed action or occurrence triggered by the application in response to or recognition of a determined amount of depression of the button cap 123 of the corresponding button assembly 120. According to various embodiments, the input setting for the application may be a mapping of the predetermined application event to a matrix of simulated button assemblies 120 and the corresponding amount of depression. According to various embodiments, the input setting may be a predefined setting in the application. According to various embodiments, the input setting may be a user-definable or configurable setting that the user may change or alter in the application accordingly based on user preferences and usage.
[0078] According to various embodiments, the host processor 402 may also be configured to transform the determined amount of depression of the button cap 123 of the corresponding button assembly 120 to a non-linear scale before generating the corresponding predetermined application event. According to various embodiments, the non-linear scale may include a logarithmic scale or a variable scale. According to various embodiments, with the determined amount of depression of the button cap 123 of the corresponding button assembly 120 translated to a non-linear scale, the analog input device 100 may be configured to respond more actively in a lower, middle, or higher range of depression. According to various embodiments, the translation to a non-linear scale may allow a user to customize their own settings based on the desired responsiveness of the analog input device 100 to suit their personal use.
[0079] According to various embodiments, the corresponding predetermined application event may include a continuously variable action. For example, in a game, the continuously variable action may include a magnitude for a character's speed, direction, movement, action, etc. According to various embodiments, the host processor may be configured to generate a state of the continuously variable action according to the determined amount of pressing of the button cap 123 of the corresponding button assembly 120.
[0080] According to various embodiments, the corresponding predetermined application event may include a discrete action. For example, the discrete action may be a binary action such as on or off. According to various embodiments, the host processor may be configured to generate a discrete action when the determined amount of depression of the corresponding button assembly 120 is equal to or greater than the preset depression level of the corresponding button assembly 120. Therefore, the input device may act as a normal binary input device, such as a typing keyboard or a numeric keypad. According to various embodiments, in the case of a preset depression level of the button cap 123 of the corresponding button assembly 120, the actuation point or trigger point of the corresponding button assembly 120 may be configured or programmed. Therefore, the corresponding button assembly 120 may be configured or programmed to generate a discrete action with a desired depression amount. Therefore, the corresponding button assembly 120 may trigger a discrete action without requiring a full depression of the button cap 123 of the button assembly 120. According to various embodiments, the preset depression level of the button cap 123 of the corresponding button assembly 120 may be a user-defined input. Therefore, the host processor 402 may be configured to receive and store a user-defined input as a preset depression level of the button cap 123 of the corresponding button assembly 120.
[0081] According to various embodiments, the corresponding predetermined application event may include a first discrete action and a second discrete action. According to various embodiments, the host processor may be configured to generate the first discrete action when the determined amount of pressing of the button cap 123 of the corresponding button assembly 120 is equal to the first preset pressing level of the button cap 123 of the corresponding button assembly 120 or between the first preset pressing level of the button cap 123 of the corresponding button assembly 120 and the second preset pressing level of the button cap 123 of the corresponding button assembly 120. According to various embodiments, the host processor may be configured to generate the second discrete action when the determined amount of pressing of the button cap 123 of the corresponding button assembly 120 is equal to or greater than the second preset pressing level of the button cap 123 of the corresponding button assembly 120. Therefore, a single button assembly 120 may be configured to trigger two or more different discrete actions by presetting two or more different pressing ranges for triggering corresponding discrete actions. According to various embodiments, each of the first preset pressing level and the second preset pressing level of the button cap 123 of the corresponding button assembly 120 may be a corresponding user-defined input. Thus, the host processor 402 can be configured to receive and store the user-defined input as a first preset depression level and a second preset depression level of the button cap 123 of the corresponding button assembly 120 .
[0082] According to various embodiments, the host processor may be configured to switch between a first input setting and a second input setting for an application based on a user input command via a physical modifier key or a virtual modifier key. According to various embodiments, a first corresponding predetermined application event associated with the first input setting may be different from a second corresponding predetermined application event associated with the second input setting. For example, in a game, the first input setting may be a first mapping of combat-related predetermined application events to a matrix of the simulated button assembly 120, and the second input setting may be a second mapping of driving-related predetermined application events to a matrix of the simulated button assembly 120.
[0083] Hereinafter, a gaming keypad is described as an example of the analog input device 100 according to various embodiments.
[0084] Gaming keypads combine the benefits of a keyboard with the compact and ergonomic size of a controller. A typical gaming keypad contains 15 to 25 keys designed to be controlled by the user's fingers. These keys are laid out in a manner similar to that of a keyboard's numeric keypad to implement various functions such as direction and navigation (up, down, left and right), changing weapons, jumping or shooting. However, the keys in a conventional keypad are connected to digital switches that only output binary signals, thereby limiting the achievable functions of the keypad and possible user intent.
[0085] Example embodiments address these issues by using analog switches that output analog signals and corresponding algorithms that process the signals sent from the individual keys of the keypad at a host computer that is connected to the keypad wirelessly or via USB. The analog keypad provides an enhanced input method with greater granularity that gives mechanical keyboards the precision control typically found in devices such as game controllers, steering wheels, and aviation joysticks. By processing the signal from each key at the host computer, latency is reduced and faster response is achieved. In addition, upgrading the processing solution by handling it in software provides users with flexibility in key mapping.
[0086] Figure 5 A computing system 501 is shown with an emulated keypad 500 as an emulated input device, according to an embodiment.
[0087] By way of example, the simulated keypad 500 may include a plurality of simulated switches 510 (or simulated pressure sensors) each disposed below a key 540, a microcontroller 520 including a processor and memory, and an analog-to-digital converter (ADC) 530. The simulated switches 510 may be based on opto-mechanical switch technology and output different analog signals depending on the pressure or force applied to the key or the displacement of the key compared to the unpressed position. The ADC 530 may convert the analog signal into a digital signal and send the digital signal to the microcontroller to pre-process the data. The simulated keypad 500 may be connected to a host computer 504 wirelessly or via USB. The host computer may receive the pre-processed data from the microcontroller and perform calculations to determine the pressure or force applied to one or more keys and proceed with the action to be taken.
[0088] The firmware can be maintained in a memory 530 (or storage element) such as a ROM, EPROM or flash memory to provide control over the switches and translate the analog signals sent from each analog switch to the host computer so that the host computer can further process the signals or data to implement the corresponding functions.
[0089] In an example embodiment, when a user presses a key (or button assembly) to a specific distance, the firmware can register this event and the event will be read by the microcontroller. Different events can be registered for different distances at which the key is pressed. The microcontroller can constantly monitor the keys on the keypad via scanning, which can happen many times per second. The firmware can register when the key is pressed and to what distance the key is pressed, and quickly perform the process of translating the key press from physical contact into an electrical signal and then outputting it to the host computer.
[0090] By way of example, an analog switch (or pressure sensor) may be located under each key. The analog switch may include a light emitter, a chopper (or light blocking element) disposed in the light path, and a light receiver (or light sensor). The path along which the light travels may be substantially parallel to the surface of the keycap (or button cap). The amount of light that can be detected by the light receiver may be affected by the position of the chopper, which may be further determined by the distance by which the key is pressed downward by the pressure or force applied to the keycap. Since the displacement of the key is proportional to the pressure or force applied, and the amount of light passing through the chopper may be related to the displacement of the key, the amount of light detected by the light receiver may also be related to the pressure or force applied to the key. Thus, the amount of light indicates the pressure or force applied to the key. For example, a spring (or biasing element) under the key may be configured to allow the displacement of the keycap from a top position to a bottom position, which is proportional to the pressure or force applied to the key. The light receiver outputs analog data based on the intensity of the detected light, and the analog data is further processed by the microcontroller before being sent to the host computer.
[0091] In an example embodiment, when two direction keys representing the x direction and the y direction are pressed down at the same time, the analog switch under the first key may output a first analog signal having a first amplitude, and the analog switch under the second key may output a second analog signal having a second amplitude. The ADC converts the first amplitude and the second amplitude as analog signals into digital signals based on a calibration set having a predetermined digital range with a minimum value and a maximum value, and sends the digital signals to the microcontroller. In an example embodiment, one or more filters filter the analog signals based on a predetermined digital range and send the filtered analog signals to the ADC so as to reduce noise in one or more of the analog signals from the force-sensitive keys (or pressure-sensitive keys).
[0092] The microcontroller can further process the digital signal sent by the ADC and convert the digital signal into a code (or format) that the host computer can understand. For example, when the simulated keypad is connected to the host computer via USB, the converted code is a USB code. The conversion is usually performed using a lookup table. The table is also a table that defines the keyboard layout. The host computer receives the codes of each key from the simulated keypad and, for example, calculates the addition of the codes and then determines the direction of movement. The host computer can further adjust the actuation point of the switch. In addition, the host computer can change the function of the key based on the amount of pressure or force applied to the keycap.
[0093] Figure 6 and Figure 7 Schematic diagrams of other computing systems 601, 701 with analog input devices according to various embodiments are shown. Figure 6 , "Analog Output Switch" 610 represents switching hardware that can generate different signal levels according to different pressures or forces, "ADC" 630 represents an analog-to-digital conversion module, a module that converts analog signals into digital data, and "Analog Data Compression" 650 is the compression of received data into encrypted / small packets to send back to the host CPU 604 for analog data translation. According to various embodiments, the "peripheral hardware" will only collect raw analog data, compress it and send it back to the host PC via the USB interface for data decompression and conversion. All analog conversions for gaming applications can be performed in the host PC.
[0094] The simulated keypad 500 mentioned above is shown as an example embodiment of an input device. Other input devices such as a mouse, keyboard, or controller with simulated switches are also suitable. One or more features of the input device other than computer games can be advantageously incorporated for many other applications when translating user intent into a form that can be interpreted by any type of computing device, including but not limited to personal computers, entertainment systems, industrial computing systems, shorthand devices, medical computing systems, and other computing devices.
[0095] According to various embodiments, an input device for providing input to a computing device is provided. The input device may include at least one input key or button. At least one input key or button may include an input surface to receive a depressing force or pressure applied by a user. At least one input key or button may include a switch interaction component to interact with an analog switch. At least one input key or button may include an analog switch to receive an interaction with the interaction component, whereby the analog switch detects a property as a function of the amount of depressing force or pressure applied by the user.
[0096] According to various embodiments, the input device may be a keyboard with multiple input keys, or a keypad with multiple input keys, or a mouse with two or more click buttons, or a game controller with multiple input keys or buttons.
[0097] According to various embodiments, the input surface may be a keycap on a top surface of the key, and the switch interaction assembly may be attached to a bottom surface of the key.
[0098] According to various embodiments, the analog switch may be located beneath the key and may interface with a switch interaction component attached to the bottom surface of the key.
[0099] According to various embodiments, the switch may include a light emitter, a light receiver, and a chopper, whereby the light emitter may emit light received by the light receiver in an optical path substantially parallel to a surface of the keycap, wherein the chopper may be disposed between the light emitter and the light receiver.
[0100] According to various embodiments, the interactive component can be configured to interface with the chopper to move the chopper within the optical path and affect the amount of light passing through the chopper and received by the optical receiver, and wherein the property detected by the analog switch is the amount of light received by the optical receiver.
[0101] According to various embodiments, the amount of movement of the chopper within the optical path may be a function of the amount of depression force or pressure applied by the user.
[0102] Various embodiments have provided analog input devices that can provide greater granularity of input in an efficient and simple manner. Various embodiments have also provided analog input devices whereby data processing will be performed by the host computing device at the same time as the analog input device will just send analog data. In other words, the main data operations are performed by the host computing device at the same time as the analog input device only performs minimal preprocessing of the analog signal for sending to the host computing device. Therefore, the manufacturing cost of the analog input device can be significantly reduced, and the analog data processing performance can be increased. Various embodiments have provided analog input devices that have redefined conventional input devices. According to various embodiments, the analog input device can give more options to the end user. According to various embodiments, the analog input device of the computing system can provide definable trigger points (or configurable actuation points), more than one trigger point that allows a single key to have multiple functions (or a single key / button has multiple actuation points for multiple events), and / or joystick / flight control stick / drive wheel / game controller function mapping.
[0103] Although the present invention has been specifically shown and described with reference to specific embodiments, it will be appreciated by those skilled in the art that various changes, modifications, variations in form and detail may be made in the present invention without departing from the scope of the present invention as defined by the appended claims. The scope of the present invention is therefore indicated by the appended claims, and is therefore intended to include all changes that fall within the equivalent meaning and scope of the claims.
Claims
1. An analog input device, comprising: at least one mounting panel; a matrix of analog button assemblies mounted to the at least one mounting panel, each analog button assembly comprising an analog pressure sensor, wherein the analog pressure sensor comprises: a pressure receiving device having an optical sensing sub-device configured to measure an amount of light that varies according to pressure sensed at the pressure receiving device and an output terminal for outputting an analog signal corresponding to the measured amount of light; and a plunger element configured to apply the pressure to the pressure receiving device when the simulated button assembly is pressed by a user's finger; a multiplexer comprising an input side and an output side, wherein the input side is coupled to the output terminals of the matrix of the analog button assembly; an analog-to-digital converter coupled to the output side of the multiplexer, wherein the analog-to-digital converter converts the analog signal into a digital step value, the digital step value being an integer; a processor coupled to the analog-to-digital converter and configured to output a data packet including a button identification (ID) of the analog button assembly pressed by the user's finger and the digital step value converted by the analog-to-digital converter from the analog signal of the analog button assembly; and A communication interface is configured to transmit the data packet to a host computing device.
2. The input device of claim 1, further comprising an analog filter electrically coupled between the pressure sensor and the analog-to-digital converter.
3. The input device of claim 1, further comprising an illumination device comprising at least one light source controlled by the processor. The input device according to claim 1 , wherein the analog signal is an analog voltage.
5. The input device according to claim 1, wherein the pressure receiving device includes a biasing element, which is arranged between the plunger element and the at least one mounting panel and the biasing element biases the plunger element away from the at least one mounting panel in a biasing direction.
6. The input device according to claim 5, wherein the optical sensing sub-device comprises: a light emitter disposed at an intermediate height between the plunger element and the at least one mounting panel and oriented to emit light along a light path perpendicular to a biasing direction of the biasing element; a light sensor disposed in the light path and configured to generate the analog signal based on the amount of light sensed by the light sensor for output via the output terminal; as well as a light blocking element associated with the plunger element in a manner movable with the plunger element along a movement direction parallel to the biasing direction and extending toward the mounting panel to intersect the optical path between the light emitter and the optical sensor, wherein the light blocking element includes a cutout profile that varies an amount of light passing through the light blocking element as the light blocking element moves laterally across the optical path when the plunger element moves toward the at least one mounting panel.
7. A computing system for receiving and processing analog input, the computing system comprising: Host processor; as well as The input device according to any one of claims 1 to 6, connected to the host processor via the communication interface, The host processor is configured to receive the data packet from the input device, determine the amount of pressing of the corresponding button component based on the digital step value of the data packet, and generate a corresponding predetermined application event in the application based on the determined amount of pressing of the corresponding button component and the input setting for the application.
8. The computing system of claim 7, wherein the host processor is further configured to transform the determined depression amount onto a non-linear scale prior to generating the corresponding predetermined application event.
9. The computing system of claim 7, wherein the corresponding predetermined application event comprises a continuously variable action, and wherein the host processor is configured to generate a state of the continuously variable action based on the determined amount of depression.
10. The computing system of claim 7, wherein the corresponding predetermined application event comprises a discrete action, and wherein the host processor is configured to generate the discrete action when the determined amount of depression is equal to or greater than a preset depression level.
11. A computing system according to claim 7, wherein the corresponding predetermined application event includes a first discrete action and a second discrete action, and wherein the host processor is configured to generate the first discrete action when the determined press amount is equal to a first preset press level or between the first preset press level and the second preset press level, and to generate the second discrete action when the determined press amount is equal to or greater than the second preset press level.
12. The computing system of claim 7 , wherein the host processor is configured to switch between a first input setting and a second input setting for the application based on a user input command via a physical modifier key or a virtual modifier key, and wherein a first corresponding predetermined application event associated with the first input setting is different from a second corresponding predetermined application event associated with the second input setting.
13. A method of processing analog input for a computing system according to claim 7, the method comprising: generating an analog signal via the pressure receiving device, the analog signal corresponding to an amount of light measured as a measure of pressure applied to the pressure receiving device when the analog button assembly is pressed by a user's finger; digitizing the analog signal into a corresponding digital step value via the analog-to-digital converter; outputting, via the processor, the data packet, the data packet including a button identification (ID) of the analog button assembly pressed by the user's finger and the digital step value converted from the analog signal of the analog button assembly by the analog-to-digital converter; transmitting the data packet from the processor of the input device to the host processor of the computing system via the communication interface; determining, via the host processor, the depression amount of the corresponding button component based on the digital step value from the received data packet; as well as The corresponding predetermined application event is generated in the application via the host processor based on the determined amount of depression of the corresponding button component and the input setting for the application.
14. The method of claim 13, further comprising transforming the determined amount of depression onto a non-linear scale prior to generating the corresponding predetermined application event.
15. The method of claim 13, wherein the corresponding predetermined application event comprises a continuously variable action, and wherein generating the corresponding predetermined event comprises generating a state of the continuously variable action according to the determined pressing amount.
16. The method of claim 13, wherein the corresponding predetermined application event comprises a discrete action, and wherein generating the corresponding predetermined event comprises generating the discrete action when the determined amount of depression is equal to or greater than a preset depression level.
17. A method according to claim 13, wherein the corresponding predetermined application event includes a first discrete action and a second discrete action, and wherein generating the corresponding predetermined event includes generating the first discrete action when the determined pressing amount is equal to a first preset pressing level or between the first preset pressing level and the second preset level, and generating the second discrete action when the determined pressing amount is equal to or greater than the second preset pressing level.
18. The method according to claim 13 also includes switching between a first input setting and a second input setting for the application based on a user input command via a physical modifier key or a virtual modifier key, and wherein a first corresponding predetermined application event associated with the first input setting is different from a second corresponding predetermined application event associated with the second input setting.
Citation Information
Patent Citations
Force sensitive input devices and methods
CN105074627A
keyboard device
JP3377114B2
Identifying user by measuring pressure of button presses on user input device
US20130291090A1
Systems And Methods For Lighting Spring Loaded Mechanical Key Switches
US20150061901A1