Mouse cursor control method based on inertial measurement unit

By dynamically switching the sensitivity mapping mode of the inertial measurement unit, the problems of slow response and inaccurate positioning caused by a single mode in the existing technology are solved, efficient cursor control is achieved in different scenarios, and user experience and operating efficiency are improved.

CN120653134APending Publication Date: 2025-09-16SHENZHEN HULE TECHNOLOGY CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510697005.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-28
Publication Date
2025-09-16

AI Technical Summary

Technical Problem

Existing cursor control technology based on inertial measurement units uses a single sensitivity mapping mode, which is difficult to meet diverse interaction needs, resulting in slow response in fast positioning scenarios or inaccurate positioning in precise pointing scenarios, and a poor user experience.

Method used

A mouse cursor control method based on an inertial measurement unit is adopted. By reading the physical mouse sensitivity settings of the operating system, basic sensitivity adjustment parameters are generated. Combined with multi-level preprocessing and context awareness technology, the absolute mapping mode and relative mapping mode are dynamically switched to generate mouse cursor movement instructions.

Benefits of technology

Flexible sensitivity mapping switching is achieved in different operating scenarios, which improves operational efficiency and user experience, ensures the consistency and accuracy of control, and significantly improves adaptability and responsiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120653134A_ABST
    Figure CN120653134A_ABST
Patent Text Reader

Abstract

The invention discloses a mouse cursor control method and device based on an inertial measurement unit and a computer readable storage medium. The method comprises the steps that basic mouse sensitivity adjusting parameters are calculated according to physical mouse sensitivity setting; obtaining original three-dimensional motion data of the inertial measurement unit and executing multi-stage preprocessing to generate a standard motion feature flow; selecting parameters from the standard motion feature flow as basic cursor control input based on current human-computer interaction situation information; according to the system detection condition, determining a current effective sensitivity mapping mode in at least two preset sensitivity mapping modes; and using the basic sensitivity parameter as an adjusting parameter, and processing the basic cursor control input by applying a preset mapping algorithm corresponding to the current effective sensitivity mapping mode to generate a mouse cursor moving instruction. The method has the advantage that the operation efficiency and the user experience of the IMU-based cursor control in multiple scenes are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of somatosensory mouse cursor control, and in particular to a mouse cursor control method and device based on an inertial measurement unit, and a computer-readable storage medium. Background Art

[0002] As a sensor technology capable of capturing the three-dimensional motion and posture of an object, the inertial measurement unit (IMU) demonstrates significant potential in human-computer interaction, particularly as a replacement for traditional mouse cursor control. Existing technologies typically utilize an IMU with integrated accelerometers, gyroscopes, and magnetometers to acquire raw motion data. Through preprocessing and algorithms (such as those based on Euler angles, quaternions, or angular velocity), the user's intended motion in three-dimensional space is mapped to cursor movements on a two-dimensional screen.

[0003] However, existing IMU-based cursor control technologies generally adopt a single sensitivity mapping mode, that is, a fixed mapping method is used to handle all operation scenarios. This single-mode design has significant limitations in practical applications and is difficult to meet diverse interaction needs. For example, in scenarios that require fast positioning (such as games or large-scale interface navigation), a single absolute mapping mode may cause the cursor to respond slowly and reduce operational efficiency; while in scenarios that require precise pointing (such as text editing or graphic design), a single relative mapping mode may affect positioning accuracy due to the lack of a fixed reference.

[0004] Therefore, in order to address the problems of insufficient adaptability, limited control accuracy, and poor user experience caused by the use of a single sensitivity mapping mode in the existing technology, an improved cursor control solution is urgently needed in the art. Summary of the Invention

[0005] The embodiments of the present application provide a mouse cursor control method based on an inertial measurement unit, aiming to improve the operational efficiency and user experience of IMU-based cursor control in multiple scenarios.

[0006] To achieve the above objectives, an embodiment of the present application provides a mouse cursor control method based on an inertial measurement unit, comprising:

[0007] Reading the physical mouse sensitivity setting of the operating system, and calculating the basic mouse sensitivity adjustment parameter according to the physical mouse sensitivity setting;

[0008] Obtain the raw 3D motion data of the inertial measurement unit and perform multi-level preprocessing to generate a standard motion feature stream containing 3D attitude parameters and 3D angular velocity parameters;

[0009] Acquiring current human-computer interaction context information, and selecting parameters from the standard motion feature stream as basic cursor control input based on the current human-computer interaction context information;

[0010] Determining a currently effective sensitivity mapping mode from at least two preset sensitivity mapping modes according to system detection conditions;

[0011] Using the basic sensitivity parameter as an adjustment parameter, applying a preset mapping algorithm corresponding to the currently effective sensitivity mapping mode to process the basic cursor control input to generate a mouse cursor movement instruction;

[0012] The mouse cursor movement instruction is converted into a standard operating system mouse input event and injected into the event processing queue of the operating system.

[0013] In one embodiment, reading the physical mouse sensitivity setting of the operating system and calculating the basic mouse sensitivity adjustment parameter according to the physical mouse sensitivity setting includes:

[0014] Obtain the physical mouse sensitivity value set by the user in the operating system through the application programming interface provided by the operating system;

[0015] According to a predefined conversion rule, the physical mouse sensitivity value is converted into a basic sensitivity parameter suitable for inertial measurement unit control.

[0016] In one embodiment, raw 3D motion data from an inertial measurement unit is obtained and multi-stage preprocessing is performed to generate a standard motion feature stream containing 3D attitude parameters and 3D angular velocity parameters, including:

[0017] Applying an adaptive low-pass filter to perform preliminary filtering on the original three-dimensional motion data, wherein a cutoff frequency of the adaptive low-pass filter is dynamically adjusted according to signal energy of the original three-dimensional motion data;

[0018] Performing sensor fusion processing on the raw three-dimensional motion data after preliminary filtering using a Kalman filter to generate the three-dimensional posture parameters and the three-dimensional angular velocity parameters;

[0019] The three-dimensional posture parameters and the three-dimensional angular velocity parameters are normalized and offset corrected to obtain the standardized motion feature flow.

[0020] In one embodiment, obtaining current human-computer interaction context information and selecting parameters from the standard motion feature stream as basic cursor control input based on the current human-computer interaction context information includes:

[0021] Determining, through an application program interface or a user interface analysis tool provided by the operating system, the type of the currently active application or the type of the user interface element under the cursor as the current human-computer interaction context information;

[0022] According to a preset context mapping table, a specific axial combination of the three-dimensional posture parameters or a specific axial combination of the three-dimensional angular velocity parameters corresponding to the type of the currently active application or the type of the user interface element under the cursor is selected as the basic cursor control input.

[0023] In one embodiment, the at least two preset sensitivity mapping modes include an absolute mapping mode for mapping the device posture to an absolute position of the screen based on the three-dimensional posture parameter, and a relative mapping mode for mapping the device angular velocity to a relative displacement or velocity of the screen based on the three-dimensional angular velocity parameter;

[0024] Determining a currently effective sensitivity mapping mode from among at least two preset sensitivity mapping modes according to system detection conditions includes:

[0025] detecting a motion amplitude or a motion speed associated with the basic cursor control input in the standard motion data stream,

