Animation display method, chip apparatus, electronic device, and readable storage medium

By displaying an animation and periodically sending touch point coordinates when two fingers are pressed and swiped on a laptop touchpad, the function of a mouse wheel is simulated, solving the problem that the touchpad cannot perform scroll wheel operations. This enables page scrolling and page turning, improving the user experience.

WO2025222357A1PCT designated stage Publication Date: 2025-10-30HONOR DEVICE CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/089212
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-22
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Current laptop touchpads do not support mouse scroll wheel functionality, which limits user operation and results in a poor user experience.

Method used

When two fingers are pressed and swiped on the touchpad, the electronic device displays an animation and periodically sends the same touch point coordinates to the SOC, simulating the function of a mouse wheel and avoiding the display of an unwanted right-click box. Page scrolling and page turning operations are achieved by combining the pressure and the change of touch point coordinates.

Benefits of technology

The touchpad functionality has been expanded to include mouse wheel and page-turning operations, improving the user experience, avoiding unnecessary interface displays, and enhancing operational flexibility and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024089212_30102025_PF_FP_ABST
    Figure CN2024089212_30102025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of computers, and provides an animation display method, a chip apparatus, an electronic device, and a readable storage medium. The method comprises: within a first time period, in response to a first operation of double-finger pressing and swiping of a user on a touchpad, an electronic device displays a first animation, wherein within the first time period, an EC sends N coordinates to an SOC, and the N coordinates are the same; and within a second time period, in response to a second operation of double-finger pressing and swiping of the user on the touchpad, the electronic device displays a second animation, wherein within the second time period, the EC sends M touch point coordinates to the SOC, any two touch point coordinates among the M touch point coordinates are different, and the pressing force of the first operation is greater than the pressing force of the second operation. The method can expand the functionality of the touchpad and avoid display of a right-click context menu during simulation of a mouse scroll wheel, thereby improving user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Methods for displaying animation, chip devices, electronic devices, and readable storage media Technical Field

[0001] This application relates to the field of computer technology, and more specifically to a method for displaying animation, a chip device, an electronic device, and a readable storage medium. Background Technology

[0002] With the development of computer technology, laptops have become an irreplaceable part of people's production and daily life.

[0003] Laptops typically come with a touchpad. If a user forgets to bring a mouse, they can use the touchpad to simulate mouse functions. For example, a user can use a single finger to swipe on the touchpad to move the cursor, mimicking mouse movement. Users can also use two fingers to swipe on the touchpad to navigate through web pages.

[0004] However, on most laptops, users cannot use the touchpad to scroll like a mouse, which limits user operation and results in a poor user experience.

[0005] Summary of the Invention

[0006] This application provides a method for displaying animation, an apparatus for displaying animation, a chip device, an electronic device, a computer-readable storage medium, and a computer program product that can improve the user experience.

[0007] In a first aspect, a method for displaying animation is provided, applied to an electronic device, the electronic device including: a touchpad, an EC (Electronic Control Panel), and a SOC (System-on-a-Chip). The method includes: in a first time period, in response to a first operation of a user pressing and swiping with two fingers on the touchpad, the electronic device displays a first animation; in the first time period, the EC sends N coordinates to the SOC, the N coordinates are the same, and the EC does not send the touch point coordinates of the user's two fingers when swiping to the SOC; in a second time period, in response to a second operation of a user pressing and swiping with two fingers on the touchpad, the electronic device displays a second animation; in the second time period, the EC sends M touch point coordinates to the SOC, any two of the M touch point coordinates are different, and the pressure intensity of the first operation is greater than the pressure intensity of the second operation; wherein M and N are natural numbers greater than or equal to 2, and the second time period is after the first time period.

[0008] During the first time period, while the user is swiping with two fingers, the EC continuously reports the coordinates of the same touch point (one of N coordinates, also known as the first coordinate) to the SOC, instead of sending the real-time acquired touch point coordinates (also called touch coordinates). This allows the electronic device's touchpad to simulate the mouse wheel function, enabling page scrolling. This method expands the touchpad's functionality and improves the user experience. Furthermore, by stopping the EC from sending real-time acquired touch point coordinates to the SOC during the user's swipe and instead periodically sending the same coordinates of the two-finger press, it avoids displaying an unwanted right-click menu on the interface when the user lifts their hand, further enhancing the user experience.

[0009] During the second time period, as the user swipes with two fingers, the EC continuously sends the collected touch point coordinates to the SOC. In this case, the touch point coordinates reported in different cycles will change according to the user's finger position, realizing page turning. This method enables page turning by the user lightly touching and swiping the touchpad with two fingers, enriching the touchpad's functionality, meeting various user needs, and improving the user experience.

[0010] In some possible embodiments, the scrolling speed of the page displayed by the first animation is constant during the first time period.

[0011] During the first time period, if the user continuously swipes two fingers on the touchpad, the page displayed on the electronic device will scroll at a constant speed; that is, the scrolling speed of the page shown in the first animation is uniform. It should be noted that the scrolling speed is uniform; the page scrolls in fixed increments. In other words, the electronic device scrolls a fixed number of lines per unit of time, for example, 5 lines per second. This prevents the page from stalling due to the user swiping too quickly, thus avoiding any inconvenience to the user.

[0012] In some possible embodiments, when the movement speed of the touch point of the first operation is the same as the movement speed of the touch point of the second operation, and the movement speed is greater than a preset speed threshold, the scrolling speed of the page displayed in the first animation is less than the scrolling speed of the page displayed in the second animation.

[0013] Specifically, when a user performs the first and second operations respectively, even if the user swipes two fingers at the same speed, if the user's two-finger movement speed reaches a certain speed, such as greater than or equal to a preset speed threshold (e.g., 7 mm / s), then in the first operation, the page scrolling speed in the first animation displayed on the electronic device will scroll at a fixed step size; while in the second operation, the page scrolling speed in the second animation displayed on the electronic device will increase with the increase of the user's two-finger movement speed, which may easily lead to scrolling stalling.

[0014] In some possible embodiments, the first coordinate is one of N coordinates, which is the coordinate of the touch point when the user presses down with two fingers on the touchpad when performing the first operation.

[0015] All of the above N coordinates are the same, representing the coordinates of the touch point when the user presses down with two fingers on the touchpad during the first operation, and are denoted as the first coordinate.

[0016] In some possible embodiments, the EC sends N coordinates to the SOC, including: based on the pressure of the first operation being greater than or equal to a preset pressure threshold, and the movement distance of the touch point of the first operation being greater than or equal to a preset distance threshold, the EC sends N coordinates to the SOC.

[0017] When the pressure applied by the electronic device in the first operation is greater than or equal to a preset pressure threshold, and the movement distance of the touch point in the first operation is greater than or equal to a preset distance threshold (e.g., 1 mm), the EC sends the first coordinate to the SOC in each cycle. During the first time period, the EC sends the aforementioned N coordinates to the SOC.

[0018] In some possible embodiments, the first operation includes: a first sub-operation and a second sub-operation, wherein the first sub-operation is a two-finger pressing operation performed by the user during the first operation, and the second sub-operation is a two-finger swiping operation performed by the user during the first operation. The second sub-operation occurs after the first sub-operation and within a first time period. The method further includes: in response to the first sub-operation, acquiring the pressure intensity and first coordinates of the first sub-operation, wherein the first coordinates are the coordinates of the touch points on the touchpad when the user presses down with two fingers during the first sub-operation; in response to the second sub-operation, acquiring the coordinates of a first touch point, wherein the first touch point coordinates are the coordinates of the touch points on the touchpad when the user performs the second sub-operation; determining that the pressure intensity of the first sub-operation is greater than or equal to a preset pressure threshold, and a first distance between the first touch point coordinates and the first coordinates is greater than or equal to a preset distance threshold, saving the first coordinates and the first touch point coordinates; the EC sending a first scroll wheel event and the first coordinates to the SOC; and a first animation being displayed in response to the first scroll wheel event.

[0019] In some possible embodiments, based on the fact that the pressure applied by the first sub-operation is greater than or equal to a preset pressure threshold and the first distance is less than a preset distance threshold, the EC does not send the coordinates of the first touch point to the SOC.

[0020] When a user presses down firmly with two fingers on the touchpad, the electronic device acquires the coordinates of the touch points at that moment, recording them as the first coordinates. Subsequently, the user swipes with two fingers, and the electronic device acquires the coordinates of the touch points during the swipe. The coordinates of the touch points acquired during the first swipe cycle are recorded as the first touch point coordinates. At this point, the electronic device determines whether the pressure applied when the user presses down with two fingers is greater than or equal to a preset pressure threshold. If the pressure is greater than or equal to the preset pressure threshold, the electronic device saves both the first coordinates and the first touch point coordinates. Furthermore, the electronic device reports the first scroll wheel event to the SOC via the EC (Electronic Control Center) and also sends the first coordinates to the SOC. Driven by the first scroll wheel event, the electronic device scrolls the page to display the first animation. If the pressure applied during the first sub-operation is greater than or equal to the preset pressure threshold, and the first distance is less than a preset distance threshold, the electronic device controls the EC to save the first touch point coordinates but does not send them to the SOC. Therefore, the SOC cannot obtain the real-time coordinates of the touch points and can only acquire the same first coordinates periodically. Electronic devices can distinguish themselves from other page-turning events, accurately identify scroll wheel events, and avoid triggering the display of the right-click menu, thus improving the user experience.

[0021] In some possible embodiments, the method further includes: in response to a first sub-operation, updating the value of a pressure flag bit from a first value to a second value, and updating the value of a scroll wheel flag bit from a third value to a fourth value, wherein the first value is used to characterize that the pressure applied on the touchpad is less than a preset pressure threshold, the second value is used to characterize that the pressure applied in the first sub-operation is greater than or equal to the preset pressure threshold, and the third and fourth values ​​are different; determining that the pressure applied in the first sub-operation is greater than or equal to a preset force threshold, and that a first distance between the coordinates of the first touch point and the first coordinate is greater than or equal to a preset distance threshold, including: in response to a second sub-operation, determining that the value of the pressure flag bit is the second value, and when the scroll wheel flag bit is the fourth value, determining whether the first distance is greater than or equal to the preset distance threshold.

[0022] When the pressure applied by the user's two fingers exceeds a preset pressure threshold, the electronic device updates the pressure flag from a first value to a second value. Optionally, the first value can be 0, and the second value can be 1. Furthermore, the electronic device also changes the scroll wheel flag (e.g., mouseFlag) from a third value to a fourth value. Optionally, the third value can be 0, and the fourth value can be 1. When the electronic device determines that the pressure flag is the second value and the scroll wheel flag is the fourth value, it can determine that the user's two-finger pressure is greater than or equal to the preset pressure threshold, and that the touchpad's mouse mode is scroll wheel mode.

[0023] In some possible embodiments, the method further includes updating the value of the pressure flag bit from a second value to a first value.

[0024] This method avoids EC reporting of press events. Even if the user raises their hand, the electronic device will not recognize the combination of press and raise events, thus preventing the user's operation from being identified as a two-finger tap on the touchpad. This avoids displaying an unwanted right-click box on the interface, improving the user experience.

[0025] In some possible embodiments, the first operation further includes: a third sub-operation and a fourth sub-operation, both of which are two-finger swipe operations performed by the user during the execution of the first operation. The third sub-operation follows the second sub-operation, and the fourth sub-operation follows the third sub-operation. After the EC sends the first scroll wheel event to the SOC, the method further includes: in response to the third sub-operation, obtaining the coordinates of a second touch point, the second touch point coordinates being the coordinates of the touch point on the touchpad with two fingers when the user performs the third sub-operation; when the scroll wheel flag is a fourth value, determining whether a second distance between the second touch point coordinates and the first touch point coordinates is greater than or equal to a preset distance threshold; if so, replacing the first touch point coordinates with the second touch point coordinates, the EC sending the second scroll wheel event and the first coordinates to the SOC, and the first animation being displayed in response to the first scroll wheel event and the second scroll wheel event. EC does not send the second touch point coordinates to SOC; otherwise, when the third distance between the third touch point coordinates and the first touch point coordinates is greater than a preset distance threshold, the third touch point coordinates replace the first touch point coordinates, EC sends the third scroll wheel event and the first coordinates to SOC, and the first animation is displayed in response to the first scroll wheel event, the second scroll wheel event and the third scroll wheel event.

[0026] As the user continues to swipe with two fingers, the electronic device acquires the coordinates of the second touch point in the next acquisition cycle. The electronic device determines whether the touchpad's mouse mode is scroll wheel mode. If the scroll wheel flag is the fourth value, it indicates that the touchpad's mouse mode is scroll wheel mode. If the second distance between the second touch point coordinates and the first touch point coordinates is greater than or equal to a preset distance threshold, the electronic device reports a scroll wheel event (second scroll wheel event) to the SOC via the EC. Driven by the first and second scroll wheel events, the electronic device scrolls the page to display the first animation. Furthermore, the electronic device also sends the first coordinates to the SOC via the EC. The electronic device can also delete the first touch point coordinates and save the second touch point coordinates. That is, the second touch point coordinates replace the first touch point coordinates as the basis for the next round of distance determination.

[0027] If the second distance between the coordinates of the second touch point and the coordinates of the first touch point is less than a preset distance threshold, it indicates that the user may not intend to swipe with two fingers. The electronic device will not report the scroll wheel event to the SOC via the EC, nor can it send the first coordinate to the SOC via the EC. Furthermore, the electronic device will discard the second touch point coordinate and not save it, but will still save the first touch point coordinate. When the user continues to swipe with two fingers, the electronic device acquires the third touch point coordinate in the next acquisition cycle. If the scroll wheel flag is a fourth value, it indicates that the touchpad's mouse mode is scroll wheel mode. The electronic device can then report the scroll wheel event (third scroll wheel event) to the SOC via the EC if the third distance between the third touch point coordinate and the first touch point coordinate is greater than or equal to the preset distance threshold. The electronic device also sends the first coordinate to the SOC via the EC. The electronic device can also delete the first touch point coordinate and save the third touch point coordinate. That is, the third touch point coordinate replaces the first touch point coordinate as the basis for the next round of distance judgment, and so on.

[0028] Driven by the first, second, and third scroll wheel events mentioned above, the electronic device displays the first animation, thus scrolling the page. It can be understood that there are more than three scroll wheel events; they can be determined by the duration of the user's two-finger swipe, and may also include fourth, fifth, and so on.

[0029] In some possible embodiments, if the coordinate value of the first touch point in the first direction is greater than the coordinate value of the first coordinate in the first direction, the scrolling direction indicated by the first scroll wheel event is the first scrolling direction, and the first scrolling direction corresponds to the first direction; if the coordinate value of the first touch point in the first direction is less than the coordinate value of the first coordinate in the first direction, the scrolling direction indicated by the first scroll wheel event is the second scrolling direction, and the first scrolling direction and the second scrolling direction are opposite.

