Keyboard key information determination method and apparatus, keyboard system, and electronic device

CN122902888APending Publication Date: 2026-10-13GUANGZHOU SIRUI SEMICON CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611037543.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-13
Publication Date
2026-10-13

AI Technical Summary

Technical Problem

[0004]本申请实施例提供了一种键盘按键信息确定方法、装置、键盘系统以及电子设备,解决了相关技术在确定键盘按键信息的过程中检测精度受限,降低了按键状态检测的实时性与准确性的问题,能够通过主从感知节点协同的分布式架构,实现按键信息处理的并行分布式执行,保障按键状态的检测精度,提升了按键信息获取的实时性与准确性

Benefits of technology

[0012]本申请实施例中,主感知节点负责确定各个第一按键对应的第一状态信息和第一键码,从感知节点负责确定各个第二按键对应的第二状态信息和第二键码,通过主从感知节点协同的分布式架构,实现按键信息处理的并行分布式执行,保障按键状态的检测精度,提升了按键信息获取的实时性与准确性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122902888A_ABST
    Figure CN122902888A_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a keyboard key information determination method and device, a keyboard system and electronic equipment. The method comprises: calculating first state information corresponding to each first key based on current sensing sampling data corresponding to at least one first key, and determining a first key code corresponding to each first key according to first position information corresponding to the at least one first key; receiving node identification, second position information and second state information corresponding to at least one second key sent by at least one slave sensing node, and determining a second key code corresponding to each second key according to the node identification and the second position information corresponding to the at least one second key; and integrating the first key code and the first state information corresponding to each first key, and the second key code and the second state information corresponding to each second key to obtain keyboard key information. The distributed architecture of master-slave sensing nodes improves the real-time performance and accuracy of key information acquisition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, keyboard system, and electronic device for determining keyboard key information. Background Technology

[0002] Keyboards are the most widely used human-computer interaction input devices in various electronic devices such as computers, industrial control terminals, and gaming devices. They cover diverse usage scenarios including daily office work, digital entertainment, industrial control, and professional e-sports, and bear the core function of receiving user operations and transmitting input commands. To achieve accurate recognition and response to key operations, the keyboard needs to acquire the key information of each key in real time. This information is the core basis for the keyboard to complete interactive actions such as character input, function triggering, and command execution.

[0003] In related technologies, the key information corresponding to each key is calculated by polling all keys on the keyboard in a time-division manner. However, as the number of keys increases, the detection accuracy of key status is limited, and the real-time performance and accuracy of key information acquisition are also reduced. Summary of the Invention

[0004] This application provides a method, apparatus, keyboard system, and electronic device for determining keyboard key information. It solves the problem that the detection accuracy is limited in the process of determining keyboard key information, which reduces the real-time performance and accuracy of key state detection. It can achieve parallel distributed execution of key information processing through a distributed architecture of master-slave sensing nodes, ensuring the detection accuracy of key state and improving the real-time performance and accuracy of key information acquisition.

[0005] In a first aspect, embodiments of this application provide a method for determining keyboard key information, applied to a master sensing node, which is connected to at least one slave sensing node. The method for determining keyboard key information includes: Obtain current sensor sampling data corresponding to at least one first button currently being detected, calculate first state information corresponding to each first button based on the current sensor sampling data corresponding to the at least one first button, and determine the first key code corresponding to each first button based on the first position information corresponding to the at least one first button. Receive at least one node identifier sent from the sensing node, second position information and second status information corresponding to at least one second button, and determine the second key code corresponding to each second button based on the node identifier and the second position information corresponding to the at least one second button; The keyboard key information is obtained by integrating the first key code and first state information corresponding to each of the first keys, and the second key code and second state information corresponding to each of the second keys.

[0006] Secondly, embodiments of this application also provide a method for determining keyboard key information, applied to a slave sensing node connected to a master sensing node, the method for determining keyboard key information includes: Obtain the current sensor sampling data corresponding to at least one of the currently detected second buttons; The second state information corresponding to each second button is calculated based on the current sensor sampling data corresponding to the at least one second button. The main sensing node sends a node identifier, second position information and second state information corresponding to the at least one second button to the main sensing node, so that the main sensing node determines the second key code corresponding to each second button according to the node identifier and the second position information corresponding to the at least one second button, and integrates the determined first key code and first state information corresponding to each first button, as well as the second key code and second state information corresponding to each second button, to obtain keyboard key information.

[0007] Thirdly, embodiments of this application also provide a keyboard key information determination device, which serves as a main sensing node connected to at least one slave sensing node, and includes: The first acquisition module is configured to acquire the current sensor sampling data corresponding to at least one first button currently being detected; The first information determination module is configured to calculate the first state information corresponding to each first button based on the current sensing sampling data corresponding to the at least one first button, and determine the first key code corresponding to each first button according to the first position information corresponding to the at least one first button. The receiving module is configured to receive at least one node identifier sent from the sensing node, and at least one second position information and second status information corresponding to a second button. The second information determination module is configured to determine the second key code corresponding to each second key based on the node identifier and the second position information corresponding to the at least one second key; The integration module is configured to integrate the first key code and first state information corresponding to each of the first keys, and the second key code and second state information corresponding to each of the second keys to obtain keyboard key information.

[0008] Fourthly, embodiments of this application also provide a keyboard key information determination device, which is connected to a master sensing node as a slave sensing node. The keyboard key information determination device includes: The second acquisition module is configured to acquire the current sensor sampling data corresponding to at least one of the currently detected second buttons; The calculation module is configured to calculate the second state information corresponding to each second button based on the current sensing sampling data corresponding to the at least one second button; The sending module is configured to send a node identifier, second position information and second status information corresponding to the at least one second button to the main sensing node, so that the main sensing node determines the second key code corresponding to each second button according to the node identifier and the second position information corresponding to the at least one second button, and integrates the determined first key code and first status information corresponding to each first button, as well as the second key code and second status information corresponding to each second button, to obtain keyboard key information.

[0009] Fifthly, embodiments of this application also provide a keyboard system, which includes a master sensing node, a first analog-to-digital converter, a first Hall sensor array, at least one first key, at least one slave sensing node, at least one second analog-to-digital converter equal to the number of slave sensing nodes, at least one second Hall sensor array equal to the number of slave sensing nodes, and at least one second key; The master sensing node is connected to each of the slave sensing nodes. The master sensing node is connected to the first Hall sensor array via the first analog-to-digital converter. The first Hall sensor array is used to detect the displacement change of at least one first key that is coaxially aligned with it. Each slave sensing node is connected to a corresponding second Hall sensor array via a corresponding second analog-to-digital converter. The second Hall sensor array is used to detect the displacement change of at least one second key that is coaxially aligned with it. The master sensing node is used to execute any of the keyboard key information determination methods in the first aspect, and the slave sensing nodes are used to execute any of the keyboard key information determination methods in the second aspect.

