Analog input device, computing system, and method for receiving and processing analog input

By designing analog input devices, measuring and outputting analog signals using analog pressure sensors and optical sensing sub-device, and processing and transmitting data through multiplexers, analog-to-digital converters and processors, the problem of limited functions of existing input devices is solved, achieving more precise control and application events.

CN120089544APending Publication Date: 2025-06-03RAZER ASIA PACIFIC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510149706.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-12-13
Filing Date
2019-10-17
Publication Date
2025-06-03

AI Technical Summary

Technical Problem

Existing input devices such as game controllers, keyboards and mouses can only output binary signals, limiting the functions of input devices and the expression of user intentions, especially when more precise control is required, such as the speed, direction and movement of characters in the game.

Method used

An analog input device is designed, including a matrix of mounting panels, analog button components, each analog button component is equipped with an analog pressure sensor. The analog pressure sensor measures the amount of light of the pressure change through an optical sensing sub-device and outputs the corresponding analog signal. The device also includes a multiplexer, an analog-to-digital converter, and a processor for digitizing analog signals and generating data packets for transmission to the host computing device.

Benefits of technology

It realizes more refined control of the input signal, which can generate more precise application events in the application, thereby improving user experience and device functionality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120089544A_ABST
    Figure CN120089544A_ABST
Patent Text Reader

Abstract

An analog input device includes at least one mounting panel and a matrix of analog button assemblies mounted thereon. Each analog button assembly includes an analog pressure sensor including: 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; and a plunger element configured to apply a pressure to the pressure receiving device. An analog input device may include: a multiplexer including an input side coupled to a button assembly, and an output side; an analog-to-digital converter coupled to an output side of the multiplexer; a processor coupled to the analog-to-digital converter and configured to output a data packet; and a communication interface configured to transmit the data packet to the host computing device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of a Chinese patent application with the invention name of "Analog Input Device, Computing System, and Method for Receiving and Processing Analog Input", priority date of December 13, 2018, and application number of 201980081438.8, which entered China on June 9, 2021, and is the PCT international application PCT / SG2019 / 050512.

[0002] Cross - reference to related applications

[0003] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 779,006, filed on December 13, 2018, the entire content of which is incorporated herein by reference for all purposes. Technical field

[0004] Various embodiments generally relate to analog input devices, computing systems for receiving and processing analog input, and methods for processing analog input for a computer system. Specifically, various embodiments generally relate to force - sensitive or pressure - sensitive analog input devices. Background art

[0005] Conventionally, input devices such as game controllers, game pads, keyboards, or mice include buttons or keys coupled to digital switches. These digital switches only output binary signals and limit the achievable functions of the input device and the possible user intents. For example, in a game, a larger granularity of input may be better for more precise control of the magnitudes for a character's speed, direction, movement, actions, etc. Such control generally cannot be achieved with binary input devices.

[0006] Therefore, there is a need for more effective input devices to solve the above problems. Summary of the invention