[0030] Optionally, the first direction can be the Y-axis direction. If the coordinates of the first touch point in the first direction are greater than the coordinates of the first coordinate in the first direction, it indicates that the user is sliding two fingers upwards. When the user slides two fingers upwards, the first scrolling direction indicated by the first scroll wheel event is upward scrolling. If the coordinates of the first touch point in the first direction are less than the coordinates of the first coordinate in the first direction, it indicates that the user is sliding two fingers downwards. When the user slides two fingers downwards, the first scrolling direction indicated by the first scroll wheel event is downward scrolling.

[0031] If the user's touch point coordinates in one sampling cycle are greater than the same in the previous sampling cycle, it indicates that the user is sliding two fingers upwards. When the user slides two fingers upwards, the scroll wheel event indicates upward scrolling. If the user's touch point coordinates in one sampling cycle are less than the same in the previous sampling cycle, it indicates that the user is sliding two fingers downwards. When the user slides two fingers downwards, the scroll wheel event indicates downward scrolling.

[0032] In some possible embodiments, the electronic device further includes a motor chip and a motor oscillator, wherein, during a first time period, in response to a first operation, the electronic device controls the motor oscillator to vibrate; and, based on the fact that the pressure applied by the second operation is less than the pressure applied by the first operation, the second operation does not trigger the motor oscillator to vibrate.

[0033] When a user presses the touchpad with two fingers with sufficient force—for example, greater than or equal to a preset pressure threshold—the electronic device activates a motor to vibrate in response to the first action. This vibration allows the user to clearly perceive that the pressure applied has met their needs, ensuring the action is effective and thus enhancing the user experience. Conversely, if the user presses the touchpad with insufficient force—for example, less than the preset pressure threshold—the motor will not vibrate. By distinguishing between simple pressure applications, users can clearly perceive whether an action has been taken, resulting in greater flexibility and a better user experience.

[0034] In some possible embodiments, the first operation further includes a fifth sub-operation, which is the operation of the user lifting two fingers. The method further includes: in response to the fifth sub-operation, stopping the display of the first animation and setting the value of the scroll wheel flag to be updated from a fourth value to a third value.

[0035] When the user lifts two fingers after performing the first action, the electronic device stops scrolling, meaning the first animation stops and the screen remains on the current page. Simultaneously, the scroll wheel flag on the electronic device updates from the fourth value to the third value, indicating that the touchpad's mouse mode has switched from scroll wheel mode to non-scroll wheel mode.

[0036] In some possible embodiments, the second operation includes a sixth sub-operation and a seventh sub-operation. The sixth sub-operation is a two-finger press operation performed by the user during the second operation, and the seventh sub-operation is a two-finger swipe operation performed by the user during the second operation. The seventh sub-operation occurs after the sixth sub-operation. During a second time period, the method further includes: in response to the sixth sub-operation, acquiring the coordinates of a fourth touch point and sending the fourth touch point coordinates to the SOC. The fourth touch point coordinates are the coordinates of the touch point when the user performs the sixth sub-operation and are among the coordinates of M touch point coordinates; in response to the seventh sub-operation, acquiring the coordinates of a fifth touch point and sending the fifth touch point coordinates to the SOC. The fifth touch point coordinates are the coordinates of the touch point when the user performs the seventh sub-operation and are among the coordinates of M touch point coordinates; and based on a fourth distance between the fourth touch point coordinates and the fifth touch point coordinates, sending a page-turning event to the SOC. The second animation is displayed in response to the page-turning event, and the scrolling speed of the page displayed in the second animation is positively correlated with the fourth distance.

[0037] When the user performs the second operation on the touchpad, pressing down with two fingers, the electronic device captures the coordinates of the touch points of the user's two fingers, recording them as the fourth touch point coordinates. The electronic device sends the captured fourth touch point coordinates to the SOC. When the user continues to swipe with two fingers, the electronic device captures the coordinates of the touch points of the user's two fingers, recording them as the fifth touch point coordinates. The electronic device sends the captured fifth touch point coordinates to the SOC. In other words, during the second operation, the electronic device continuously sends the coordinates of the user's two fingers' touch points to the SOC. Therefore, the SOC can obtain the user's touch point coordinates in real time. The electronic device responds to changes in the user's touch point coordinates and displays the second animation. Specifically, if the user swipes quickly, meaning the distance between the touch point coordinates in two adjacent capture cycles is relatively large (e.g., the fourth distance between the fourth and fifth touch point coordinates is relatively large), then the page scrolling speed in the second animation is fast. If the user swipes slowly, meaning the distance between the touch point coordinates in two adjacent capture cycles is relatively large (e.g., the fourth distance between the fourth and fifth touch point coordinates is relatively small), then the page scrolling speed in the second animation is slow. When users swipe their two fingers faster, the page scrolling speed will increase, which may cause the page to lose speed and scroll to a position that is beyond the user's control.

[0038] In some possible embodiments, the method further includes: during a third time period, in response to a third operation by a user pressing and swiping a single finger on a first area of ​​the touchpad, the electronic device adjusts the volume; during a fourth time period, in response to a fourth operation by a user pressing and swiping a single finger on a second area of ​​the touchpad, the electronic device adjusts the screen brightness; wherein the first area and the second area are distributed on both sides of the touchpad along a first direction, the first direction being parallel to the long side of the touchpad, and the first area and the second area do not intersect at all.

[0039] In the third time period, the user swipes a single finger across the first area (left edge) of the touchpad, thus performing the third operation. In response to this third operation—a single finger press and swipe across the left edge of the touchpad—the electronic device determines that the touch point coordinates acquired in the current cycle have changed compared to the previous cycle, and that the change in the Y-coordinate between these two cycles exceeds a preset distance threshold, for example, a change in the Y-coordinate exceeding 1 millimeter. Furthermore, the electronic device determines that the touch point coordinates in both cycles are located within the first area of ​​the left edge of the touchpad, indicating that the user has performed the third operation—a single-finger swipe across the left edge of the touchpad.

[0040] If the Y-coordinate of the touch point acquired in the current cycle is greater than the Y-coordinate of the touch point in the previous cycle, it indicates that the user performed a single-finger swipe up from the left edge. The electronic device then sends a volume increase event to the SOC's OS layer via the EC; if audio is playing at this time, the volume will increase. Conversely, if the Y-coordinate of the touch point acquired in the current cycle is smaller than the Y-coordinate of the touch point in the previous cycle, it indicates that the user performed a single-finger swipe down from the left edge. The electronic device then sends a volume decrease event to the SOC's OS layer via the EC; if audio is playing at this time, the volume will decrease.

[0041] In the fourth time period, the user swipes a single finger across the second area (right edge) of the touchpad, thus performing the fourth operation. In response to this fourth operation—a single finger press and swipe across the right edge of the touchpad—the electronic device determines that the touch point coordinates acquired in the current cycle have changed compared to the previous cycle, and that the change in the Y-coordinate between these two cycles exceeds a preset distance threshold, for example, a change in the Y-coordinate exceeding 1 millimeter. Furthermore, the electronic device determines that the touch point coordinates in both cycles are located within the right edge area of ​​the touchpad, indicating that the user has performed the fourth operation—a single-finger swipe across the right edge of the touchpad.

[0042] If the Y-coordinate of the touch point obtained in the current cycle is greater than the Y-coordinate of the touch point in the previous cycle, it indicates that the user has performed a single-finger swipe up from the right edge. The electronic device then sends an event to increase screen brightness to the SOC's OS layer via the EC, at which point the screen brightness increases. If the Y-coordinate of the touch point obtained in the current cycle is smaller than the Y-coordinate of the touch point in the previous cycle, it indicates that the user has performed a single-finger swipe down from the right edge. The electronic device then sends an event to decrease screen brightness to the SOC's OS layer via the EC, at which point the screen brightness decreases.

[0043] In some possible embodiments, the electronic device further includes: a touchpad chip, a pressure chip, a motor chip, and a motor oscillator; the first operation includes: a first sub-operation and a second sub-operation, the first sub-operation being a two-finger pressing operation performed by the user during the first operation, and the second sub-operation being a two-finger swiping operation performed by the user during the first operation, the second sub-operation following the first sub-operation; during a first time period, the touchpad chip responds to the user's first sub-operation on the touchpad by acquiring a first coordinate and sending the first coordinate to the pressure chip, the first coordinate being the coordinate of the touch point when the user performs the first sub-operation; the pressure chip responds to the first sub-operation by acquiring the pressure intensity of the first sub-operation; when the pressure chip determines that the pressure intensity of the first sub-operation is greater than or equal to a preset pressure threshold, it updates the value of the pressure flag from a first value to a second value and sends a trigger signal to the motor chip, the first value being used to characterize that the pressure intensity on the touchpad is less than the preset pressure threshold. The second value is used to characterize that the pressure applied in the first sub-operation is greater than or equal to a preset pressure threshold; the motor oscillator vibrates in response to the trigger signal; the pressure chip sends the first coordinate to the EC; the EC receives and saves the first coordinate; when the EC determines that the pressure flag is the second value, it updates the scroll wheel flag from the third value to the fourth value; the touchpad chip, in response to the user's second sub-operation on the touchpad, obtains the coordinates of the first touch point and sends the first touch point coordinates to the EC, the first touch point coordinates being the coordinates of the touch point when the user performs the second sub-operation; when the EC determines that the scroll wheel flag is the fourth value, it determines whether the distance between the first touch point coordinates and the first coordinate is greater than or equal to a preset distance threshold; if so, the EC saves the first touch point coordinates and reports the first scroll wheel event and the first coordinate to the SOC; the SOC, in response to the first scroll wheel event and the first reference coordinate, plays the first animation; if not, the EC discards the first touch point coordinates.

[0044] In a second aspect, an apparatus for displaying animation is provided, comprising a unit consisting of software and / or hardware, the unit being used to perform any one of the methods described in the first aspect.

[0045] Thirdly, embodiments of this application provide a chip device for acquiring a first coordinate, touch point coordinates, and pressure intensity when a user presses and swipes two fingers on a touchpad, and sending a scroll wheel event and the first coordinate when the pressure intensity is greater than or equal to a preset pressure threshold, and not sending the touch point coordinates; wherein, the first coordinate is the coordinate of the touch point when the user presses two fingers on the touchpad, the touch point coordinate is the coordinate of the touch point when the user swipes two fingers after pressing two fingers on the touchpad, and the pressure intensity is the force applied when the user presses two fingers on the touchpad;

[0046] Alternatively, the chip device includes a processor; the processor is used to read and execute a computer program stored in a memory to perform any of the methods of EC execution in the technical solutions described in the first aspect.

[0047] Optionally, the chip further includes a memory, which is connected to the processor via a circuit or wire.

[0048] Optionally, the chip also includes a communication interface.

[0049] Optionally, the chip device is an EC.

[0050] Fourthly, an electronic device is provided, comprising: a processor, a memory, and an interface; the processor, memory, and interface cooperate with each other to enable the electronic device to perform any one of the methods described in the first aspect.

[0051] Fifthly, an electronic device is provided, which includes any one of the chip devices described in the third aspect.

[0052] In a sixth aspect, a computer-readable storage medium is provided, wherein a computer program is stored therein, and when the computer program is executed by a processor, the processor performs any one of the methods described in the first aspect.

[0053] In a seventh aspect, a computer program product is provided, the computer program product comprising: computer program code, which, when executed on an electronic device, causes the electronic device to perform any one of the methods described in the first aspect. Attached Figure Description

[0054] Figure 1 is a schematic diagram of the structure of a terminal device 100 provided in an embodiment of this application;

[0055] Figure 2 is a software structure block diagram of the terminal device 100 provided in an embodiment of this application;

[0056] Figure 3 is a schematic diagram of the structure and application circuit of an example SOC provided in an embodiment of this application;

[0057] Figure 4 is a schematic diagram of a circuit structure provided in an embodiment of this application, in which components are connected by an I2C bus.

[0058] Figure 5 is a schematic diagram of a circuit structure in which components are connected via an SPI bus according to an embodiment of this application.

[0059] Figure 6 is a schematic diagram of the position of the touchpad on a laptop provided in an embodiment of this application;

[0060] Figure 7 is an interaction diagram of an example event reporting method provided in an embodiment of this application;

[0061] Figure 8 is a gesture diagram of a user performing scroll wheel operation on a touchpad according to an embodiment of this application;

[0062] Figure 9 is a flowchart of an example of a roller event reporting method provided in an embodiment of this application;

[0063] Figure 10 is a schematic diagram showing the positions of the left and right edges of a touchpad according to an embodiment of this application.

[0064] Figure 11 is a flowchart of an example of a page-turning event reporting method provided in an embodiment of this application;

[0065] Figure 12 is a flowchart of an example of an animation display method provided in an embodiment of this application;

[0066] Figure 13 is a schematic diagram of an example of an animation display device provided in an embodiment of this application. Detailed Implementation

[0067] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in this text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.

[0068] Hereinafter, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first," "second," or "third" may explicitly or implicitly include one or more of that feature.

[0069] The animation display method provided in this application can be applied to electronic devices such as mobile phones, tablets, wearable devices, in-vehicle devices, augmented reality (AR) / virtual reality (VR) devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, and personal digital assistants (PDAs). This application does not impose any restrictions on the specific type of electronic device.

[0070] For example, Figure 1 is a schematic diagram of the structure of an electronic device 100 provided in an embodiment of this application. The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, antenna 1, antenna 2, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, and a display screen 194, etc. Optionally, the electronic device 100 may also include a mobile communication module 150 and a corresponding antenna 1. Correspondingly, the electronic device may also include a subscriber identification module (SIM) card interface 195. The sensor module 180 may include a fingerprint sensor 180H and a temperature sensor 180J. Optionally, the sensor module 180 may also include some or all of the following: a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a touch sensor 180K, an ambient light sensor 180L, and a bone conduction sensor 180M.

[0071] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0072] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0073] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application embodiment uses a layered architecture. Taking the system as an example, the software structure of electronic device 100 is illustrated.

[0074] Figure 2 is a block diagram of the hardware layer and software structure on the processor of the electronic device 100 according to an embodiment of this application. Specifically, the processor can interact with the chip in the hardware layer. Optionally, the processor can be located on a System-on-a-Chip (SoC). The layered architecture divides the software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Windows system is divided into four layers, from top to bottom: the application layer, the operating system (OS) layer, the HAL layer, and the hardware layer. The application layer may include a series of application packages.