[0010] Sixthly, embodiments of this application also provide an electronic device, the device comprising: One or more processors; Storage device, configured to store one or more programs, When one or more programs are executed by one or more processors, the one or more processors implement the keyboard key information determination method of the embodiments of this application.

[0011] In a seventh aspect, embodiments of this application also provide a non-volatile storage medium for storing computer-executable instructions, which, when executed by a computer processor, are configured to perform the keyboard key information determination method of embodiments of this application.

[0012] In this embodiment, the master sensing node is responsible for determining the first state information and the first key code corresponding to each first key, and the slave sensing node is responsible for determining the second state information and the second key code corresponding to each second key. Through the distributed architecture of master and slave sensing nodes working together, the parallel distributed execution of key information processing is realized, ensuring the detection accuracy of key state and improving the real-time performance and accuracy of key information acquisition. Attached Figure Description

[0013] Figure 1 This is a schematic diagram of the structure of a keyboard system provided in an embodiment of this application; Figure 2 A flowchart illustrating a method for determining keyboard key information provided in this application embodiment; Figure 3 A flowchart illustrating a specific implementation process for calculating the first state information corresponding to each first button based on the current sensor sampling data corresponding to at least one first button, provided in this application embodiment; Figure 4 A flowchart illustrating a specific implementation process for calculating a target depth value based on the current velocity value, the current depth value, and historical smoothed depth values, provided in this application embodiment; Figure 5 This application provides a flowchart of a specific implementation process for determining the target button state based on the target depth value, the current detection mode, and a reference distance threshold. Figure 6 A flowchart illustrating another method for determining keyboard key information provided in this application embodiment; Figure 7 A structural block diagram of a keyboard key information determination device provided in an embodiment of this application; Figure 8 A structural block diagram of another keyboard key information determination device provided in this application embodiment; Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0014] The embodiments of this application will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely illustrative of the embodiments of this application and are not intended to limit the scope of the embodiments. Furthermore, it should be noted that, for ease of description, only the parts relevant to the embodiments of this application are shown in the accompanying drawings, not the entire structure.

[0015] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0016] Figure 1 This is a schematic diagram of a keyboard system provided in an embodiment of this application, such as... Figure 1 As shown, the keyboard system includes a main sensing node 101, a first analog-to-digital converter 102, a first Hall sensor array 103, at least one first key 104, at least one slave sensing node 105, at least one second analog-to-digital converter 106 (the same number as the slave sensing nodes 105), at least one second Hall sensor array 107 (the same number as the slave sensing nodes 105), and at least one second key 108. The main sensing node 101 is connected to each slave sensing node 105. The main sensing node 101 is connected to a host 109 via USB. The main sensing node 101 is connected to the first Hall sensor array 103 via the first analog-to-digital converter 102. The first Hall sensor array 103 is used to detect the displacement change of at least one first key 104 that is coaxially aligned with it. Each slave sensing node 105 is connected to the corresponding second Hall sensor array 107 via the corresponding second analog-to-digital converter 106. The second Hall sensor array 107 is used to detect the displacement change of at least one second key 108 that is coaxially aligned with it.

[0017] The master sensing node can be the core control microprocessor of the keyboard system, which integrates local key signal processing, slave node communication management, global data integration, and USB host communication functions, serving as the control and data hub of the entire system. The first analog-to-digital converter (ADC) is responsible for converting the analog voltage signal output from the first Hall sensor array into a digital signal and providing it to the master sensing node for further processing. The first Hall sensor array can be an array composed of multiple linear Hall sensors, each corresponding to a specific first key and coaxially aligned. It detects changes in the displacement of the first key by sensing changes in the magnetic field strength of the magnet on the key, converting the mechanical displacement of the key into an analog voltage signal. It should be noted that the first ADC is directly connected to the first Hall sensor array, eliminating the switching delay and crosstalk distortion of analog switches, ensuring high-speed sampling and signal integrity, and providing high-quality raw data for high-precision depth detection. At least one first key can be a physical key within the jurisdiction of the master sensing node, composed of a shaft, spring, magnet, etc. When pressed, it moves the magnet up and down, changing the magnetic field strength at the Hall sensor. The slave sensing nodes can be microprocessors responsible for managing signal processing in a local keypad area. They only handle local key sampling, filtering, status determination, and event reporting, without global control or USB host communication. Their number is configured based on the total number of keys on the keyboard. It's important to note that distributing the signal processing tasks for the entire keypad area across multiple slave sensing nodes for parallel execution, with each node processing only a small number of keys, ensures a high sampling rate and sufficient computing power for each key, overcoming the performance bottleneck of existing single-processor configurations. The second analog-to-digital converter (ADC) is responsible for converting the analog signals from the corresponding second Hall sensor array into digital signals and providing them to the connected slave sensing nodes for further processing. The second Hall sensor array can be an array of multiple linear Hall sensors, each corresponding one-to-one with its corresponding second key and coaxially aligned, used to detect changes in the second key's displacement. At least one second key can be a physical key within the area managed by a slave sensing node.

[0018] It should be noted that existing technologies employ a centralized architecture of "single processor + multiple analog switches." The more keys it manages, the lower the single-key sampling rate, the less computing power allocated, and the worse the performance, making it impossible to simultaneously achieve high precision and low latency. In contrast, the keyboard system provided in this application uses a distributed multi-processor hardware architecture. By adding slave sensing nodes, the number of keys processed by each node can be kept within a reasonable range. When the total number of keys increases, only slave nodes need to be added, resulting in strong scalability. Furthermore, by directly connecting the analog-to-digital converter and the Hall sensor array, each key can obtain sufficient sampling rate and computing power, thus achieving both extremely high detection accuracy and extremely low response latency.

