Touch control method, apparatus, and electronic device
By controlling the delay in reporting interrupt signals on the touchscreen, the consistency of reporting intervals was optimized, the problems of touchscreen screen jitter and stuttering were solved, and the user experience was improved.
Patent Information
- Application Number
- CN202111115789.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-23
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2041-09-23
AI Technical Summary
In existing technologies, touchscreens have poor reporting stability, which causes screen flickering and lag when users use electronic devices.
By receiving the interrupt signal from the touchscreen, the predicted reporting interval is determined, and if the predicted reporting interval is less than the target reporting interval, a delay is performed to report, thereby optimizing the reporting time and ensuring the consistency of the reporting interval.
It improves the stability of the reporting interval, avoids screen jitter, and ensures a smooth and fluid user experience.
Smart Images

Figure CN115904109B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a touch control method, device and electronic device. Background Technology
[0002] With the development of electronic technology, mobile phones, tablets and other electronic devices with touch panels (TP) have become widely popular. The development of touch technology has undergone great changes. Various touch scenarios, such as games and various touch scenarios, have made users' requirements for touch increasingly strong. Related technologies have improved the reporting speed to meet users' needs, but there are problems such as poor reporting stability and jitter in the screen displayed to users. Summary of the Invention
[0003] In view of this, a touch control method, device and electronic device are proposed.
[0004] In a first aspect, embodiments of this application provide a touch control method, the method comprising:
[0005] Receive a first interrupt signal from the touchscreen, the first interrupt signal being generated by the touchscreen based on a detected touch operation;
[0006] The predicted reporting interval of the first interrupt signal is determined. The predicted reporting interval is the interval between the reception time of the first interrupt signal and the predicted reporting time of the interrupt information of the first interrupt signal.
[0007] If the predicted reporting interval is less than the target reporting interval, the interrupt information for the first interrupt signal is reported with a delay.
[0008] The target reporting interval is the time interval between the predetermined expected time of receiving the first interrupt signal and the time of reporting the interrupt information of the first interrupt signal.
[0009] In the above-mentioned touch control method, by controlling the reporting process of reporting points, the reporting time of reporting points can be optimized, the consistency of the reporting interval between reporting points can be improved, and the jitter (visible "screen stuttering") caused by the sudden change in the reporting interval between adjacent reporting points can be avoided in the screen display to the user. This ensures that the screen displayed to the user can switch smoothly and seamlessly.
[0010] In one possible implementation, when the predicted reporting interval is less than the target reporting interval, a delayed reporting of interrupt information for the first interrupt signal is performed, including:
[0011] If the predicted reporting interval is less than the target reporting interval, the reporting delay of the first interrupt signal is determined based on the difference between the predicted reporting interval and the target reporting interval.
[0012] If the current time and the time of receiving the first interrupt signal are after the predicted reporting time and the time interval between the current time and the predicted reporting time reaches the reporting delay, the interrupt information of the first interrupt signal is reported.
[0013] This reduces the difference in actual reporting intervals between different interrupt signals, making the actual reporting intervals of different interrupt signals as consistent as possible.
[0014] In one possible implementation, determining the predicted reporting interval of the first interrupt signal includes:
[0015] If the reporting prediction conditions are met, the predicted reporting interval of the first interrupt signal is determined.
[0016] The reporting prediction condition includes: the first interruption interval of the first interruption signal is less than or equal to the interruption interval threshold;
[0017] The first interrupt interval of the first interrupt signal is the time interval between the reception time of the first interrupt signal and the reception time of the previous interrupt signal.
[0018] In this way, by controlling the reporting of interrupt information for the first interrupt signal whose first interrupt interval is less than or equal to the interrupt interval threshold, and by directly reporting the interrupt information of the first interrupt signal whose first interrupt interval is less than or equal to the interrupt interval threshold, the consistency of the actual reporting intervals corresponding to adjacent interrupt information can be further improved.
[0019] In one possible implementation, the reporting prediction condition further includes: the number of currently unreported interruption information is less than or equal to a quantity threshold.
[0020] Thus, the smaller the quantity threshold, the better the real-time performance of interrupt information reporting, the faster the electronic device responds to touch operations, and the smaller the perceived latency for the user. Furthermore, by setting the quantity threshold, the delay in reporting interrupt information for the first interrupt signal whose predicted reporting interval is less than the target reporting interval can also be guaranteed.
[0021] In one possible implementation, the method further includes:
[0022] If it is determined that the first interrupt interval of the first interrupt signal is less than or equal to the interrupt interval threshold, the target reporting interval is determined based on the second interrupt interval of the second interrupt signal preceding the first interrupt signal and the first interrupt interval.
[0023] In one possible implementation, determining the target reporting interval based on a second interrupt interval of a second interrupt signal preceding the first interrupt signal includes:
[0024] The characteristic values of the second interrupt interval and the first interrupt interval corresponding to the multiple second interrupt signals are determined, and the characteristic values are determined as the target reporting interval;
[0025] Wherein, the plurality of second interrupt signals are a plurality of adjacent second interrupt signals preceding the first interrupt signal; the feature value includes any one of the average value, median value, maximum value, and minimum value.
[0026] The fewer the number of second interrupt intervals used in calculating the target reporting interval, the better the real-time performance of the target reporting interval. This makes the actual reporting interval of the first interrupt signal closer to the actual reporting intervals of several similar second interrupt signals, resulting in a smoother perceived response of the electronic device to user touch operations within the current time period. Conversely, using a relatively large number of second interrupt intervals results in a smaller error in the target reporting interval, leading to a smoother and more stable perceived response of the electronic device to user touch operations. In this way, the target reporting interval corresponding to the first interrupt signal can be determined in real-time based on the first interrupt interval of the first interrupt signal and multiple second interrupt intervals, ensuring the real-time, effective, and accurate nature of the target reporting interval.
[0027] In one possible implementation, the method further includes:
[0028] If it is determined that the reporting prediction conditions are not met, the interruption information of the first interruption signal is reported.
[0029] In one possible implementation, the method further includes:
[0030] If the predicted reporting interval is greater than or equal to the target reporting interval, the interruption information of the first interruption signal is reported.
[0031] Secondly, embodiments of this application provide a Touch control device ,include:
[0032] An interrupt signal receiving module is used to receive a first interrupt signal from the touch screen, wherein the first interrupt signal is generated by the touch screen based on a detected touch operation;
[0033] The prediction reporting interval determination module is used to determine the prediction reporting interval of the first interrupt signal;
[0034] The delayed reporting module is used to delay reporting the interruption information of the first interruption signal when the predicted reporting interval is less than the target reporting interval.
[0035] The target reporting interval is the time interval between the predetermined expected time of receiving the first interrupt signal and the time of reporting the interrupt information of the first interrupt signal.
[0036] In one possible implementation, the delay reporting module may include:
[0037] The delay determination submodule determines the reporting delay of the first interrupt signal based on the difference between the predicted reporting interval and the target reporting interval when the predicted reporting interval is less than the target reporting interval.
[0038] The first reporting submodule reports the interruption information of the first interrupt signal when the current time and the time of receiving the first interrupt signal are after the predicted reporting time and the time interval between the current time and the predicted reporting time reaches the reporting delay.
[0039] In one possible implementation, the prediction reporting interval determination module may include:
[0040] The condition judgment submodule determines the predicted reporting interval of the first interrupt signal when it is determined that the reporting prediction condition is met.
[0041] The reporting prediction conditions include: the first interruption interval of the first interruption signal is less than or equal to the interruption interval threshold; the first interruption interval of the first interruption signal is the time interval between the reception time of the first interruption signal and the reception time of the previous interruption signal.
[0042] In one possible implementation, the reporting prediction condition further includes: the number of currently unreported interruption information is less than or equal to a quantity threshold.
[0043] In one possible implementation, the device further includes:
[0044] The target reporting interval determination module determines the target reporting interval based on the second interrupt interval of the second interrupt signal preceding the first interrupt signal and the first interrupt interval when it determines that the first interrupt interval of the first interrupt signal is less than or equal to the interrupt interval threshold.
[0045] In one possible implementation, the target reporting interval determination module may include:
[0046] The first determining submodule determines the feature values of the second interrupt interval and the first interrupt interval corresponding to the multiple second interrupt signals, and determines the feature values as the target reporting interval;
[0047] Wherein, the plurality of second interrupt signals are a plurality of adjacent second interrupt signals preceding the first interrupt signal; the feature value includes any one of the average value, median value, maximum value, and minimum value.
[0048] In one possible implementation, the device may further include:
[0049] The first direct reporting module reports the interruption information of the first interrupt signal if it determines that the reporting point prediction conditions are not met.
[0050] In one possible implementation, the device may further include:
[0051] The second direct reporting module reports the interruption information of the first interruption signal when the predicted reporting interval is greater than or equal to the target reporting interval.
[0052] Thirdly, embodiments of this application provide an electronic device, including:
[0053] A touchscreen is used to generate a first interrupt signal based on the detected touch operation;
[0054] processor;
[0055] Memory used to store processor-executable instructions;
[0056] The processor is configured to implement the method described in the first aspect when executing the instructions.
[0057] Fourthly, embodiments of this application provide a computer program product including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in an electronic device, a processor in the electronic device executes the method described in the first aspect.
[0058] Fifthly, embodiments of this application provide a non-volatile computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, implement the method described in the first aspect.
[0059] These and other aspects of this application will become more apparent in the description of the following embodiments(s). Attached Figure Description
[0060] The accompanying drawings, which are included in and form part of this specification, illustrate exemplary embodiments, features, and aspects of this application together with the specification and serve to explain the principles of this application.
[0061] Figure 1 This diagram illustrates the process of touch reporting during touch control in related technologies.
[0062] Figure 2 A schematic diagram of the structure of an electronic device 100 according to an embodiment of this application is shown.
[0063] Figure 3 A flowchart illustrating a touch control method according to an embodiment of this application is shown.
[0064] Figure 4 A schematic diagram of a touch control method according to an embodiment of this application is shown.
[0065] Figure 5 A schematic diagram showing the predicted reporting interval B of a touch control method according to an embodiment of this application is provided.
[0066] Figure 6 A flowchart illustrating an example of a touch control method according to an embodiment of this application is shown. Detailed Implementation
[0067] Various exemplary embodiments, features, and aspects of this application will now be described in detail with reference to the accompanying drawings. The same reference numerals in the drawings denote elements that have the same or similar functions. Although various aspects of the embodiments are shown in the drawings, they are not necessarily drawn to scale unless specifically indicated otherwise.
[0068] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.
[0069] Furthermore, to better illustrate this application, numerous specific details are provided in the following detailed embodiments. Those skilled in the art should understand that this application can be implemented without certain specific details. In some instances, methods, means, components, and circuits well-known to those skilled in the art have not been described in detail in order to highlight the main points of this application.
[0070] Figure 1 This diagram illustrates the touch reporting process during touch control in related technologies. In related technologies, such as... Figure 1 As shown, to respond promptly to user touch operations, the touchscreen of a typical electronic device will quickly generate an interrupt signal (such as...) after detecting a user's touch operation. Figure 1The interrupt signals shown are S0, S1, S2...S5, etc., and the touchscreen then sends the interrupt signals to the processor. Upon receiving the interrupt signals, the processor will notify (e.g., ...) Figure 1 The "S0 received, S1 received, S2 received...S5 received, etc." shown in the diagram indicate that the touchscreen driver reads data in response to the received interrupt signals. After receiving a task requiring interrupt signal data reading, the touchscreen driver can use a Serial Peripheral Interface (SPI) or an inter-integrated circuit (I2C) interface to read the interrupt signal data (e.g., ...). Figure 1 The phrase "perform data reading of S1, data reading of S2, ... data reading of S5..." indicates an interrupt data reading operation, and after successful reading (e.g. Figure 1 The phrases "successfully read interrupt data of S0, successfully read interrupt data of S1, successfully read interrupt data of S2...successfully read interrupt data of S5..." indicate that the interrupt data of a specific interrupt signal has been successfully read. The interrupt data of the interrupt signal is analyzed and processed to obtain interrupt information, which is then sent to the input subsystem (e.g., ...). Figure 1 The phrase "reporting interrupt information for S0, reporting interrupt information for S1, reporting interrupt information for S2... reporting interrupt information for S5..." indicates that interrupt information is being reported. The input subsystem can be the application processor, etc., corresponding to the application program that needs to use the interrupt information from the interrupt signal. In related technologies, to improve the reporting speed, the interrupt interval between interrupt signals is generally adjusted (the interrupt interval can be the time interval between the reporting time (the time when the touchscreen reports the interrupt signal to the processor) or the receiving time (the time when the processor receives the interrupt signal) of two adjacent interrupt signals, such as... Figure 1 The parameters Z1, Z2, Z3, Z4, and Z5 shown in the diagram aim to minimize and standardize the interrupt intervals. The touchscreen driver then directly sends the interrupt information to the input subsystem upon receiving it. However, the speed at which the touchscreen driver reads, analyzes, and processes the interrupt information after the processor receives the interrupt signal is affected by factors such as the resource usage of the SPI and I2C buses and the touchscreen driver itself. This results in inconsistent, and sometimes significant, reporting intervals for each interrupt signal (the reporting interval can be the time interval between the processor receiving the interrupt signal and finally reporting the interrupt information to the input subsystem). Consequently, differences in reporting intervals between adjacent interrupt signals received by the input subsystem can occur. Figure 1In the example, the reporting interval for S0 is B0, for S1 it is B1, for S2 it is B2, for S3 it is B3, for S4 it is B4, and for S5 it is B5, and so on. However, it is clear that the reporting intervals B1, B2, B3, B4, and B5 in related touch control methods are different, and even significantly different (e.g., ...). Figure 1 The significant difference between B5 and B1 in the interval makes the reporting unstable. Because of this large difference in reporting intervals, users perceive a difference in the response speed of the electronic device's touchscreen to their actions, and may visually observe screen jitter or a "lag" effect, making the screen transitions feel unsmooth and unresponsive.
[0071] To address the aforementioned technical problems, this application provides a touch control method. This method, as described in the embodiments of this application, enables touch control and can be applied to electronic devices. By controlling the reporting process of reporting points, it optimizes the reporting time, improves the consistency of reporting intervals between points, and avoids jitter (visible "screen stuttering") caused by abrupt changes in the reporting intervals of adjacent points on the touchscreen, ensuring smooth and fluid switching of the displayed screen. The reporting point in this application can refer to interrupt information sent to the input subsystem as an interrupt signal.
[0072] The electronic devices involved in this application can refer to various electronic devices with touchscreens. Touchscreens allow control of electronic devices by clicking and swiping on the display screen using fingers, styluses, etc. Electronic devices can be at least one of the following: mobile phones, foldable electronic devices, tablets, desktop computers, laptop computers, handheld computers, ultra-mobile personal computers (UMPCs), netbooks, cellular phones, personal digital assistants (PDAs), artificial intelligence (AI) devices, wearable devices (such as smartwatches), in-vehicle devices, smart home devices, or smart city devices. This application does not impose any special limitations on the specific type of electronic device.
[0073] Figure 2 A schematic diagram of the structure of an electronic device 100 according to an embodiment of this application is shown. Figure 2As shown, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) connector 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, 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, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include 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 fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0074] 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.
[0075] Processor 110 may include one or more processing units, such as an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. Processor 110 is used to execute the touch control method provided in this application.
[0076] The processor can generate operation control signals based on the instruction opcode and timing signals to control the instruction fetching and execution.
[0077] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 may be a cache memory. This memory can store instructions or data that the processor 110 has used or that are used frequently. If the processor 110 needs to use the instruction or data, it can directly retrieve it from this memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0078] In some embodiments, the processor 110 may include one or more interfaces. These interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc. The processor 110 can connect to modules such as touch sensors, audio modules, wireless communication modules, displays, and cameras through at least one of these interfaces.
[0079] 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.
[0080] Electronic device 100 can implement display functions through a GPU, display screen 194, and application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0081] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or more display screens 194.
[0082] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A may be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When a force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A.
[0083] Touch sensor 180K, also known as a "touch device," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touchscreen." Touch sensor 180K detects touch operations applied to or near it. Upon detecting a touch operation, the touch sensor generates an interrupt signal and sends it to processor 110. Processor 110 controls the touchscreen driver (also known as touchscreen driver handler, touchscreen driver program, etc.) to read the interrupt data from the interrupt signal using SPI or I2C. After successfully reading the interrupt data, it analyzes and processes it to obtain interrupt information, which is then sent to the input subsystem. The input subsystem can be an application processor or similar application that requires this interrupt information. Visual output related to the touch operation can be provided through display screen 194. In some embodiments, touch sensor 180K may also be located on the surface of electronic device 100, in a different position than display screen 194.
[0084] Figure 3 A flowchart illustrating a touch control method according to an embodiment of this application is shown. Figure 4 A schematic diagram illustrating the process of a touch control method according to an embodiment of this application is shown. Figure 3 As shown, this method can be applied to the aforementioned electronic device 100, and the method may include steps S001-S005. Wherein, as... Figure 4 As shown, it can be executed by the processor 110 of the electronic device 100. Figure 3 The method steps are shown. In this touch control method, the actual reporting interval between the interrupt information corresponding to different first interrupt signals is kept to be approximately the same, and the actual reporting interval is made as consistent as possible with the interrupt interval corresponding to the interrupt signal, so as to solve the above-mentioned technical problem.
[0085] In step S001, as Figure 3 As shown, the processor 110 receives a first interrupt signal from the touchscreen. The first interrupt signal is generated by the touchscreen based on a detected touch operation.
[0086] The first interrupt signal can be used to indicate that the touchscreen has detected a touch operation. The first interrupt signal may also include interrupt data. The interrupt data may include data describing and / or reflecting the characteristics of the touch operation, which may include the time the touch operation was detected, the location and trajectory of the touch, and whether the touch operation is a single-point touch or a multi-point touch, etc. Figure 4 As shown, after receiving the first interrupt signal, the processor 110 can directly store the corresponding interrupt data into the memory, and then the touch screen driver reads the interrupt data corresponding to the first interrupt signal from the memory via SPI / I2C.
[0087] In step S002, as Figure 3 As shown, processor 110 can determine the predicted reporting interval B of the first interrupt signal. After executing step S002, it executes step S003.
[0088] Wherein, the predicted reporting interval B of the first interrupt signal can be the time interval between the receiving time when the first interrupt signal is received by the processor 110 or the first sending time when it is sent by the touch screen, and the predicted reporting time of the first interrupt signal. The predicted reporting time of the first interrupt signal can be the time when the processor 110 predicts that it will send the interrupt information corresponding to the first interrupt signal to the input subsystem, or the predicted reporting time can be the time when the processor 110 predicts that the input subsystem receives the interrupt information corresponding to the first interrupt signal.
[0089] For example, Figure 5A schematic diagram showing the predicted reporting interval B of a touch control method according to an embodiment of this application is illustrated. Figure 5 As shown, the first interrupt signal is sent by the touch screen at the first transmission time t0, the processor 110 receives the first interrupt signal at the reception time t1, the processor 110 sends the interrupt information to the input subsystem at the time t2, and the input subsystem receives the interrupt information from the processor 110 at the time t3.
[0090] If the predicted reporting time T of the first interrupt signal is the time t2 sent to the input subsystem, and the predicted reporting interval B of the first interrupt signal is the time interval between the received time t1 and the predicted reporting time T, then as follows: Figure 5 As shown, T = t2, B = T - t1 = t2 - t1 = Δt1.
[0091] If the predicted reporting time T of the first interrupt signal is the time t3 when the above-mentioned input subsystem receives the interrupt information, and the predicted reporting interval B of the first interrupt signal is the time interval between the receiving time t1 of the first interrupt signal and the predicted reporting time T, then T = t3, B = T - t1 = t3 - t1 = Δt2.
[0092] If the predicted reporting time T of the first interrupt signal is the time t2 when the above-mentioned input subsystem receives the interrupt information, and the predicted reporting interval B of the first interrupt signal is the time interval between the first transmission time t0 of the first interrupt signal and the predicted reporting time T, then T = t2, B = T - t0 = t2 - t0 = Δt3.
[0093] If the predicted reporting time T of the first interrupt signal is the time t3 when the above-mentioned input subsystem receives the interrupt information, and the predicted reporting interval B of the first interrupt signal is the time interval between the first transmission time t0 of the first interrupt signal and the predicted reporting time T, then T = t3, B = T - t0 = t3 - t0 = Δt4.
[0094] In step S003, as Figure 3 As shown, the processor 110 can determine whether the predicted reporting interval B of the first interrupt signal is less than the target reporting interval A. If the predicted reporting interval B of the first interrupt signal is less than the target reporting interval A, then step S005 is executed. If the predicted reporting interval B of the first interrupt signal is greater than or equal to the target reporting interval A, then step S004 is executed. The target reporting interval A is a predetermined time interval between the expected reception time of the first interrupt signal and the time when the interrupt information of the first interrupt signal is reported.
[0095] If the predicted reporting interval B of the first interrupt signal is greater than or equal to the target reporting interval A, the processor 110 can determine that the predicted reporting interval of the interrupt information of the first interrupt signal is too long. Then, it can directly execute step S004 to report the interrupt information of the first interrupt signal. This can shorten the actual reporting interval of the first interrupt signal, ensure that the interrupt information of the first interrupt signal with a predicted reporting interval longer than the target reporting interval can be reported in a timely manner, and balance the actual reporting intervals corresponding to different interrupt information.
[0096] In one possible implementation, the method may further include: the processor 110 determining the target reporting interval A based on the second interrupt interval of the second interrupt signal preceding the first interrupt signal and the first interrupt interval.
[0097] The first interrupt interval of the first interrupt signal can be the time interval between the time when the processor 110 receives the first interrupt signal and the time when the previous interrupt signal is received, or the time interval between the time when the touchscreen sends the first interrupt signal and the time when the previous interrupt signal is sent. For example... Figure 4 As shown, assume the first interrupt signal is Figure 4 If the interrupt signal is "S5", then the second interrupt signal before the first interrupt signal "S5" can be "S4", "S3", "S2", "S1", or "S0". In this case, the previous interrupt signal can be "S4". Therefore, Z5 is the first interrupt interval corresponding to the first interrupt signal "S5". Z4 is the second interrupt interval corresponding to the second interrupt signal "S4", Z3 is the second interrupt interval corresponding to the second interrupt signal "S3", Z2 is the second interrupt interval corresponding to the second interrupt signal "S2", and Z1 is the second interrupt interval corresponding to the second interrupt signal "S1".
[0098] In some embodiments, the processor 110 may calculate the target reporting interval A by: determining a feature value based on one or more second interrupt intervals corresponding to one or more second interrupt signals and a first interrupt interval, and determining the feature value as the target reporting interval A. The plurality of second interrupt signals are multiple adjacent second interrupt signals preceding the first interrupt signal; the feature value includes any one of the average, median, maximum, and minimum values. The number of second interrupt intervals used to calculate the target reporting interval A can be set as needed; the fewer the number of second interrupt intervals used, the better the real-time performance of the target reporting interval A, making the actual reporting interval of the first interrupt signal closer to the actual reporting intervals of several adjacent second interrupt signals, resulting in a smoother response of the electronic device to user touch operations within the current time period. Conversely, a relatively large number of second interrupt intervals used results in a smaller error in obtaining the target reporting interval A, making the response of the electronic device to user touch operations relatively smooth and stable. In this way, the target reporting interval A corresponding to the first interrupt signal can be determined in real time based on the first interrupt interval of the first interrupt signal and multiple second interrupt intervals, ensuring the real-time, effective and accurate nature of the target reporting interval A.
[0099] For example, suppose the first interrupt signal is Figure 4 If the "interrupt signal S5" is used, then the first interrupt interval of the first interrupt signal is Z5; the second interrupt signal preceding the first interrupt signal is... Figure 4 The interrupt signals are "S4", "S3", "S2", "S1", and "S0"; the second interrupt interval between each of the second interrupt signals preceding the first interrupt signal is... Figure 4 The terms "Z4 corresponding to interrupt signal S4", "Z3 corresponding to interrupt signal S3", "Z2 corresponding to interrupt signal S2", "Z1 corresponding to interrupt signal S1", and "Z0 corresponding to interrupt signal S0" are used. If the number of second interrupt intervals used to determine the target reporting interval A is 3, and the characteristic value is the average value, then... Figure 4 The target reporting interval A corresponding to the first interrupt signal "interruption signal S5" can be calculated as follows: A = (Z2 + Z3 + Z4 + Z5) / 4.
[0100] In step S004, as Figure 3 As shown, the processor 110 can report the interrupt information of the first interrupt signal.
[0101] In step S005, as Figure 3 As shown, the processor 110 can perform a delayed reporting of the interrupt information of the first interrupt signal.
[0102] In the touch control method of this application embodiment, such as Figure 4 As shown, the interrupt information of the first interrupt signal whose predicted reporting interval B is less than the target reporting interval A is delayed and reported in step S005, while the interrupt information of the first interrupt signal whose predicted reporting interval B is greater than or equal to the target reporting interval A is directly reported in step S004. This can reduce the difference between the reporting intervals B0', B1', B2', B3', B4', and B5' corresponding to adjacent interrupt information, reduce the jitter of the display screen that is visible to the user, avoid situations similar to "stuttering", and allow the user to see a smooth and fluid screen switching.
[0103] In one possible implementation, during the execution of step S004 or step S005, the processor 110 may determine the interrupt information of the first interrupt signal based on the interrupt data of the first interrupt signal before reporting the interrupt information of the first interrupt signal. The processor 110 may analyze and process the interrupt data to determine the interrupt information of the first interrupt signal. The interrupt information may indicate information about the characteristics of the touch operation corresponding to the first interrupt signal. The processor 110 may determine a corresponding interrupt information for each interrupt signal (including the first interrupt signal, second interrupt signal, etc., described herein). The interrupt information corresponding to each interrupt signal may include at least one of the following detailed information: application location, application speed, application direction, application force, application duration, application distance, and the interval since the last touch operation.
[0104] In one possible implementation, the processor 110 may execute step S005 by: if the predicted reporting interval B is less than the target reporting interval A, determining the reporting delay L of the first interrupt signal based on the difference between the predicted reporting interval B and the target reporting interval A. Then, the processor 110 determines whether the current time is after the predicted reporting time T and whether the time interval between the current time and the predicted reporting time T reaches the reporting delay L. If the processor 110 determines that the current time is after the predicted reporting time and the time interval between the current time and the predicted reporting time reaches the reporting delay L, then the processor 110 may report the determined interrupt information of the first interrupt signal. If the processor 110 determines that the current time is before the predicted reporting time T, and / or the current time is after the predicted reporting time T and the time interval between the current time and the predicted reporting time T has not reached the reporting delay L, then it continues to determine the current time until it determines that the current time is after the predicted reporting time T and the time interval between the current time and the predicted reporting time T has reached the reporting delay L, then it reports the interrupt information of the determined first interrupt signal.
[0105] In some embodiments, the reporting delay L can be less than or equal to the difference between the predicted reporting interval B and the target reporting interval A, i.e., L≤(AB). The closer the reporting delay L is to (AB), the more it can reduce the difference in the actual reporting intervals corresponding to adjacent interruption information, and the more it can reduce the jitter of the display screen that is visible to the user, so that the user can see a smoother and more fluid screen transition.
[0106] In some embodiments, to achieve delayed reporting, after determining the reporting delay L corresponding to the first interrupt signal, the processor 110 can determine the actual reporting time of the interrupt information of the first interrupt signal by combining the predicted reporting interval B and the reporting delay L. Then, based on the duration between the determined actual reporting time and the actual reporting time, a corresponding timer is created. In step S005, if the timer result determines that "the current time is after the predicted reporting time and the time interval between the predicted reporting time and the predicted reporting time reaches the reporting delay," then the determined interrupt information of the first interrupt signal can be reported. The timer result can be an indication of whether the countdown has ended, or it can be an indication of the total counting duration from the start of the timer to the current time.
[0107] It should be noted that the above-mentioned use of the counter's timing result to determine "whether the current time is after the predicted reporting time and the time interval between the predicted reporting time reaches the reporting delay" is only an illustrative example. Those skilled in the art can set the implementation method of determining "whether the current time is after the predicted reporting time and the time interval between the predicted reporting time reaches the reporting delay" according to actual needs, and this application does not limit it.
[0108] In some embodiments, in order to achieve delayed reporting, after determining the reporting delay L corresponding to the first interrupt signal, the processor 110 can combine the predicted reporting interval B and the reporting delay L to determine the actual reporting time of the interrupt information of the first interrupt signal, and then report the determined interrupt information of the first interrupt signal when it is determined that the current time has reached the actual reporting time.
[0109] In one possible implementation, the method may further include a prediction and judgment step, which is performed after step S001 and before step S002.
[0110] The prediction and judgment step may include: after executing step S001, the processor 110 first determines whether the reporting prediction conditions are met. If the reporting prediction conditions are met, step S002 is executed. If the reporting prediction conditions are not met, the steps corresponding to the unmet reporting conditions can be executed.
[0111] In one possible implementation, the predicted reporting conditions may include: the first interrupt interval of the first interrupt signal is less than or equal to the interrupt interval threshold M; and / or the number of currently unreported interrupt information is less than or equal to the number threshold.
[0112] In some embodiments, the interrupt interval threshold M can be set according to the pre-set design interrupt interval M0 for continuous interrupt signal reporting by the electronic device 100 in the current touch scenario. M0 is a theoretical design value corresponding to the hardware performance of the electronic device, predetermined before the product leaves the factory. In actual reporting, the actual interrupt interval may have slight differences from M0 due to factors such as hardware and signal transmission speed. To ensure that the touch control method of this application can reduce the difference in the actual reporting interval between adjacent interrupt information, reduce visible screen jitter, and avoid "stuttering" situations, allowing users to see smooth and fluid screen transitions, M must be set to ≥ M0 and close to M0. The setting of M ≥ M0 is because since M0 is the design interrupt interval, the M of most first interrupt signals will be close to M0. If M is less than the design interrupt interval M0, most first interrupt signals will not meet the reporting prediction condition, rendering the M-based reporting prediction condition judgment for most first interrupt signals meaningless. To reduce the difference in the actual reporting interval between adjacent interrupt information, M and M0 need to be set close to each other. This ensures that the first interrupt signal controlled by the touch control method is an adjacent signal to the previous interrupt signal.
[0113] In some embodiments, the electronic device 100 can set corresponding M0 for different touch scenarios. The M0 set for different touch scenarios can be the same or different. Touch scenarios can be divided and set according to the required speed of responding to trigger operations. The touch scenario with higher response speed requirements can have a shorter design interrupt interval M0 to improve the response speed of the electronic device 100 to the user's touch operation. For example, touch scenarios may include: scenarios where the user views text, images, web pages, etc. on the display interface by swiping or clicking; scenarios where the user uses the electronic device 100 to play action-adventure, fighting, shooting, etc. games; scenarios where the user uses the electronic device 100 to watch videos; and so on. For example, if the electronic device 100 is set to report an interrupt signal every 8ms (i.e., M0 is 8ms) after detecting a touch operation, then M can be set to a duration greater than or equal to 8ms, such as 10ms. If the electronic device 100 is configured to report an interrupt signal according to M0 corresponding to the touch scenario after detecting a touch operation in different touch scenarios, then the interrupt interval threshold M can be changed based on the touch scenario M0. Those skilled in the art can set the interrupt interval threshold M according to actual needs, and this application does not limit it.
[0114] In some embodiments, the quantity threshold can be set according to actual needs. The smaller the quantity threshold, the better the real-time reporting of interruption information, the faster the electronic device 100 responds to touch operations, and the smaller the perceived latency for the user. Furthermore, setting the quantity threshold also ensures delayed reporting of interruption information for first interrupt signals where the predicted reporting interval B is less than the target reporting interval A. To improve the smoothness and flow of the displayed screen, the specific value of the quantity threshold and the number of second interrupt intervals used to calculate the target reporting interval A (i.e., the corresponding number of second interrupt signals) can be set to the same value. For example, both the quantity threshold and the number of second interrupt intervals used to calculate the target reporting interval A can be set to 4. Moreover, to further improve the electronic device 100's ability to handle varying touch response speed requirements in different touch scenarios, the same or different quantity thresholds can be set for different touch scenarios. For example, in scenarios where the touch response requirements for viewing text, images, web pages, etc., by users swiping or clicking are relatively low, the threshold for the number of touch scenarios can be relatively large, such as a threshold of 6. Conversely, in scenarios where users use electronic devices 100 to play action-adventure, fighting, or shooting games, the touch response requirements are relatively high, and the threshold for the number of touch scenarios can be relatively small, such as a threshold of 3. Those skilled in the art can set the threshold according to actual needs, and this application does not impose any restrictions on this.
[0115] In some embodiments, if the predicted reporting condition is that the first interrupt interval of the first interrupt signal is less than or equal to the interrupt interval threshold M, the processor 110 may execute step S004 if it determines in the prediction judgment step that the reporting prediction condition is not met.
[0116] In some embodiments, if the predicted reporting condition is that the number of currently unreported interrupt information is less than or equal to a number threshold, the processor 110 may perform either Operation 1 or Operation 2 in the prediction judgment step if it determines that the reporting prediction condition is not met.
[0117] Operation 1: Directly execute step S004.
[0118] Operation 2: Report the interrupt information with the longest interval between the current time and the receiving time or the first sending time among the multiple unreported interrupt information, and then continue to execute step S002. For example, assuming the quantity threshold is 2, the currently unreported interrupt information includes interrupt information 1-1 and interrupt information 2-1. Among them, the receiving time of interrupt signal 1 corresponding to interrupt information 1-1 is earlier than the reporting time of interrupt signal 2 corresponding to interrupt information 2-1. After determining the interrupt information 3 of the first interrupt signal, since the number of currently unreported interrupt information (including interrupt information 1-1 and interrupt information 2-1) is greater than the quantity threshold 2, and the receiving time of interrupt information 1-1 is earlier, the processor 110 can directly report interrupt information 1-1. Then, continue to execute step S002, that is, the processor 110 can continue to determine the predicted reporting interval B corresponding to the first interrupt.
[0119] In this way, by executing operation two when the number of currently unreported interrupt information is greater than the number threshold, the processor 110 can avoid accumulating too much unreported interrupt information, avoid interrupt information blockage, and ensure the smoothness of screen display.
[0120] In some embodiments, when the predicted reporting conditions include the first interrupt interval of the first interrupt signal being less than or equal to an interrupt interval threshold M and the number of currently unreported interrupt messages being less than or equal to a quantity threshold, if the processor 110 determines in the prediction judgment step that the first interrupt interval is greater than M and the number of currently unreported interrupt messages is less than or equal to the quantity threshold, then it determines that the predicted reporting conditions are not met and can execute step S004. If the processor 110 determines in the prediction judgment step that the first interrupt interval is greater than M and the number of currently unreported interrupt messages is greater than the quantity threshold, then it determines that the predicted reporting conditions are not met and can execute operation one or operation two described above. If the processor 110 determines in the prediction judgment step that the first interrupt interval is less than or equal to M and the number of currently unreported interrupt messages is greater than the quantity threshold, then it determines that the predicted reporting conditions are not met and can execute operation one or operation two described above.
[0121] To illustrate the implementation process of the touch control method in the embodiments of this application, Figure 6 A flowchart illustrating an example of a touch control method according to an embodiment of this application is shown. Figure 6 As shown, in this example, processor 110 can execute steps S101-S109. The reporting prediction conditions include that the first interrupt interval of the first interrupt signal is less than or equal to the interrupt interval threshold M and the number of currently unreported interrupt messages is less than or equal to a quantity threshold.
[0122] In step S101, the processor 110 receives a first interrupt signal from the touchscreen.
[0123] In step S102, after receiving the first interrupt signal, the processor 110 determines whether the first interrupt signal meets the reporting prediction condition, wherein the reporting prediction condition includes that the first interrupt interval of the first interrupt signal is less than or equal to the interrupt interval threshold M. If the processor 110 determines that the first interrupt interval is less than or equal to the interrupt interval threshold M, it executes step S103. If the processor 110 determines that the first interrupt interval is greater than the interrupt interval threshold M, it executes step S104.
[0124] In step S103, the processor 110 determines the target reporting interval A based on the second interrupt interval of the second interrupt signal preceding the first interrupt signal and the first interrupt interval.
[0125] In step S104, the processor 110 determines the interrupt information of the first interrupt signal based on the interrupt data of the first interrupt signal, and then executes step S105.
[0126] In step S105, the processor 110 further determines whether the number of currently unreported interrupt messages is less than or equal to a quantity threshold. If it is determined that the number of currently unreported interrupt messages is less than or equal to the quantity threshold, step S106 is executed. If it is determined that the number of currently unreported interrupt messages is greater than the quantity threshold, step S109 is executed.
[0127] In step S106, the processor 110 can determine the predicted reporting interval B of the first interrupt signal. After executing step S106, step S107 is executed.
[0128] In step S107, the processor 110 can determine whether the predicted reporting interval B of the first interrupt signal is less than the target reporting interval A. If the predicted reporting interval B of the first interrupt signal is less than the target reporting interval A, then step S108 is executed. If the predicted reporting interval B of the first interrupt signal is greater than or equal to the target reporting interval A, then step S109 is executed.
[0129] In step S108, the processor 110 can first determine the reporting delay L of the first interrupt signal based on the difference between the predicted reporting interval B and the target reporting interval A. Then, the processor 110 determines whether the current time is after the predicted reporting time and whether the time interval between the current time and the predicted reporting time reaches the reporting delay L. If the processor 110 determines that the current time is after the predicted reporting time and the time interval between the current time and the predicted reporting time reaches the reporting delay L, then the processor 110 can execute step S109. If the processor 110 determines that the current time is before the predicted reporting time, and / or the current time is after the predicted reporting time and the time interval between the current time and the predicted reporting time does not reach the reporting delay, then the processor continues to determine the current time until it determines that the current time is after the predicted reporting time and the time interval between the current time and the predicted reporting time reaches the reporting delay, and then executes step S109.
[0130] In step S109, the interrupt information of the first interrupt signal is reported.
[0131] Embodiments of this application also provide a touch control device for executing the touch control method provided in the embodiments of this application. The device includes:
[0132] An interrupt signal receiving module is used to receive a first interrupt signal from the touch screen, wherein the first interrupt signal is generated by the touch screen based on a detected touch operation;
[0133] The prediction reporting interval determination module is used to determine the prediction reporting interval of the first interrupt signal;
[0134] The delayed reporting module is used to delay reporting the interruption information of the first interruption signal when the predicted reporting interval is less than the target reporting interval.
[0135] The target reporting interval is the time interval between the predetermined expected time of receiving the first interrupt signal and the time of reporting the interrupt information of the first interrupt signal.
[0136] In one possible implementation, the delay reporting module may include:
[0137] The delay determination submodule determines the reporting delay of the first interrupt signal based on the difference between the predicted reporting interval and the target reporting interval when the predicted reporting interval is less than the target reporting interval.
[0138] The first reporting submodule reports the interruption information of the first interrupt signal when the current time and the time of receiving the first interrupt signal are after the predicted reporting time and the time interval between the current time and the predicted reporting time reaches the reporting delay.
[0139] In one possible implementation, the prediction reporting interval determination module may include:
[0140] The condition judgment submodule determines the predicted reporting interval of the first interrupt signal when it is determined that the reporting prediction condition is met.
[0141] The reporting prediction conditions include: the first interruption interval of the first interruption signal is less than or equal to the interruption interval threshold; the first interruption interval of the first interruption signal is the time interval between the reception time of the first interruption signal and the reception time of the previous interruption signal.
[0142] In one possible implementation, the reporting prediction condition further includes: the number of currently unreported interruption information is less than or equal to a quantity threshold.
[0143] In one possible implementation, the device further includes:
[0144] The target reporting interval determination module determines the target reporting interval based on the second interrupt interval of the second interrupt signal preceding the first interrupt signal and the first interrupt interval when it determines that the first interrupt interval of the first interrupt signal is less than or equal to the interrupt interval threshold.
[0145] In one possible implementation, the target reporting interval determination module may include:
[0146] The first determining submodule determines the feature values of the second interrupt interval and the first interrupt interval corresponding to the multiple second interrupt signals, and determines the feature values as the target reporting interval;
[0147] Wherein, the plurality of second interrupt signals are a plurality of adjacent second interrupt signals preceding the first interrupt signal; the feature value includes any one of the average value, median value, maximum value, and minimum value.
[0148] In one possible implementation, the device may further include:
[0149] The first direct reporting module reports the interruption information of the first interrupt signal if it determines that the reporting point prediction conditions are not met.
[0150] In one possible implementation, the device may further include:
[0151] The second direct reporting module reports the interruption information of the first interruption signal when the predicted reporting interval is greater than or equal to the target reporting interval.
[0152] It should be noted that the implementation methods and beneficial effects of each module of the touch control device can be referred to the implementation methods and beneficial effects of the corresponding steps in the touch control method above, and will not be repeated here.
[0153] Embodiments of this application provide an electronic device, including: a touch screen for generating a first interrupt signal based on a detected touch operation; a processor and a memory for storing processor-executable instructions; wherein the processor is configured to implement the above-described method when executing the instructions.
[0154] Embodiments of this application provide a non-volatile computer-readable storage medium storing computer program instructions thereon, which, when executed by a processor, implement the above-described method.
[0155] Embodiments of this application provide a computer program product including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in a processor of an electronic device, the processor in the electronic device performs the above-described method.
[0156] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), electrically programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital video disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing.
[0157] The computer-readable program instructions or code described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0158] The computer program instructions used to perform the operations of this application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as "C" or similar languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuits, such as programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), are personalized by utilizing state information from computer-readable program instructions. These electronic circuits can execute computer-readable program instructions to implement various aspects of this application.
[0159] Various aspects of this application are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0160] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0161] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0162] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved.
[0163] It should also be noted that each block in the block diagram and / or flowchart, as well as combinations of blocks in the block diagram and / or flowchart, can be implemented using hardware (such as circuits or ASICs (Application Specific Integrated Circuits)) that performs the corresponding function or action, or using a combination of hardware and software, such as firmware.
[0164] Although the invention has been described herein in conjunction with various embodiments, those skilled in the art will understand and implement other variations of the disclosed embodiments by reviewing the accompanying drawings, disclosure, and appended claims in carrying out the claimed invention. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
[0165] The various embodiments of this application have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or improvement of the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A touch control method, characterized by, The method comprises: receiving a first interrupt signal from a touch screen, the first interrupt signal being generated by the touch screen according to a detected touch operation; determining a predicted reporting interval of the first interrupt signal, the predicted reporting interval being an interval between a receiving time of the first interrupt signal and a predicted reporting time of interrupt information of the first interrupt signal; in a case where the predicted reporting interval is less than a target reporting interval, performing delayed reporting of the interrupt information of the first interrupt signal; wherein the target reporting interval is a predetermined expected time interval between the receiving time of the first interrupt signal and a time of reporting the interrupt information of the first interrupt signal; wherein, in a case where the predicted reporting interval is less than the target reporting interval, performing delayed reporting of the interrupt information of the first interrupt signal comprises: in a case where the predicted reporting interval is less than the target reporting interval, determining a reporting delay of the first interrupt signal according to a difference between the predicted reporting interval and the target reporting interval; in a case where a time interval between a current time and the predicted reporting time of the first interrupt signal reaches the reporting delay, reporting the interrupt information of the first interrupt signal.
2. The method of claim 1, wherein, Determining the predicted reporting interval of the first interrupt signal comprises: in a case where it is determined that a reporting prediction condition is met, determining the predicted reporting interval of the first interrupt signal; wherein the reporting prediction condition comprises: a first interrupt interval of the first interrupt signal being less than or equal to an interrupt interval threshold value; the first interrupt interval of the first interrupt signal being a time interval between the receiving time of the first interrupt signal and a receiving time of a previous interrupt signal.
3. The method of claim 2, wherein, The reporting prediction condition further comprises: a number of currently unreported interrupt information being less than or equal to a number threshold value.
4. The method according to claim 1 or 2, characterized in that, The method further comprises: in a case where it is determined that the first interrupt interval of the first interrupt signal is less than or equal to the interrupt interval threshold value, determining the target reporting interval according to a second interrupt interval of a second interrupt signal before the first interrupt signal and the first interrupt interval.
5. The method of claim 4, wherein, Determining the target reporting interval according to the second interrupt interval of the second interrupt signal before the first interrupt signal comprises: determining a feature value of the first interrupt interval and second interrupt intervals respectively corresponding to a plurality of second interrupt signals, and determining the feature value as the target reporting interval; wherein the plurality of second interrupt signals are a plurality of adjacent second interrupt signals before the first interrupt signal; and the feature value comprises any one of an average value, a median value, a maximum value, and a minimum value.
6. The method of claim 1 or 2, wherein, The method further comprises: in a case where it is determined that the reporting prediction condition is not met, reporting the interrupt information of the first interrupt signal.
7. The method according to claim 1 or 2, characterized in that, The method further comprises: in a case where the predicted reporting interval is greater than or equal to the target reporting interval, reporting the interrupt information of the first interrupt signal.
8. An electronic device, comprising: comprise: a touch screen configured to generate a first interrupt signal according to a detected touch operation; a processor; a memory for storing processor-executable instructions; The processor is configured to implement the method of any one of claims 1-7 when executing the instructions.
9. A non-transitory computer readable storage medium having stored thereon computer program instructions, wherein, The computer program instructions, when executed by a processor, implement the method of any one of claims 1-7.
10. A computer program product comprising computer readable code, or a non-transitory computer readable storage medium having computer readable code embodied thereon, the computer readable code comprising instructions for causing a computer to perform the method of any one of claims 1 to 9. When the computer readable code is run in an electronic device, a processor in the electronic device implements the method of any one of claims 1-7.
Citation Information
Patent Citations
Touch screen point reporting method and device, electronic equipment and storage medium
CN110928449A
Display device, touch screen point reporting method and device and medium
CN112684937A