[0026] When the movement amplitude or the movement speed exceeds a preset first threshold, determining that the relative mapping mode is the currently effective sensitivity mapping mode;

[0027] When the movement amplitude or the movement speed is lower than a preset second threshold, the absolute mapping mode is determined to be the currently effective sensitivity mapping mode.

[0028] In one embodiment, the basic sensitivity parameter is used as an adjustment parameter, and a preset mapping algorithm corresponding to the currently effective sensitivity mapping mode is applied to process the basic cursor control input to generate a mouse cursor movement instruction, including:

[0029] When the currently effective sensitivity mapping mode changes from the sensitivity mapping mode of the previous control cycle, a smooth transition process is performed based on the current output of the preset mapping algorithm and the final output state data of the previous control cycle to generate the mouse cursor movement instruction.

[0030] In one embodiment, performing a smooth transition process includes:

[0031] Within a preset transition time after the currently effective sensitivity mapping mode is changed from the sensitivity mapping mode of the previous control cycle, the mouse cursor movement instruction is calculated as a weighted average value between the output of the preset mapping algorithm and the final output state data of the previous control cycle, wherein the weight of the weighted average value changes smoothly over time within the preset transition time.

[0032] In one embodiment, converting the mouse cursor movement instruction into a standard operating system mouse input event includes:

[0033] Converting the mouse cursor movement instructions in the mouse event sequence into standard mouse movement events containing absolute screen coordinates or relative displacements according to the currently effective sensitivity mapping mode;

[0034] At least one multimodal feedback of tactile, auditory or visual is provided for the switching of the sensitivity mapping mode.

[0035] To achieve the above-mentioned objectives, an embodiment of the present application also proposes a mouse cursor control device based on an inertial measurement unit, comprising a memory, a processor, and a mouse cursor control program based on an inertial measurement unit stored in the memory and runnable on the processor. When the processor executes the mouse cursor control program based on the inertial measurement unit, the mouse cursor control method based on the inertial measurement unit as described in any one of the above items is implemented.

[0036] To achieve the above-mentioned purpose, an embodiment of the present application also proposes a computer-readable storage medium, on which a mouse cursor control program based on an inertial measurement unit is stored. When the mouse cursor control program based on an inertial measurement unit is executed by a processor, the mouse cursor control method based on an inertial measurement unit as described in any one of the above items is implemented.

[0037] The mouse cursor control method based on the inertial measurement unit of the technical solution of the present application fundamentally solves the limitations of the single mode of the existing technology by introducing at least two preset sensitivity mapping modes and determining the technical features of the currently effective sensitivity mapping mode based on user input or system detection conditions. This means that the system is no longer limited to a fixed mapping method, but can flexibly switch between a mode of absolute position mapping based on the three-dimensional posture information of the device (suitable for precise pointing) and a mode of relative displacement mapping based on three-dimensional angular velocity information (suitable for fast, large-scale movement). This multi-mode design allows users to call the most appropriate control logic when facing operating tasks of different natures - whether it requires fast positioning or fine manipulation - so that better operating effects can be obtained in various application scenarios, which directly makes up for the defects of the single absolute mapping mode pointed out in the background technology, that is, the slow response in fast scenarios and the inaccurate positioning of the single relative mapping mode in precise scenarios.

[0038] Secondly, combined with the technical features of obtaining human-computer interaction context information and selecting a specific axis combination of specified three-dimensional posture parameters or three-dimensional angular velocity parameters from the standard motion data stream as the basic cursor control input based on the context, this application makes the selection and application of sensitivity mapping modes more intelligent and targeted. The system can automatically or assist the user in selecting the basic control parameters (posture or angular velocity) that best match the context and activate the corresponding mapping mode based on the type of application currently running or the characteristics of the interface elements the user is interacting with. This contextual adaptive capability ensures that the control method can dynamically adapt to the current task requirements. For example, when making detailed depictions in drawing software, the system may tend to adopt an absolute positioning mode based on posture; when browsing wide web pages or playing games, it can switch to a relatively fast movement mode based on angular velocity, thereby significantly improving the intuitiveness and efficiency of control.

[0039] What is particularly critical is that when the sensitivity mapping mode changes, the present application applies the preset mapping algorithm corresponding to the current effective mode, and uses the basic sensitivity parameters as adjustment parameters to process the basic cursor control input, and then performs a smooth transition process based on the output of the preset mapping algorithm and the final output state data of the previous control cycle. This ensures the smoothness of mode switching and the continuity of user experience. This smooth transition mechanism can effectively eliminate or significantly reduce the sudden jumps, loss of control or response interruptions of the pointer that may be caused by changes in mapping logic or sensitivity characteristics, so that users can hardly feel the abrupt changes during the mode conversion process. This not only improves the user's willingness and comfort to switch between different modes, but also ensures the consistency and accuracy of operations in dynamic task flows, overcoming the problem that is not explicitly mentioned in the background technology but actually exists, that is, users are unwilling to take advantage of the advantages of multiple modes due to abrupt switching.

[0040] In addition, this application calculates the basic sensitivity parameters by reading the physical mouse sensitivity settings of the operating system, providing a sensitivity starting point that conforms to the user's existing habits for all mapping modes, further improving the user-friendliness. At the same time, the original three-dimensional motion data is preprocessed to generate a high-quality standard motion data stream, providing a stable and reliable data foundation for various mapping modes and subsequent precise calculations, ensuring the accuracy of the overall control. Finally, the final instruction is converted into a standard operating system mouse event and injected into the queue, ensuring the wide compatibility and immediate availability of this method. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the structures shown in these drawings without paying any creative work.

[0042] Figure 1 This is a module structure diagram of an embodiment of a mouse cursor control device based on an inertial measurement unit according to the present invention;

[0043] Figure 2 2 is a flow chart of an embodiment of a method for controlling a mouse cursor based on an inertial measurement unit according to the present invention.

[0044] The purpose, features and advantages of the present invention will be further described with reference to the accompanying drawings and in conjunction with the embodiments. DETAILED DESCRIPTION

[0045] It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0046] To better understand the above technical solutions, exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. Instead, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0047] It should be noted that in the claims, any reference signs placed between brackets shall not be construed as limiting the claims. The presence of "comprising" in the text does not exclude the presence of components or steps not listed in the claims. The quantifier "a" or "an" preceding a component does not exclude the presence of a plurality of such components. The present invention can be implemented by means of hardware comprising several different components and by means of a suitably programmed computer. In a unit claim that lists several means, several of these means may be embodied by the same hardware item. The use of "first", "second", and "third" etc. does not indicate any order and these words may be interpreted as names.

[0048] like Figure 1 As shown, Figure 1 It is a structural diagram of a server 1 (also called a mouse cursor control device based on an inertial measurement unit) in a hardware operating environment involved in an embodiment of the present invention.

[0049] The server of the embodiment of the present invention is a device with display function such as "Internet of Things devices", smart air conditioners, smart lights, smart power supplies with networking functions, AR / VR devices with networking functions, smart speakers, self-driving cars, PCs, smart phones, tablet computers, e-book readers, portable computers, etc.

[0050] like Figure 1 As shown, the server 1 includes: a memory 11 , a processor 12 and a network interface 13 .