[0019] Figure 2 This is a flowchart illustrating a method for determining keyboard key information according to an embodiment of this application. This method is applied to a master sensing node in the aforementioned keyboard system, and the master sensing node is connected to at least one slave sensing node. Figure 2 As shown, the method for determining keyboard key information specifically includes the following steps: Step S201: Obtain the current sensing sampling data corresponding to at least one first button currently being detected, calculate the first state information corresponding to each first button based on the current sensing sampling data corresponding to at least one first button, and determine the first key code corresponding to each first button based on the first position information corresponding to at least one first button. Among them, referring to the above Figure 1 The description includes the following: The first button can be a physical button within the area directly managed by the main sensing node. The current sensing sampling data can be the raw digital quantity obtained by converting the analog output of the Hall sensor corresponding to the first button into a digital value through the first analog-to-digital converter, which indirectly reflects the current pressing stroke of the button. The first state information can be the result data obtained by the main sensing node from detecting the state of the first button. The first state information can specifically include the target depth value, the target button state, and the timestamp information. The target depth value can be the physical travel depth corresponding to the first button, reflecting the physical distance the first button is pressed. The target button state can be the working state of the first button. For example, depending on the detection mode, if it is a normal trigger mode, it can be divided into a normal press state and a normal release state. If it is a fast trigger mode, it can be divided into a fast press state and a fast release state. The first position information can be the coordinate information of the physical layout of the first button within the area managed by the main sensing node, such as the row number and column number, used to uniquely identify the physical position of the first button. The first key code can be a key function code conforming to the USB HID (Human Interface Device) standard. It is a logical key identifier that the host can recognize, mapped one-to-one with a physical location, and can be customized by the user through the host driver. In one embodiment, the main sensing node is provided with a global key value mapping table corresponding to the full keyboard. This global key value mapping table can use the node identifier and position information (e.g., row number + column number) as indexes to store the corresponding USB HID standard key codes. The method of determining the first key code corresponding to each first key based on the first position information corresponding to at least one first key can be to use the first position information corresponding to the first key as an index to query the first key code corresponding to the first key in the global key value mapping table.

[0020] In one embodiment, the method for calculating the first state information corresponding to each first button based on the current sensing sampling data corresponding to at least one first button can be to convert the current sensing sampling data into a target depth value according to a preset mapping relationship. For example, the minimum sampling value corresponds to the first depth value, and the maximum sampling value corresponds to the second depth value. Then, based on the data position of the current sensing sampling data within the data interval defined by the minimum and maximum sampling values, the target depth value can be determined within the data interval defined by the first and second depth values. By comparing the target depth value with the judgment threshold set for the current detection mode, the target button state of the first button can be determined. For example, if the current detection mode is a normal trigger mode, if the target depth value is greater than or equal to the normal press trigger threshold, the target button state of the first button is determined to be a normal press state; if the target depth value is less than or equal to the normal release trigger threshold, the target button state of the first button is determined to be a normal release state.

[0021] In one embodiment, a specific implementation process is described for calculating the first state information corresponding to each first button based on the current sensor sampling data corresponding to at least one first button. Please refer to [link / reference]. Figure 3 This is a flowchart illustrating a specific implementation process for calculating the first state information corresponding to each first button based on the current sensor sampling data corresponding to at least one first button, as provided in this application embodiment. Figure 3 As shown, the specific implementation steps for calculating the first state information corresponding to each first button based on the current sensor sampling data corresponding to at least one first button are as follows: Step S301: Convert the current sensor sampling data corresponding to each first button into the current depth value, and calculate the current speed value based on the current depth value and historical depth value corresponding to each first button.

[0022] The current depth value, obtained by calibrating and mapping the current sensor sampling data, directly reflects the physical travel depth of the button being pressed. Specifically, the current sensor sampling data is the processing result of the first analog-to-digital converter. Taking the current ADC value as an example, based on the value obtained during the calibration phase... (ADC value when the button is fully released) and (ADC value when the button is fully pressed), the specific calculation formula is as follows:

[0023] After calculating the current depth value corresponding to each first button, the current velocity value can be calculated based on the current depth value and historical depth values ​​of each first button. This current velocity value reflects the actual movement velocity of the first button at the current moment and is used for adaptive motion sensing filtering. Optionally, each first button can maintain a corresponding circular historical buffer of length L (L≥4) to store the depth values ​​of the most recent L sampling time points. Before the buffer is full, the target depth value can be calculated by first-order exponential smoothing based on the current depth value and historical smoothed depth values, without considering the current velocity value. In one embodiment, the current velocity value can be calculated based on the current depth value and historical depth values ​​of each first button using the central difference method, with the specific calculation formula as follows:

[0024] in, This is the current speed value. This is the current depth value. This represents the historical depth value from two sampling periods ago. This is the sampling period. It should be noted that when the first button is pressed, the button depth increases. , It is a positive value; when the first button is released, the button depth decreases. , The value is negative. Therefore, the central difference method can accurately reflect the actual velocity at the current moment without introducing phase delay.

[0025] Step S302: Calculate the target depth value based on the current speed value, current depth value, and historical smoothed depth value.

[0026] The historical smoothed depth value can be the depth value output after filtering and smoothing in the previous sampling period. In one embodiment, the target depth value is calculated based on the current speed value, the current depth value, and the historical smoothed depth value by using adaptive first-order exponential smoothing. This involves dynamically adjusting the smoothing coefficient according to the motion intensity. Specifically, the current speed value is compared with a preset speed threshold. If the current speed value is less than the preset speed threshold (low speed state), a smaller smoothing coefficient is used for strong smoothing; if the current speed value is greater than or equal to the preset speed threshold (high speed state), a larger smoothing coefficient is used to reduce latency. Finally, the target depth value is obtained by weighted summation of the current depth value and the historical smoothed depth value using the smoothing coefficient.

[0027] In one embodiment, a specific implementation process for calculating a target depth value based on the current velocity value, the current depth value, and historical smoothed depth values ​​is described. Please refer to [reference needed]. Figure 4This is a flowchart illustrating a specific implementation process for calculating a target depth value based on the current velocity value, current depth value, and historical smoothed depth values, as provided in this application embodiment. Figure 4 As shown, the specific steps for calculating the target depth value based on the current velocity value, current depth value, and historical smoothed depth value are as follows: Step S401: Convert the current speed value into a motion intensity factor, and determine the filtering coefficients based on the motion intensity factor and the preset mapping relationship.

[0028] The motion intensity factor is a dimensionless parameter obtained by normalizing the button movement speed, with a value range of [0,1], where 0 represents complete stillness and 1 represents maximum speed movement. It is used to quantify the intensity of the button movement. The formula for converting the current speed value into the motion intensity factor is as follows:

[0029] in, The preset maximum speed threshold, For exercise intensity factor, This is the current speed value. The determination method could be to obtain the maximum instantaneous speed by rapidly pressing the button throughout its full travel distance during the button calibration phase. Reference values.

[0030] The preset mapping relationship can be a functional relationship between the motion intensity factor and the filter coefficients, which can be achieved through table lookup or function calculation, defining the filtering smoothing intensity under different motion intensities. The filter coefficients can be the smoothing weight coefficients in a first-order exponential smoothing algorithm, with a value range of [value missing]. The smaller the coefficient, the higher the smoothing strength and the greater the delay; the larger the coefficient, the lower the smoothing strength and the smaller the delay.