[0075] The application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS. The application package may also include a PC manager for system administration.

[0076] The OS layer includes various drivers, such as mouse drivers and touch drivers. Specifically, the mouse driver handles mouse events, and the touch driver handles touch events. The mouse and touch drivers interact with the HAL layer through the OS layer's Human Interface Device (HID) driver and the application layer via the Windows API interface. The HID driver is used to drive human interface devices (such as mouse devices and touchpad devices).

[0077] HAL is a kernel-mode module that hides various hardware-related details, such as I / O interfaces, interrupt controllers, and multiprocessor communication mechanisms. It provides a unified service interface for different hardware platforms running Windows, achieving portability across multiple hardware platforms. It's important to note that, to maintain Windows portability, internal Windows components and user-written device drivers do not directly access the hardware; instead, they call routines in HAL.

[0078] The hardware layer includes various hardware devices, encompassing various sensors and their corresponding driver chips. For example, the hardware layer includes: a touchpad and its corresponding touchpad chip (Touch IC), a pressure sensor and its corresponding pressure chip (Force IC), and a linear resonant actuator (LRA, also known as a motor oscillator) and its corresponding haptic chip (Haptic IC, also known as a motor chip). The touchpad houses the touch sensor.

[0079] The drivers, HAL layer, OS layer, and application layer of the aforementioned hardware can all run on a system-on-a-chip (SOC). Optionally, the SOC can integrate modules such as a central processing unit (CPU), graphics processing unit (GPU), memory controller, peripheral component interconnect express (PCIe) controller, universal serial bus (USB) controller, and hard disk controller. These modules are connected to the motherboard to memory, hard disk (e.g., solid state disk (SSD)), power supply, screen, etc., to form a complete laptop computer, as shown in Figure 3.

[0080] Based on the above, as shown in Figures 1 and 2, electronic devices can also include embedded controllers (ECs). ECs are used to execute specified independent control functions, have the ability to process complex data, and can perform various automated processing tasks such as monitoring and control. The introduction of ECs can expand the functionality of the original System-on-a-Chip (SoC) to include richer features.

[0081] In electronic devices, the EC (Engineer) and SOC (System-on-a-Chip) can communicate using the I2C (Inter-Integrated Circuit) bus, as shown in Figure 4a. In Figure 4a, the I2C bus includes one serial data line (SDA)-1 and one serial clock line (SCL)-1, enabling information transfer between devices. The SOC can be configured with an I2C Master module, which acts as an adapter layer, allowing the SOC to interact as a master and slave. Similarly, when the EC and SOC interact, the EC can be configured with an I2C Slaver module, which acts as an adapter layer, allowing the EC to interact as a slave with the SOC, which is the master. Each device connected to the I2C bus has a unique address, and devices communicate using their respective addresses. It should be noted that when one device acts as the master among multiple devices connected to the I2C bus, the other devices communicating with it are slaves. In different interaction processes, the roles of the host and the slave may be interchanged, and the embodiments of this application do not limit this.

[0082] In this embodiment, the EC and the Haptic IC in the hardware layer can also communicate via an I2C bus, as shown in Figure 4b. In Figure 4b, the I2C bus includes one serial data line (SDA)-2 and one serial clock line (SCL)-2, enabling information transfer between devices. The EC, acting as the master, can be configured with an I2C Master module, and the Haptic IC, acting as the slave, can be configured with an I2C Slaver module. The EC and Haptic IC interact via the I2C bus.

[0083] In addition to communicating with devices via the I2C bus, the EC (Electronic Control Unit) can also communicate with other devices via the Serial Peripheral Interface (SPI) bus. For example, as shown in Figure 5, the EC and the Force IC in the hardware layer can communicate via the SPI bus. Specifically, the EC can be configured with an SPI Master module, which acts as an adapter layer, enabling the EC to interact as a master and slave device. The Force IC can be configured with an SPI Slave module, which acts as an adapter layer, enabling the Force IC to act as a slave device and interact with the EC, which acts as the master. In Figure 5, the EC can select the device to communicate with as a slave device by outputting chip select signals from pins SS1 to SS3. For example, when the EC needs to interact with the Force IC, the EC's SS1 port outputs a chip select signal to select the Force IC as the slave device. Optionally, in addition to communicating with the Force IC via the SPI bus, the EC can also connect other slave devices and communicate via the SPI bus. For example, the master EC can also communicate with the slave Touch IC via the SPI bus. Optionally, the EC can also communicate with other devices via the SPI bus. For example, the EC can communicate with the Haptic IC via the SPI bus. In this case, the EC's SS3 port is connected to the Haptic IC, and the chip select signal is output through the SS3 port to select the Haptic IC for communication.

[0084] Optionally, when using SPI bus communication, the chip select signal can be enabled by either a high level or a low level. For example, when the chip select signal is enabled by a high level, the EC outputs a high level to the Force IC through the SSI1 port to enable the slave Force IC connected to the SSI1 port, while SSI2 and SSI3 can output a low level. Conversely, when the chip select signal is enabled by a low level, the EC outputs a low level to the Force IC through the SSI1 port to enable the slave Force IC connected to the SSI1 port, while SSI2 and SSI3 can output a high level.

[0085] For ease of understanding, the following embodiments of this application will take an electronic device with the structure shown in Figures 1 and 2 as an example, and, in conjunction with the accompanying drawings and application scenarios, specifically illustrate the event reporting method provided by the embodiments of this application.

[0086] The technical solutions described in this application can be applied to electronic devices with touchpads. The following description uses a laptop computer (or portable computer) as an example.

[0087] When using a laptop, users can use the touchpad to simulate some functions of a mouse. The location of the touchpad on a laptop is shown in Figure 6. If a user forgets to bring a mouse or doesn't want to connect one, they can directly use the touchpad to simulate mouse operation. A typical mouse includes a left and right button; users can click the left button to select an item and click the right button to bring up the right-click menu. When using the touchpad, users can move the cursor by swiping a single finger across a specific area (e.g., the center area); they can also click the touchpad to select a file or control, simulating the left-click selection function; and they can tap the touchpad with two fingers to simulate a right-click, bringing up the right-click menu. Optionally, the right-click menu is usually a menu bar for selecting an object.

[0088] When browsing multi-page documents, users can use the left mouse button to drag the progress bar on the right side of the document to turn pages. Dragging the progress bar downwards flips to the next page, and dragging it upwards flips to the next page. Faster dragging results in faster page turning, and vice versa. On laptops, users can also simulate clicking and dragging the progress bar with two fingers on the touchpad. However, rapidly swiping up or down on the touchpad can cause page turning to occur suddenly, disrupting the reading experience.

[0089] A typical mouse has a scroll wheel located between the left and right buttons. When the user scrolls the wheel down (or up), the document page turns down (or up). Each scroll down (or up) scrolls the document a fixed number of lines. For example, one scroll might scroll two lines. Users can repeatedly scroll down (or up) to continuously turn the page. However, on most laptops, the touchpad doesn't provide the same scroll wheel functionality, limiting user operation and resulting in a poor user experience.

[0090] In the technical solutions described in the embodiments of this application, users can simulate the scroll wheel function of a mouse by operating the touchpad, which expands the function of the touchpad and improves the user experience.

[0091] Specifically, after a laptop boots up, the touchpad registers as a mouse device during the underlying hardware initialization. When a user enables mouse mode on the touchpad through system management applications, such as PC Manager's settings, the touchpad can recognize the user's gestures and thus simulate mouse functionality. Optionally, if the user does not need to use the touchpad to simulate a mouse, they can also use PC Manager to disable mouse mode, which can also be called disabling mouse wheel gesture recognition. Once mouse mode is disabled, the touchpad stops being recognized.

[0092] When the touchpad's mouse mode is enabled, if the laptop recognizes that the user has performed a touch operation on the touchpad, it can process it as a mouse event and respond accordingly.

[0093] Figure 7 is an interaction diagram of a user touching the touchpad to trigger an event according to an embodiment of this application, specifically including:

[0094] S701, Touch IC obtains the coordinates of the user's touch point on the touchpad.

[0095] When a user presses the touchpad, the touchpad collects data via its internal touch sensors and reports it to the Touch IC. The Touch IC then acquires the data collected by the touch sensors and identifies the coordinates of the touch point. If the user presses the touchpad with two fingers, the Touch IC can identify the coordinates of both fingers.

[0096] S702, Touch IC reports the touch coordinates to EC.

[0097] S703 and EC respond to the received touch coordinates and report the two-finger press event to SOC.

[0098] In other words, when the EC receives the touch coordinates reported by the Touch IC, it can report the two-finger press event to the SOC, but the EC stops reporting the touch coordinates to the SOC. When the EC periodically obtains the touch coordinates reported by the Touch IC, it will not report the touch coordinates.

[0099] S704. When the user raises their hand, the EC reports a two-finger hand-raising event to the SOC.

[0100] When a user raises their hand, the Touch IC cannot obtain data from the touch sensor, and therefore will not report the touch coordinates to the EC. Since the EC does not receive the touch coordinates reported by the Touch IC, it can assume that the user's two fingers have been raised and there is no touchscreen or touchpad. The EC then reports the hand-raise event to the SOC.

[0101] Based on the two-finger press and release events reported by the EC, the S705 and SOC respond as a two-finger tap on the touchpad, displaying a right-click menu on the interface.

[0102] For the SoC, when a user performs a two-finger swipe and receives press and release events, the OS layer, based on Windows' native logic, interprets these events as a two-finger touchpad tap. In response to this touchpad tap, a right-click menu appears at the mouse cursor's location on the laptop screen. This doesn't align with the user's expectation of a simulated mouse wheel scrolling function, negatively impacting the user experience.

[0103] To avoid displaying an unwanted right-click menu during two-finger swipes, the EC (Extended Control Panel) can determine whether the touch point coordinates have moved when the user's action is a two-finger press and the pressure is greater than or equal to a preset pressure threshold. If the touch point coordinates have moved, it indicates that the user has moved two fingers and intends to perform a scroll wheel operation. The EC can then report the scroll wheel event to the SOC's OS layer, along with the touch point coordinates. In this case, the SOC will not recognize the user's action as a two-finger tap on the touchpad and display an unwanted right-click menu due to the lack of touch point coordinates. Laptops can then treat the user's two-finger press and swipe as a scroll wheel event and continuously move the window at a constant speed to turn pages, preventing page turning from stalling. If the touch point coordinates have not moved, it indicates that the user has not moved two fingers and does not intend to perform a scroll wheel operation. The EC does not need to report the scroll wheel event to the SOC's OS layer.

[0104] For clarity, in this embodiment, the laptop recognizes a user's two-finger swipe gesture on the touchpad as a common page-turning operation using the left mouse button to drag a progress bar; the corresponding touch event is called a page-turning event. Conversely, a user's firm press and swipe gesture on the touchpad is recognized as a simulated mouse wheel scrolling operation, called a scrolling page-turning operation; the corresponding touch event is called a wheel event. Figure 8 illustrates a user's touchpad gesture simulating a mouse wheel function, as provided in this embodiment. Figure 8 shows an example of a user swiping down (negative Y-axis direction) with two fingers. In practice, the user can also swipe up (positive Y-axis direction) with two fingers to perform the operation.

[0105] Next, the process of implementing the roller event reporting of this application will be described in detail with reference to Figure 9. As shown in Figure 9, the method includes:

[0106] After obtaining the touch point coordinates, the S901 Touch IC sends the first interrupt signal to the Force IC.

[0107] When the user has not touched the touchpad, the mouse mode is in non-scroll wheel mode, and the byte representing scroll wheel mode is 0 (i.e., mouseFlag == 0).

[0108] When a user presses the touchpad with two fingers, the touchpad uses its internal touch sensors to collect initial touch data generated by the user's touch and sends this data to the Touch IC. Optionally, this initial touch data can be the capacitance change at the location where the user touches the touchpad. The Touch IC then statistically analyzes the capacitance changes at various points on the touchpad, identifying the area where the capacitance changes reach a certain threshold, which is defined as the user's touch area. The Touch IC can then calculate the touch point coordinates based on this touch area. It should be noted that the touch point coordinates are the coordinates of the point where the user's finger touches the touchpad. When the user touches the touchpad with two fingers, the touch point coordinates can include the coordinates of each finger touching the touchpad individually.

[0109] Taking the touch point coordinates of a finger as an example, the touch point coordinates can be the coordinates of any point within the touch area of ​​the finger, or the coordinates of the geometric center point of the touch area of ​​the finger. This application embodiment does not limit this.

[0110] The Touch IC can store the touch coordinates in its own register and then send the first interrupt signal to the Force IC. When using a rising-edge interrupt, the Touch IC sends a high level to the Force IC via I2C as the first interrupt signal to trigger the interrupt; when using a falling-edge interrupt, the Touch IC sends a low level to the Force IC via I2C as the first interrupt signal to trigger the interrupt.

[0111] S902, in response to the first interrupt signal, the Force IC obtains the touch coordinates from the Touch IC.

[0112] In response to the first interrupt signal received, the Force IC reads the contact coordinates stored in the Touch IC's register via the I2C bus and stores the contact coordinates in the Force IC's own register, thus completing the data transfer between the two ICs.

[0113] It should be noted that the Touch IC and Force IC execute the steps S901 and S902 described above in each cycle, thereby achieving periodic data transmission.

[0114] When the pressure applied exceeds a preset pressure threshold, the S903 Force IC sends a trigger signal to the Haptic IC, causing the Haptic IC to trigger LRA vibration.

[0115] Specifically, a pressure sensor is also installed on the touchpad.

[0116] The Force IC can detect the pressure applied by a user when pressing the touchpad using a pressure sensor. In this embodiment, the pressure can be represented by a unit of weight, such as grams (g). Alternatively, the pressure can also be represented by other units of weight or force, which is not limited in this embodiment. The Force IC can store the acquired pressure in its own register.

[0117] Specifically, the Force IC further determines whether the pressure applied exceeds a preset pressure threshold. If the pressure is greater than or equal to the preset pressure threshold, the Force IC sends a trigger signal to the Haptic IC via the I2C bus. Triggered by the trigger signal, the Haptic IC sends a vibration command to the LRA, driving the LRA to vibrate. At this point, the user can feel the vibration of the LRA, thus clearly perceiving that the operation has taken effect, improving the user experience.

[0118] Optionally, the preset pressure threshold can be 120g, or alternatively 100g, 110g, 130g, etc., and this application embodiment does not limit it.

[0119] Optionally, when a user presses the touchpad with two fingers, the pressure can be the pressure of the finger with the greater pressure, the average pressure of the two fingers, or the sum of the pressure of the two fingers. Anything that can represent the force of the user pressing the touchpad is acceptable, and this application embodiment does not limit this.