[0051] The memory 11 includes at least one type of readable storage medium, including a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., an SD or DX memory), a magnetic memory, a magnetic disk, an optical disk, etc. In some embodiments, the memory 11 may be an internal storage unit of the server 1, such as a hard disk of the server 1. In other embodiments, the memory 11 may also be an external storage device of the server 1, such as a plug-in hard disk equipped on the server 1, a smart media card (SMC), a secure digital (SD) card, a flash card, etc.

[0052] Furthermore, the memory 11 may include both an internal storage unit of the server 1 and an external storage device. The memory 11 may be used not only to store application software installed on the server 1 and various data, such as the code of the mouse cursor control program 10 based on the inertial measurement unit, but also to temporarily store data that has been output or is about to be output.

[0053] In some embodiments, the processor 12 can be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chip, used to run the program code stored in the memory 11 or process data, such as executing the mouse cursor control program 10 based on the inertial measurement unit.

[0054] The network interface 13 may optionally include a standard wired interface or a wireless interface (such as a WI-FI interface), and is generally used to establish a communication connection between the server 1 and other electronic devices.

[0055] The network may be the Internet, a cloud network, a wireless fidelity (Wi-Fi) network, a personal area network (PAN), a local area network (LAN), and / or a metropolitan area network (MAN). Various devices in the network environment may be configured to connect to the communication network according to various wired and wireless communication protocols. Examples of such wired and wireless communication protocols may include, but are not limited to, at least one of the following: Transmission Control Protocol and Internet Protocol (TCP / IP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), ZigBee, EDGE, IEEE 802.11, Light Fidelity (Li-Fi), 802.16, IEEE 802.11s, IEEE 802.11g, multi-hop communication, wireless access point (AP), device-to-device communication, cellular communication protocol, and / or Bluetooth communication protocol, or a combination thereof.

[0056] Optionally, the server may further include a user interface, which may include a display and an input unit such as a keyboard. The optional user interface may also include a standard wired interface or a wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, or an OLED (Organic Light-Emitting Diode) touchscreen. The display, which may also be referred to as a display screen or display unit, is used to display information processed in the server 1 and to display a visual user interface.

[0057] Figure 1 Only the server 1 having components 11-13 and the mouse cursor control program 10 based on the inertial measurement unit is shown. It can be understood by those skilled in the art that Figure 1 The structure shown does not constitute a limitation on the server 1 , and the server 1 may include fewer or more components than shown in the figure, or combine certain components, or arrange the components differently.

[0058] In this embodiment, the processor 12 may be configured to call the inertial measurement unit-based mouse cursor control program stored in the memory 11 and perform the following operations:

[0059] Reading the physical mouse sensitivity setting of the operating system, and calculating the basic mouse sensitivity adjustment parameter according to the physical mouse sensitivity setting;

[0060] Obtain the raw 3D motion data of the inertial measurement unit and perform multi-level preprocessing to generate a standard motion feature stream containing 3D attitude parameters and 3D angular velocity parameters;

[0061] Acquiring current human-computer interaction context information, and selecting parameters from the standard motion feature stream as basic cursor control input based on the current human-computer interaction context information;

[0062] Determining a currently effective sensitivity mapping mode from at least two preset sensitivity mapping modes according to system detection conditions;

[0063] Using the basic sensitivity parameter as an adjustment parameter, applying a preset mapping algorithm corresponding to the currently effective sensitivity mapping mode to process the basic cursor control input to generate a mouse cursor movement instruction;

[0064] The mouse cursor movement instruction is converted into a standard operating system mouse input event and injected into the event processing queue of the operating system.

[0065] In one embodiment, the processor 12 may be configured to call an inertial measurement unit-based mouse cursor control program stored in the memory 11 and perform the following operations:

[0066] Reading the physical mouse sensitivity setting of the operating system and calculating the basic mouse sensitivity adjustment parameter according to the physical mouse sensitivity setting, including:

[0067] Obtain the physical mouse sensitivity value set by the user in the operating system through the application programming interface provided by the operating system;

[0068] According to a predefined conversion rule, the physical mouse sensitivity value is converted into a basic sensitivity parameter suitable for inertial measurement unit control.

[0069] In one embodiment, the processor 12 may be configured to call an inertial measurement unit-based mouse cursor control program stored in the memory 11 and perform the following operations:

[0070] The raw 3D motion data of the inertial measurement unit is acquired and multi-level preprocessing is performed to generate a standard motion feature stream containing 3D attitude parameters and 3D angular velocity parameters, including:

[0071] Applying an adaptive low-pass filter to perform preliminary filtering on the original three-dimensional motion data, wherein a cutoff frequency of the adaptive low-pass filter is dynamically adjusted according to signal energy of the original three-dimensional motion data;

[0072] Performing sensor fusion processing on the raw three-dimensional motion data after preliminary filtering using a Kalman filter to generate the three-dimensional posture parameters and the three-dimensional angular velocity parameters;

[0073] The three-dimensional posture parameters and the three-dimensional angular velocity parameters are normalized and offset corrected to obtain the standardized motion feature flow.

[0074] In one embodiment, the processor 12 may be configured to call an inertial measurement unit-based mouse cursor control program stored in the memory 11 and perform the following operations:

[0075] Acquiring current human-computer interaction context information, and selecting parameters from the standard motion feature stream as basic cursor control input based on the current human-computer interaction context information, including:

[0076] Determining, through an application program interface or a user interface analysis tool provided by the operating system, the type of the currently active application or the type of the user interface element under the cursor as the current human-computer interaction context information;

[0077] According to a preset context mapping table, a specific axial combination of the three-dimensional posture parameters or a specific axial combination of the three-dimensional angular velocity parameters corresponding to the type of the currently active application or the type of the user interface element under the cursor is selected as the basic cursor control input.

[0078] In one embodiment, the processor 12 may be configured to call an inertial measurement unit-based mouse cursor control program stored in the memory 11 and perform the following operations:

[0079] The at least two preset sensitivity mapping modes include an absolute mapping mode for mapping the device posture to an absolute position of the screen based on the three-dimensional posture parameters, and a relative mapping mode for mapping the device angular velocity to a relative displacement or velocity of the screen based on the three-dimensional angular velocity parameters;

[0080] Determining a currently effective sensitivity mapping mode from among at least two preset sensitivity mapping modes according to system detection conditions includes:

[0081] detecting a motion amplitude or a motion speed associated with the basic cursor control input in the standard motion data stream,

[0082] When the movement amplitude or the movement speed exceeds a preset first threshold, determining that the relative mapping mode is the currently effective sensitivity mapping mode;

[0083] When the movement amplitude or the movement speed is lower than a preset second threshold, the absolute mapping mode is determined to be the currently effective sensitivity mapping mode.

[0084] In one embodiment, the processor 12 may be configured to call an inertial measurement unit-based mouse cursor control program stored in the memory 11 and perform the following operations:

[0085] The basic sensitivity parameter is used as an adjustment parameter, and a preset mapping algorithm corresponding to the currently effective sensitivity mapping mode is applied to process the basic cursor control input to generate a mouse cursor movement instruction, including:

[0086] When the currently effective sensitivity mapping mode changes from the sensitivity mapping mode of the previous control cycle, a smooth transition process is performed based on the current output of the preset mapping algorithm and the final output state data of the previous control cycle to generate the mouse cursor movement instruction.

[0087] In one embodiment, the processor 12 may be configured to call an inertial measurement unit-based mouse cursor control program stored in the memory 11 and perform the following operations: performing a smooth transition process, including:

[0088] Within a preset transition time after the currently effective sensitivity mapping mode is changed from the sensitivity mapping mode of the previous control cycle, the mouse cursor movement instruction is calculated as a weighted average value between the output of the preset mapping algorithm and the final output state data of the previous control cycle, wherein the weight of the weighted average value changes smoothly over time within the preset transition time.

[0089] In one embodiment, the processor 12 may be configured to call an inertial measurement unit-based mouse cursor control program stored in the memory 11 and perform the following operations:

[0090] Convert the mouse cursor movement instructions into standard operating system mouse input events, including:

[0091] Converting the mouse cursor movement instructions in the mouse event sequence into standard mouse movement events containing absolute screen coordinates or relative displacements according to the currently effective sensitivity mapping mode;

[0092] At least one multimodal feedback of tactile, auditory or visual is provided for the switching of the sensitivity mapping mode.

[0093] Based on the hardware architecture of the aforementioned IMU-based mouse cursor control device, an embodiment of the present invention's IMU-based mouse cursor control method is proposed. This IMU-based mouse cursor control method aims to improve the operational efficiency and user experience of IMU-based cursor control in multiple scenarios.

[0094] Reference Figure 2 , Figure 2 This is an embodiment of a mouse cursor control method based on an inertial measurement unit of the present invention, and the mouse cursor control method based on an inertial measurement unit comprises the following steps:

[0095] S10. Read the physical mouse sensitivity setting of the operating system and calculate the basic mouse sensitivity adjustment parameter based on the physical mouse sensitivity setting. Step S10 is intended to provide an initial sensitivity baseline that conforms to the user's existing operating habits for subsequent inertial measurement unit (IMU) pointer control. This process ensures that when the user switches from a traditional physical mouse to IMU control, the pointer movement speed and responsiveness can maintain a certain degree of continuity and familiarity, thereby reducing the user's learning cost and adaptation period.

[0096] Specifically, the implementation of S10 can be completed through two sub-steps, S11 and S12.

[0097] In step S11, the physical mouse sensitivity value set by the user in the operating system is obtained through the application programming interface provided by the operating system. This process is intended to capture the mouse sensitivity settings configured by the user in the operating system to reflect the user's preference for the relationship between mouse movement and cursor movement. For example, in Windows, the mouse sensitivity value can be obtained by calling the SystemParametersInfo function (the parameter is SPI_GETMOUSESPEED), which usually ranges from 1 to 20 and defaults to 10. In macOS, the IOHIDGetParameter function can be used to obtain the mouse tracking speed setting. This process ensures that the system can directly read the user's existing settings in the operating system, providing a consistent starting point for subsequent IMU control. For example, assuming that the user sets the mouse sensitivity to 12 in Windows, the API call will return a value of 12, indicating that the user wants a medium to fast response speed between mouse movement and cursor movement.

[0098] In step S12, the acquired physical mouse sensitivity value is converted into a base sensitivity parameter suitable for IMU control according to a predefined conversion rule. This process maps the operating system's sensitivity value to a parameter suitable for IMU motion data (such as angular velocity or attitude change) through a specific algorithm or formula. For example, assuming the operating system sensitivity value is S_OS, the conversion rule can be defined as S_IMU = k·S_OS+b, where (k) and (b) are constants determined based on the IMU characteristics and cursor movement requirements. This conversion ensures that the IMU motion data can control cursor movement in a way that is familiar to the user. For example, if k = 0.05, b = 0.1, and the operating system sensitivity value is 10, then the base sensitivity parameter is S_IMU = 0.05·10+0.1 = 0.6. This parameter will be used to scale the IMU motion data (such as angular velocity in degrees per second) to the cursor movement distance (in pixels), thereby maintaining a control experience consistent with user habits.

[0099] For example, suppose a user uses a Windows laptop and controls the cursor via a handheld device equipped with an IMU (such as a smartwatch). In step S11, the system calls the Windows API through SystemParametersInfo(SPI_GETMOUSESPEED,0,&sensitivity,0) to obtain the mouse sensitivity value set by the user in the control panel, assuming it is 14. In step S12, the system applies the conversion rule S_IMU = 0.04·S_OS + 0.2 to calculate SI_MU = 0.04·14 + 0.2 = 0.76. This basic sensitivity parameter S_IMU = 0.76 is used to scale the angular velocity data of the IMU. For example, if the IMU detects that the device is moving at an angular velocity of 50 degrees / second, the cursor movement speed is 50·0.76 = 38 pixels / second. This approach ensures that the cursor movement controlled by the IMU is consistent with the user's experience in traditional mouse operation.

[0100] As you can understand, by obtaining the user-set physical mouse sensitivity value through the operating system API, the system can directly utilize the user's existing preferences, ensuring consistency in behavior between IMU control and traditional mouse control, and enhancing the consistency of the user experience. Furthermore, by mapping the operating system sensitivity value to parameters suitable for IMU control through predefined conversion rules, the system can effectively adapt to the IMU's motion characteristics, thereby achieving intuitive and precise cursor movement. At the same time, this approach reduces the user's adaptation cost to the new control method because it is based on the user's familiar sensitivity settings and does not require additional adjustments.

[0101] S20 , obtaining the original three-dimensional motion data of the inertial measurement unit and performing multi-level preprocessing to generate a standard motion feature stream including three-dimensional attitude parameters and three-dimensional angular velocity parameters.

[0102] In some embodiments, step S20 can be completed by relying on steps S21-S23. Specifically,

[0103] In step S21, the IMU's raw 3D motion data is initially filtered using an adaptive low-pass filter, where the filter's cutoff frequency is dynamically adjusted based on the data's signal energy. The IMU's raw 3D motion data typically includes acceleration, angular velocity, and magnetic field strength data provided by an accelerometer, gyroscope, and magnetometer, which are often subject to noise interference. The adaptive low-pass filter improves data quality by limiting high-frequency noise and retaining valid low-frequency signals. Its cutoff frequency is dynamically adjusted based on signal energy. For example, when signal energy is high (indicating rapid motion), the cutoff frequency is appropriately increased to retain more motion details; when signal energy is low (indicating slow or steady motion), the cutoff frequency is lowered to enhance denoising. Assuming the IMU's angular velocity data is sampled at 100Hz, the signal energy can be determined by calculating the root mean square (RMS) value of the data over a period of time, for example, E = \sqrt{\frac{1}{N}\sum_{i=1}^N x_i^2}, where x_i represents the angular velocity samples. The cutoff frequency can be dynamically adjusted using the formula f_c = k\cdot E + f_0, where (k) and f_0 are preset constants. For example, if E = 50 (degrees / second), k = 0.1, and f_0 = 5 Hz, then fc = 0.1·50 + 5 = 10 Hz. The filter will filter out noise above 10 Hz.