[0031] Optionally, the preset mapping relationship can be , It can be a piecewise function, where, These are the filter coefficients. This is the exercise intensity factor. When... hour, It can provide an extremely smooth effect, with static noise peak-to-peak value less than or equal to 0.0005mm, guaranteeing a stability of 0.001mm; when hour, Smooth transition is achieved through cubic spline interpolation. The interpolation nodes can be (M=0.05, α=0.02), (M=0.15, α=0.15), (M=0.25, α=0.40), (M=0.35, α=0.75), and (M=0.4, α=1.0). When M>0.4, α=1.0, achieving zero-delay pass-through.

[0032] It should be noted that, based on the aforementioned exercise intensity factor and preset mapping relationship, it can be seen that when the button is pressed rapidly, A significant increase in intensity leads to a rapid rise in the motion intensity factor M, which can drive the filter coefficients. Approaching 1, this allows subsequent smoothing filtering to enter a zero-delay pass-through state; when the button is released quickly, Significantly increased, and also significantly increased. The significant increase also allows subsequent smoothing filtering to enter a zero-latency pass-through state. When the button is pressed or released slowly, The motion intensity factor M is relatively small, and subsequent smoothing filtering maintains a strong smoothness to prevent false triggering of micro-vibrations. When stationary, The smaller the value approaches zero, the motion intensity factor M approaches zero, and the filter coefficient... The minimum value of 0.02 is used to provide the ultimate smoothness.

[0033] Step S402: Perform smoothing calculations based on the filter coefficients, the current depth value, and the historical smoothing depth values ​​to obtain the current smoothing depth value.

[0034] The smoothing calculation can employ an nth-order exponential smoothing iterative algorithm. Taking first-order exponential smoothing as an example, the formula for calculating the current smoothing depth value is as follows:

[0035] in, This is the current smoothing depth value. These are the filter coefficients. This is the current depth value. This is the historical smoothing depth value from the previous sampling period.

[0036] Step S403: If the filtering coefficient is less than the preset coefficient threshold, determine the current smoothing depth value as the target depth value.

[0037] The preset coefficient threshold can be a pre-defined critical value for the filter coefficient, used to distinguish between low-speed / static scenes and high-speed motion scenes. It serves as a criterion for whether to enable prediction compensation and is typically set to a value close to 1 (e.g., 0.9). If the filter coefficient is less than the preset coefficient threshold, the current scene is determined to be a low-speed / static scene, and no additional compensation calculation is needed; the current smoothed depth value is directly determined as the target depth value. It should be noted that prediction compensation estimates the button position based on speed and acceleration, which introduces a certain prediction error. When the button movement speed is slow, the phase delay of the filter itself is very small, and the benefit of prediction compensation is not significant. In fact, noise from speed calculations may cause unnecessary fluctuations in the depth value, reducing trigger stability. Therefore, disabling prediction and directly outputting the smoothed value in low-speed scenes is the optimal balance between accuracy and latency.

[0038] Step S404: If the filtering coefficient is greater than or equal to the preset coefficient threshold, calculate the current acceleration value based on the current velocity value and the historical velocity value.

[0039] If the filter coefficient is greater than or equal to a preset threshold, the current scene is determined to be a high-speed motion scene, requiring further compensation calculations. The current acceleration value can be the change in button movement speed within a unit sampling period, reflecting the acceleration / deceleration trend of the button movement, and is a core parameter for improving position prediction accuracy. The historical velocity value can be the button velocity value calculated from the previous sampling period. Optionally, the current acceleration value can be calculated using the velocity difference method, with the specific calculation formula as follows:

[0040] in, This is the current acceleration value. This is the current speed value. Historical speed values The sampling period.

[0041] Step S405: Calculate the predicted depth value based on the current velocity value, the current acceleration value, and the historical smoothing depth value.

[0042] The predicted depth value can be a key prediction depth obtained based on motion estimation, used to compensate for phase lag caused by filtering. Optionally, the formula for calculating the predicted depth value is as follows:

[0043] in, To predict depth values, This represents the historical smoothing depth value from the previous sampling period. This is the current speed value. This is the current acceleration value. This is the sampling period. It should be noted that the aforementioned formula can estimate the position after one sampling period based on the smoothing depth of the previous period, thus offsetting the phase lag of the filter. Specifically, when the button is pressed, If positive, the velocity term If it is a positive value, then Greater than The button is predicted to continue moving downwards. If the button is pressed with acceleration, If positive, the acceleration term If it is also a positive value, then it will increase further. The predicted press speed will increase. If the button is pressed at a slower speed (i.e., close to bottoming out), the button will be pressed at a slower speed. A negative value indicates an acceleration term. A negative value moderately offsets the speed term, predicting a slower press speed. When the button is released... A negative value indicates the velocity term. If it is a negative value, then Less than The button is predicted to continue moving upwards. If the button is released with acceleration, A negative value indicates an acceleration term. If it is also negative, then it will decrease further. The predicted release speed will increase. If the button is released at a slower pace (i.e., near the top),... If positive, the acceleration term A positive value moderately offsets the speed term, predicting a slower release speed. Thus, by actively canceling the phase delay through feedforward prediction, the depth output value keeps up with or even precedes the actual movement of the button, further compressing the dynamic trigger delay and achieving a "negative delay" response effect.

[0044] Step S406: Weightedly fuse the current smoothed depth value and the predicted depth value to obtain the target depth value.

[0045] The formula for calculating the target depth value is as follows:

[0046] in, For the target depth value, This is the current smoothing depth value. To predict depth values, These are preset weighting coefficients. Optional. The value can be This allows the prediction component in the formula to provide 80% of the dominant weight, while the smoothing component provides 20% of the damping. This effectively suppresses prediction overshoot during sudden changes in motion (such as emergency stops), preventing the output from exceeding the actual physical travel range. It should be noted that if the button is pressed rapidly... Greater than After fusion Overall greater than The output anticipates the original signal, exceeding the normal press trigger threshold in normal trigger mode more quickly, achieving a "negative delay" response when the button is released; if the button is released quickly, Less than After fusion Overall smaller than The output drops faster, exceeding the normal release trigger threshold in normal trigger mode ahead of time, achieving a "negative delay" response to release.

[0047] As can be seen from steps S401-S406 above, an adaptive correlation mechanism between button motion state and filtering intensity is established through a two-level mapping of speed-motion intensity factor-filter coefficient, achieving dynamic optimization of filtering effect; scene division is performed through coefficient threshold, and smooth depth values ​​are directly output in low-speed and static scenes, avoiding errors and fluctuations that may be introduced by prediction compensation, maximizing the detection accuracy and stability in the scene; the optimal balance between smoothing filtering and prediction compensation is achieved through a weighted fusion mechanism, which uses prediction compensation to offset phase delay while retaining the noise suppression advantage of smoothing filtering, so that the depth output in high-speed scenes has both low latency and high stability.

[0048] Step S303: Determine the target button status based on the target depth value, the current detection mode, and the reference distance threshold.