[0120] Optionally, the Touch IC, Force IC, and Haptic IC mentioned above can be located together in the pressure-sensitive touch module. Optionally, the pressure-sensitive touch module can be the touchpad described in the embodiments of this application.

[0121] Optionally, the execution order of S902 and S903 may not be limited in the embodiments of this application.

[0122] When the S904 Force IC determines that the pressure applied is greater than or equal to a preset pressure threshold, it sends a second interrupt signal to the EC.

[0123] Specifically, when the Force IC determines that the pressure applied is greater than or equal to a preset pressure threshold, it also sends a second interrupt signal to the EC via the SPI bus. In the case of a rising edge interrupt, the Force IC sends a high level to the EC via SPI as the second interrupt signal to trigger the interrupt; in the case of a falling edge interrupt, the Force IC sends a low level to the EC via SPI as the second interrupt signal to trigger the interrupt.

[0124] In response to the second interrupt signal, S905 and EC obtain the contact coordinates and pressing force from the Force IC via the SPI bus.

[0125] In response to the received second interrupt signal, the EC reads the contact coordinates and pressure stored in the Force IC's register via the SPI bus and stores them in its own register.

[0126] In other words, under the action of the periodic second interrupt signal, the EC can continuously read the new contact coordinates stored in the register of the Force IC via the SPI bus, and optionally, it can also read the pressure.

[0127] Optionally, the pressure sensor collects data at a frequency of 1000 Hz, and the touch sensor collects data at a frequency of 144 Hz. That is, for every data collection by the touch sensor, the pressure sensor can collect data seven times, obtaining seven sets of pressure values. After the Force IC obtains one touch point coordinate and seven sets of pressure values ​​and reports them to the EC, the EC can choose the one representing the largest pressure value among these seven sets as the subsequent judgment basis, or it can use the average of these seven pressure values ​​as the subsequent judgment basis. This embodiment does not limit this choice.

[0128] Optionally, in each of the seven sets of pressure values ​​acquired in each cycle, each acquired pressure value is referred to as a set of pressure values. Each set of pressure values ​​can also be represented by both high-byte and low-byte data. Taking the first acquired pressure value in the seven sets of pressure values ​​as an example, this pressure value can be represented by data...

[0129] and data

[0130] The data is represented by two numbers. Here, data

[0129] represents the low-order byte of data, and data

[0130] represents the low-order byte of data. For example, if data

[0129] is 0x15 and data

[0130] is 0x7B, then the pressure intensity is represented as 0x7B15. Correspondingly, the other seven pressure intensities can also be represented sequentially using data...

[0131] The data

[0142] indicates that it will not be elaborated further here.

[0129] Optionally, the EC may include a touch data acquisition module and a scroll wheel gesture recognition module. The touch data acquisition module is used to obtain the touch point coordinates and pressure intensity from the registers of the Force IC via the SPI bus and transmit them to the scroll wheel gesture recognition module for recognition.

[0130] S906. When EC determines that the pressing force is greater than or equal to the preset pressure threshold and determines that the user's operation is a two-finger pressing operation, the touchpad's mouse mode is set to scroll wheel mode, the touch point coordinates are saved, and the flag corresponding to the pressing force is set to 0.

[0131] First, the EC determines whether the user's operation is a two-finger press operation, including:

[0132] If a user presses the touchpad with two fingers, the touch point coordinates include the coordinates of both fingers. In this case, the EC (Electronic Control Unit) can determine that the user's operation is a two-finger press based on the presence of two fingers' touch point coordinates.

[0133] If the user presses the touchpad with one finger or three fingers, the EC will determine whether the user is touching the touchpad with one or three fingers based on the number of touch point coordinate groups, thus confirming that it is not a two-finger press operation.

[0134] Optionally, the data corresponding to each finger in the touch point coordinates can be represented using multiple sets of eight-bit bytes. For example, as shown in Table 1:

[0135] Table 1

[0136] In Table 1, for the first group of eight bytes with byte number 0, bits 7 to 2 are used together to represent the identification (ID) of finger 1. Bit 1 indicates whether a finger is pressed. When Bit 1 is 0, it means finger 1 is not pressed; when Bit 1 is 1, it means finger 1 is pressed. Bit 0 indicates the confidence level that the pressing operation is a finger press. When Bit 0 is 0, it means it is not a finger press, but may be a palm or knuckle press; when Bit 0 is 1, it means it is a finger press.

[0137] The second group of eight bytes with byte number 1 (data[1]) and the third group of eight bytes with byte number 2 (data[2]) both represent the X coordinate in the touch point coordinate of finger 1. Optionally, the second group of eight bytes can be used to represent the low byte data (LSB) of the X coordinate, and the third group of eight bytes can be used to represent the high byte data (MSB) of the X coordinate. The high byte data and the low byte data together form the X coordinate array. For example, for finger 1, 0xB9 represents the low byte data of the X coordinate of finger 1, and 0x07 represents the high byte data of the X coordinate of finger 1. Then the X coordinate of finger 1 can be represented as 0x07B9. Similarly, the fourth group of eight bytes with byte number 3 (data[3]) can be used to represent the low byte data of the Y coordinate, and the fifth group of eight bytes with byte number 4 (data[4]) can be used to represent the high byte data of the Y coordinate. The high byte data and the low byte data together form the Y coordinate array. For example, for finger 1, 0x04 represents the low byte of the Y coordinate of finger 1, and 0x17 represents the high byte of the Y coordinate of finger 1. Therefore, the Y coordinate of finger 1 can be represented as 0x0417.

[0138] In Table 1 above, bytes numbered 0 to 4 represent the touch data corresponding to finger 1. The touch data for other fingers can be expressed in the same way, and the byte numbers of the touch data for other fingers can be sequentially arranged after the byte number of finger 1. For example, a set of eight bytes with byte number 5 can be used to represent the ID of finger 2, whether it is pressed, and the confidence level of whether it is a finger press; four sets of eight bytes with byte numbers 6 to 9 can be used to represent the X and Y coordinates of finger 2. Similarly, five sets of eight bytes with byte numbers 10 to 14 can be used to represent the touch data of finger 3; five sets of eight bytes with byte numbers 15 to 19 can be used to represent the touch data of finger 4; and five sets of eight bytes with byte numbers 20 to 24 can be used to represent the touch data of finger 5.

[0139] It should be noted that if a user presses the touchpad with two fingers, the touch coordinates corresponding to two fingers are considered valid data. For example, the touch coordinates corresponding to finger 1 and finger 2 are valid data, used to indicate the presence of touch coordinates for finger 1 and finger 2. The touch data corresponding to other fingers is either empty or the byte corresponding to the confidence level is 0.

[0140] Optionally, the method to determine whether the user is pressing with two fingers can be to check whether the number of fingers with valid data in the contact point coordinates corresponding to the five fingers (finger 1 to finger 5) is 2. If the number of fingers with valid data in the contact point coordinates corresponding to the five fingers is 0, 1, or more than 3, it means that the user is not pressing with two fingers; if the number of fingers with valid data in the contact point coordinates corresponding to the five fingers is 2, for example, the contact point coordinates corresponding to finger 1 and finger 2 are valid data, while the contact point coordinates corresponding to the other fingers are empty, it means that the user is pressing the socket with two fingers.

[0141] Specifically, EC can analyze each of the five fingers' corresponding bytes in the contact coordinates to determine whether each finger is pressed. Here, we will use the example of determining whether finger 1 is pressed based on its contact coordinates to illustrate this:

[0142] EC determines whether Bit1 in the first group of eight bytes is 0 by checking if equation (1) is true. (data[0] & 0x02)! = 0 Equation (1)

[0143] If equation (1) is true, it means that Bit1 in the first group of eight bytes is not 0, indicating that finger 1 is pressed. If equation (1) is not true, it means that Bit1 in the first group of eight bytes is 0, indicating that finger 1 is not pressed.

[0144] In the above equation (1), the first group of eight-bit bytes of finger 1 is represented by the array data[0]. The calculation method of data[0] and the fixed number 0x02 (that is, the two are ANDed, the operator is "&") (expressed as: data[0]&0x02) can be found in Table 2 and the related description in Table 2.

[0145] Table 2

[0146] In Table 2, the first row is the sequence number of the eight bits of data[0], the second row is the binary array of data[0], the third row is the binary array of 0x02, and the fourth row is the result of the AND operation. Table 2 uses data[0] as 00000111 as an example, and 0x02 is converted into an eight-bit binary array of 00000010. The AND operation between data[0] and 0x02 is performed, that is, the corresponding bit values ​​are ANDed respectively. The specific process is as follows: the values ​​of data[0] and 0x02 in the Bit7 column (0 and 0) are ANDed to obtain the result (0) corresponding to the Bit7 column; the values ​​of data[0] and 0x02 in the Bit6 column (0 and 0) are ANDed to obtain the result (0) corresponding to the Bit6 column; the values ​​of data[0] and 0x02 in the Bit5 column (0 and 0) are ANDed to obtain the result (0) corresponding to the Bit5 column; the values ​​of data[0] and 0x02 in the Bit4 column (0 and 0) are ANDed to obtain the result (0) corresponding to the Bit5 column; the values ​​of data[0] and 0x02 in the Bit4 column (0 and 0) are ANDed to obtain the result (0) corresponding to the Bit5 column; the results of the AND operation between data[0] and 0x02 in the Bit4 column (0 and 0) are ANDed to obtain the result (0) corresponding to the Bit5 column; the results of the AND operation between data[0] and 0x02 in the Bit5 ... The AND operation is performed to obtain the result (0) for column 4; the AND operation is performed on the values ​​(0 and 0) of data[0] and 0x02 in column 3 to obtain the result (0) for column 3; the AND operation is performed on the values ​​(1 and 0) of data[0] and 0x02 in column 2 to obtain the result (0) for column 2; the AND operation is performed on the values ​​(1 and 1) of data[0] and 0x02 in column 1 to obtain the result (1) for column 1; the AND operation is performed on the values ​​(1 and 0) of data[0] and 0x02 in column 0 to obtain the result (0) for column 0. After performing the AND operation on the values ​​in each column, the result of the AND operation on data[0] and 0x02 in the fourth row is obtained: 00000010. Then, EC performs a NOT operation on the result of the AND operation (data[0]&0x02)!, with the operator being "!"). The result of the NOT operation here is 0, that is, the above equation data[0]&0x02)! = 0 is true, which means that finger 1 is pressed.

[0147] Taking the first eight-bit byte data[1] of finger 2 as 00001011 as an example, the result of ANDing data[1] with 0x02 is 00000010. Then, the result of the AND operation is NOTed. The result of the NOT operation here is 0, that is, the equation data[1]&0x02)! = 0 is true, indicating that finger 2 is pressed.

[0148] Taking the first eight-bit byte data[2] of finger 3 as 00001111 as an example, the result of ANDing data[2] with 0x02 is 00000000. Then, the result of the AND operation is NOTed. The result of the NOT operation here is 0, that is, the equation data[2]&0x02)! = 0 is true, indicating that finger 3 is not pressed.

[0149] Taking the first eight-bit byte data[3] of finger 4 as 00010011 as an example, the result of ANDing data[3] with 0x02 is 00000000. Then, the result of the AND operation is NOTed. The result of the NOT operation here is 0, that is, the equation data[3]&0x02)! = 0 is true, indicating that finger 4 is not pressed.

[0150] Taking the first eight-bit byte data[4] of finger 5 as 00010111 as an example, the result of ANDing data[4] with 0x02 is 00000000. Then, the result of the AND operation is NOTed. The result of the NOT operation here is 0, that is, the equation data[4]&0x02)! = 0 is true, indicating that finger 5 is not pressed.

[0151] After the EC determines whether each finger is pressed, it can count the results of each finger's determination to generate the number of pressed fingers and write it into the corresponding array. For example, when the EC counts that the number of pressed fingers is 2, it can write the value 2 into the array data

[0027] . Then, the EC can determine whether it is a two-finger press operation based on whether the value of data

[0027] is 2. When data

[0027] is 2, the EC can determine that the user's gesture is a two-finger press operation; when data

[0027] is 0, 1, 3, 4, or 5, the EC can determine that the user's gesture is not a two-finger press operation.

[0152] Secondly, EC determines that the pressure applied exceeds a preset pressure threshold in the following ways:

[0153] The EC can also receive a flag from the Force IC via the SPI bus indicating whether the pressure applied is greater than or equal to a preset pressure threshold, thereby determining whether the pressure applied is greater than or equal to the preset pressure threshold. For example, if the Force IC has determined that the pressure applied is greater than or equal to the preset pressure threshold, it can set the corresponding flag to true.

[0154] Taking a preset pressure threshold of 120g as an example: when the pressure is greater than or equal to 120g, Force IC can modify the value of array data

[0028] to 1. EC can then obtain the value of data

[0028] to determine whether the pressure is greater than or equal to 120g. If the value of data

[0028] is 1, it means that the pressure is greater than or equal to 120g; if the value of data

[0028] is 0, it means that the pressure is less than 120g.

[0155] Optionally, the EC can also compare the pressure level reported by the Force IC with the preset pressure threshold to determine whether the pressure level is greater than or equal to the preset pressure threshold.

[0156] It should be noted that the order of the two steps—EC determining whether the pressure applied is greater than or equal to a preset pressure threshold and determining whether the user's action is a two-finger press—is not limited. For example, EC can first determine whether the pressure applied is greater than or equal to the preset pressure threshold, and then determine whether the user's action is a two-finger press; alternatively, it can first determine whether the user's action is a two-finger press, and then determine whether the pressure applied is greater than or equal to the preset pressure threshold.

[0157] Specifically, when EC determines that the pressing force is greater than or equal to the preset pressure threshold (i.e., data

[0028] ==1) and the user's operation is a two-finger pressing operation (i.e., equation (1) is true), it sets the touchpad's mouse mode to the scroll wheel mode (i.e., sets mouseFlag==1), saves the touch point coordinates collected in the current cycle, and changes the pressing force byte from 1 to 0.

[0158] Here, mouseFlag == 1 indicates that the mouse mode is scroll wheel mode. Before this, the mouse mode is non-scroll wheel mode, i.e., mouseFlag == 0.

[0159] Save the contact coordinates acquired in the current cycle. Specifically, the EC does not report the contact coordinates acquired in the current cycle to the SOC, but stores them in its own register. These contact coordinates can be called reference coordinates.

[0160] Set the byte representing the pressure level to 0, i.e., set data

[0028] == 0. Optionally, the name of the flag bit of the pressure level byte can be denoted as DOME.