[0104] In step S22, a Kalman filter performs sensor fusion processing on the initially filtered data to generate three-dimensional attitude parameters and three-dimensional angular velocity parameters. The Kalman filter estimates the device's precise attitude (e.g., Euler angles or quaternions) and angular velocity by fusing data from the accelerometer (which provides gravity direction), the gyroscope (which provides angular velocity), and the magnetometer (which provides geomagnetic direction). For example, accelerometer data can determine the device's tilt angle relative to gravity, gyroscope data can be integrated to calculate angular displacement, and the magnetometer corrects for heading drift. The Kalman filter optimizes the fusion of these data using state prediction and measurement updates. For example, assuming the initially filtered data includes acceleration a = [0, 0, -9.8] m / s² (at rest, affected only by gravity) and angular velocity ω = [10, 5, 0] degrees / second, the Kalman filter iteratively updates the state vector (e.g., a quaternion representing attitude) to output three-dimensional attitude parameters (e.g., pitch, roll, and yaw) and three-dimensional angular velocity parameters (e.g., angular velocity about the X, Y, and Z axes).

[0105] In step S23, the generated three-dimensional attitude parameters and three-dimensional angular velocity parameters are normalized and offset corrected to obtain a standardized motion feature stream. Normalization scales the parameters to a uniform range (such as [0, 1] or [-1, 1]) to eliminate the differences in the dimensions of different sensors. For example, the attitude parameters (Euler angles, in degrees) can be normalized to [0, 1] using the formula θnorm = (θ-θmin) / (θmax-θmin). Offset correction eliminates the inherent zero drift of the sensor. For example, if the gyroscope outputs a non-zero angular velocity ω_offset = [0.1, 0.2, -0.1] degrees / second when stationary, the corrected angular velocity is ω_corrected = ω-ω_offset. Finally, the standardized motion feature stream contains the normalized and corrected attitude and angular velocity parameters for subsequent cursor control.

[0106] For example, suppose a user controls a cursor using a handheld device equipped with an IMU, which outputs raw data at a 100Hz sampling rate. In step S21, the system acquires angular velocity data (e.g., ω = [20, 10, 5] degrees / second) and calculates the signal energy E = \sqrt{\frac{20^2+10^2+5^2}{3}}\approx 13.2 degrees / second). Using the formula f_c = 0.1·E+5, the cutoff frequency is fc = 0.1·13.2+5≈6.32Hz, and an adaptive low-pass filter removes noise above 6.32Hz. In step S22, a Kalman filter fuses the filtered acceleration (e.g., a = [0, 0, -9.8] m / s²), angular velocity, and magnetometer data to output attitude parameters (e.g., a quaternion representing a pitch angle of 10°, a roll angle of 5°, and a yaw angle of 0°) and angular velocity parameters (e.g., ω = [20, 10, 5] degrees / second). In step S23, the posture parameters are normalized to [0, 1] (assuming the angle range is [-180°, 180°], the pitch angle of 10° is normalized to \frac{10+180}{180-(-180)}=0.528), and the angular velocity is corrected by the offset (such as ωoffset=[0.2, 0.1, 0], and after correction, ω=[19.8, 9.9, 5] degrees / second) to generate a standardized motion feature flow.

[0107] As can be understood, because the adaptive low-pass filter dynamically adjusts its cutoff frequency based on signal energy, it can balance noise removal and signal preservation at varying motion intensities, thereby improving data quality and reducing noise interference with cursor control. Furthermore, the Kalman filter's sensor fusion processing integrates multi-sensor data to generate precise three-dimensional attitude and angular velocity parameters, thereby improving the reliability of motion data and control accuracy. Simultaneously, normalization and offset correction eliminate the effects of dimensional differences and sensor drift, ensuring the consistency and stability of the standardized motion feature stream and providing high-quality input for subsequent cursor control.

[0108] S30, obtain the current human-computer interaction context information, and select parameters from the standard motion feature stream as basic cursor control input based on the current human-computer interaction context information. The purpose of step S30 is to select a suitable parameter combination from the standardized three-dimensional posture and angular velocity parameters as the input for cursor control according to the current human-computer interaction context, so as to adapt to different operating scenarios (such as text editing, games or graphic design). This step dynamically optimizes the application method of IMU data by sensing the user's current operating environment, thereby improving the accuracy and adaptability of cursor control. For example, in a game scene where the cursor moves quickly, angular velocity parameters may be used first to respond to fast actions, while in a text editing scene with precise clicks, posture parameters may be more relied upon to achieve delicate control.

[0109] In some embodiments, step S30 is completed by steps S31-S32. Specifically,

[0110] In step S31, the type of the currently active application or the type of the user interface element under the cursor is determined as the current human-computer interaction context information through the application program interface (API) or user interface analysis tool provided by the operating system. This process involves real-time monitoring of the application or interface element that the user is interacting with to capture context information. For example, in the Windows system, the application type of the currently active window (such as "notepad.exe" for a text editor, or "chrome.exe" for a browser) can be obtained through APIs such as GetForegroundWindow and GetClassName. The user interface analysis tool can further identify the element under the cursor, for example, by detecting whether the cursor is hovering over a button, text box, or canvas through the Windows UI Automation framework. Assuming that the user is using a text editor, the API may return the application type as "text editing", while if the cursor is hovering over a toolbar button, the analysis tool may identify the element type as "button". This information together constitutes context information, which is used to guide subsequent parameter selection.

[0111] In step S32, a specific axial combination of 3D pose parameters or 3D angular velocity parameters corresponding to the currently active application type or the type of user interface element under the cursor is selected as the basic cursor control input based on a preset context mapping table. The context mapping table is a set of predefined rules that associates different contexts with appropriate IMU parameter combinations. For example, the mapping table might specify: for the "text editing" scenario, the 3D pose parameter combination of pitch (Y-axis) and yaw (Z-axis) is selected to achieve precise cursor positioning; for the "gaming" scenario, the 3D angular velocity parameter combination of X-axis and Y-axis is selected to support fast cursor movement. Assuming the context information indicates that the current application is a "graphic design" application, the mapping table might specify the use of the pose parameter combination of roll (X-axis) and pitch (Y-axis), as these parameters are suitable for fine-grained 2D planar manipulation. The selected parameter combination (e.g., [pitch, yaw]) is extracted from the standard motion feature stream and used as direct input for cursor movement.

[0112] For example, suppose a user is using an IMU-equipped handheld device (such as a smartwatch) on a Windows laptop. The standard motion feature stream contains normalized 3D pose parameters (pitch 0.528, roll 0.139, yaw 0.0) and angular velocity parameters (19.8 degrees / second on the X-axis, 9.9 degrees / second on the Y-axis, and 5 degrees / second on the Z-axis). In step S31, the system detects that the currently active application is Adobe Photoshop (type "Graphic Design") using GetForegroundWindow and identifies that the cursor is hovering over the canvas area (element type "Canvas") using the UIAutomation framework. In step S32, the system queries a preset context mapping table, which specifies that the "Graphic Design" or "Canvas" context uses a combination of pitch and roll angles for 3D pose parameters. The system then extracts [pitch 0.528, roll 0.139] from the standard motion feature stream as the basic cursor control input, which is then mapped to 2D cursor movement on the screen (e.g., roll on the X-axis and pitch on the Y-axis).