[0049] The current detection mode can be the triggering mode of the button, such as a normal trigger mode and a fast trigger mode. The normal mode is based on an absolute threshold, while the fast mode is based on a relative displacement. The reference distance threshold can be a set of depth thresholds for judging the button state switching. Specifically, it can include the press / release threshold for normal triggering and the press / release relative distance threshold for fast triggering, which can be configured independently by the user.

[0050] In one embodiment, the reference distance threshold includes a normal trigger threshold, a press relative distance threshold, and a release relative distance threshold. Please refer to... Figure 5 This is a flowchart illustrating a specific implementation process for determining the target button state based on the target depth value, the current detection mode, and a reference distance threshold, as provided in this application embodiment. Figure 5 As shown, the specific implementation steps for determining the target button state based on the target depth value, the current detection mode, and the reference distance threshold are as follows: Step S501: When the current detection mode is normal trigger mode, compare the target depth value with the normal trigger threshold and determine the target button state, and record the target depth value as the reference distance threshold.

[0051] The normal trigger threshold can be an absolute depth threshold used to determine the key state switch in normal trigger mode, including the normal press trigger threshold and the normal release trigger threshold. Specifically, if the target depth value is greater than or equal to the normal press trigger threshold, the target key state is determined to be a normal press state; if the target depth value is less than or equal to the normal release trigger threshold, the target key state is determined to be a normal release state. The reference distance threshold can be a reference depth reference value used to calculate relative displacement in fast trigger mode. It should be noted that since normal trigger mode may suddenly switch to fast trigger mode, it is necessary to synchronously record the target depth value used each time in normal trigger mode as the reference distance threshold in real time, as a reference threshold for determining the state when switching to fast trigger mode.

[0052] Step S502: When the current detection mode is switched to the fast trigger mode, compare the target depth value with the currently recorded baseline distance threshold.

[0053] Among them, the quick trigger mode can be a trigger mode based on relative displacement. After activation, there is no need to press the button to return to the fixed release threshold. It is only necessary to move up / down a set relative distance to determine whether the quick release / press state has been reached.

[0054] Step S503: When the target depth value is less than the reference distance threshold and the absolute difference between the target depth value and the reference distance threshold is greater than or equal to the release relative distance threshold, the target button state is determined to be the quick release state, and the current target depth value is recorded as the new reference distance threshold.

[0055] In this process, if the target depth value is less than the baseline distance threshold, it can be determined that the button has moved upwards. The absolute difference between the target depth value and the baseline distance threshold is then compared with the release relative distance threshold to determine if the upward movement of the button has reached the expected relative distance. If the absolute difference is greater than or equal to the release relative distance threshold, the upward movement of the button can be considered to have reached the expected relative distance, and the target button state can be determined as a quick release state. If the absolute difference is less than the release relative distance threshold, the upward movement of the button can be considered not to have reached the expected relative distance, and detection continues. Simultaneously, each comparison requires recording the current target depth value as a new baseline distance threshold for reference during the next quick press detection.

[0056] Step S504: When the target depth value is greater than the reference distance threshold and the absolute difference between the target depth value and the reference distance threshold is greater than or equal to the relative distance threshold, the target button state is determined to be a quick press state, and the current target depth value is recorded as the new reference distance threshold.

[0057] In this process, if the target depth value is greater than the baseline distance threshold, it can be determined that the button has moved downwards. The absolute difference between the target depth value and the baseline distance threshold is then compared with a relative press distance threshold to determine if the downward movement of the button has reached the expected relative distance. If the absolute difference is greater than or equal to the relative press distance threshold, the button's downward movement can be considered to have reached the expected relative distance, and the target button state can be determined as a rapid press. If the absolute difference is less than the relative press distance threshold, the button's downward movement can be considered not to have reached the expected relative distance, and detection continues. Simultaneously, each comparison requires recording the current target depth value as a new baseline distance threshold for reference in the next rapid press detection.

[0058] As can be seen from steps S501-S504 above, by configuring optional normal trigger mode and fast trigger mode, the basic trigger mechanism for general input scenarios can be retained while taking into account the fast trigger mechanism for special input scenarios, reducing response latency and improving user experience.

[0059] It should be noted that after each key press event, the baseline distance threshold is reset to the current depth at the time of the event. Therefore, key release and key press can be triggered alternately and continuously, enabling rapid combos. Optionally, if the current target depth value is less than or equal to the normal release trigger threshold, the target key state is determined to be in a normal release state, and the current detection mode is switched to normal trigger mode. Specifically, if the current target depth value is less than or equal to the normal release trigger threshold, it can be determined that the key has been fully released, and the target key state can be determined to be in a normal release state. Furthermore, the current detection module can actively switch to normal trigger mode to achieve mode reset.

[0060] As can be seen from the above steps S301-S303, the current speed value, which represents the key movement state, is extracted by speed calculation, providing the core judgment basis for subsequent adaptive filtering and prediction compensation; by combining the current speed value, the current depth value, and the historical smoothed depth value to determine the target depth value, both filtering smoothing and response delay can be taken into account; by combining the target depth value, the current detection mode, and the reference distance threshold to determine the target key state, accurate state judgment can be achieved.

[0061] Step S202: Receive at least one node identifier sent from the sensing node, second position information and second status information corresponding to at least one second button, and determine the second key code corresponding to each second button based on the node identifier and the second position information corresponding to at least one second button.

[0062] Among them, referring to the above Figure 1The description of the slave sensing node is as follows: The slave sensing node can be a local sensing unit in a distributed architecture, responsible only for signal acquisition, preprocessing, and state determination of the buttons within its jurisdiction, and reporting the processed event data to the master node. In this embodiment, each slave sensing node is responsible for detecting the relevant state of at least one corresponding second button and reporting its node identifier, the second position information corresponding to at least one second button, and the second state information to the master sensing node. The node identifier can be a unique identification code assigned to each slave sensing node, used by the master sensing node to locate the data source and distinguish the reported information from different slave sensing nodes. The second position information can be the coordinate information of the physical layout of the second button within the jurisdiction of its corresponding slave sensing node, such as row and column numbers, used to uniquely identify the physical location of the second button. The second state information can be the result data obtained by the slave sensing node from detecting the state of the second button; the specific calculation process can refer to the description of determining the first state information in the aforementioned embodiment. The second state information may specifically include a target depth value, a target key state, and a timestamp. The target depth value can be the physical travel depth of the second key, reflecting the physical distance the second key is pressed. The target key state can be the working state of the second key; for example, depending on the detection mode, in a normal trigger mode, it can be divided into a normal press state and a normal release state; in a rapid trigger mode, it can be divided into a rapid press state and a rapid release state. The second keycode can be a key function code conforming to the USB HID standard, a logical key identifier recognizable by the host, mapped one-to-one with a physical location, and can be customized by the user through the host driver. In one embodiment, the master sensing node can connect to each slave sensing node through multiple independent SPIs, receiving event data reported by different slave sensing nodes in parallel. In one embodiment, the master sensing node has a global key value mapping table corresponding to the full keyboard. This global key value mapping table can store the corresponding USB HID standard keycode using node identifiers and position information (e.g., row number + column number) as indexes. The method of determining the second key code corresponding to each second key based on the node identifier and the second position information corresponding to at least one second key can be to use the node identifier and the second position information corresponding to the second key as an index to query the second key code corresponding to the second key from the global key value mapping table.