[0007] According to various embodiments, a simulated input device is provided. The simulated input device may include at least one mounting panel. The simulated input device may include a matrix of simulated button assemblies mounted to the at least one mounting panel, each simulated button assembly including a simulated pressure sensor. The simulated pressure sensor of the simulated 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 pressure sensed at the pressure receiving device and an output terminal for outputting an analog signal corresponding to the measured amount of light. The simulated pressure sensor of the simulated input device may include 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. The simulated input device may further include a multiplexer having an input side and an output side, wherein the input side is coupled to the output terminals of the matrix of simulated button assemblies. The simulated input device may further include an analog-to-digital converter coupled to the output side of the multiplexer. The simulated input device may further include a processor coupled to the analog-to-digital converter and configured to output a data packet including a button identifier (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 simulated input device may further include a communication interface configured to transmit the data packet to a host computing device.

[0008] According to various embodiments, a computing system for receiving and processing simulated 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 an amount of depression of the button assembly based on the digital step value corresponding to the analog signal from the corresponding button assembly, and generate a corresponding predetermined application event in the application based on the determined amount of depression of the corresponding button assembly and an input setting for the application.

[0009] According to various embodiments, a method for processing analog inputs 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 assembly is pressed by a user's finger. The method may include digitizing the analog signal via the analog-to-digital converter into a corresponding digital step value. The method may include outputting, via the processor, a data packet that includes the button identification (ID) of the button assembly pressed by the user's finger and the digital step value corresponding to the analog signal from the button assembly. The method may include transmitting, via the communication interface, the data packet from the processor of the input device to the host processor of the computing system. The method may include determining, via the host processor, the amount of depression of the corresponding button assembly 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 assembly and the input settings for the application. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In the drawings, like reference numerals generally refer to like parts throughout the different views. The drawings are not necessarily to scale, but rather generally emphasize the principles of the invention. In the following description, various embodiments are described with reference to the following drawings, in which:

[0011] Figure 1 FIG. shows a schematic diagram of an analog input device according to various embodiments;

[0012] Figure 2 FIG. shows a schematic diagram of an analog input device according to various embodiments;

[0013] Figures 3A to 3D FIG. shows various examples of cutout profiles of an opaque element analog input device according to various embodiments Figure 1 and Figure 2 ;

[0014] Figure 4 FIG. shows a schematic diagram of a computing system 401 for receiving and processing analog inputs according to various embodiments;

[0015] Figure 5 FIG. shows a schematic diagram of a computing system having an analog keypad as an analog input device according to an embodiment; and

[0016] Figure 6 and Figure 7 FIG. shows schematic diagrams of other computing systems having analog input devices according to various embodiments. Detailed implementation manners

[0017] The embodiments described below in the context of the device are similarly effective for the corresponding methods, and vice versa. In addition, it will be understood that the embodiments described below can be combined. For example, a part of one embodiment can be combined with a part of another embodiment.

[0018] It should be understood that the terms "upper", "above", "top", "bottom", "lower", "side", "rear", "left", "right", "front", "lateral", "sideways", "upward", "downward", etc. are used for convenience in the following description 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. Additionally, the singular forms "a" 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.

[0019] As described herein, a processor (or processing unit or host processing unit or host processor, etc.) can be understood as any kind of logical implementation entity, which can be a dedicated circuit or a processor that executes software, firmware, or any combination thereof stored in memory. Thus, a processor can be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor (e.g., a programmable logic controller (PLC)), e.g., a microprocessor (e.g., a complex instruction set computer (CISC) processor or a reduced instruction set computer (RISC) processor). A processor can also be a processor that executes software, such as any kind of computer program, e.g., a computer program using virtual machine code such as, for example, Java.

[0020] 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 can 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 can include a matrix of analog buttons or keys, each of which can be configured to vary an input signal based on the amount of pressing force or pressure applied by a user to the corresponding analog button or key. Thus, the corresponding analog button or key can 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 can vary the range or degree of depression experienced by the analog button or key. Thus, varying the range or degree of depression of the corresponding analog button or key can vary the analog output signal from the analog button or key of the analog input device. According to various embodiments, the analog output signal can be processed by a processor to generate a corresponding application event in an application.

[0021] 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 computations. A computing system may include a processing unit, random access memory, disk storage, input devices, output devices, and the like. 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 the analog input device such that an analog input signal may be sent to the 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 graphical displays, sound, lighting, or tactile feedback.

[0022] The following examples relate to various embodiments.

[0023] Example 1 is an analog input device, comprising:

[0024] At least one mounting panel;

[0025] A matrix of analog button assemblies mounted to the at least one mounting panel, each analog button assembly including an analog pressure sensor, wherein the analog pressure sensor includes:

[0026] 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; and

[0027] 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;

[0028] A multiplexer including an input side and an output side, wherein the input side is coupled to the output terminals of the matrix of the analog button assemblies;

[0029] An analog-to-digital converter coupled to the output side of the multiplexer;

[0030] A processor coupled to the analog-to-digital converter and configured to output a data packet, the data packet including a button identifier (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

[0031] A communication interface configured to transmit the data packet to a host computing device.

[0032] In Example 2, the subject matter of Example 1 may optionally include an analog filter coupled in electrical connection between the pressure sensor and the analog-to-digital converter.

[0033] In Example 3, the subject matter of Example 1 or 2 may optionally include a lighting device including at least one light source controlled by the processor.

[0034] In Example 4, the subject matter of any one of Examples 1 to 3 may optionally include: the analog signal is an analog voltage.

[0035] 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 disposed 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.

[0036] In Example 6, the subject matter of Example 5 may optionally include: the optical sensing sub-device may include:

[0037] 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 an optical path perpendicular to the biasing direction of the biasing element;

[0038] A light sensor disposed in the optical 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

[0039] An opaque element associated with the plunger element such that it can move with the plunger element along a moving direction parallel to the biasing direction and extends towards the mounting panel to intersect the optical path between the light emitter and the light sensor, wherein the opaque element includes a cutout profile that varies the amount of light passing through the opaque element as the opaque element moves laterally across the optical path as the plunger element moves towards the at least one mounting panel.

[0040] Example 7 is a computing system for receiving and processing analog inputs, the computing system including:

[0041] A host processor; and

[0042] An input device according to any one of Examples 1 to 6, connected to the host processor via the communication interface.

[0043] Wherein the host processor is configured to receive the data packet from the input device, determine the amount of depression of the button assembly based on the digital step value corresponding to the analog signal from the corresponding button assembly, and generate a corresponding predetermined application event in the application based on the determined amount of depression of the corresponding button assembly and the input setting for the application.

[0044] In Example 8, the subject matter of Example 7 may optionally include: The host processor may also be configured to transform the determined amount of depression to a non-linear scale before generating the corresponding predetermined application event.

[0045] In Example 9, the subject matter of Example 7 or 8 may optionally include: The corresponding predetermined application event may 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 amount of depression.

[0046] 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 depression is equal to or greater than a preset depression level.

[0047] 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 amount of depression is equal to a first preset depression level or between the first preset depression level and the second preset depression level, and generate the second discrete action when the determined amount of depression is equal to or greater than the second preset depression level.

[0048] 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.

[0049] Example 13 is a method for processing analog input for a computing system according to claim 7, the method comprising:

[0050] 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 assembly is pressed by a user's finger;

[0051] Digitizing the analog signal via the analog-to-digital converter into a corresponding digital step value;

[0052] Output the data packet via the processor, where the data packet includes the button identifier (ID) of the button component pressed by the user's finger and the digital step value corresponding to the analog signal from the button component;

[0053] Transmit the data packet from the processor of the input device to the host processor of the computing system via the communication interface;

[0054] Determine the depression amount of the corresponding button component via the host processor based on the corresponding digital step value from the received data packet; and

[0055] Generate the corresponding predetermined application event in the application via the host processor based on the determined depression amount of the corresponding button component and the input setting for the application.

[0056] In Example 14, the subject matter of Example 13 may optionally include transforming the determined depression amount to a non - linear scale before generating the corresponding predetermined application event.

[0057] 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 generating the corresponding predetermined event may include generating a state of the continuously variable action according to the determined depression amount.

[0058] 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 generating the corresponding predetermined event may include generating the discrete action when the determined depression amount is equal to or greater than a preset depression level.

[0059] 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 generating the corresponding predetermined event may include generating the first discrete action when the determined depression amount is equal to a first preset depression level or between the first preset depression level and the second preset depression level, and generating the second discrete action when the determined depression amount is equal to or greater than the second preset depression level.

[0060] In Example 18, the subject matter of any one 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 the first corresponding predetermined application event associated with the first input setting is different from the second corresponding predetermined application event associated with the second input setting.

[0061] Figure 1 A schematic diagram showing a simulated input device 100 according to various embodiments. According to various embodiments, the simulated 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 simulated 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 simulated input device 100. According to various embodiments, the simulated input device 100 may include a matrix of simulated button assemblies 120 mounted to the at least one mounting panel 110. According to various embodiments, the simulated input device 100 may include two or more or a plurality of simulated button assemblies 120. For example, when the simulated input device 100 is a mouse, the simulated input device 100 may include two or more simulated click buttons. When the simulated input device 100 is a keypad having 15 to 25 keys, the simulated input device 100 may include up to 15 to 25 simulated keys. When the simulated input device 100 is a game controller having four or more buttons, the simulated input device 100 may include two or three or four or more simulated buttons. When the simulated input device 100 is a keyboard, the simulated input device 100 may include a plurality of simulated keys.

[0062] 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 such a way as to apply 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 an interchangeable single unified key switch or may be an inseparable 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. Thus, the button cap 123 may be ergonomically shaped for receiving a fingertip.

[0063] According to various embodiments, the pressure receiving device 124 of each analog button assembly 120 may include an optical sensing sub-device 125 configured to measure an amount of light that varies according to pressure or force sensed at the pressure receiving device 124. Thus, pressing the analog button assembly 120 may apply a corresponding pressure or force to the pressure receiving device 124, which may cause the amount of light sensed by the optical sensing sub-device 125 to vary. According to various embodiments, the amount of light may vary by varying a range in which a light-blocking element 134 blocks light 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 for outputting an analog signal corresponding to the measured amount of light. Thus, the measured amount of light may be output as an analog signal. According to various embodiments, the amount of light may be the intensity of light.

[0064] According to various embodiments, the pressure receiving device 124 may include a biasing element 126. The biasing element 126 may be disposed 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. Thus, the biasing element 126 may provide a resistance against the pressure or force that presses the analog button assembly 120. According to various embodiments, the biasing element 126 may include a spring or an elastic membrane structure or other suitable element, structure, or configuration that may return the plunger element 122 to its 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 the at least one mounting panel 110. According to various embodiments, the pressure receiving device 124 may include a housing mounted to the at least one mounting panel 110, and the plunger element 122 may be slidable through the top plate of the housing. The button cap 123 may be coupled to the plunger element 122 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 the biasing direction so as to indirectly bias the button cap 123 away from the at least one mounting panel 110.

[0065] 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 perpendicular to the biasing direction of the biasing element 126. Accordingly, the optical path 131 of the light emitted from the light emitter 130 may be substantially perpendicular to the direction in which the user presses at least one analog button assembly 120. 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 depression of the mounting panel 110 and the plunger element 122.

[0066] 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 for output via the output terminal 133. Accordingly, the light sensor 132 may be placed in a position directly facing the light emitter 130. Accordingly, the light emitter 130 and the light sensor 132 may be arranged in a relative manner such that the light from the light emitter 130 is projected directly and straight towards the light sensor 132. According to various embodiments, the light sensor 132 may detect the intensity of the light incident on the light sensor 132 and output an analog signal according to the detected light intensity. According to various embodiments, the light sensor 132 may include, but is not limited to, a phototransistor type light sensor or 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.

[0067] 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 together with the plunger element 122. The light blocking element 134 may extend toward the mounting panel 110 to intersect the optical path 131 between the light emitter 130 and the light 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 elongate shape and may extend downwardly toward the mounting panel 110. According to various embodiments, the light blocking element 134 may be positioned such that the movement path of the light blocking element 134 may intersect the optical path 131 when the analog button assembly 120 is pressed by a user. According to various embodiments, when the pressure receiving device 124 includes a housing and the plunger element 122 is slidable through the 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 move together with the button cap 123.

[0068] According to various embodiments, the light blocking element 134 may include a cutout profile. Figures 3A to 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 optical 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 may vary the amount of light passing through the light blocking element 134. Accordingly, depending on the movement of the plunger element 122 due to pressure or force on the pressure receiving device 124, the cutout profile 136 of the light blocking element 134 may vary the degree of blocking of the optical path 131. According to various embodiments, the cutout profile 136 of the light blocking element 134 may include, but is not limited to, a triangular shape (see Figure 3A ), or a frustoconical shape (see Figure 3B ), or a flared shape (see Figure 3C ), or an arcuate shape (see Figure 3D ), or any other suitable shape that may vary the amount of light passing through as the light blocking element 134 moves to intersect the optical path 131. According to various embodiments, the light blocking element 134 may include an elongate plate having the cutout profile 136 and may be arranged to move longitudinally to intersect the optical path 131 as a user applies pressure or force to push the button cap 123.

[0069] 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 terminals 133 of the matrix of the analog button assembly 120. Accordingly, the multiplexer 138 may receive a plurality of 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.

[0070] 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. Accordingly, 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 such 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 an analog signal of continuous time and continuous amplitude from the multiplexer 138 into a digital step value 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 one less than a power of 2. Accordingly, each integer of the digital step value may represent a corresponding amplitude of the analog signal from the light sensor 132.

[0071] According to various embodiments, the analog input device 100 may include a processor 142. The processor 142 may be coupled to the ADC 140 in a manner to receive the digital step values. The processor 142 may be configured to output a data packet that includes a button identifier (ID) of the analog button assembly 120 pressed by a user's finger and the digital step value corresponding to the 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. Accordingly, the digital step values converted by the ADC 140 may be transferred digitally 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 identifier (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.

[0072] 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 programmable electronic device to which a peripheral device such as the input device 100 may be connected and which may direct the operation of the peripheral device, and the peripheral device includes a driver for an input / output device for connecting to the host computing device.

[0073] 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.

[0074] Figure 2 A schematic diagram showing an analog input device 200 according to various embodiments. According to various embodiments, Figure 2 the analog input device 200 includes Figure 1 all the features of the analog input device 100. Thus, all the features, changes, modifications, and variations applicable to Figure 1 the analog input device 100 are also applicable to Figure 2 the analog input device 200. According to various embodiments, Figure 2 the analog input device 200 may differ from Figure 1 the analog input device 100 in that Figure 2 the analog input device 200 may further include the following additional features and / or limitations.

[0075] According to various embodiments, Figure 2 the analog input device 200 may further include a filter 260. The filter 260 may be electrically connected 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.

[0076] According to various embodiments, Figure 2The analog input device 200 may also 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, read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory.

[0077] According to various embodiments, Figure 2 The analog input device 200 may also include a lighting device 280 that includes at least one light source controlled by the processor 142. According to various embodiments, the lighting device 280 may include a backlight for at least one analog button assembly 120 and / or underglow lighting for the analog input device 200. According to various embodiments, the processor 142 may be configured to control the lighting device 280 based on lighting sequences and / or patterns stored in the storage element 270. According to various embodiments, the processor 142 may receive instructions from a host computing device to which the analog input device 200 is connected. According to various embodiments, the processor 142 may prioritize control of the lighting device 280 based on instructions received from the host computing device over lighting sequences and / or patterns stored in the storage element 270. According to various embodiments, the processor 142 may overwrite or replace the lighting sequences and / or patterns stored in the storage element 270 with new lighting sequences and / or patterns based on instructions received from the host computing device.

[0078] Figure 4 A schematic diagram showing a computing system 401 for receiving and processing analog inputs 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 2Analog input devices 100, 200. According to various embodiments, the host processor 402 can be the central processing unit of the host computing device 404. According to various embodiments, the host processor 402 can receive data packets from the analog input devices 100, 200. According to various embodiments, the host processor 402 can interpret the input data packets from the analog input devices 100, 200 and execute the programmed instructions based on the interpreted input data packets. According to various embodiments, the host processor 402 can 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 can determine the amount of depression of the button cap 123 of the corresponding button assembly 120 via performing computational or mathematical processing or mapping or table lookup operations or other suitable processing techniques. According to various embodiments, the host processor 402 can 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 can be a programmed action or occurrence triggered by the application in response to or recognizing the determined amount of depression of the button cap 123 of the corresponding button assembly 120. According to various embodiments, the input settings for the application can be a mapping of the predetermined application event to the matrix of the analog button assembly 120 and the corresponding amount of depression. According to various embodiments, the input settings can be predefined settings in the application. According to various embodiments, the input settings can be user-definable or configurable settings that the user can change or alter in the application accordingly based on user preferences and usage.

[0079] According to various embodiments, the host processor 402 can 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 can include a logarithmic scale or a variable scale. According to various embodiments, in the case where the determined amount of depression of the button cap 123 of the corresponding button assembly 120 is translated to a non-linear scale, the analog input device 100 can be configured to respond more actively in a lower or middle or higher depression range. According to various embodiments, translating to a non-linear scale can allow the user to customize their own settings based on the desired responsiveness of the analog input device 100 to suit their personal usage.

[0080] According to various embodiments, the corresponding predetermined application event can include a continuously variable action. For example, in a game, the continuously variable action can include values for the speed, direction, movement, actions, etc. of a character. According to various embodiments, the host processor can be configured to generate a state of the continuously variable action based on the determined amount of depression of the button cap 123 of the corresponding button assembly 120.

[0081] 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 a determined amount of depression of the corresponding button assembly 120 is equal to or greater than a preset depression level of the corresponding button assembly 120. Thus, 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. Thus, the corresponding button assembly 120 may be configured or programmed to generate a discrete action with a desired amount of depression. Thus, the corresponding button assembly 120 may trigger a discrete action without requiring 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. Thus, the host processor 402 may be configured to receive and store the user-defined input as the preset depression level of the button cap 123 of the corresponding button assembly 120.

[0082] 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 a first discrete action when a determined amount of depression of the button cap 123 of the corresponding button assembly 120 is equal to the first preset depression level of the button cap 123 of the corresponding button assembly 120 or between the first preset depression level of the button cap 123 of the corresponding button assembly 120 and the second preset depression level of the button cap 123 of the corresponding button assembly 120. According to various embodiments, the host processor may be configured to generate a second discrete action when a determined amount of depression of the button cap 123 of the corresponding button assembly 120 is equal to or greater than the second preset depression level of the button cap 123 of the corresponding button assembly 120. Thus, a single button assembly 120 may be configured to trigger two or more different discrete actions by presetting two or more different depression ranges for triggering the corresponding discrete actions. According to various embodiments, each of the first preset depression level and the second preset depression level of the button cap 123 of the corresponding button assembly 120 may be a corresponding user-defined input. Thus, the host processor 402 may be configured to receive and store the user-defined input as the first preset depression level and the second preset depression level of the button cap 123 of the corresponding button assembly 120.

[0083] According to various embodiments, a 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 analog button components 120, and the second input setting may be a second mapping of driving-related predetermined application events to the matrix of analog button components 120.

[0084] In the following, a gaming keypad is described as an example of the analog input device 100 according to various embodiments.

[0085] The gaming keypad combines 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 the numeric keypad of a keyboard 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 coupled to digital switches that only output binary signals, thus limiting the achievable functions of the keypad and the possible user intents.

[0086] Example embodiments solve these problems by using analog switches that output analog signals and corresponding algorithms that process signals sent from the respective keys of the keypad at a host computer connected to the keypad wirelessly or via USB. The analog keypad provides an enhanced input method with greater granularity that imparts the precise control typically found in devices such as game controllers, steering wheels, and flight joysticks to a mechanical keyboard. By processing the signals from each key at the host computer, latency is reduced and faster response is achieved. In addition, upgrading the processing solution by disposing of the processing solution in software provides flexibility to the user in terms of key mapping.

[0087] Figure 5 A computing system 501 is shown having an analog keypad 500 as an analog input device according to an embodiment.

[0088] By way of example, the analog keypad 500 can include a plurality of analog switches 510 (or analog 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 analog switches 510 can be based on opto-mechanical switch technology and output different analog signals according to the pressure or force applied to the key or the displacement of the key compared to the non-pressed position. The ADC 530 can convert the analog signal into a digital signal and send the digital signal to the microcontroller for preprocessing the data. The analog keypad 500 can be connected to the host computer 504 wirelessly or via USB. The host computer can receive the preprocessed data from the microcontroller and perform calculations to determine the pressure or force applied to one or more keys and proceed with the actions to be taken.

[0089] The firmware can be held in a memory 530 (or storage element) such as ROM, EPROM, or flash memory to provide control for 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 achieve the corresponding functions.

[0090] In an example embodiment, when the 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 that the key is pressed. The microcontroller can continuously monitor the keys on the keypad via scanning, which can occur 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.

[0091] By way of example, an analog switch (or pressure sensor) can be located under each key. The analog switch can 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 can be substantially parallel to the surface of the keycap (or button cap). The amount of light that can be detected by the light receiver can be affected by the position of the chopper, which can be further determined according to the pressure or force applied to the keycap to press the key down by a distance. Since the displacement of the key is proportional to the applied pressure or force and the amount of light passing through the chopper can be related to the displacement of the key, the amount of light detected by the light receiver can 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 can be configured to allow displacement of the keycap from a top position to a bottom position that is proportional to the pressure or force applied to the key. The light receiver outputs analog data based on the detected light intensity, and the analog data is further processed by the microcontroller before being sent to the host computer.

[0092] In one example embodiment, when two direction keys respectively representing the x-direction and the y-direction are simultaneously pressed downwards, the analog switch below the first key can output a first analog signal having a first amplitude, and the analog switch below the second key can 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 one 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 in order to reduce the noise in one or more of the analog signals from the force-sensitive keys (or pressure-sensitive keys).

[0093] The microcontroller can further process the digital signals sent by the ADC and convert the digital signals into a code (or format) that the host computer can understand. For example, when the analog keypad is connected to the host computer via USB, the converted code is a USB code. The conversion is typically performed using a look-up table. This table is also the table that defines the keyboard layout. The host computer receives the codes of the individual keys from the analog 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 points of the switches. Additionally, the host computer can change the function of the keys based on the amount of pressure or force applied to the keycaps.

[0094] Figure 6 and Figure 7 FIG. shows schematic diagrams of other computing systems 601, 701 having analog input devices according to various embodiments. In Figure 6 it, "analog output switch" 610 represents switching hardware capable of generating 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 received data compressed into encrypted / small packets for sending back to the host CPU 604 for analog data translation. According to various embodiments, the "peripheral hardware" will only collect the 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 game applications can be performed in the host PC.

[0095] The analog keypad 500 mentioned above is shown as an example embodiment of an input device. Other input devices such as a mouse, keyboard, or controller having analog switches are also applicable. One or more features of the input device other than computer games can be advantageously incorporated when translating the user's intention into a form interpretable by any type of computing device, including but not limited to personal computers, entertainment systems, industrial computing systems, stenography devices, medical computing systems, and other computing devices.

[0096] According to various embodiments, an input device for providing input to a computing device is provided. The input device can include at least one input key or button. The at least one input key or button can include an input surface to receive a pressing force or pressure applied by a user. The at least one input key or button can include a switch interaction component to interact with an analog switch. The at least one input key or button can include an analog switch to receive the interaction with the interaction component, whereby the analog switch detects an attribute as a function of the amount of the pressing force or pressure applied by the user.

[0097] According to various embodiments, the input device can be a keyboard having a plurality of input keys, or a keypad having a plurality of input keys, or a mouse having two or more click buttons, or a game controller having a plurality of input keys or buttons.

[0098] According to various embodiments, the input surface can be a keycap on the top surface of the key, and the switch interaction component can be attached to the bottom surface of the key.

[0099] According to various embodiments, the analog switch can be located under the key and can dock with the switch interaction component attached to the bottom surface of the key.

[0100] According to various embodiments, the switch can include a light emitter, a light receiver, and a chopper, whereby the light emitter can emit light received by the light receiver in an optical path substantially parallel to the surface of the keycap, and the chopper can be disposed between the light emitter and the light receiver.

[0101] According to various embodiments, the interaction component can be configured to dock 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 light receiver, and wherein the attribute detected by the analog switch is the amount of light received by the light receiver.

[0102] According to various embodiments, the amount of movement of the chopper within the optical path can be a function of the amount of the pressing force or pressure applied by the user.

[0103] Various embodiments have provided an analog input device that can provide greater granularity of input in an efficient and simple manner. Various embodiments have also provided an analog input device whereby data processing will be performed by a host computing device while the analog input device will just send analog data. In other words, the main data operation is performed by the host computing device while the analog input device only performs minimal preprocessing of the analog signal for transmission to the host computing device. Accordingly, 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 an analog input device that has redefined a conventional input device. According to various embodiments, the analog input device can give more options to an end user. According to various embodiments, the analog input device of a computing system can provide definable trigger points (or configurable actuation points), more than one trigger point allowing a single key to have multiple functions (or a single key / button having multiple actuation points for multiple events), and / or a joystick / flight stick / driving wheel / game controller function mapping.

[0104] Although the invention has been specifically shown and described with reference to particular embodiments, those skilled in the art should understand that various changes, modifications, variations in form and detail may be made therein without departing from the scope of the invention as defined by the appended claims. The scope of the invention is thus indicated by the appended claims and is intended to include all changes falling 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 components mounted to the at least one mounting panel, wherein each analog button component outputs an analog signal that, when pressed by a user's finger, is a measure of the amount of depression of the analog button component; a multiplexer having an input side and an output side, wherein the input side is coupled to the output terminals of the matrix of analog button components; an analog-to-digital converter coupled to the output side of the multiplexer, wherein the analog-to-digital converter converts the analog signal from the corresponding button component pressed by the user's finger into a digital step value; and a processor coupled to the analog-to-digital converter and configured to output a data packet that includes the button identifier (ID) of the corresponding button component pressed by the user's finger and the digital step value converted by the analog-to-digital converter from the analog signal of the corresponding button component, the data packet being for transmission to a host computing device.

2. The input device according to claim 1, further comprising a communication interface configured to transmit the data packet to the host computing device.

3. The input device according to claim 1, wherein each analog button component in the matrix of analog button components includes 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 in accordance with pressure sensed at the pressure receiving device and an output terminal; and a plunger element configured to apply the pressure to the pressure receiving device, wherein when the analog button component is pressed by the user's finger, the amount of depression of the analog button component causes the plunger element of the analog button component to correspondingly apply the pressure to the pressure receiving device of the analog button component, so as to cause a change in the amount of light detected by the optical sensing sub-device, in order to generate an analog signal corresponding to the amount of depression of the analog button component.

4. The input device according to claim 3, further comprising an analog filter electrically coupled between the pressure sensor and the analog-to-digital converter.

5. The input device according to claim 1, further comprising an illumination device including at least one light source controlled by the processor.

6. The input device according to claim 1, wherein the analog signal is an analog voltage.

7. The input device according to claim 3, wherein the pressure receiving device includes a biasing element disposed 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.

8. The input device according to claim 7, 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 an optical path perpendicular to the biasing direction of the biasing element; A light sensor disposed in the optical 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 A light blocking element associated with the plunger element such that it can move with the plunger element along a movement direction parallel to the biasing direction and extends towards the mounting panel to intersect the optical path between the light emitter and the light sensor, wherein the light blocking element includes a cutout profile that varies the amount of light passing through the light blocking element as the light blocking element moves laterally across the optical path as the plunger element moves towards the at least one mounting panel.

9. A computing system for receiving and processing analog inputs, the computing system comprising: A host processor; And An input device, the input device including: At least one mounting panel; A matrix of analog button assemblies mounted to the at least one mounting panel, wherein each analog button assembly outputs an analog signal that is a measure of the amount of depression of the analog button assembly when pressed by a user's finger; A multiplexer having an input side and an output side, wherein the input side is coupled to the output terminals of the matrix of analog button assemblies; An analog-to-digital converter coupled to the output side of the multiplexer, wherein the analog-to-digital converter converts the analog signal from the corresponding button assembly pressed by the user's finger into a digital step value; A processor coupled to the analog-to-digital converter and configured to output a data packet including the button identifier (ID) of the corresponding button assembly pressed by the user's finger and the digital step value converted from the analog signal of the corresponding button assembly by the analog-to-digital converter, the data packet for transmission to a host computing device; and A communication interface configured to transmit the data packet to the host computing device, wherein the input device is connected to the host processor via the communication interface, wherein the host processor is configured to receive the data packet from the input device, determine the amount of depression of the corresponding button assembly 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 depression of the corresponding button assembly and input settings for the application.

10. The computing system according to claim 9, wherein the host processor is further configured to transform the determined amount of depression of the corresponding button assembly to a non-linear scale before generating the corresponding predetermined application event.

11. The computing system according to claim 10, wherein the corresponding predetermined application event includes a continuously variable action, and wherein the host processor is configured to generate a state of the continuously variable action based on a determined amount of depression of the corresponding button assembly.

12. The computing system according to claim 9, wherein the corresponding predetermined application event includes a discrete action, and wherein the host processor is configured to generate the discrete action when the determined amount of depression of the corresponding button assembly is equal to or greater than a preset depression level of the corresponding button assembly.

13. The computing system according to claim 9, 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 amount of depression of the corresponding button assembly is equal to a first preset depression level of the corresponding button assembly or between the first preset depression level of the corresponding button assembly and a second preset depression level of the corresponding button assembly, and to generate the second discrete action when the determined amount of depression of the corresponding button assembly is equal to or greater than the second preset depression level of the corresponding button assembly.

14. The computing system according to claim 9, 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.

15. A method of processing analog input for a computing system, the computing system including a host processor and an input device connected to the host processor via a communication interface, wherein the input device comprises: at least one mounting panel; a matrix of analog button assemblies mounted to the at least one mounting panel, wherein each analog button assembly outputs an analog signal that, when pressed by a finger of a user, is a measure of the amount of depression of the analog button assembly; a multiplexer having an input side and an output side, wherein the input side is coupled to output terminals of the matrix of analog button assemblies; an analog-to-digital converter coupled to the output side of the multiplexer, wherein the analog-to-digital converter converts the analog signal from the corresponding button assembly pressed by the finger of the user into a digital step value; a processor coupled to the analog-to-digital converter and configured to output a data packet that includes a button identifier (ID) of the corresponding button assembly pressed by the finger of the user and the digital step value converted by the analog-to-digital converter from the analog signal of the corresponding button assembly, the data packet for transmission to a host computing device; and the communication interface configured to transmit the data packet to the host computing device, the method comprising: An analog signal is generated via a 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 corresponding button assembly is pressed by a user's finger; The analog signal is digitized into the digital step value via the analog-to-digital converter; The data packet is output via the processor, the data packet including the button identifier (ID) of the corresponding button assembly pressed by the user's finger and the digital step value converted from the analog signal of the corresponding button assembly by the analog-to-digital converter; The data packet is transmitted from the processor of the input device to the host processor of the computing system via the communication interface; The amount of depression of the corresponding button assembly is determined via the host processor based on the digital step value from the received data packet; and A corresponding predetermined application event is generated in the application via the host processor based on the determined amount of depression of the corresponding button assembly and the input setting for the application.

16. The method according to claim 15, further comprising transforming the determined amount of depression of the corresponding button assembly to a non-linear scale before generating the corresponding predetermined application event.

17. The method according to claim 15, wherein the corresponding predetermined application event includes a continuously variable action, and wherein generating the corresponding predetermined event includes generating a state of the continuously variable action according to the determined amount of depression of the corresponding button assembly.

18. The method according to claim 15, wherein the corresponding predetermined application event includes a discrete action, and wherein generating the corresponding predetermined event includes generating the discrete action when the determined amount of depression is equal to or greater than a preset depression level of the corresponding button assembly.

19. The method according to claim 15, 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 amount of depression is equal to the first preset depression level of the corresponding button assembly or between the first preset depression level and the second preset level of the corresponding button assembly, and generating the second discrete action when the determined amount of depression of the corresponding button assembly is equal to or greater than the second preset depression level of the corresponding button assembly.

20. The method according to claim 15, further comprising 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.