[0113] It can be understood that by obtaining the type of currently active application or the type of element under the cursor through the operating system API or user interface analysis tools, the system can accurately capture the context of the user's operation, thereby realizing context-aware dynamic parameter selection. In addition, by selecting a specific axial combination of three-dimensional posture or angular velocity parameters that matches the context according to the preset context mapping table, the system can optimize the cursor control input to adapt to different task requirements, thereby improving the accuracy and efficiency of control. At the same time, this context-adaptive mechanism reduces the user's adaptation cost when switching between different application scenarios, enhancing the intuitiveness and smoothness of the interaction.

[0114] S40: Determine a currently active sensitivity mapping mode from among at least two preset sensitivity mapping modes based on system detection conditions. The purpose of step S40 is to dynamically select an appropriate sensitivity mapping mode based on the motion characteristics detected by the IMU to optimize cursor control performance in different operating scenarios (e.g., rapid movement or precise pointing).

[0115] Specifically, the two preset sensitivity mapping modes include: Absolute mapping mode, which maps the device posture to the absolute position on the screen based on three-dimensional posture parameters (such as pitch angle and roll angle), suitable for precise operation; Relative mapping mode, which maps the device angular velocity to the relative displacement or velocity on the screen based on three-dimensional angular velocity parameters, suitable for fast movement. This step automatically switches modes to match the user's intention by analyzing the movement amplitude or speed, improving the adaptability and smoothness of control.

[0116] In some embodiments, step S40 can be implemented by steps S41-S43. Specifically,

[0117] In step S41, the motion amplitude or velocity associated with the basic cursor control input in the standard motion data stream is detected. The standard motion data stream contains normalized three-dimensional pose and angular velocity parameters, while the basic cursor control input is a combination of parameters selected from the data stream according to step S30 (such as pitch and roll angles, or X-axis and Y-axis angular velocities). The motion amplitude can be calculated using the absolute value or range of the parameter. For example, if the input is a pose parameter, the amplitude is the root mean square of the angle difference; if the input is an angular velocity parameter, the amplitude is the vector modulus of the angular velocity, such as A = \sqrt{\omega_x^2 + \omega_y^2 + \omega_z^2}. The motion velocity is directly calculated using the angular velocity value (degrees / second). For example, if the basic cursor control input is an angular velocity of [19.8, 9.9, 5] degrees / second, the motion amplitude is A = \sqrt{19.8^2 + 9.9^2 + 5^2} ≈ 22.5 degrees / second. This process captures the dynamic characteristics of user operations by analyzing data streams in real time.

[0118] In step S42, when the motion amplitude or motion speed exceeds the preset first threshold, the relative mapping mode is determined to be the currently effective sensitivity mapping mode. The relative mapping mode maps the angular velocity to the relative displacement of the cursor, which is suitable for fast and large-scale movements. For example, assuming that the first threshold is 20 degrees / second, if the detected motion amplitude is 22.5 degrees / second, which exceeds the threshold, the relative mapping mode is selected. At this time, the angular velocity (such as [19.8, 9.9] degrees / second) is converted into the relative movement distance of the cursor on the screen through a mapping function (such as displacement Δx = k·ωx·Δt, where (k) is the proportional coefficient and Δt is the time step). This mode responds to fast movements and is suitable for dynamic scenes such as games.

[0119] In step S43, when the motion amplitude or motion speed is lower than the preset second threshold, the absolute mapping mode is determined to be the currently effective sensitivity mapping mode. The absolute mapping mode maps the posture parameters directly to absolute coordinates on the screen, which is suitable for precise pointing. For example, assuming that the second threshold is 10 degrees / second, if the motion amplitude is 8 degrees / second, which is lower than the threshold, the absolute mapping mode is selected. At this time, the posture parameters (such as pitch angle 0.528, roll angle 0.139, normalized values) are converted into screen coordinates (such as [x, y] = [528, 139] pixels, assuming the screen resolution is 1000x1000) through a mapping function (such as x = Sx·θpitch, where Sx is the screen width). This mode is suitable for delicate operations such as text selection.

[0120] For example, suppose a user is using an IMU-equipped smartwatch on a Windows laptop. The standard motion data stream contains three-dimensional pose parameters (pitch 0.528, roll 0.139, yaw 0.0) and angular velocity parameters (19.8 degrees / second on the X axis, 9.9 degrees / second on the Y axis, and 5 degrees / second on the Z axis). The basic cursor control input is an angular velocity of [19.8, 9.9] degrees / second (based on the graphic design scenario described above). In step S41, the system calculates the motion amplitude A = \sqrt{19.8^2 + 9.9^2} ≈ 22.1 degrees / second. In step S42, assuming the first threshold is 20 degrees / second, 22.1 degrees / second exceeds the threshold, so the relative mapping mode is selected, and the angular velocity [19.8, 9.9] degrees / second is mapped to the cursor displacement (e.g., Δx = 0.5·19.8·0.01 = 0.099 pixels, assuming a time step of 0.01 seconds). If the user then slowly moves the device and the movement amplitude drops to 8 degrees / second, which is lower than the second threshold of 10 degrees / second, in step S43, the absolute mapping mode is switched to and the posture parameter [0.528, 0.139] is mapped to the screen coordinate [528, 139] pixels.

[0121] It can be understood that by detecting the amplitude or speed of movement in the standard motion data stream, the system can capture the dynamic characteristics of the user's operation in real time, thereby providing a basis for mode selection. In addition, by setting the first threshold to select the relative mapping mode, the system supports fast and large-scale cursor movement, thereby improving the control efficiency in dynamic scenes. At the same time, by setting the second threshold to select the absolute mapping mode, the system ensures the stability of precise pointing, thereby meeting the needs of fine operation. On the other hand, this dynamic switching mechanism adapts to different operation intentions, enhancing the flexibility of cursor control and the smoothness of user experience.

[0122] S50, using the basic sensitivity parameter as an adjustment parameter, applying the preset mapping algorithm corresponding to the currently effective sensitivity mapping mode to process the basic cursor control input to generate a mouse cursor movement instruction. The purpose of step S50 is to use the basic cursor control input (such as a specific axial combination of three-dimensional posture or angular velocity parameters) and the basic sensitivity parameter to generate a mouse cursor movement instruction through the currently effective sensitivity mapping mode (absolute mapping or relative mapping), and at the same time, to avoid cursor jumping through smooth transition processing when the mode is switched to ensure the continuity of the control. The absolute mapping mode maps the posture parameters to the absolute coordinates of the screen, the relative mapping mode maps the angular velocity parameters to the relative displacement of the screen, and the basic sensitivity parameters are used to adjust the amplitude of the mapping. When the mode is switched from the mapping mode of the previous cycle to the current mode, the smooth transition process ensures that the cursor moves naturally and avoids abrupt changes.