[0063] Step S203: Integrate the first key code and first state information corresponding to each first key, and the second key code and second state information corresponding to each second key to obtain keyboard key information.

[0064] Specifically, the integration process can involve the main sensing node combining the key codes and status information of different keys collected from local and various secondary sensing nodes according to a standard protocol format to obtain keyboard key information. This keyboard key information can be a global HID message, which is organized in the form of a bitmap matrix and contains the key codes of all keys that are currently pressed. It is the final output data reported by the keyboard to the host.

[0065] As can be seen from the above steps S201-S203, the master sensing node is responsible for determining the first state information and the first key code corresponding to each first key, and the slave sensing node is responsible for determining the second state information and the second key code corresponding to each second key. Through the distributed architecture of master and slave sensing nodes working together, the parallel distributed execution of key information processing is realized, ensuring the detection accuracy of key state and improving the real-time performance and accuracy of key information acquisition.

[0066] Figure 6 This is a flowchart illustrating another method for determining keyboard key information provided in an embodiment of this application. This method is applied to a slave sensing node in the aforementioned keyboard system, and the slave sensing node is connected to the master sensing node. Figure 6 As shown, the method for determining keyboard key information specifically includes the following steps: Step S601: Obtain the current sensing sampling data corresponding to at least one currently detected second key.

[0067] Among them, referring to the above Figure 1 The description states that the second button can be a physical button within the area directly managed by the sensing node. The current sensing sampling data can be the raw digital quantity obtained by converting the analog output of the Hall sensor corresponding to the second button into an analog-to-digital value through a second analog-to-digital converter, which indirectly reflects the current pressing distance of the button.

[0068] Step S602: Calculate the second state information corresponding to each second button based on the current sensing sampling data corresponding to at least one second button.

[0069] The second state information may specifically include a target depth value, a target button state, and a timestamp. The target depth value can be the physical travel depth of the second button, reflecting the physical distance the second button has been pressed. The target button state can be the working state of the second button; for example, depending on the detection mode, in a normal trigger mode, it can be divided into a normal press state and a normal release state; in a rapid trigger mode, it can be divided into a rapid press state and a rapid release state. The second position information can be the coordinate information of the physical layout of the second button within the area managed by the sensing node, such as row and column numbers, used to uniquely identify the physical position of the second button. The specific calculation process of the second state information can refer to the relevant description of the first state information above, which has the same technical effect, and will not be repeated here.

[0070] Step S603: Send a node identifier, second position information and second state information corresponding to at least one second button to the main sensing node, so that the main sensing node determines the second key code corresponding to each second button according to the node identifier and the second position information corresponding to at least one second button, and integrates the determined first key code and first state information corresponding to each first button, as well as the second key code and second state information corresponding to each second button to obtain keyboard key information.

[0071] Specifically, by sending a node identifier, second position information, and second state information corresponding to at least one second key to the main sensing node, the main sensing node can combine the key codes and state information corresponding to different keys collected from local and various sensing nodes according to a standard protocol format to obtain keyboard key information. This keyboard key information can be a global HID message, organized in the form of a bitmap matrix, containing the key codes of all keys currently in the pressed state, and is the final output data reported by the keyboard to the host. The specific determination of the second key code and the integration process can be referred to the relevant descriptions in the foregoing embodiments, which achieve the same technical effects, and will not be repeated here.

[0072] As can be seen from the above steps S601-S603, the master sensing node is responsible for determining the first state information and the first key code corresponding to each first key, and the slave sensing node is responsible for determining the second state information and the second key code corresponding to each second key. Through the distributed architecture of master and slave sensing nodes working together, the parallel distributed execution of key information processing is realized, ensuring the detection accuracy of key state and improving the real-time performance and accuracy of key information acquisition.

[0073] Figure 7 This is a structural block diagram of a keyboard key information determination device provided in an embodiment of this application. The device is configured to execute the keyboard key information determination method provided in the above embodiment, and has corresponding functional modules and beneficial effects for executing the method. For example... Figure 7As shown, the device specifically includes: The first acquisition module 701 is configured to acquire the current sensing sampling data corresponding to at least one first button currently being detected; The first information determination module 702 is configured to calculate the first state information corresponding to each first button based on the current sensing sampling data corresponding to at least one first button, and determine the first key code corresponding to each first button based on the first position information corresponding to at least one first button. The receiving module 703 is configured to receive at least one node identifier sent from the sensing node, and at least one second position information and second status information corresponding to the second button. The second information determination module 704 is configured to determine the second key code corresponding to each second key based on the node identifier and the second position information corresponding to at least one second key; The integration module 705 is configured to integrate the first key code and first state information corresponding to each first key, and the second key code and second state information corresponding to each second key to obtain keyboard key information.

[0074] As described above, the master sensing node is responsible for determining the first state information and the first key code corresponding to each first key, while the slave sensing node is responsible for determining the second state information and the second key code corresponding to each second key. Through the distributed architecture of master-slave sensing nodes working together, parallel distributed execution of key information processing is achieved, ensuring the detection accuracy of key states and improving the real-time performance and accuracy of key information acquisition.

[0075] In one possible embodiment, the first state information includes the target depth value and the target button state; the first information determination module 702 is specifically configured as follows: Convert the current sensor sampling data corresponding to each first button into the current depth value, and calculate the current speed value based on the current depth value and historical depth value corresponding to each first button. The target depth value is calculated based on the current velocity value, current depth value, and historical smoothed depth value. The target button status is determined based on the target depth value, the current detection mode, and the reference distance threshold.

[0076] In one possible embodiment, the first information determining module 702 is further configured as follows: The current speed value is converted into a motion intensity factor, and the filtering coefficients are determined based on the motion intensity factor and a preset mapping relationship. The current smoothing depth value is obtained by smoothing calculation based on the filter coefficients, the current depth value, and the historical smoothing depth values. If the filtering coefficient is less than the preset coefficient threshold, the current smoothing depth value is determined as the target depth value.