[0161] In other words, when the condition (data[0]&0x02)! = 0 && (data

[0027] ==2) && (data

[0028] ==1) is met, the EC sets the mouseFlag flag to 1 and saves the contact coordinates (backupData, PC_TOUCHPOS_DATA_LEN) obtained in the current cycle, and will not report the contact coordinates to the SOC. At the same time, the EC sets data

[0028] ==0.

[0162] When the value of data

[0028] is 1, it indicates that the user's pressing force is greater than or equal to the preset pressure threshold, which also indicates a press event; when the value of data

[0028] is 0, it indicates that the user's pressing force is less than the preset pressure threshold, which also indicates that this is not a press event. When the user presses the touchpad with two fingers, based on the native logic of Windows, the value of data

[0028] will be updated from 0 to 1. When mouseFlag is set to 1, EC can change the value of data

[0028] back from 1 to 0, so that EC will not report this press event. Even if the user raises their hand, SOC will not receive the event combination of press event and hand-raise event, so it will not recognize the user operation as a two-finger tap on the touchpad, which can avoid displaying an unwanted right-click box on the laptop interface and improve the user experience.

[0163] When a user presses the touchpad firmly with two fingers and then swipes with those fingers, the Touch IC periodically sends a first interrupt signal to the Force IC, i.e., periodically executes S901 (represented as S901' in Figure 9). Under the periodic first interrupt signal, the Force IC periodically executes S902 (represented as S902' in Figure 9), i.e., periodically obtains the touch coordinates from the Touch IC. Correspondingly, the Force IC periodically sends a second interrupt signal to the EC, i.e., periodically executes S904 (represented as S904' in Figure 9). Under the periodic second interrupt signal, the EC periodically executes S905 (represented as S905' in Figure 9), i.e., periodically obtains the touch coordinates from the Force IC.

[0164] When the mouse mode is in scroll wheel mode, S907 and EC report a scroll wheel event to SOC when the distance the touch point coordinates have moved is greater than or equal to a preset distance threshold.

[0165] The EC periodically obtains the touch coordinates from the Force IC, as detailed above, and will not be repeated here. When the mouse mode is in scroll wheel mode, i.e., mouseFlag=1, the EC can determine whether the user's two fingers have moved based on whether the touch coordinates obtained in the current cycle have changed.

[0166] Specifically, EC determines the movement of a user's two fingers in the following ways:

[0167] Optionally, the EC determines whether the touch point coordinates have changed by checking if the touch point coordinates of any one of the fingers have moved. If the touch point coordinates of either finger change, it means that the user's two fingers have moved; if the touch point coordinates of neither finger change, it means that the user's two fingers have not moved.

[0168] Optionally, the EC can determine whether the contact coordinates have changed, or it can determine separately whether the contact coordinates corresponding to both fingers have moved. If the contact coordinates corresponding to both fingers have changed, it means that the contact coordinates have moved; if the contact coordinates corresponding to either finger have not changed, it means that the contact coordinates have not moved.

[0169] Optionally, the EC can determine whether the contact point coordinates have changed by determining whether the average distance moved by each of the two fingers is greater than or equal to a preset distance threshold. If yes, it means the contact point coordinates have changed; if not, it means the contact point coordinates have not changed.

[0170] Specifically, the EC continuously acquires the contact coordinates reported by the Force IC at certain intervals. Here, we take the contact coordinates of a single finger as an example to illustrate how the movement of the finger's contact coordinates is determined: For the contact coordinates of a single finger, if the distance between two contact coordinates acquired in two adjacent cycles is greater than or equal to a preset distance threshold, the EC determines that the contact coordinates of that finger have moved; if the distance between two contact coordinates acquired in two adjacent cycles is less than the preset distance threshold, the EC determines that the contact coordinates of that finger have not moved, indicating that the finger has not moved or has moved very little.

[0171] Taking two adjacent cycles as an example, the EC obtains the touch point coordinates of finger 1 as (X1, Y1) in the previous cycle, and these coordinates can be stored in the EC's register. In the next cycle, the EC obtains the new touch point coordinates of finger 1 as (X2, Y2). Therefore, the relationship between the touch point coordinates obtained in these two adjacent cycles... It could be an unconscious behavior by the user.

[0172] Optionally, the preset distance threshold can be 1 mm, or it can be 0.8 mm, 1.2 mm or other values, which are not limited here.

[0173] Optionally, after obtaining the touch point coordinates, the EC can also determine the magnitude of the change in distance between the touch point coordinates of the two fingers. If the distance between the touch point coordinates of the two fingers increases and the change in distance between the two fingers exceeds a certain threshold, it indicates that the user has performed a two-finger zoom-in operation on the touchpad, and the electronic device can respond to the user's operation by zooming in on the currently selected object; if the distance between the touch point coordinates of the two fingers decreases and the change in distance between the two fingers exceeds a certain threshold, it indicates that the user has performed a two-finger zoom-out operation (also known as a two-finger pinch operation) on the touchpad, and the electronic device can respond to the user's operation by zooming out on the currently selected object.

[0174] Optionally, if the change in distance between the touch coordinates of two fingers is small, for example, less than a certain threshold, it indicates that the user does not currently intend to perform a two-finger zoom-in or two-finger zoom-out operation. The EC can then report the corresponding scroll wheel event based on the direction of the two fingers' movement when the change in distance between the touch coordinates of the two fingers is small. Specifically, the EC can first determine whether the movement directions of the two fingers are the same. If they are the same, it can then determine the direction corresponding to the scroll wheel event based on the movement direction of the two fingers. For example, the EC can determine whether the movement directions of the two fingers in the Y-axis direction are the same. If they are the same, it can determine the movement direction of one finger in the Y-axis direction. If the movement direction of that finger is in the positive direction of the Y-axis, it reports an upward scroll wheel event to the SOC; if the movement direction is in the negative direction of the Y-axis, it executes a downward scroll wheel event. If the movement directions of the two fingers in the Y-axis are different, there is no need to report a scroll wheel event. Similarly, the EC can determine whether the movement directions of the two fingers in the X-axis are the same. If they are the same, it determines the movement direction of one finger in the X-axis direction. If the finger moves in the positive direction of the X-axis, a scroll wheel event to the right is reported to the SOC; if the movement direction is in the negative direction of the X-axis, a scroll wheel event to the left is executed. If the two fingers move in different directions, no scroll wheel event needs to be reported. The directions of the X and Y axes can be seen in Figure 10.

[0175] Specifically, EC can also determine the direction indicated by the scroll wheel event based on the direction of the two-finger movement. This is based on the X direction (positive direction of the X-axis) and Y direction (positive direction of the Y-axis) shown in Figure 7:

[0176] When the movement of the touch point coordinates of finger 1 is used as the criterion, if the Y-coordinate Y2 in the touch point coordinates of the next cycle is less than the Y-coordinate Y1 in the touch point coordinates of the previous cycle (for example, data

[0145] indicates that the change in the Y-coordinate deltalY is less than 0, i.e., Y2-Y1<0), then EC is determined to be a scroll wheel event (MOUSE_WHEEL_DOWN). The window of the document or page displayed on the laptop screen will move downwards.

[0177] In this case, the EC reports the scroll wheel event to the OS layer of the SOC by setting isSendMouse=true and mouseData[3]=0xFF. When the user presses the touchpad with two fingers and swipes down, the EC can perform the operation of setting isSendMouse=true and mouseData[3]=0x01 in each of several consecutive cycles, that is, continuously and periodically report the scroll wheel event. At this time, the laptop page can continue to turn up at a constant speed without any page turning speed loss.

[0178] If the Y-coordinate Y2 in the touch point coordinates of the next cycle is greater than the Y-coordinate Y1 in the touch point coordinates of the previous cycle (for example, data

[0145] indicates that the change in Y coordinate deltalY is greater than 0, i.e., Y2-Y1>0), then EC is determined to be an upward scroll wheel event (MOUSE_WHEEL_UP). The window of the document or page displayed on the laptop screen will move upward.

[0179] Optionally, data

[0144] can be used to represent the change in the X coordinate deltalX, deltalX = X2 - X1.

[0180] Specifically, the EC reports the scroll wheel event to the SOC by setting isSendMouse=true and mouseData[3]=0x01. When the user presses the touchpad firmly with two fingers and swipes upward, the EC can perform the operation of setting isSendMouse=true and mouseData[3]=0xFF in each of several consecutive cycles, that is, continuously and periodically report the scroll wheel event. At this time, the laptop page can continuously turn upward at a uniform speed without any page turning speed loss.

[0181] Optionally, when EC determines the direction of the scroll wheel event indication based on the direction of the two-finger movement, it can also use the touch point coordinates of finger 2 as the basis for judgment. For details, please refer to the process of using the touch point coordinates of finger 1 as the basis for judgment, which will not be repeated here.

[0182] In some cases, if the distance between the touch point coordinates acquired by the EC in two adjacent cycles is less than a preset distance threshold, even if the pressure applied is greater than or equal to a preset pressure threshold, the EC will not report the scroll wheel event to the SOC's OS layer. This avoids false alarms caused by data errors or slight, unintentional finger movements by the user, thus improving the accuracy of scroll wheel event reporting.

[0183] In scroll wheel mode, i.e., when mouseFlag == 1, the EC periodically acquires the touch coordinates and determines whether the distance between the touch coordinates of two adjacent cycles is greater than a preset threshold. Specifically, the EC acquires the touch coordinates in the previous cycle and stores them in a register. If the distance between the touch coordinates of the previous cycle and the new touch coordinates received in the next cycle is greater than or equal to the preset distance threshold, the EC reports the scroll wheel event to the OS layer of the SOC and can also save the new touch coordinates to update the touch coordinates of the previous cycle stored in the register. If the distance between the touch coordinates of the previous cycle and the new touch coordinates received in the next cycle is less than the preset distance threshold, the EC will not update the touch coordinates of the previous cycle, but will still maintain the distance between the touch coordinates of the previous cycle and the touch coordinates acquired in the next cycle and perform the aforementioned judgment in order to report a matching scroll wheel event.

[0184] When the S908 and EC are in mouse wheel mode, they send the saved touch point coordinates (reference coordinates) to the SOC.

[0185] In scroll wheel mode, i.e., when mouseFlag == 1, the EC not only reports scroll wheel events to the SOC, but also reports the saved reference coordinates to the SOC's OS layer via the I2C bus. This prevents the SOC's OS layer from interpreting user actions as two-finger taps on the touchpad due to a lack of touch coordinates, thus avoiding the appearance of an unwanted right-click menu. In other words, in scroll wheel mode, during the user's two-finger touchpad swipe, the touch coordinates periodically reported by the EC to the SOC are always the same, serving as the reference coordinates.

[0186] Optionally, the EC can employ a scroll wheel gesture recognition module to execute steps S906 to S908 above. Optionally, the EC can also include a touch control strategy module. This module controls the enabling and disabling of mouse scroll wheel gesture recognition. When mouse scroll wheel gesture recognition is enabled, the module executes steps S906 and S908; when it is disabled, even if the user presses the touchpad firmly with two fingers and swipes, the module does not need to execute steps S906 and S908.

[0187] S909. When the SOC receives a scroll wheel event reported by the EC, it can perform a scrolling page turning operation.

[0188] When the EC reports a scroll wheel event down to the SOC's OS layer, the content of the document or page displayed on the laptop's interface will scroll down in fixed increments, displaying a preset number of lines. When the EC reports a scroll wheel event up to the SOC's OS layer, the content of the document or page displayed on the laptop's interface will scroll up in fixed increments, for example, displaying a preset number of lines. If the user continuously moves two fingers, the laptop's interface can continuously and uniformly move the window without any page-turning slowdown.

[0189] For example, at a first moment, lines 1-10 of the document are displayed on the laptop screen; at a second moment, in response to the user's forceful swipe down on the touchpad with two fingers, the document displayed on the screen is scrolled down to display lines 5-15; at a third moment, the user forcefully swipes up on the touchpad with two fingers, and in response to the user's forceful swipe up, lines 1-10 of the document are displayed on the screen. For example, at a fourth moment, lines 10-20 of the document are displayed on the laptop screen; at a fifth moment, in response to the user's forceful swipe up on the touchpad with two fingers, the document displayed on the screen is scrolled up to display lines 5-15; at a sixth moment, the user forcefully swipes down on the touchpad with two fingers, and in response to the user's forceful swipe down, lines 10-20 of the document are displayed on the screen.

[0190] When the S910 and EC receive the hand-raise event, they set the mouse mode to non-scroll wheel mode and stop reporting scroll wheel events and touch coordinates to the SOC.

[0191] Specifically, when a user presses down on the touchpad and swipes for a period of time before lifting two fingers, the EC (Electronic Control Unit) will not receive the touch coordinates reported by the Touch IC or will obtain invalid touch coordinates during this period. For example, the touch coordinates corresponding to finger 1 and / or finger 2 may be empty, and the array representing the number of fingers may change from 2 to 0 (e.g., data

[0027] changes from 2 to 0). At this time, it indicates that the user has lifted two fingers, and the EC will no longer report the scroll wheel event to the OS layer of the SOC. Simultaneously, it will set mouseFlag = 0, thus setting the mouse mode to non-scroll wheel mode. In this case, the touchpad's mouse mode is non-scroll wheel mode.

[0192] Optionally, when the user touches the touchpad again with two fingers, the EC can still obtain the touch point coordinates reported by the Touch IC and perform the corresponding operation, which will not be elaborated here.

[0193] Optionally, based on the embodiment shown in Figure 9 above, the EC can also report an event of adjusting screen brightness to the SOC when it receives the touch coordinates reported by the Touch IC, which indicates that the user has swiped with a single finger on the right edge.

[0194] Specifically, if bit 1 of data[0] representing finger 1 is non-zero (i.e., data[0] & 0x02) ! = 0), and the number of fingers pressed is 1 (e.g., data

[0027] = 1), then the EC determines that the touch coordinates obtained in the current cycle have changed compared to the touch coordinates in the previous cycle, and the change in the Y coordinate of the touch coordinates between these two cycles exceeds a preset distance threshold, for example, the change in the Y coordinate exceeds 1 mm. Furthermore, the EC determines that the touch coordinates in both cycles are located in the area of ​​the right edge of the touchpad, indicating that the user performed a single-finger swipe operation on the right edge of the touchpad.

[0195] If the Y-coordinate of the touch point obtained in the current cycle is greater than the Y-coordinate of the touch point in the previous cycle, it indicates that the user has performed a single-finger swipe up from the right edge, and the EC reports an event to the SOC's OS layer to increase the screen brightness. If the Y-coordinate of the touch point obtained in the current cycle is smaller than the Y-coordinate of the touch point in the previous cycle, it indicates that the user has performed a single-finger swipe down from the right edge, and the EC reports an event to the SOC's OS layer to decrease the screen brightness.