[0123] In step S50 , the default mapping algorithm corresponding to the currently active sensitivity mapping mode is first applied to process the basic cursor control input. For example, in absolute mapping mode, assuming the basic cursor control input is the normalized attitude parameters [pitch 0.528, roll 0.139], and the screen resolution is 1000x1000 pixels, the mapping algorithm is [x, y] = [S_{IMU}\cdot\theta_{\text{pitch}}\cdot W, S_{IMU}\cdot\theta_{\text{roll}}\cdotH], where (W) and (H) are the screen width and height, and S_{IMU} = 0.76. The cursor coordinates are then [0.76 0.528 1000, 0.76 0.139 1000] ≈ [401, 106] pixels.

[0124] In relative mapping mode, assuming the input angular velocity is [19.8, 9.9] degrees / second, the mapping algorithm is [Δx, Δy] = [SIMU·ωx·Δt,SIMU·ωy·Δt], and the time step Δt = 0.01 seconds, the displacement is [0.76·19.8·0.01, 0.76·9.9·0.01] ≈ [0.150, 0.075] pixels.

[0125] In some embodiments, when the currently effective sensitivity mapping mode differs from the mode of the previous control cycle, a smooth transition process is performed. The smooth transition process includes calculating the mouse cursor movement instruction as a weighted average value between the output of the preset mapping algorithm and the final output state data of the previous control cycle within a preset transition time after the currently effective sensitivity mapping mode changes from the sensitivity mapping mode of the previous control cycle, wherein the weight of the weighted average value changes smoothly over time within the preset transition time.

[0126] Specifically, within a preset transition time (e.g., 0.5 seconds), the cursor movement instruction is calculated as the weighted average of the current mapping algorithm output and the final output state data of the previous cycle, with the weight changing smoothly over time. Assuming the transition time is T = 0.5 seconds, the current time (t) (measured from the start of the switch), and the weight function is w(t) = 1-t / T, then the weight of the previous cycle's output is (w(t)), and the weight of the current output is 1-w(t). The cursor movement instruction is C = w(t)·Cprev+(1-w(t))·Ccurrent, where Cprev is the output of the previous cycle (such as coordinates or displacement) and Ccurren is the output of the current algorithm. For example, if switching from absolute mapping to relative mapping, the output coordinates of the previous cycle are [500,500] pixels, and the current output displacement is [0.150,0.075] pixels, the displacement must first be added to the previous coordinates before calculating the weighted average.

[0127] For example, suppose a user uses an IMU-equipped smartwatch on a Windows laptop. The basic cursor control input is an angular velocity of [19.8, 9.9] degrees / second (based on the graphic design scenario described above), and the basic sensitivity parameter is S_{IMU} = 0.76. The absolute mapping mode was used in the previous cycle, and the output cursor coordinates were [500, 500] pixels. In the current cycle, the motion amplitude of 22.1 degrees / second (calculated above) exceeds the first threshold of 20 degrees / second, so the relative mapping mode is switched to. In step S50, the algorithm of the relative mapping mode calculates the displacement [Δx, Δy] = [0.76·19.8·0.01, 0.76·9.9·0.01] ≈ [0.150, 0.075] pixels, which is accumulated to the previous coordinates to obtain the current output [500.150, 500.075] pixels. Assuming the transition time T = 0.5 seconds after the switch occurs 0.2 seconds, and the weight w(0.2) = 1 - 0.2 / 0.5 = 0.6, the cursor movement instruction is C = 0.6 [500, 500] + 0.4 [500.150, 500.075] ≈ [500.060, 500.030] pixels. This smooth transition avoids the abrupt change from absolute coordinates to relative displacement.

[0128] As you can understand, by using basic sensitivity parameters to adjust the output of the mapping algorithm, the system ensures that cursor movement is consistent with the user's familiar sensitivity settings, thereby improving the intuitiveness of control. Furthermore, by performing a smooth transition when switching modes, based on a weighted average of the current output and the previous cycle's output, the system effectively eliminates cursor jumps, thereby ensuring continuous and smooth control. Furthermore, the design of weights that change smoothly over time makes mode switching virtually imperceptible to the user, further reducing the operational burden and enhancing the naturalness and comfort of interaction.

[0129] S60, convert the mouse cursor movement instruction into a standard operating system mouse input event and inject it into the operating system's event processing queue. The purpose of step S60 is to convert the generated mouse cursor movement instruction (the absolute coordinates or relative displacement produced by the previous step S50) into a standard mouse input event that the operating system can recognize, and implement cursor control by injecting it into the event queue, while providing multimodal feedback when switching the sensitivity mapping mode to enhance user perception. This step ensures seamless integration of IMU control with the operating system, while enhancing the user's awareness of mode switching through the feedback mechanism, thereby optimizing the interactive experience.

[0130] In some embodiments, step S60 can be implemented by steps S61-S62. Specifically,

[0131] In step S61, the mouse cursor movement instructions in the mouse event sequence are converted into standard mouse movement events containing absolute screen coordinates or relative displacements based on the currently effective sensitivity mapping mode. In absolute mapping mode, movement instructions are screen coordinates (e.g., [x, y] pixels) and need to be converted into absolute positioning events for the operating system; in relative mapping mode, movement instructions are displacements (e.g., [Δx, Δy] pixels) and need to be converted into relative movement events. For example, in Windows, absolute positioning can be achieved by injecting the MOUSEEVENTF_ABSOLUTE event via the SendInput function, with the coordinates normalized to the range 0-65535 (e.g., on a 1000x1000 pixel screen, the coordinates [401, 106] are mapped to [401 / 1000·65535, 106 / 1000·65535]≈[2626, 694]). Relative movement uses the MOUSEEVENTF_MOVE event, directly transmitting the displacement (e.g., [0.150, 0.075] pixels). These events are formatted as standard mouse input, ensuring that the operating system can interpret and perform cursor movements correctly.

[0132] In step S62, at least one multimodal feedback of tactile, auditory or visual is provided for the switching of the sensitivity mapping mode. Mode switching (such as from absolute mapping to relative mapping) may change the cursor behavior, and the user needs to perceive this change. Tactile feedback can be achieved through the device's vibration motor (such as a short vibration); auditory feedback can be achieved through system sound effects (such as a "beep" sound); and visual feedback can be achieved through screen prompts (such as a short highlight cursor). For example, if the device supports vibration, a 0.2 second vibration is triggered when switching to relative mapping mode; if in a graphical interface, the display may briefly flash the cursor. These feedbacks are implemented through operating system APIs (such as Windows' PlaySound or the device's driver interface) to enhance the user's perception of the control status.

[0133] For example, suppose a user uses an IMU-equipped smartwatch on a Windows laptop. Step S50 generates a cursor movement instruction of [500.060, 500.030] pixels (absolute mapping mode, based on smooth transition processing). The basic cursor control input is an angular velocity of [19.8, 9.9] degrees / second, and a movement amplitude of 22.1 degrees / second (calculated above), triggering a switch to relative mapping mode. In step S61, the current relative mapping mode is set, and the instruction is a displacement of [0.150, 0.075] pixels (calculated in S50 above). A MOUSEEVENTF_MOVE event is injected through SendInput with parameters of [0.150, 0.075] to move the cursor relative to the original. The system injects this event into the Windows event queue, and the operating system updates the cursor position. In step S62 , upon detecting the mode switch from absolute to relative, the system triggers multimodal feedback: the smart pen vibrates for 0.2 seconds (via the device driver API), plays a short beep sound (via PlaySound), and flashes the cursor for 0.5 seconds (via the graphics API). This feedback notifies the user that the mode has switched.