[0077] In one possible embodiment, the first information determining module 702 is further configured as follows: If the filter coefficient is greater than or equal to the preset coefficient threshold, the current acceleration value is calculated based on the current velocity value and the historical velocity value. The predicted depth value is calculated based on the current velocity value, current acceleration value, and historical smoothed depth value. The target depth value is obtained by weighted fusion of the current smoothed depth value and the predicted depth value.

[0078] In one possible embodiment, the reference distance threshold includes a normal trigger threshold, a press relative distance threshold, and a release relative distance threshold; the first information determination module 702 is further specifically configured as follows: When the current detection mode is normal trigger mode, the target depth value is compared with the normal trigger threshold to determine the target button state, and the target depth value is recorded as the reference distance threshold. When the current detection mode is switched to fast trigger mode, the target depth value is compared with the currently recorded baseline distance threshold; If the target depth value is less than the reference distance threshold, and the absolute difference between the target depth value and the reference distance threshold is greater than or equal to the release relative distance threshold, the target button state is determined to be the quick release state, and the current target depth value is recorded as the new reference distance threshold.

[0079] In one possible embodiment, the first information determining module 702 is further configured as follows: If the target depth value is greater than the reference distance threshold, and the absolute difference between the target depth value and the reference distance threshold is greater than or equal to the relative distance threshold, the target button state is determined to be a quick press state, and the current target depth value is recorded as the new reference distance threshold.

[0080] In one possible embodiment, the normal trigger threshold includes a normal release trigger threshold; the first information determination module 702 is further specifically configured as follows: If the current target depth value is less than or equal to the normal release trigger threshold, the target button state is determined to be the normal release state, and the current detection mode is switched to the normal trigger mode.

[0081] Figure 8 This is a structural block diagram of another keyboard key information determination device provided in an embodiment of this application. This device is configured to execute the keyboard key information determination method provided in the above embodiment, and has corresponding functional modules and beneficial effects for executing the method. For example... Figure 8 As shown, the device specifically includes: The second acquisition module 801 is configured to acquire the current sensing sampling data corresponding to at least one second button currently being detected; The calculation module 802 is configured to calculate the second state information corresponding to each second button based on the current sensing sampling data corresponding to at least one second button; The sending module 803 is configured to send a node identifier, second position information and second status information corresponding to at least one second button to the main sensing node, so that the main sensing node determines the second key code corresponding to each second button according to the node identifier and the second position information corresponding to at least one second button, and integrates the determined first key code and first status information corresponding to each first button, as well as the second key code and second status information corresponding to each second button, to obtain keyboard key information.

[0082] As described above, the master sensing node is responsible for determining the first state information and the first key code corresponding to each first key, while the slave sensing node is responsible for determining the second state information and the second key code corresponding to each second key. Through the distributed architecture of master-slave sensing nodes working together, parallel distributed execution of key information processing is achieved, ensuring the detection accuracy of key states and improving the real-time performance and accuracy of key information acquisition.

[0083] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 9 As shown, the device includes a processor 901, a memory 902, an input device 903, and an output device 904; the number of processors 901 in the device can be one or more. Figure 9 Taking a processor 901 as an example; the processor 901, memory 902, input device 903, and output device 904 in the device can be connected via a bus or other means. Figure 9 Taking a bus connection as an example, the memory 902, as a computer-readable storage medium, can be configured to store software programs, computer-executable programs, and modules, such as the program instructions / modules corresponding to the keyboard key information determination method in this embodiment. The processor 901 executes various functional applications and data processing of the device by running the software programs, instructions, and modules stored in the memory 902, thereby implementing the aforementioned keyboard key information determination method. The input device 903 can be configured to receive input numeric or character information and generate key signal inputs related to user settings and function control of the device. The output device 904 may include a display screen or other display device.

[0084] The electronic device provided above can be used to execute the keyboard key information determination method provided in any of the above embodiments, and has corresponding functions and beneficial effects.

[0085] This application embodiment also provides a non-volatile storage medium containing computer-executable instructions. When executed by a computer processor, the computer-executable instructions are configured to perform a keyboard key information determination method described in the above embodiments, comprising: acquiring current sensing sampling data corresponding to at least one currently detected first key; calculating first state information corresponding to each first key based on the current sensing sampling data corresponding to at least one first key; and determining a first key code corresponding to each first key based on first position information corresponding to at least one first key; receiving at least one node identifier sent from a sensing node, second position information and second state information corresponding to at least one second key, and determining a second key code corresponding to each second key based on the node identifier and the second position information corresponding to at least one second key; and integrating the first key code and first state information corresponding to each first key, as well as the second key code and second state information corresponding to each second key, to obtain keyboard key information.

[0086] Storage medium – any type of memory device or storage device. The term “storage medium” is intended to include: mounting media, such as CD-ROM, floppy disk, or magnetic tape devices; computer system memory or random access memory, such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; non-volatile memory, such as flash memory, magnetic media, or optical storage; registers or other similar types of memory elements, etc. Storage medium may also include other types of memory or combinations thereof. Furthermore, storage medium may reside in a first computer system in which the program is executed, or it may reside in a different second computer system connected to the first computer system via a network (such as the Internet). The second computer system can provide program instructions to the first computer for execution. The term “storage medium” may include two or more storage media residing in different locations (e.g., in different computer systems connected via a network). Storage medium may store program instructions (e.g., specifically implemented as a computer program) executable by one or more processors.

[0087] Of course, the computer-executable instructions provided in the embodiments of this application are not limited to the keyboard key information determination method described above, but can also execute related operations in the keyboard key information determination method provided in any embodiment of this application.

[0088] It is worth noting that in the embodiments of the keyboard key information determination device described above, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not configured to limit the protection scope of the embodiments of this application.

[0089] It should be noted that the numbering of each step in this solution is only used to describe the overall design framework of this solution and does not indicate a necessary sequential relationship between the steps. As long as the overall implementation process conforms to the overall design framework of this solution, it falls within the protection scope of this solution. The order of the text in the description is not an exclusive limitation on the specific implementation process of this solution. Those skilled in the art should understand that the embodiments of this application can be provided as methods, systems, or computer program products. In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory. Memory may include non-persistent memory in computer-readable media, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0090] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0091] Note that the above description is merely a preferred embodiment of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, the scope of which is determined by the scope of the appended claims.

Claims

1. A method for determining keyboard key information, characterized in that, Applied to a master sensing node, which is connected to at least one slave sensing node, the method for determining keyboard key information includes: Obtain current sensor sampling data corresponding to at least one first button currently being detected, calculate first state information corresponding to each first button based on the current sensor sampling data corresponding to the at least one first button, and determine the first key code corresponding to each first button based on the first position information corresponding to the at least one first button. Receive at least one node identifier sent from the sensing node, second position information and second status information corresponding to at least one second button, and determine the second key code corresponding to each second button based on the node identifier and the second position information corresponding to the at least one second button; The keyboard key information is obtained by integrating the first key code and first state information corresponding to each of the first keys, and the second key code and second state information corresponding to each of the second keys.