[0196] Optionally, the relative positions of the left and right edge regions of the touchpad can be seen in Figure 10. This application does not limit the size of the left and right edge regions, as long as they conform to user habits.

[0197] As the user performs a single-finger swipe along the right edge of the touchpad, the EC periodically acquires the touch point coordinates and continuously reports corresponding events to adjust the screen brightness, thus achieving a display effect that continuously increases or decreases the screen brightness.

[0198] In this embodiment of the application, the "up" direction of the touchpad refers to the positive direction of the Y-axis as shown in Figure 10, that is, the direction closer to the screen of the laptop and the hinge of the host in the plane of the touchpad's operating area, and the "down" direction refers to the negative direction of the Y-axis as shown in Figure 10, that is, the direction away from the screen of the laptop and the hinge of the host in the plane of the touchpad's operating area.

[0199] Optionally, based on Figure 9 and other related embodiments, the EC can also report a volume adjustment event to the SOC when it receives the touch IC's reported touch coordinates indicating that the user has swiped with a single finger on the left edge.

[0200] Specifically, if bit 1 of data[0] representing finger 1 is non-zero (i.e., data[0] & 0x02) ! = 0), and the number of fingers pressed is 1 (e.g., data

[0027] = 1), then the EC determines that the touch point coordinates obtained in the current cycle have moved compared to the touch point coordinates in the previous cycle, and the change in the Y coordinate of the touch point coordinates obtained in these two cycles exceeds a preset distance threshold, for example, the change in the Y coordinate exceeds 1 mm. Furthermore, the EC determines that the touch point coordinates in both cycles are located in the area of ​​the left edge of the touchpad, indicating that the user performed a single-finger swipe operation on the left edge of the touchpad.

[0201] If the Y-coordinate of the touch point obtained in the current cycle is greater than the Y-coordinate of the touch point in the previous cycle, it indicates that the user has performed a single-finger swipe up on the left edge, and the EC reports an event indicating that the volume has been increased to the SOC's OS layer. If the Y-coordinate of the touch point obtained in the current cycle is smaller than the Y-coordinate of the touch point in the previous cycle, it indicates that the user has performed a single-finger swipe down on the left edge, and the EC reports an event indicating that the volume has been increased to the SOC's OS layer.

[0202] As the user performs a single-finger swipe along the left edge of the touchpad, the EC continuously and periodically acquires the touch point coordinates and reports the corresponding volume adjustment events, enabling the effect of continuously increasing or decreasing the volume.

[0203] Optionally, in this embodiment of the application, after the EC obtains the touch point coordinates, the order in which it determines whether it is a scroll wheel event, a page turning event, a volume adjustment event, and a screen brightness adjustment event is not limited, and the determination order can be adjusted according to needs or preferences.

[0204] In some embodiments, if a user lightly swipes the touchpad with two fingers, the EC can determine that there is a two-finger press operation based on the touch point coordinates, and determine that the pressing force is less than a preset pressure threshold. The EC can then report the touch point coordinates to the SOC's OS layer normally. Simultaneously, the EC reports page-turning events to the SOC's OS layer. When the EC continuously reports newly collected touch point coordinates at a certain period, the SOC can determine the speed of the user's two-finger swipe based on the rate of change of the touch point coordinates, and execute a page-turning operation matching the speed of the two-finger swipe. See Figure 11 for the specific process, which includes:

[0205] S1101 After obtaining the touch point coordinates, the Touch IC sends a third interrupt signal to the Force IC.

[0206] S1102, In response to the third interrupt signal, the Force IC obtains the touch coordinates from the Touch IC.

[0207] S1103, Force IC sends a fourth interrupt signal to EC when the pressure applied is less than the preset pressure threshold.

[0208] S1104 and EC respond to the fourth interrupt signal by obtaining the contact coordinates and pressure from the Force IC via the SPI bus.

[0209] For a detailed description of steps S1101 to S1104, please refer to the description of the relevant steps in Figure 9, which will not be repeated here.

[0210] S1105, when EC determines that the pressing force is less than the preset pressure threshold and the touch point coordinates indicate that the user's operation is a two-finger press, reports a page-turning event to SOC.

[0211] Specifically, the process by which the EC determines whether the pressure applied is less than a preset pressure threshold, and the contact point coordinates characterize whether the user's operation is a two-finger press, can also be found in the relevant steps of the embodiment shown in Figure 9.

[0212] For example, if the condition (data[0]&0x02)! = 0 && (data

[0027] ==2) && (data

[0028] ==0) is met, the user operation can be identified as a page-turning operation. Based on this, the EC can report the page-turning event to the OS layer of the SOC.

[0213] S1106 and EC also report the contact coordinates to SOC.

[0214] When the EC reports the page-turning operation to the OS layer of the SOC, it also reports the touch point coordinates.

[0215] Specifically, the EC periodically acquires the touch coordinates and pressure intensity reported by the Touch IC and makes periodic judgments. Within each cycle, if the EC determines that the pressure intensity acquired in the current cycle is less than a preset pressure threshold, and the touch coordinates indicate that the user's operation is a two-finger press, it reports a page-turning event to the SOC. In other words, within multiple consecutive cycles of the user lightly swiping the touchpad with two fingers, the EC reports a page-turning event to the SOC, along with the touch coordinates acquired in that cycle.

[0216] When a user lightly touches and swipes the touchpad with two fingers, the Touch IC periodically sends a third interrupt signal to the Force IC, i.e., periodically executes S1101 (represented as S1101' in Figure 11). Under the periodic third interrupt signal, the Force IC periodically executes S1102 (represented as S1102' in Figure 11), i.e., periodically obtains the touch coordinates from the Touch IC. Correspondingly, the Force IC periodically sends a fourth interrupt signal to the EC, i.e., periodically executes S1103 (represented as S1103' in Figure 11). Under the periodic fourth interrupt signal, the EC periodically executes S1104 (represented as S1104' in Figure 11), i.e., periodically obtains the touch coordinates collected in the new cycle from the Force IC. The EC also periodically reports page-turning events and touch coordinates, i.e., periodically executes S1105 and S1106 (represented as S1105' and S1106' in Figure 11).

[0217] S1107, SOC receives the page turning event and touch point coordinates, and performs the page turning operation according to the speed of change of the touch point coordinates.

[0218] The SOC receives page-turning events and touch coordinates in each cycle, and then performs the corresponding page-turning operation based on the rate of change of touch coordinates between adjacent cycles. If the change in touch coordinates between two consecutive cycles is large, the page-turning speed is fast; if the change is small, the page-turning speed is slow. When the user quickly swipes the touchpad, the electronic device's page-turning speed may stall.

[0219] In the first time period, the user moves two fingers on the touchpad at a slower, first swipe speed, and the document or page displayed on the laptop screen is turned at a slower, first page-turning speed. In the second time period, the user moves two fingers on the touchpad at a faster, second swipe speed, and the document or page on the laptop screen is turned at a faster, second page-turning speed. The first swipe speed is slower than the second swipe speed, and the first page-turning speed is slower than the second page-turning speed.

[0220] If S1108 and EC receive a hand-raising event, they will stop reporting page-turning events to SOC.

[0221] Specifically, if a user lightly swipes the touchpad for a period of time and then lifts two fingers, the EC will not receive the touch coordinates reported by the Touch IC or will obtain invalid touch coordinates during the period between the reported page-turning event and the user lifting two fingers. For example, the touch coordinates corresponding to finger 1 and / or finger 2 may be empty, and the array representing the number of fingers may change from 2 to 0 (e.g., data

[0027] changes from 2 to 0). In this case, it indicates that the user has lifted two fingers, and the EC will no longer report page-turning events to the OS layer of the SOC.

[0222] In this embodiment, the laptop computer can report a page-turning event via EC when a user lightly presses and swipes the touchpad with two fingers (also known as two-finger touchpad swipes). This allows the laptop to perform corresponding page-turning operations based on the swipe speed of the two fingers. Users can perform touch-to-page-turning operations by lightly swiping the touchpad with two fingers. When the user's pressure on the touchpad exceeds a preset pressure threshold and swipes, a scroll wheel event is reported via EC, enabling the laptop's touchpad to simulate the scroll wheel function of a mouse. This method allows the touchpad to not only simulate mouse page-turning functionality but also expand its mouse-simulating scroll wheel function, making the touchpad more versatile. Users can achieve different touchpad functions simply by distinguishing between simple pressure applications, resulting in greater flexibility and a better user experience.

[0223] Figure 12 is a flowchart of a display animation method provided in an embodiment of this application, which is applied to an electronic device. The electronic device can be a laptop computer. The electronic device includes: a touchpad, an EC (Electronic Control Panel), and a SOC (System-on-a-Chip). Specifically, the display animation method includes:

[0224] S1201, In the first time period, in response to the user's first operation of pressing and swiping with two fingers on the touchpad, the electronic device displays the first animation. In the first time period, the EC sends N coordinates to the SOC, and the N coordinates are the same.

[0225] It should be noted that electronic devices are equipped with touchpads, as well as EC (Electronic Control Panel) and SOC (System-on-Chip). Descriptions of touchpads, ECs, and SOCs can be found above and will not be repeated here.

[0226] When a user presses down firmly with two fingers on the touchpad and swipes for a period of time, the first operation is performed. The electronic device can recognize this first operation as a mouse wheel gesture and report the corresponding wheel event to the System-on-Chip (SOC) via the Electronic Control Center (EC). While reporting the wheel event, the EC also reports the same coordinates of the touch point when the two fingers are pressed down in each cycle to the SOC, instead of sending the coordinates of the touch point during the swipe. In other words, during the first operation, the EC sends the same coordinates to the SOC in each cycle. Based on this, the electronic device can scroll the current page or document, thus displaying the first animation. When the user's two-finger swipe distance is long enough, the current page can be turned to display the next page, and the first animation can be a page-turning animation. If the user's two-finger swipe direction is downward, the electronic device scrolls the page downward, displaying a downward scrolling animation; if the user's two-finger swipe direction is upward, the electronic device scrolls the page upward, displaying an upward scrolling animation.

[0227] It's important to note that during the first time period, while the user is swiping with two fingers, the EC continuously reports the same coordinates to the SOC, instead of sending the real-time touch point coordinates (also known as touch coordinates). This allows the electronic device's touchpad to simulate the mouse wheel function, enabling page scrolling. This method expands the touchpad's functionality and improves the user experience. Furthermore, by stopping the EC from sending real-time touch point coordinates to the SOC during the user's swipe and instead periodically sending the same coordinates from when the two fingers are pressed, the unwanted right-click menu is avoided when the user lifts their hand, further enhancing the user experience.

[0228] S1202, In the second time period, in response to the second operation of the user pressing and swiping with two fingers on the touchpad, the electronic device displays a second animation. In the second time period, the EC sends M touch point coordinates to the SOC. Any two touch point coordinates among the M touch point coordinates are different. The pressing pressure of the first operation is greater than the pressing pressure of the second operation. Wherein, M and N are natural numbers greater than or equal to 2. The second time period is after the first time period.

[0229] Optionally, M and N can be the same or different. The values ​​of M and N can increase as the data reporting cycle shortens or decrease as the reporting cycle lengthens; they can also increase as the user's swipe time increases or decrease as the user's swipe time decreases. Optionally, the order of the second time period and the first time period is not limited, and the second time period can precede the first time period.

[0230] When a user lightly presses and swipes with two fingers on the touchpad for a period of time, the second operation is performed. In response to this second operation, the electronic device can recognize the user's swipe as a mouse-like page-turning gesture and report the corresponding page-turning event to the System-on-Chip (SOC) via the Electronic Control Center (EC). In addition to reporting the page-turning event, the EC also reports the acquired touch point coordinates to the SOC in real time during each cycle. These touch point coordinates are the coordinates of the touch points of the user's two fingers during the swipe. Based on this, the electronic device can turn the page to display the current page, thus displaying the second page animation. If the user's two fingers swipe downwards, the electronic device turns the page downwards, displaying the downward page-turning animation; if the user's two fingers swipe upwards, the electronic device turns the current page upwards, displaying the downward page-turning animation.

[0231] The pressure applied in the first operation is greater than the pressure applied in the second operation. Optionally, the pressure applied in the first operation may be greater than or equal to a preset pressure threshold, and the pressure applied in the second operation may be less than the preset pressure threshold.

[0232] The "real-time reporting" mentioned in this application embodiment means: current period collection, and the current period means reporting. It is not intended to limit the specific time point of reporting to completely overlap with the time point of collection.

[0233] It should be noted that during the second time period, while the user swipes with two fingers, the EC continuously sends the collected touch point coordinates to the SOC. In this case, the touch point coordinates reported in different cycles will change according to the user's finger position, thus enabling page turning. This method enables page turning by the user lightly touching and swiping the touchpad with two fingers, enriching the touchpad's functionality, meeting various user needs, and improving the user experience.

[0234] Optionally, if the user continuously swipes two fingers on the touchpad during the first time period, the page displayed on the electronic device can scroll at a constant speed; that is, the scrolling speed of the page displayed in the first animation is constant. It should be noted that the scrolling speed is constant; the page scrolls in fixed increments. In other words, the electronic device scrolls a fixed number of lines per unit time, for example, 5 lines per second. This prevents the page from stalling due to the user swiping too quickly, thus avoiding inconvenience for the user.

[0235] When the movement speed of the touch point in the first operation is the same as that of the touch point in the second operation, and the movement speed is greater than a preset speed threshold, the scrolling speed of the page displayed in the first animation is less than that of the page displayed in the second animation.

[0236] Specifically, when a user performs the first and second operations respectively, even if the user swipes two fingers at the same speed, if the user's two-finger movement speed reaches a certain speed, such as greater than or equal to a preset speed threshold (e.g., 7 mm / s), then in the first operation, the page scrolling speed in the first animation displayed on the electronic device will scroll at a fixed step size; while in the second operation, the page scrolling speed in the second animation displayed on the electronic device will increase with the increase of the user's two-finger movement speed, which may easily lead to scrolling stalling.

[0237] Optionally, each of the above N coordinates is the same, which is the coordinate of the touch point when the user presses down with two fingers on the touchpad when performing the first operation, and is denoted as the first coordinate.

[0238] Optionally, if the pressure applied by the electronic device in the first operation is greater than or equal to a preset pressure threshold, and the movement distance of the touch point in the first operation is greater than or equal to a preset distance threshold (e.g., 1 mm), the EC sends the first coordinate to the SOC in each cycle. During the first time period, the EC sends the aforementioned N coordinates to the SOC.