[0134] As you can see, by converting cursor movement commands into standard mouse input events and injecting them into the operating system's event queue, the system ensures seamless compatibility between IMU control and the operating system, enabling accurate cursor movement. Furthermore, by providing multimodal feedback for mode switching—tactile, auditory, or visual—the system enhances the user's perception of control state changes, thereby improving the intuitiveness and comfort of interaction. This feedback mechanism also reduces the user's cognitive load during mode switching, making control more natural and smooth.

[0135] In addition, embodiments of the present invention further provide a computer-readable storage medium. The computer-readable storage medium can be any one of, or any combination of, a hard disk, a multimedia card, an SD card, a flash memory card, an SMC, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable compact disk read-only memory (CD-ROM), or a USB memory device. The computer-readable storage medium includes an inertial measurement unit-based mouse cursor control program 10. The specific implementation of the computer-readable storage medium of the present invention is substantially the same as the specific implementation of the inertial measurement unit-based mouse cursor control method and server 1 described above, and will not be further described herein.

[0136] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0137] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0138] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0139] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0140] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present invention.

[0141] Obviously, those skilled in the art may make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if such changes and modifications fall within the scope of the claims and their equivalents, the present invention is intended to include such changes and modifications.

Claims

1. A mouse cursor control method based on an inertial measurement unit, characterized in that: include: Reading the physical mouse sensitivity setting of the operating system, and calculating the basic mouse sensitivity adjustment parameter according to the physical mouse sensitivity setting; Obtain the raw 3D motion data of the inertial measurement unit and perform multi-level preprocessing to generate a standard motion feature stream containing 3D attitude parameters and 3D angular velocity parameters; Acquiring current human-computer interaction context information, and selecting parameters from the standard motion feature stream as basic cursor control input based on the current human-computer interaction context information; Determining a currently effective sensitivity mapping mode from at least two preset sensitivity mapping modes according to system detection conditions; Using the basic sensitivity parameter as an adjustment parameter, applying a preset mapping algorithm corresponding to the currently effective sensitivity mapping mode to process the basic cursor control input to generate a mouse cursor movement instruction; The mouse cursor movement instruction is converted into a standard operating system mouse input event and injected into the event processing queue of the operating system.

2. The mouse cursor control method based on an inertial measurement unit according to claim 1, wherein: Reading the physical mouse sensitivity setting of the operating system and calculating the basic mouse sensitivity adjustment parameter according to the physical mouse sensitivity setting, including: Obtain the physical mouse sensitivity value set by the user in the operating system through the application programming interface provided by the operating system; According to a predefined conversion rule, the physical mouse sensitivity value is converted into a basic sensitivity parameter suitable for inertial measurement unit control.

3. The mouse cursor control method based on an inertial measurement unit according to claim 1, wherein: The raw 3D motion data of the inertial measurement unit is acquired and multi-level preprocessing is performed to generate a standard motion feature stream containing 3D attitude parameters and 3D angular velocity parameters, including: Applying an adaptive low-pass filter to perform preliminary filtering on the original three-dimensional motion data, wherein a cutoff frequency of the adaptive low-pass filter is dynamically adjusted according to signal energy of the original three-dimensional motion data; Performing sensor fusion processing on the raw three-dimensional motion data after preliminary filtering using a Kalman filter to generate the three-dimensional posture parameters and the three-dimensional angular velocity parameters; The three-dimensional posture parameters and the three-dimensional angular velocity parameters are normalized and offset corrected to obtain the standardized motion feature flow.

4. The mouse cursor control method based on an inertial measurement unit according to claim 1, wherein: Acquiring current human-computer interaction context information, and selecting parameters from the standard motion feature stream as basic cursor control input based on the current human-computer interaction context information, including: Determining, through an application program interface or a user interface analysis tool provided by the operating system, the type of the currently active application or the type of the user interface element under the cursor as the current human-computer interaction context information; According to a preset context mapping table, a specific axial combination of the three-dimensional posture parameters or a specific axial combination of the three-dimensional angular velocity parameters corresponding to the type of the currently active application or the type of the user interface element under the cursor is selected as the basic cursor control input.

5. The mouse cursor control method based on an inertial measurement unit according to claim 1, wherein: The at least two preset sensitivity mapping modes include an absolute mapping mode for mapping the device posture to an absolute position of the screen based on the three-dimensional posture parameters, and a relative mapping mode for mapping the device angular velocity to a relative displacement or velocity of the screen based on the three-dimensional angular velocity parameters; Determining a currently effective sensitivity mapping mode from among at least two preset sensitivity mapping modes according to system detection conditions includes: detecting a motion amplitude or a motion speed associated with the basic cursor control input in the standard motion data stream, When the movement amplitude or the movement speed exceeds a preset first threshold, determining that the relative mapping mode is the currently effective sensitivity mapping mode; When the movement amplitude or the movement speed is lower than a preset second threshold, the absolute mapping mode is determined to be the currently effective sensitivity mapping mode.

6. The mouse cursor control method based on an inertial measurement unit according to claim 1, wherein: The basic sensitivity parameter is used as an adjustment parameter, and a preset mapping algorithm corresponding to the currently effective sensitivity mapping mode is applied to process the basic cursor control input to generate a mouse cursor movement instruction, including: When the currently effective sensitivity mapping mode changes from the sensitivity mapping mode of the previous control cycle, a smooth transition process is performed based on the current output of the preset mapping algorithm and the final output state data of the previous control cycle to generate the mouse cursor movement instruction.

7. The mouse cursor control method based on an inertial measurement unit according to claim 6, wherein: Perform smooth transitions, including: Within a preset transition time after the currently effective sensitivity mapping mode is changed from the sensitivity mapping mode of the previous control cycle, the mouse cursor movement instruction is calculated as a weighted average value between the output of the preset mapping algorithm and the final output state data of the previous control cycle, wherein the weight of the weighted average value changes smoothly over time within the preset transition time.

8. The mouse cursor control method based on an inertial measurement unit according to claim 1, wherein: Convert the mouse cursor movement instructions into standard operating system mouse input events, including: Converting the mouse cursor movement instructions in the mouse event sequence into standard mouse movement events containing absolute screen coordinates or relative displacements according to the currently effective sensitivity mapping mode; At least one multimodal feedback of tactile, auditory or visual is provided for the switching of the sensitivity mapping mode.

9. A mouse cursor control device based on an inertial measurement unit, characterized in that: The invention comprises a memory, a processor and a mouse cursor control program based on an inertial measurement unit stored in the memory and executable on the processor, wherein when the processor executes the mouse cursor control program based on the inertial measurement unit, the mouse cursor control method based on the inertial measurement unit as described in any one of claims 1 to 8 is implemented.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a mouse cursor control program based on an inertial measurement unit. When the mouse cursor control program based on an inertial measurement unit is executed by a processor, the mouse cursor control method based on an inertial measurement unit according to any one of claims 1 to 8 is implemented.

Citation Information

Cited By

  • View angle control method and device suitable for X86 cloud application

    CN120832045A

  • View control method and device suitable for x86 cloud application

    CN120832045B