2. The method for determining keyboard key information according to claim 1, characterized in that, The first status information includes the target depth value and the target button status; The step of calculating the first state information corresponding to each first button based on the current sensing sampling data corresponding to the at least one first button includes: Convert the current sensor sampling data corresponding to each of the first buttons into the current depth value, and calculate the current speed value based on the current depth value and historical depth value corresponding to each of the first buttons. The target depth value is calculated based on the current velocity value, the current depth value, and the historical smoothed depth value. The target button state is determined based on the target depth value, the current detection mode, and the reference distance threshold.

3. The method for determining keyboard key information according to claim 2, characterized in that, The step of calculating the target depth value based on the current velocity value, the current depth value, and the historical smoothed depth value includes: The current speed value is converted into a motion intensity factor, and the filtering coefficient is determined based on the motion intensity factor and a preset mapping relationship. The current smoothed depth value is obtained by performing smoothing calculations based on the filtering coefficients, the current depth value, and the historical smoothed depth values. If the filtering coefficient is less than a preset coefficient threshold, the current smoothing depth value is determined as the target depth value.

4. The method for determining keyboard key information according to claim 3, characterized in that, After obtaining the current smoothed depth value through smoothing calculation based on the filter coefficients, the current depth value, and the historical smoothed depth values, the method further includes: When the filtering coefficient is greater than or equal to the preset coefficient threshold, the current acceleration value is calculated based on the current velocity value and the historical velocity value; The predicted depth value is calculated based on the current velocity value, the current acceleration value, and the historical smoothed depth value. The target depth value is obtained by weighted fusion of the current smoothed depth value and the predicted depth value.

5. The method for determining keyboard key information according to claim 2, characterized in that, The reference distance thresholds include a normal trigger threshold, a press relative distance threshold, and a release relative distance threshold; Determining the target button state based on the target depth value, the current detection mode, and the reference distance threshold includes: When the current detection mode is normal trigger mode, the target depth value is compared with the normal trigger threshold to determine the target button state, and the target depth value is recorded as the reference distance threshold. When the current detection mode is switched to the fast trigger mode, the target depth value is compared with the currently recorded reference distance threshold. If the target depth value is less than the reference distance threshold, and the absolute difference between the target depth value and the reference distance threshold is greater than or equal to the release relative distance threshold, the target button state is determined to be a quick release state, and the current target depth value is recorded as a new reference distance threshold.

6. The method for determining keyboard key information according to claim 5, characterized in that, After comparing the target depth value with the currently recorded reference distance threshold, the method further includes: If the target depth value is greater than the reference distance threshold, and the absolute difference between the target depth value and the reference distance threshold is greater than or equal to the relative press distance threshold, the target button state is determined to be a rapid press state, and the current target depth value is recorded as a new reference distance threshold.

7. The method for determining keyboard key information according to claim 5 or 6, characterized in that, The common trigger threshold includes the common release trigger threshold; After recording the current target depth value as the new reference distance threshold, the method further includes: If the current target depth value is less than or equal to the normal release trigger threshold, the target button state is determined to be a normal release state, and the current detection mode is switched to normal trigger mode.

8. A method for determining keyboard key information, characterized in that, Applied to a slave sensing node, which is connected to a master sensing node, the method for determining keyboard key information includes: Obtain the current sensor sampling data corresponding to at least one of the currently detected second buttons; The second state information corresponding to each second button is calculated based on the current sensor sampling data corresponding to the at least one second button. The main sensing node sends a node identifier, second position information and second state information corresponding to the at least one second button to the main sensing node, so that the main sensing node determines the second key code corresponding to each second button according to the node identifier and the second position information corresponding to the at least one second button, and integrates the determined first key code and first state information corresponding to each first button, as well as the second key code and second state information corresponding to each second button, to obtain keyboard key information.

9. A keyboard key information determining device, characterized in that, The keyboard key information determination device serves as a master sensing node and is connected to at least one slave sensing node. The keyboard key information determination device includes: The first acquisition module is configured to acquire the current sensor sampling data corresponding to at least one first button currently being detected; The first information determination module is configured to calculate the first state information corresponding to each first button based on the current sensing sampling data corresponding to the at least one first button, and determine the first key code corresponding to each first button according to the first position information corresponding to the at least one first button. The receiving module is configured to receive at least one node identifier sent from the sensing node, and at least one second position information and second status information corresponding to a second button. The second information determination module is configured to determine the second key code corresponding to each second key based on the node identifier and the second position information corresponding to the at least one second key; The integration module is configured to integrate the first key code and first state information corresponding to each of the first keys, and the second key code and second state information corresponding to each of the second keys to obtain keyboard key information.

10. A keyboard key information determining device, characterized in that, The keyboard key information determination device is connected to the master sensing node as a slave sensing node. The keyboard key information determination device includes: The second acquisition module is configured to acquire the current sensor sampling data corresponding to at least one of the currently detected second buttons; The calculation module is configured to calculate the second state information corresponding to each second button based on the current sensing sampling data corresponding to the at least one second button; The sending module is configured to send a node identifier, second position information and second status information corresponding to the at least one second button to the main sensing node, so that the main sensing node determines the second key code corresponding to each second button according to the node identifier and the second position information corresponding to the at least one second button, and integrates the determined first key code and first status information corresponding to each first button, as well as the second key code and second status information corresponding to each second button, to obtain keyboard key information.

11. A keyboard system, characterized in that, The keyboard system includes a master sensing node, a first analog-to-digital converter, a first Hall sensor array, at least one first key, at least one slave sensing node, at least one second analog-to-digital converter with the same number of slave sensing nodes, at least one second Hall sensor array with the same number of slave sensing nodes, and at least one second key. The master sensing node is connected to each of the slave sensing nodes. The master sensing node is connected to the first Hall sensor array via the first analog-to-digital converter. The first Hall sensor array is used to detect the displacement change of at least one first key that is coaxially aligned with it. Each slave sensing node is connected to a corresponding second Hall sensor array via a corresponding second analog-to-digital converter. The second Hall sensor array is used to detect the displacement change of at least one second key that is coaxially aligned with it. The master sensing node is used to execute the keyboard key information determination method according to any one of claims 1-7, and the slave sensing node is used to execute the keyboard key information determination method according to claim 8.

12. An electronic device, the electronic device comprising: One or more processors; A memory configured to store one or more programs, which, when executed by one or more processors, cause the one or more processors to implement the keyboard key information determination method according to any one of claims 1-8.

13. A non-volatile storage medium for storing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are configured to perform the keyboard key information determination method according to any one of claims 1-8.