[0239] In some embodiments, the first operation includes: a first sub-operation and a second sub-operation, wherein the first sub-operation is a two-finger pressing operation performed by the user during the first operation, and the second sub-operation is a two-finger swiping operation performed by the user during the first operation. The second sub-operation occurs after the first sub-operation and within a first time period. The method further includes: in response to the first sub-operation, acquiring the pressure intensity and first coordinates of the first sub-operation, wherein the first coordinates are the coordinates of the touch points on the touchpad when the user presses down with two fingers during the first sub-operation; in response to the second sub-operation, acquiring the coordinates of a first touch point, wherein the first touch point coordinates are the coordinates of the touch points on the touchpad when the user performs the second sub-operation; determining that the pressure intensity of the first sub-operation is greater than or equal to a preset pressure threshold, and a first distance between the first touch point coordinates and the first coordinates is greater than or equal to a preset distance threshold, saving the first coordinates and the first touch point coordinates; the EC sending a first scroll wheel event and the first coordinates to the SOC; and a first animation being displayed in response to the first scroll wheel event.

[0240] When the user presses down firmly with two fingers on the touchpad (data

[0027] is 2, data

[0028] is 1), the electronic device acquires the coordinates of the touch point when the user presses down with two fingers, and records them as the first coordinates; then the user swipes with two fingers, and the electronic device acquires the coordinates of the touch point during the swipe process. The coordinates of the touch point of the user's two fingers collected in the first swipe cycle are recorded as the first touch point coordinates. At this time, the electronic device determines whether the pressure applied when the user presses down with two fingers is greater than or equal to a preset pressure threshold. If the pressure applied when the user presses down with two fingers is greater than or equal to the preset pressure threshold, the electronic device can save the first coordinates and the first touch point coordinates. Furthermore, the electronic device reports the first scroll wheel event to the SOC through the EC, and also sends the first coordinates to the SOC. Driven by the first scroll wheel event, the electronic device scrolls the page to display the first animation.

[0241] If the pressure applied during the first sub-operation is greater than or equal to a preset pressure threshold, and the first distance is less than a preset distance threshold, the electronic device controls the EC to save the coordinates of the first touch point and does not send these coordinates to the SOC. Therefore, the SOC cannot obtain the real-time coordinates of the touch point and can only periodically obtain the same first coordinates. While accurately recognizing scroll wheel events and differentiating them from other page-turning events, the electronic device also avoids triggering the display of the right-click menu, thus improving the user experience.

[0242] In some embodiments, the method further includes: in response to a first sub-operation, setting the value of a pressure flag bit to be updated from a first value to a second value, and setting the value of a scroll wheel flag bit to be updated from a third value to a fourth value, wherein the first value is used to characterize that the pressure applied on the touchpad is less than a preset pressure threshold, the second value is used to characterize that the pressure applied in the first sub-operation is greater than or equal to the preset pressure threshold, and the third value and the fourth value are different; determining that the pressure applied in the first sub-operation is greater than or equal to a preset force threshold, and that a first distance between the coordinates of the first touch point and the first coordinate is greater than or equal to a preset distance threshold, including: in response to a second sub-operation, determining that the value of the pressure flag bit is the second value, and when the scroll wheel flag bit is the fourth value, determining whether the first distance is greater than or equal to the preset distance threshold.

[0243] When the pressure applied by the user's two fingers exceeds a preset pressure threshold, the electronic device updates the value of the pressure flag (e.g., data

[0028] ) from a first value to a second value. Optionally, the first value can be 0, and the second value can be 1. Furthermore, the electronic device also modifies the scroll wheel flag (e.g., mouseFlag) from a third value to a fourth value. Optionally, the third value can be 0, and the fourth value can be 1. When the electronic device determines that the pressure flag is the second value and the scroll wheel flag is the fourth value, it can determine that the user's two-finger pressure is greater than or equal to the preset pressure threshold, and that the touchpad's mouse mode is scroll wheel mode.

[0244] Optionally, the first value can also be 1, and the second value can also be 0, as long as the first value can indicate that the pressure is less than the preset pressure threshold, and the second value can indicate that the pressure is greater than or equal to the preset pressure threshold.

[0245] Optionally, the third value can also be 1, and the fourth value can also be 0, as long as the third value can indicate that the touchpad's mouse mode is in non-scroll wheel mode, and the fourth value can indicate that the touchpad's mouse mode is in scroll wheel mode. This application does not limit the specific form of the first, second, third, and fourth values ​​in its embodiments.

[0246] Optionally, after the electronic device updates the pressure flag from a first value to a second value when the pressure applied by the user's two fingers exceeds a preset pressure threshold, it can then update the pressure flag back to the first value. This method avoids the EC reporting the press event. Even if the user lifts their hand, the electronic device will not recognize the combination of the press and lift events, thus preventing the user's operation from being identified as a two-finger tap on the touchpad. This avoids displaying an unwanted right-click menu on the interface, improving the user experience.

[0247] In some embodiments, the first operation further includes: a third sub-operation and a fourth sub-operation, both of which are two-finger swipe operations performed by the user during the execution of the first operation. The third sub-operation follows the second sub-operation, and the fourth sub-operation follows the third sub-operation. After the EC sends the first scroll wheel event to the SOC, the operation further includes: in response to the third sub-operation, obtaining the coordinates of a second touch point, the second touch point coordinates being the coordinates of the touch points of the user's two fingers on the touchpad when performing the third sub-operation; and when the scroll wheel flag is a fourth value, determining whether a second distance between the second touch point coordinates and the first touch point coordinates is greater than or equal to... If the distance is greater than a preset distance threshold, then the first touch point coordinates are replaced by the second touch point coordinates, the EC sends a second scroll wheel event and the first coordinates to the SOC, and the first animation is displayed in response to the first scroll wheel event and the second scroll wheel event; if not, then when the third distance between the third touch point coordinates and the first touch point coordinates is greater than the preset distance threshold, the first touch point coordinates are replaced by the third touch point coordinates, the EC sends a third scroll wheel event and the first coordinates to the SOC, and the first animation is displayed in response to the first scroll wheel event, the second scroll wheel event, and the third scroll wheel event.

[0248] As the user continues to swipe with two fingers, the electronic device acquires the coordinates of the second touch point in the next data acquisition cycle. The electronic device then determines whether the touchpad's mouse mode is scroll wheel mode. If the scroll wheel flag is the fourth value, it indicates that the touchpad's mouse mode is scroll wheel mode. If the second distance between the second touch point coordinates and the first touch point coordinates is greater than or equal to a preset distance threshold, the electronic device reports a scroll wheel event (second scroll wheel event) to the SOC via the EC. Driven by the aforementioned first and second scroll wheel events, the electronic device displays the first animation, achieving page scrolling. Furthermore, the electronic device also sends the first coordinates to the SOC via the EC. The electronic device can also delete the first touch point coordinates and save the second touch point coordinates. That is, the second touch point coordinates replace the first touch point coordinates as the basis for the next round of distance determination.

[0249] If the second distance between the coordinates of the second touch point and the coordinates of the first touch point is less than a preset distance threshold, it indicates that the user may not intend to swipe with two fingers. The electronic device will not report the scroll wheel event to the SOC via the EC, nor can it send the first coordinate to the SOC via the EC. Furthermore, the electronic device will discard the second touch point coordinate and not save it, but will still save the first touch point coordinate. When the user continues to swipe with two fingers, the electronic device acquires the third touch point coordinate in the next acquisition cycle. If the scroll wheel flag is a fourth value, it indicates that the touchpad's mouse mode is scroll wheel mode. The electronic device can then report the scroll wheel event (third scroll wheel event) to the SOC via the EC if the third distance between the third touch point coordinate and the first touch point coordinate is greater than or equal to the preset distance threshold. The electronic device also sends the first coordinate to the SOC via the EC. The electronic device can also delete the first touch point coordinate and save the third touch point coordinate. That is, the third touch point coordinate replaces the first touch point coordinate as the basis for the next round of distance judgment, and so on.

[0250] Driven by the first, second, and third scroll wheel events mentioned above, the electronic device displays the first animation, thus scrolling the page. It can be understood that there are more than three scroll wheel events; they can be determined by the duration of the user's two-finger swipe, and may also include fourth, fifth, and so on.

[0251] In some embodiments, if the coordinate value of the first touch point in the first direction is greater than the coordinate value of the first coordinate in the first direction, the scrolling direction indicated by the first scroll wheel event is the first scrolling direction, and the first scrolling direction corresponds to the first direction; if the coordinate value of the first touch point in the first direction is less than the coordinate value of the first coordinate in the first direction, the scrolling direction indicated by the first scroll wheel event is the second scrolling direction, and the first scrolling direction and the second scrolling direction are opposite.

[0252] Optionally, the first direction can be the Y-axis direction. If the coordinates of the first touch point in the first direction are greater than the coordinates of the first coordinate in the first direction, it indicates that the user is sliding two fingers upwards. When the user slides two fingers upwards, the first scrolling direction indicated by the first scroll wheel event is upward scrolling. If the coordinates of the first touch point in the first direction are less than the coordinates of the first coordinate in the first direction, it indicates that the user is sliding two fingers downwards. When the user slides two fingers downwards, the first scrolling direction indicated by the first scroll wheel event is downward scrolling.

[0253] If the user's touch point coordinates in one sampling cycle are greater than the same in the previous sampling cycle, it indicates that the user is sliding two fingers upwards. When the user slides two fingers upwards, the scroll wheel event indicates upward scrolling. If the user's touch point coordinates in one sampling cycle are less than the same in the previous sampling cycle, it indicates that the user is sliding two fingers downwards. When the user slides two fingers downwards, the scroll wheel event indicates downward scrolling.

[0254] In some embodiments, the electronic device further includes a motor chip and a motor oscillator, wherein during a first time period, in response to a first operation, the electronic device controls the motor oscillator to vibrate; and based on the fact that the pressing force of the second operation is less than the pressing force of the first operation, the second operation does not trigger the motor oscillator to vibrate.

[0255] When a user presses the touchpad with two fingers with sufficient force—for example, greater than or equal to a preset pressure threshold—the electronic device activates a motor to vibrate in response to the first action. This vibration allows the user to clearly perceive that the pressure applied has met their needs, ensuring the action is effective and thus enhancing the user experience. Conversely, if the user presses the touchpad with insufficient force—for example, less than the preset pressure threshold—the motor will not vibrate. By distinguishing between simple pressure applications, users can clearly perceive whether an action has been taken, resulting in greater flexibility and a better user experience.

[0256] In some embodiments, the first operation further includes a fifth sub-operation, which is the operation of the user lifting two fingers, and the method further includes: in response to the fifth sub-operation, stopping the display of the first animation, and setting the value of the scroll wheel flag to be updated from a fourth value to a third value.

[0257] When the user lifts two fingers after performing the first action, the electronic device stops scrolling, meaning the first animation stops and the screen remains on the current page. Simultaneously, the scroll wheel flag on the electronic device updates from the fourth value to the third value, indicating that the touchpad's mouse mode has switched from scroll wheel mode to non-scroll wheel mode.

[0258] In some embodiments, the second operation includes: a sixth sub-operation and a seventh sub-operation. The sixth sub-operation is a two-finger press operation performed by the user during the second operation, and the seventh sub-operation is a two-finger swipe operation performed by the user during the second operation. The seventh sub-operation occurs after the sixth sub-operation and, within a second time period, in response to the sixth sub-operation, acquires the coordinates of a fourth touch point and sends the fourth touch point coordinates to the SOC. The fourth touch point coordinates are the coordinates of the touch point when the user performs the sixth sub-operation and are among the coordinates of M touch point coordinates. In response to the seventh sub-operation, acquires the coordinates of a fifth touch point and sends the fifth touch point coordinates to the SOC. The fifth touch point coordinates are the coordinates of the touch point when the user performs the seventh sub-operation and are among the coordinates of M touch point coordinates. A page-turning event is reported based on a fourth distance between the fourth touch point coordinates and the fifth touch point coordinates. The second animation is displayed in response to the page-turning event, and the scrolling speed of the page displayed in the second animation is positively correlated with the fourth distance.

[0259] When the user performs the second operation on the touchpad, pressing down with two fingers, the electronic device captures the coordinates of the touch points of the user's two fingers, recording them as the fourth touch point coordinates. The electronic device sends the captured fourth touch point coordinates to the SOC. When the user continues to swipe with two fingers, the electronic device captures the coordinates of the touch points of the user's two fingers, recording them as the fifth touch point coordinates. The electronic device sends the captured fifth touch point coordinates to the SOC. In other words, during the second operation, the electronic device continuously sends the coordinates of the user's two fingers' touch points to the SOC. Therefore, the SOC can obtain the user's touch point coordinates in real time. The electronic device responds to changes in the user's touch point coordinates and displays the second animation. Specifically, if the user swipes quickly, meaning the distance between the touch point coordinates in two adjacent capture cycles is relatively large (e.g., the fourth distance between the fourth and fifth touch point coordinates is relatively large), then the page scrolling speed in the second animation is fast. If the user swipes slowly, meaning the distance between the touch point coordinates in two adjacent capture cycles is relatively large (e.g., the fourth distance between the fourth and fifth touch point coordinates is relatively small), then the page scrolling speed in the second animation is slow. When users swipe their two fingers faster, the page scrolling speed will increase, which may cause the page to lose speed and scroll to a position that is beyond the user's control.

[0260] In some embodiments, during a third time period, in response to a third operation in which a user presses and swipes a single finger on a first area of ​​the touchpad, the electronic device adjusts the volume; during a fourth time period, in response to a fourth operation in which a user presses and swipes a single finger on a second area of ​​the touchpad, the electronic device adjusts the screen brightness; wherein the first area and the second area are distributed on both sides of the touchpad along a first direction, the first direction being parallel to the long side of the touchpad, and the first area and the second area have no overlapping area.

[0261] The first region and the second region are distributed on both sides of the touchpad along a first direction, which is parallel to the long side of the touchpad. Optionally, the first region can be a long strip-shaped area on the left edge of the touchpad, and the second region can be a long strip-shaped area on the right edge of the touchpad. The first region and the second region are separated by a certain area, and the two regions do not overlap.

[0262] In the third time period, the user swipes a single finger across the first area (left edge) of the touchpad, thus performing the third operation. In response to this third operation—a single finger press and swipe across the left edge of the touchpad—the electronic device determines that the touch point coordinates acquired in the current cycle have changed compared to the previous cycle, and that the change in the Y-coordinate between these two cycles exceeds a preset distance threshold, for example, a change in the Y-coordinate exceeding 1 millimeter. Furthermore, the electronic device determines that the touch point coordinates in both cycles are located within the first area of ​​the left edge of the touchpad, indicating that the user has performed the third operation—a single-finger swipe across the left edge of the touchpad.

[0263] If the Y-coordinate of the touch point acquired in the current cycle is greater than the Y-coordinate of the touch point in the previous cycle, it indicates that the user performed a single-finger swipe up from the left edge. The electronic device then sends a volume increase event to the SOC's OS layer via the EC; if audio is playing at this time, the volume will increase. Conversely, if the Y-coordinate of the touch point acquired in the current cycle is smaller than the Y-coordinate of the touch point in the previous cycle, it indicates that the user performed a single-finger swipe down from the left edge. The electronic device then sends a volume decrease event to the SOC's OS layer via the EC; if audio is playing at this time, the volume will decrease.

[0264] In the fourth time period, the user swipes a single finger across the second area (right edge) of the touchpad, thus performing the fourth operation. In response to this fourth operation—a single finger press and swipe across the right edge of the touchpad—the electronic device determines that the touch point coordinates acquired in the current cycle have changed compared to the previous cycle, and that the change in the Y-coordinate between these two cycles exceeds a preset distance threshold, for example, a change in the Y-coordinate exceeding 1 millimeter. Furthermore, the electronic device determines that the touch point coordinates in both cycles are located within the right edge area of ​​the touchpad, indicating that the user has performed the fourth operation—a single-finger swipe across the right edge of the touchpad.

[0265] If the Y-coordinate of the touch point obtained in the current cycle is greater than the Y-coordinate of the touch point in the previous cycle, it indicates that the user has performed a single-finger swipe up from the right edge. The electronic device then sends an event to increase screen brightness to the SOC's OS layer via the EC, at which point the screen brightness increases. If the Y-coordinate of the touch point obtained in the current cycle is smaller than the Y-coordinate of the touch point in the previous cycle, it indicates that the user has performed a single-finger swipe down from the right edge. The electronic device then sends an event to decrease screen brightness to the SOC's OS layer via the EC, at which point the screen brightness decreases.

[0266] This application also provides a chip device for acquiring a first coordinate, touch point coordinates, and pressure intensity when a user presses and swipes with two fingers on a touchpad. The device sends a scroll wheel event and the first coordinate when the pressure intensity is greater than or equal to a preset pressure threshold, and does not send the touch point coordinates. The first coordinate is the coordinate of the touch point when the user presses down with two fingers on the touchpad, the touch point coordinate is the coordinate of the touch point when the user swipes with two fingers after pressing down on the touchpad, and the pressure intensity is the force applied when the user presses down with two fingers on the touchpad.

[0267] Alternatively, the chip device can be an EC.

[0268] Optionally, the EC is used to perform any of the methods executed by the EC in the aforementioned electronic device.

[0269] The foregoing has detailed examples of the methods provided in this application. It is understood that the corresponding apparatus, in order to achieve the above functions, includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0270] This application can divide the device for displaying animation into functional modules based on the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.

[0271] Figure 13 shows a schematic diagram of the structure of an animation display device provided in this application. The device 1300 includes:

[0272] The first processing module 1301 is used to respond to the first operation of the user pressing and swiping with two fingers on the touchpad during the first time period. The electronic device displays the first animation. During the first time period, the EC sends N coordinates to the SOC. The N coordinates are the same. The EC does not send the touch point coordinates of the two fingers during the swipe process to the SOC.

[0273] The second processing module 1302 is used to respond to the second operation of the user pressing and swiping with two fingers on the touchpad during the second time period. The electronic device displays the second animation. During the second time period, the EC sends M touch point coordinates to the SOC. Any two touch point coordinates among the M touch point coordinates are different. The pressure of the first operation is greater than the pressure of the second operation.

[0274] Where M and N are natural numbers greater than or equal to 2, and the second time period is after the first time period.

[0275] In some embodiments, the first processing module and the second processing module are further configured to execute the methods for displaying animations in the various embodiments described above. The specific manner in which the apparatus 1300 executes the methods for displaying animations and the resulting beneficial effects can be found in the relevant descriptions in the method embodiments, and will not be repeated here.

[0276] This application embodiment also provides an electronic device including the processor described above. The electronic device provided in this embodiment can be the terminal device 100 shown in FIG1, used to execute the above-described method for displaying animation. When using integrated units, the terminal device may include a processing module, a storage module, and a communication module. The processing module can be used to control and manage the actions of the terminal device; for example, it can be used to support the terminal device in executing the steps performed by the display unit, the detection unit, and the processing unit. The storage module can be used to support the terminal device in executing stored program code and data. The communication module can be used to support communication between the terminal device and other devices.

[0277] The processing module can be a processor or a controller. It can implement or execute various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor can also be a combination of functions that implement computing capabilities, such as a combination of one or more microprocessors, a digital signal processor (DSP), and a microprocessor, etc. The storage module can be a memory. The communication module can specifically be a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, or other devices that interact with other terminal devices.

[0278] In one embodiment, when the processing module is a processor and the storage module is a memory, the terminal device involved in this embodiment can be a device with the structure shown in FIG1.

[0279] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the animation display method described in any of the above embodiments.

[0280] This application also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement the method for displaying animations described in the above embodiments.

[0281] In this embodiment, the electronic device, computer-readable storage medium, computer program product or chip are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects of the corresponding methods provided above, and will not be repeated here.

[0282] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or units. The replaced units may or may not be physically separate. The component shown as a unit may be one physical unit or multiple physical units, that is, it may be located in one place or distributed in multiple different places. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0283] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0284] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0285] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for displaying animation, characterized in that, Applied to an electronic device, the electronic device including: a touchpad, an EC (Electronic Control Panel), and a SOC (System-on-a-Chip), the method includes: In the first time period, in response to the user's first operation of pressing and swiping with two fingers on the touchpad, the electronic device displays a first animation. During the first time period, the EC sends N coordinates to the SOC, and the N coordinates are the same. During the second time period, in response to the second operation of the user pressing and swiping with two fingers on the touchpad, the electronic device displays a second animation. During the second time period, the EC sends M touch point coordinates to the SOC, where any two touch point coordinates are different, and the pressure of the first operation is greater than the pressure of the second operation. Where M and N are natural numbers greater than or equal to 2, and the second time period is after the first time period.

2. The method according to claim 1, characterized in that, During the first time period, the scrolling speed of the page displayed by the first animation is constant.

3. The method according to claim 1 or 2, characterized in that, When the movement speed of the touch point in the first operation is the same as that of the touch point in the second operation, and the movement speed is greater than a preset speed threshold, the scrolling speed of the page displayed in the first animation is less than the scrolling speed of the page displayed in the second animation.

4. The method according to any one of claims 1 to 3, characterized in that, The first coordinate is one of the N coordinates, and the first coordinate is the coordinate of the touch point when the user presses down with two fingers on the touchpad when performing the first operation.

5. The method according to any one of claims 1 to 4, characterized in that, The EC sends N coordinates to the SOC, including: Based on the fact that the pressure applied in the first operation is greater than or equal to a preset pressure threshold, and the movement distance of the touch point in the first operation is greater than or equal to a preset distance threshold, the EC sends the N coordinates to the SOC.

6. The method according to claim 5, characterized in that, The first operation includes: a first sub-operation and a second sub-operation, wherein the first sub-operation is a two-finger pressing operation performed by the user during the first operation, and the second sub-operation is a two-finger swiping operation performed by the user during the first operation, wherein the second sub-operation occurs after the first sub-operation and within the first time period, the method further includes: In response to the first sub-operation, the pressure intensity and first coordinates of the first sub-operation are obtained, wherein the first coordinates are the coordinates of the touch point when the user presses down with two fingers on the touchpad when performing the first sub-operation; In response to the second sub-operation, the coordinates of the first touch point are obtained, where the coordinates of the first touch point are the coordinates of the touch points of the user's two fingers on the touchpad when performing the second sub-operation; When it is determined that the pressure of the first sub-operation is greater than or equal to a preset pressure threshold, and the first distance between the first touch point coordinate and the first coordinate is greater than or equal to a preset distance threshold, the first coordinate and the first touch point coordinate are saved, the EC sends a first scroll wheel event and the first coordinate to the SOC, and the first animation is displayed in response to the first scroll wheel event.

7. The method according to claim 6, characterized in that, Based on the fact that the pressure applied in the first sub-operation is greater than or equal to the preset pressure threshold, and the first distance is less than the preset distance threshold, the EC does not send the coordinates of the first touch point to the SOC.

8. The method according to claim 6 or 7, characterized in that, The method further includes: In response to the first sub-operation, the value of the pressure flag is updated from a first value to a second value, and the value of the scroll wheel flag is updated from a third value to a fourth value. The first value is used to indicate that the pressure applied to the touchpad is less than the preset pressure threshold, the second value is used to indicate that the pressure applied to the first sub-operation is greater than or equal to the preset pressure threshold, and the third value and the fourth value are different. The step of determining that the pressure applied by the first sub-operation is greater than or equal to a preset pressure threshold, and that the first distance between the coordinates of the first touch point and the first coordinate is greater than or equal to a preset distance threshold, includes: In response to the second sub-operation, when the value of the pressure flag is determined to be the second value and the value of the roller flag is the fourth value, it is determined whether the first distance is greater than or equal to the preset distance threshold.

9. The method according to claim 8, characterized in that, The method further includes: Update the value of the pressure flag from the second value to the first value.

10. The method according to any one of claims 7 to 9, characterized in that, The first operation further includes: a third sub-operation and a fourth sub-operation, wherein the third sub-operation and the fourth sub-operation are both two-finger swipe operations performed by the user during the execution of the first operation, the third sub-operation follows the second sub-operation, and the fourth sub-operation follows the third sub-operation; After the EC sends the first scroll wheel event to the SOC, the method further includes: In response to the third sub-operation, the coordinates of the second touch point are obtained. The coordinates of the second touch point are the coordinates of the touch points of two fingers on the touchpad when the user performs the third sub-operation. When the scroll wheel flag is the fourth value, determine whether the second distance between the coordinates of the second touch point and the coordinates of the first touch point is greater than or equal to the preset distance threshold. If so, the second touch point coordinates are used to replace the first touch point coordinates, the EC sends the second scroll wheel event and the first coordinates to the SOC, the first animation is displayed in response to the first scroll wheel event and the second scroll wheel event, and the EC does not send the second touch point coordinates to the SOC; If not, when the third distance between the third touch point coordinates and the first touch point coordinates is greater than a preset distance threshold, the third touch point coordinates are used to replace the first touch point coordinates, the EC sends a third scroll wheel event and the first coordinates to the SOC, and the first animation is displayed in response to the first scroll wheel event, the second scroll wheel event and the third scroll wheel event.

11. The method according to any one of claims 6 to 10, characterized in that, If the coordinate value of the first touch point in the first direction is greater than the coordinate value of the first coordinate in the first direction, the scrolling direction indicated by the first scroll wheel event is the first scrolling direction, and the first scrolling direction corresponds to the first direction. If the coordinate value of the first touch point in the first direction is less than the coordinate value of the first coordinate in the first direction, the scrolling direction indicated by the first scroll wheel event is the second scrolling direction, and the first scrolling direction and the second scrolling direction are opposite.

12. The method according to any one of claims 1 to 11, characterized in that, The electronic device further includes a motor chip and a motor oscillator. During the first time period, the method further includes: In response to the first operation, the electronic device controls the motor oscillator to vibrate; Since the pressure applied in the second operation is less than that applied in the first operation, the second operation does not trigger the vibration of the motor oscillator.

13. The method according to any one of claims 1 to 12, characterized in that, The first operation further includes a fifth sub-operation, which is the user lifting two fingers, and the method further includes: In response to the fifth sub-operation, the first animation is stopped from being displayed, and the value of the scroll wheel flag is updated from the fourth value to the third value.

14. The method according to any one of claims 1 to 13, characterized in that, The second operation includes a sixth sub-operation and a seventh sub-operation. The sixth sub-operation is a two-finger press operation performed by the user during the second operation. The seventh sub-operation is a two-finger swipe operation performed by the user during the second operation. The seventh sub-operation occurs after the sixth sub-operation, within the second time period. The method further includes: In response to the sixth sub-operation, the coordinates of the fourth touch point are obtained and sent to the SOC. The coordinates of the fourth touch point are the coordinates of the touch point when the user performs the sixth sub-operation, and the coordinates of the fourth touch point are among the coordinates of the M touch points. In response to the seventh sub-operation, the coordinates of the fifth touch point are obtained and sent to the SOC. The coordinates of the fifth touch point are the coordinates of the touch point when the user performs the seventh sub-operation, and the coordinates of the fifth touch point are among the coordinates of the M touch points. A page-turning event is sent to the SOC based on a fourth distance between the coordinates of the fourth touch point and the coordinates of the fifth touch point. The second animation is displayed in response to the page-turning event, and the scrolling speed of the page displayed in the second animation is positively correlated with the fourth distance.

15. The method according to any one of claims 1 to 9, characterized in that, The method further includes: During the third time period, in response to a third operation by the user pressing and swiping with a single finger in the first area of ​​the touchpad, the electronic device adjusts the volume; In the fourth time period, in response to a fourth operation by the user pressing and swiping with a single finger in the second area of ​​the touchpad, the electronic device adjusts the brightness of the screen; The first region and the second region are distributed on both sides of the touch panel along a first direction, which is parallel to the long side of the touch panel, and the first region and the second region have no overlapping areas.

16. A chip device, characterized in that, The chip device is used to acquire a first coordinate, a touch point coordinate, and a pressure intensity when a user presses and swipes with two fingers on the touchpad, and to send a scroll wheel event and the first coordinate when the pressure intensity is greater than or equal to a preset pressure threshold, and not to send the touch point coordinate. Wherein, the first coordinate is the coordinate of the touch point when the user presses down with two fingers on the touchpad, the touch point coordinate is the coordinate of the touch point when the user swipes with two fingers after pressing down with two fingers on the touchpad, and the pressing force is the force applied when the user presses down with two fingers on the touchpad.

17. An electronic device, characterized in that, include: EC, SOC, touchpad, memory and interfaces; The EC, the SOC, the touchpad, the memory, and the interface cooperate with each other to enable the electronic device to perform the method as described in any one of claims 1 to 15; or... Includes any of the chip devices as described in claim 16.

18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, causes the processor to perform the method of any one of claims 1 to 15.

Citation Information

Patent Citations

  • Control sliding method and electronic equipment

    CN114968059A

  • Event processing method and device

    CN116700586A

  • Method for realizing touch control and electronic equipment

    CN117130494A

  • Touch control type information input device and method

    CN1828499A

  • Input apparatus, input mode switching method and computer apparatus

    US20150109237A1