Interactive touch screen response control method and device, electronic device and storage medium
By introducing an anti-fault touch module at the operating system level, using preset parameters and weight data to calculate the optimal response area, the error triggering problem caused by the wrist hanging operation of the desktop touch screen is solved, and the effect of high accuracy and simplified development is achieved .
Patent Information
- Application Number
- CN202210579476.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-25
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2042-05-25
AI Technical Summary
When the distance between the user's elbow and the touch screen is greater than the distance between the elbow and the wrist, it is easy to cause false triggering due to the wrist hanging operation, and the prior art is difficult to effectively solve this problem.
By introducing an anti-touch module at the operating system level, the optimal response area is calculated using preset parameters and weight data, and operation instructions are generated to reduce false triggering. This module includes user input processing flow, weight data analysis and interface response program interface.
It effectively reduces the false triggering of desktop touch screens, improves operation accuracy and user experience, and does not need to obtain the hardware parameters and real-time data of the driver layer for analysis and processing, simplifying the development of upper-level applications.
Smart Images

Figure CN114816127B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of touch screen response control, and in particular to an interactive touch screen response control method and device, electronic equipment and storage medium. Background Art
[0002] At present, it is very popular to control the corresponding touch operation of electronic devices by touch. It is widely used in medical and service industries because of its strong interactivity. However, while touch operation brings great convenience to users, the sensitivity of touch screens can easily cause false touch operations. For example, in an interactive platform, users often place their hypothenar and hypothenar on the touch screen as support points and then operate with their fingers, which can cause false triggering of the touch screen;
[0003] At present, the methods for preventing accidental touches on touch screens can be roughly divided into the following categories:
[0004] 1. Reduce false triggering caused by user operation by restricting the operator's hand through appearance and structure, such as announcement numbers: CN212009540U, CN214098383U, etc.
[0005] 2. By adding sensors, circuit optimization, driver chip and driver layer processing, the touch data of the entire touch screen is extracted to optimize false touch filtering and sensitivity adjustment, such as announcement numbers: CN107231814B, CN111061399B, CN112000270A, etc.
[0006] 3. False trigger identification is performed by judging features such as fingerprints, such as announcement number: CN112099724A.
[0007] 4. Define the response area or response method by touching the current interface function of the screen, and filter the non-response area or operation, such as announcement numbers: CN107741793B, CN110446109B, CN110531894B, etc.
[0008] For the above situation, most touch screen manufacturers have integrated various false triggering measures into their chips and drivers to solve this problem, which can solve most false triggering situations, especially for mobile phones, tablets and other handheld devices. At the same time, for floor-standing interactive screens, since the user's operating hand is almost vertical to the touch screen, the operator will not use the touch screen as a support point, so there is no problem;
[0009] However, for method 1, which reduces false triggering caused by user operation by restricting the operator through the appearance structure, its structural modification may cause changes in appearance, affect the aesthetics and increase the external dimensions.
[0010] For method 2, by adding sensors, circuit optimization, driver chip and driver layer processing, the touch data of the entire touch screen is extracted to optimize false touch filtering and sensitivity adjustment. Most touch screen manufacturers have integrated the processing solution into the touch screen chip or driver, and we can already use it. The effect is very obvious. However, for Figure 1 For the desktop touch screen in which the fixed plane of the touch screen is horizontal or at a certain angle to the horizontal plane in the non-handheld device touch screen shown, unless the distance from the elbow to the touch screen is greater than the distance from the elbow to the wrist during operation, and the wrist can be suspended in the air for a long time, when the user operates the touch screen, it is easy to use the touch screen as a support point to operate the touch screen and cause false triggering. Since the operations are all direct skin operations, the capacitance change is also at the same level. Moreover, due to the large operating area, unlike small screens such as mobile phones, the fixed position of the palm will not move. When operating over a large span, the user's thenar and hypothenar will continue to rise, fall, and move due to different operations. The current operation cannot be simply judged by the boundary non-response or the first and second contacts of the conventional processing method. At the same time, this method is suitable for the optimization of the touch screen manufacturer. For the upper-level interactive development, the touch event received is optimized by the manufacturer, and the contact position capacitance data, contact area, pressure and other parameters of the touch screen cannot be obtained, and the sensitivity cannot be simply adjusted.
[0011] Regarding method 3, which uses fingerprints and other features to identify false triggers, it needs to add fingerprint acquisition and identification equipment, which has high costs and complex structure.
[0012] Method 4 uses the current interactive interface function of the touch screen to set the response area or response method, and the method of filtering the non-response area or operation can effectively reduce false triggers. Figure 1 For the large-size touch screen shown, it is necessary to give up a considerable portion of the response area at the bottom, which will waste the interactive area. At the same time, this method will fail when the user uses the maxilla and hypothenar as support to operate the upper controls. Summary of the invention
[0013] The object of the present invention is to provide an interactive touch screen response control method and device, an electronic device and a storage medium to solve the problems raised in the above background technology.
[0014] In order to solve the above technical problems, the present invention provides the following technical solutions: an interactive touch screen response control method, comprising the following processes:
[0015] Step S100: inputting an external program, wherein the external program calls the anti-mistaken-touch module, and the external program refers to other programs except the anti-mistaken-touch module or a program that calls the anti-mistaken-touch module;
[0016] Step S200: the anti-mistaken-touch module is connected to a storage medium, and the anti-mistaken-touch module reads preset parameters and weight data from the storage medium and stores them in a computer memory; the preset parameters include interactive interface data and response area data;
[0017] Step S300: Determine whether an exit instruction is received. If no exit instruction is received, proceed to step S400. If an exit instruction is received, proceed to step S900.
[0018] Step S400: receiving data input by a user, the data input by the user including a contact set and timestamp information, and transferring the contact set and timestamp information as parameters to step S500;
[0019] Step S500: Calculate the response area list of the current interactive interface where the touch point is located and the operation weight of the hit response area, and determine the response area where the touch point with the largest weight value is located as the optimal response area according to the weight value of each hit response area, and transfer all the touch point data in the optimal response area to step S600;
[0020] Step S600: based on all the contact point data in the optimal response area of step S500, the optimal contact point data is obtained according to the response area type, and an operation instruction is generated according to the format of the interface response program;
[0021] Step S700: updating weight data, recording the latest weight data into weight data variables; sending operation instructions to the interface response program through the path defined by the interface response program;
[0022] Step S800: Determine again whether an exit instruction is received. If no exit instruction is received, proceed to step S400. If an exit instruction is received, proceed to step S900.
[0023] Step S900: Save the weight data in the computer memory and update it to the storage medium, and load the latest weight data after the device is powered off or restarted.
[0024] Furthermore, the preset parameters in step S200 also include touch screen resolution W*H, relative position information P between the touch screen and the user, operation time threshold Tt, touch point position weight ratio IPpercent, touch point response area weight ratio ISApercent, timestamp weight ratio ICTpercent and touch point number weight ratio IPNpercent; wherein W is the number of pixels for width and H is the number of pixels for height;
[0025] The interactive interface data includes each interactive interface of the current program, the current interactive interface status list UIn.StatusList, and the ith interface status UIn.StatusList[i] of the nth interactive interface; wherein UI is the code of the interface, and UIn represents the mth response area of the nth interactive interface;
[0026] The response area data includes a valid response area list UIn[], each response area type UIn[m].Type, response area ellipse or polygon area information UIn[m].Rgn and the number of response areas UIn.Count in the nth interactive interface; each response area type UIn[m].Type is used to record the type of the response area; the response area ellipse or polygon area information UIn[m].Rgn records the area information of the response area, which can be a regular shape or an irregular polygon;
[0027] Use the following calculation formula:
[0028]
[0029] Calculate the screen coordinate width weight value IWscreen and the screen coordinate height weight value IHscreen;
[0030] The weight data includes a weight list UIn[m].StatusList[i].Weight, wherein UIn[m].StatusList[i].Weight represents the interaction weight value of the interface response area UIn[m] in the UIn.StatusList[i] state of the nth interaction interface. The state represents the collection of operating states existing in the current interaction interface. This value is an initial list set at the factory and is continuously updated during use to adapt to the operating habits of different users. When parameters are loaded, the value must be assigned to the UIn[m].StatusList[i].WeightNew variable at the same time. UIn[m].StatusList[i].WeightNew represents the latest weight value.
[0031] Furthermore, the step S400 includes the following contents:
[0032] The timestamp information includes the timestamp of the last message received and the timestamp UIn[m].StatusList[i].TS of the initial value of the time when the weight data is loaded; wherein the timestamp information is represented by TouchPt.TS;
[0033] The touch point set includes a real-time multi-touch data set TouchPt[] provided by an external program, the number of touch points TouchPt.Count and the coordinates of the ith touch point TouchPt[i], where i=1-TouchPt.Count, and the coordinates of the touch points include the x pixel coordinate value TouchPt[i].x of the ith touch point and the y pixel coordinate value TouchPt[i].y of the ith touch point;
[0034] The serial number of the current interactive interface for the user to input data is TouchPt.n, and the current interface status is TouchPt.StatusIndex.
[0035] Furthermore, the calculation of the list of response areas of the current interactive interface where the touch point is located and the operation weight of the hit response area in step S500 includes the following process:
[0036] Through the coordinate information of the touch point and the current interactive interface serial number TouchPt.n, by traversing the ellipse or polygonal area information UIn[m].Rgn of the response area, it is determined in turn whether the coordinates of the touch point TouchPt[i] are within the range of the response area, and the list of touch points in the response area Hit[] is obtained;
[0037] Record the number of touch points hitting the response area Hit.count, the information of the i-th hit point Hit[i], the serial number m of the hit response area UIn[m] represented as Hit[i].AreaIndex, the hit point coordinates Hit[i].Point and the x pixel coordinate value Hit[i].Point.x and y pixel coordinate value Hit[i].Point.y of the i-th hit touch point, record the hit timestamp Hit[i].TS and store the hit point weight Hit[i].Weight, the hit timestamp is obtained from the timestamp information TouchPt.TS input by the user;
[0038] The touch point position weight IP[i] is calculated based on the hit point information Hit[i] and the relative position information P between the touch screen and the user, where i represents the i-th touch point. The calculation formula is as follows:
[0039] IP[i]=1-(Hit[i].y×IHscreen), if p=1
[0040] IP[i]=Hit[i].y×IHscreen, if p=2
[0041] IP[i]=Hit[i].x×IWscreen, if p=3
[0042] IP[i]=1-(Hit[i].x×IWscreen), if p=4
[0043] The larger the value of PI[i], the farther the touch point is from the user;
[0044] According to the current interactive interface serial number TouchPt.n, the current interface status TouchPt.StatusIndex and the hit response area serial number Hit[i].AreaIndex, the touch point response area weight ISA[i] can be obtained; ISA[i] = UIn[m] / StatusList[id].Weight, where n = TouchPt.n, id = TouchPt.StatusIndex, m = Hit[i].AreaIndex;
[0045] The timestamp weight ICT[i] is calculated based on the difference between the latest timestamp and the timestamp of the last received message UIn[m].StatusList[i].TS. The calculation formula is as follows:
[0046] Δt[i]=Hit[i].TS-UIn[m].StatusList[i].TS
[0047] ICT[i]=1,ifΔt[i]>Tt
[0048]
[0049] Where △t is the time difference in seconds, and Tt is the operation time threshold;
[0050] The weight of the touch point in the hit response area Hit[i].Weight is calculated based on the timestamp weight. The calculation formula is as follows:
[0051] Hit[i].Weight=IPpercent×IP[i]+ISApercent×ISA[i]+ICTpercent×
[0052] ICT[i];
[0053] Among them, IPpercent is the weight ratio of the contact position, ISApercent is the weight ratio of the contact response area, and ICTpercent is the weight ratio of the timestamp.
[0054] Further, the response area type in step S600 includes single-point operation, two-point operation and multi-point operation;
[0055] When the response area type is single-point operation, the optimal touch point is the one with the largest weight;
[0056] When the response area type is two-point operation, the optimal touch points are the first and second touch points with the largest weight values;
[0057] When the response area type is multi-point operation, the touch points in the response area are not weighted and all are regarded as optimal touch points.
[0058] Furthermore, the step S700 includes the following process:
[0059] Record the latest weight data to the weight data variable, including the timestamp UIn[m].StatusList[i].TS of the optimal response zone and the latest weight value UIn[m].StatusList[i].WeightNew;
[0060] The formula used is:
[0061]
[0062] To calculate the latest weight value UIn[m].StatusList[i].WeightNew, you need to calculate the value of the optimal response area based on the total number of contacts before recording, where UIn[m].StatusList[i].WeightNew0 means that the latest weight value corresponds to the weight value saved in the last update.
[0063] Furthermore, the step S900 includes the following process:
[0064] The weights are calculated as follows when they are saved:
[0065]
[0066] Traverse the different states of each interface and recalculate the weight of each response area in that state. The weight value of the response area is equal to the latest weight value of the response area in this state divided by the sum of the latest values of all response areas in this state; among which UIn[m].StatusList[i].Weight is updated to the external storage device, and UIn[k].Statuslist[i].weightNew represents the latest weight values from the first response area to the last response area of the kth current interactive interface.
[0067] An interactive touch screen response control device, comprising:
[0068] A user input module, used to input an external program, wherein the external program includes real-time multi-touch data and a timestamp; the external program refers to a program other than the anti-mistaken touch module or a program that calls the anti-mistaken touch module;
[0069] The interface response module is an external program for receiving operation instructions and making interface responses;
[0070] The anti-mistouch module includes a preset parameter module, a weight data module and a user input processing flow module; the preset parameter module is used to preset the touch screen resolution, the up and down direction of the touch screen to determine the user's position relative to the touch screen, the effective response area of each interactive interface of the current program, the type of each response area and the elliptical or polygonal area information of the response area, and the parameters of the current interactive interface status list; the weight data module is used to analyze the weight coefficient of each response area in the current state; the user input processing flow module is used to calculate the optimal response area, calculate the effective touch point, update the weight data and send operation instructions.
[0071] An electronic device, comprising:
[0072] at least one processor: and a memory communicatively connected to the at least one processor; wherein,
[0073] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the interactive touch screen response control method according to any one of claims 1 to 7.
[0074] An interactive touch screen response storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the interactive touch screen response control method according to any one of claims 1 to 7.
[0075] Compared with the prior art, the beneficial effects achieved by the present invention are as follows: the present invention focuses on similar desktop touch screen interaction scenarios, where the user uses the palm's hypothenar and thenar as support points to operate with his fingers, and makes judgments through multi-point operation events transmitted by the operating system. In this way, for upper-level application development, there is no need to obtain the hardware parameters and real-time data of the driver layer for analysis, processing and filtering, but directly uses the general events of the operating system for processing, which reduces the development difficulty and improves the compatibility with different touch screen manufacturers after using this method. BRIEF DESCRIPTION OF THE DRAWINGS
[0076] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:
[0077] Figure 1 It is a flow chart of an interactive touch screen response control method of the present invention;
[0078] Figure 2 The invention discloses an overall block diagram of an interactive touch screen response control device. DETAILED DESCRIPTION
[0079] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0080] See also Figure 1-Figure 2 The present invention provides a technical solution: an interactive touch screen response control method, comprising the following process:
[0081] Step S100: inputting an external program, wherein the external program calls the anti-mistaken-touch module, and the external program refers to other programs except the anti-mistaken-touch module or a program that calls the anti-mistaken-touch module;
[0082] Step S200: the anti-mistaken-touch module is connected to a storage medium, and the anti-mistaken-touch module reads preset parameters and weight data from the storage medium and stores them in a computer memory; the preset parameters include interactive interface data and response area data;
[0083] Step S300: Determine whether an exit instruction is received. If no exit instruction is received, proceed to step S400. If an exit instruction is received, proceed to step S900.
[0084] Step S400: receiving data input by a user, the data input by the user including a contact set and timestamp information, and transferring the contact set and timestamp information as parameters to step S500;
[0085] Step S500: Calculate the response area list of the current interactive interface where the touch point is located and the operation weight of the hit response area, and determine the response area where the touch point with the largest weight value is located as the optimal response area according to the weight value of each hit response area, and transfer all the touch point data in the optimal response area to step S600;
[0086] Step S600: based on all the contact point data in the optimal response area of step S500, the optimal contact point data is obtained according to the response area type, and an operation instruction is generated according to the format of the interface response program;
[0087] Step S700: updating weight data, recording the latest weight data into weight data variables; sending operation instructions to the interface response program through the path defined by the interface response program;
[0088] Step S800: Determine again whether an exit instruction is received. If no exit instruction is received, proceed to step S400. If an exit instruction is received, proceed to step S900.
[0089] Step S900: Save the weight data in the computer memory and update it to the storage medium, and load the latest weight data after the device is powered off or restarted.
[0090] The preset parameters in step S200 also include touch screen resolution W*H, relative position information P between the touch screen and the user, operation time threshold Tt, touch point position weight ratio IPpercent, touch response area weight ratio ISApercent, timestamp weight ratio ICTpercent and touch point number weight ratio IPNpercent; wherein W is the number of pixels for width and H is the number of pixels for height; wherein Tt, IPpercent, ISApercent, ICTpercent and IPNpercent are all adjustable parameters; Tt can be appropriately adjusted according to the touch screen operation frequency attributes of the user and the application, and is generally set to 20 to 250 milliseconds for eliminating jitter; IPpercent can be set to 30% to 50%; ISApercent can be set to 30% to 50%; ICTpercent can be set to 10% to 30%; IPNpercent can be set to 10% to 30%;
[0091] The factory settings of weight data may have different settings due to different operation interfaces and applications. All weights can be initialized to 1, and the best factory parameters can be obtained after trial users use them regularly for a period of time.
[0092] In this article, the coordinate information below is agreed to be (0,0) at the upper left corner of the touch screen, (W,H) at the lower right corner, and the value of P is 1 to 4, where 1 means the user is at the bottom of the screen, 2 means the user is at the top of the screen, 3 means the user is at the left side of the screen, and 4 means the user is at the right side of the screen. The default value is 1.
[0093] The interactive interface data includes each interactive interface of the current program, the current interactive interface status list UIn.StatusList, and the ith interface status UIn.StatusList[i] of the nth interactive interface; wherein UI is the code of the interface, and UIn represents the mth response area of the nth interactive interface;
[0094] The response area data includes a valid response area list UIn[], each response area type UIn[m].Type, response area ellipse or polygon area information UIn[m].Rgn and the number of response areas UIn.Count in the nth interactive interface; each response area type UIn[m].Type is used to record the type of the response area; the response area ellipse or polygon area information UIn[m].Rgn records the area information of the response area, which can be a regular shape or an irregular polygon;
[0095] Use the following calculation formula:
[0096]
[0097] Calculate the screen coordinate width weight value IWscreen and the screen coordinate height weight value IHscreen;
[0098] The weight data includes a weight list UIn[m].StatusList[i].Weight, wherein UIn[m].StatusList[i].Weight represents the interaction weight value of the interface response area UIn[m] in the UIn.StatusList[i] state of the nth interaction interface. The state represents the collection of operating states existing in the current interaction interface. This value is an initial list set at the factory and is continuously updated during use to adapt to the operating habits of different users. When parameters are loaded, the value must be assigned to the UIn[m].StatusList[i].WeightNew variable at the same time. UIn[m].StatusList[i].WeightNew represents the latest weight value.
[0099] The step S400 includes the following contents:
[0100] The timestamp information includes the timestamp of the last message received and the timestamp UIn[m].StatusList[i].TS of the initial value of the time when the weight data is loaded; wherein the timestamp information is represented by TouchPt.TS;
[0101] The touch point set includes a real-time multi-touch data set TouchPt[] provided by an external program, the number of touch points TouchPt.Count and the coordinates of the ith touch point TouchPt[i], where i=1-TouchPt.Count, and the coordinates of the touch points include the x pixel coordinate value TouchPt[i].x of the ith touch point and the y pixel coordinate value TouchPt[i].y of the ith touch point;
[0102] The serial number of the current interactive interface for the user to input data is TouchPt.n, and the current interface status is TouchPt.StatusIndex.
[0103] The step S500 of calculating the list of the current interactive interface response areas where the touch point is located and the operation weight of the hit response area includes the following process:
[0104] Through the coordinate information of the touch point and the current interactive interface serial number TouchPt.n, by traversing the response area ellipse or polygonal area information UIn[m].Rgn, at this time m=0~UIn.Count, determine in turn whether the coordinate of the touch point TouchPt[i] is within the response area, and obtain the response area touch point list Hit[]; i=0~TouchPt.Count.
[0105] Record the number of touch points hitting the response area Hit.count, the information of the i-th hit point Hit[i], the serial number m of the hit response area UIn[m] represented as Hit[i].AreaIndex, the hit point coordinates Hit[i].Point and the x pixel coordinate value Hit[i].Point.x and y pixel coordinate value Hit[i].Point.y of the i-th hit touch point, record the hit timestamp Hit[i].TS and store the hit point weight Hit[i].Weight, the hit timestamp is obtained from the timestamp information TouchPt.TS input by the user;
[0106] The touch point position weight IP[i] is calculated based on the hit point information Hit[i] and the relative position information P between the touch screen and the user, where i represents the i-th touch point. The calculation formula is as follows:
[0107] IP[i]=1-(Hit[i].y×IHscreen), if p=1
[0108] IP[i]=Hit[i].y×IHscreen, if p=2
[0109] IP[i]=Hit[i].x×IWscreen, if p=3
[0110] IP[i]=1-(Hit[i].x×IWscreen), if p=4
[0111] The larger the value of PI[i], the farther the touch point is from the user;
[0112] According to the current interactive interface serial number TouchPt.n, the current interface status TouchPt.StatusIndex and the hit response area serial number Hit[i].AreaIndex, the touch point response area weight ISA[i] can be obtained; ISA[i] = UIn[m] / StatusList[id].Weight, where n = TouchPt.n, id = TouchPt.StatusIndex, m = Hit[i].AreaIndex;
[0113] The timestamp weight ICT[i] is calculated based on the difference between the latest timestamp and the timestamp of the last received message UIn[m].StatusList[i].TS. The calculation formula is as follows:
[0114] Δt[i]=Hit[i].TS-IUIn[m].StatusList[i].TS
[0115] ICT[i]=1,ifΔt[i]>Tt
[0116]
[0117] Where △t is the time difference in seconds, and Tt is the operation time threshold;
[0118] The weight of the touch point in the hit response area Hit[i].Weight is calculated based on the timestamp weight. The calculation formula is as follows:
[0119] Hit[i].Weight=IPpercent×IP[i]+ISApercent×ISA[i]+ICTpercent×
[0120] ICT[i];
[0121] Among them, IPpercent is the weight ratio of the contact position, ISApercent is the weight ratio of the contact response area, and ICTpercent is the weight ratio of the timestamp.
[0122] The response area types in step S600 include single-point operation, two-point operation and multi-point operation;
[0123] When the response area type is single-point operation, the optimal touch point is the one with the largest weight;
[0124] When the response area type is two-point operation, the optimal touch points are the first and second touch points with the largest weight values;
[0125] When the response area type is multi-point operation, the touch points in the response area are not weighted and all are regarded as optimal touch points.
[0126] Furthermore, the step S700 includes the following process:
[0127] Record the latest weight data to the weight data variable, including the timestamp UIn[m].StatusList[i].TS of the optimal response zone and the latest weight value UIn[m].StatusList[i].WeightNew;
[0128] The formula used is:
[0129]
[0130] To calculate the latest weight value UIn[m].StatusList[i].WeightNew, you need to calculate the value of the optimal response area based on the total number of contacts before recording, where UIn[m].StatusList[i].WeightNew0 means that the latest weight value corresponds to the weight value saved in the last update.
[0131] The step S900 includes the following process:
[0132] The weights are calculated as follows when they are saved:
[0133]
[0134] Traverse the different states of each interface, and recalculate the weight of each response area in that state. The weight value of the response area is equal to the latest weight value of the response area in this state divided by the sum of the latest values of all response areas in this state; among them, UIn[m].StatusList[i].Weight is updated to the external storage device, and UIn[k].Statuslist[i].weightNew represents the latest weight value from the first response area to the last response area of the kth current interactive interface. The right side of the formula is the new weight value generated by the continuous iteration of this operation. This step is to save the latest value to the external storage device, so the left side of the formula is the value to be stored in the external device for loading the program next time it is started; because the newly calculated weight value has been added with the new weight when the user has an operation, the sum of the latest weight values of all response areas is greater than 1. If the user has no operation, the value here is still the original value, and the denominator is indeed 1, so the saved value is the original value.
[0135] According to the above method, the embodiments are as follows:
[0136] 1. Read the preset parameters:
[0137] Operation time threshold Tt = 50 (ms);
[0138] Contact position weight ratio IPpercent = 0.4;
[0139] The weight ratio of the contact response area ISApercent = 0.4;
[0140] Timestamp weight ratio ICTpercent = 0.1;
[0141] Contact number weight ratio IPNpercent = 0.1;
[0142] The screen resolution is 1280*1024 (width W=1280, height H=1024);
[0143] The relative position information between the touch screen and the user P=1, indicating that the user is located below the screen;
[0144] The list UI1[] of each interactive interface 1 of the current program is shown in the following table (for the sake of example, we assume that the weight parameters in StatusList[1] are all defaulted to the initial parameter 0.1 in the same state [1]):
[0145] Response Area Weight Rgn.X Rgn.Y Rgn.Width Rgn.Height TS(ms) Type UIn[0] 0.1 100 200 50 50 1526 1 UIn[1] 0.1 300 910 100 100 250 4 UIn[2] 0.1 200 200 50 50 1141 1 UIn[3] 0.1 300 200 50 50 121 1 UIn[4] 0.1 500 500 60 60 11 1 UIn[5] 0.1 700 500 60 60 0 1 UIn[6] 0.1 200 350 50 50 0 1 UIn[7] 0.1 300 350 50 50 0 1 UIn[8] 0.1 500 350 70 50 0 1 UIn[9] 0.1 600 650 100 100 0 1
[0146]
Example Table 1
[0147] 2. Calculation and judgment process:
[0148] Calculate IWscreen and IHscreen;
[0149]
[0150] Assume that the number of user input touch points is 2;
[0151] TouchPt[0].x=120; TouchPt[0].y=210
[0152] TouchPt[1].x=350; TouchPt[1].y=930
[0153] TouchPt[2].x=890; TouchPt[2].y=930
[0154] TouchPt.TS = 2350 (ms);
[0155] According to the Rgn parameter in [Example Table 1], we can know the Hit data. TouchPt[0] and TouchPt[1] are in the response area; TouchPt[2] is not in the response area and is not counted in the Hit data and is directly discarded.
[0156] Hit.Count = 2;
[0157] Hit[0].AreaIndex=0
[0158] Hit[1].AreaIndex=1
[0159] Hit[0].x=120; Hit[0].y=210
[0160] Hit[1].x=350; Hit[1].y=930
[0161] Hit[0].TS=2350(ms)
[0162] Hit[1].TS=2350(ms)
[0163] Calculate IP[];
[0164] Because P = 1, we use the formula when P = 1;
[0165] IP[0]=1-(210×0.000976563)=0.794921875
[0166] IP[1]=1-(930×0.000976563)=0.091796875
[0167] Therefore, it can be obtained that the position weight of Hit[0] which is far from the user is larger.
[0168] Obtain ISA[] directly from the preset parameters [Example Table 1];
[0169] ISA[0]=0.1
[0170] ISA[1]=0.1
[0171] Calculate timestamp weight ICT;
[0172] ICT[0]=1, because 824>50
[0173] ICT[1]=1, because 2100>50
[0174] Now that all the basic data has been calculated, the weights of the corresponding touchpoints can be calculated;
[0175] Hit[0].Weight=0.3×0.794921875+0.4×0.1+0.2×1=0.45796875
[0176] Hit[1].Weight=0.3×0.091796875+0.4×0.1+0.2×1=0.17671875
[0177] Since Hit[0].Weight>Hit[1].Weight, the response area where Hit[0] is located is determined to be a valid response area;
[0178] Hit[0].AreaIndex=0, that is, the effective response area is UIn[0];
[0179] Since UIn[0].Type=1, this area is a single-point operation area. If we have multiple points in the response area, we report the point with the largest weight as the touch point and hand it over to the application for processing. There is only one point here, so we can directly hand it over to the application for processing.
[0180] Next, the latest weight value needs to be updated to the list of each interactive interface of the current program so that the latest weight value can be used in the next judgment.
[0181] 3. Update weight data
[0182] Calculate the weight information that needs to be updated. Since Hit[0] is the valid response area, only update the corresponding UI 1[0].StatusList[1].Weight value;
[0183]
[0184] The weight table of UI1[].Status[1] in the current program's interactive interface 1 list is changed to:
[0185] Response Area Weight Rgn.X Rgn.Y Rgn.Width Rgn.Height TS(ms) Type UI1[0] 0.15 100 200 50 50 1526 1 UI1[1] 0.1 300 910 100 100 250 4 UI1[2] 0.1 200 200 50 50 1141 1 UI1[3] 0.1 300 200 50 50 121 1 UI1[4] 0.1 500 500 60 60 11 1 UI1[5] 0.1 700 500 60 60 0 1 UI1[6] 0.1 200 350 50 50 0 1 UI1[7] 0.1 300 350 50 50 0 1 UI1[8] 0.1 500 350 70 50 0 1 UI1[9] 0.1 600 650 100 100 0 1
[0186]
Example Table 2
[0187] From this example, we can see that the weight of the operation response area that users frequently use in a certain state will continue to increase.
[0188] 4. Save weight data
[0189] Taking the above data as an example, the process of saving weight data can obtain the latest weight data according to formula 8:
[0190]
[0191] As can be seen from the table above, the saved data has been normalized and the weight of UI1[0] has been updated so that the latest weight data can be used next time.
[0192] An interactive touch screen response control device, comprising:
[0193] A user input module, used to input an external program, wherein the external program includes real-time multi-touch data and a timestamp; the external program refers to a program other than the anti-mistaken touch module or a program that calls the anti-mistaken touch module;
[0194] The interface response module is an external program for receiving operation instructions and making interface responses;
[0195] The anti-mistouch module includes a preset parameter module, a weight data module and a user input processing flow module; the preset parameter module is used to preset the touch screen resolution, the up and down direction of the touch screen to determine the user's position relative to the touch screen, the effective response area of each interactive interface of the current program, the type of each response area and the elliptical or polygonal area information of the response area, and the parameters of the current interactive interface status list; the weight data module is used to analyze the weight coefficient of each response area in the current state; the user input processing flow module is used to calculate the optimal response area, calculate the effective touch point, update the weight data and send operation instructions.
[0196] An electronic device, comprising:
[0197] at least one processor: and a memory communicatively connected to the at least one processor; wherein,
[0198] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the interactive touch screen response control method according to any one of claims 1 to 7.
[0199] An interactive touch screen response storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the interactive touch screen response control method according to any one of claims 1 to 7.
[0200] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.
[0201] Finally, it should be noted that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art can still modify the technical solutions described in the aforementioned embodiments or replace some of the technical features therein by equivalents. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. An interactive touch screen response control method, characterized in that: The process includes: Step S100: inputting an external program, wherein the external program calls the anti-mistaken-touch module, and the external program refers to other programs except the anti-mistaken-touch module or a program that calls the anti-mistaken-touch module; Step S200: the anti-mistaken-touch module is connected to a storage medium, and the anti-mistaken-touch module reads preset parameters and weight data from the storage medium and stores them in a computer memory; the preset parameters include interactive interface data and response area data; Step S300: Determine whether an exit instruction is received. If no exit instruction is received, proceed to step S400. If an exit instruction is received, proceed to step S900. Step S400: receiving data input by a user, the data input by the user including a contact set and timestamp information, and transferring the contact set and timestamp information as parameters to step S500; Step S500: Calculate the response area list of the current interactive interface where the touch point is located and the operation weight of the hit response area, and determine the response area where the touch point with the largest weight value is located as the optimal response area according to the weight value of each hit response area, and transfer all the touch point data in the optimal response area to step S600; The step S500 of calculating the list of response areas of the current interactive interface where the touch point is located and the operation weight of the hit response area includes the following process: Through the coordinate information of the touch point and the current interactive interface serial number TouchPt.n, by traversing the ellipse or polygonal area information UIn[m].Rgn of the response area, it is determined in turn whether the coordinates of the touch point TouchPt[i] are within the range of the response area, and the list of touch points in the response area Hit[] is obtained; Record the number of touch points hitting the response area Hit.count, the information of the i-th hit point Hit[i], the serial number m of the hit response area UIn[m] represented as Hit[i].AreaIndex, the hit point coordinates Hit[i].Point and the x pixel coordinate value Hit[i].Point.x and y pixel coordinate value Hit[i].Point.y of the i-th hit touch point, record the hit timestamp Hit[i].TS and store the hit point weight Hit[i].Weight, the hit timestamp is obtained from the timestamp information TouchPt.TS input by the user; The touch point position weight IP[i] is calculated based on the hit point information Hit[i] and the relative position information P between the touch screen and the user, where i represents the i-th touch point. The calculation formula is as follows: IP[i]=1-(Hit[i].y×IHscreen), if p=1 IP[i]=Hit[i].y×IHscreen, if p=2 IP[i]=Hit[i].x×IWscreen, if p=3 IP[i]=1-(Hit[i].x×IWscreen), if p=4 The larger the value of PI[i], the farther the touch point is from the user; According to the current interactive interface serial number TouchPt.n, the current interface status TouchPt.StatusIndex and the hit response area serial number Hit[i].AreaIndex, the touch point response area weight ISA[i] can be obtained; ISA[i] = UIn[m] / StatusList[id].Weight, where n = TouchPt.n, id = TouchPt.StatusIndex, m = Hit[i].AreaIndex; The timestamp weight ICT[i] is calculated based on the difference between the latest timestamp and the timestamp of the last received message UIn[m].StatusList[i].TS. The calculation formula is as follows: Δt[i]=Hit[i].TS-UIn[m].StatusList[i].TS ICT[i]=1,ifΔt[i]>Tt Where △t is the time difference in seconds, and Tt is the operation time threshold; The weight of the touch point in the hit response area Hit[i].Weight is calculated based on the timestamp weight. The calculation formula is as follows: Hit[i].Weight=IPpercent×IP[i]+ISApercent×ISA[i]+ICTpercent× ICT[i]; Among them, IPpercent is the weight ratio of the contact position, ISApercent is the weight ratio of the contact response area, and ICTpercent is the weight ratio of the timestamp; Step S600: based on all the contact point data in the optimal response area of step S500, the optimal contact point data is obtained according to the response area type, and an operation instruction is generated according to the format of the interface response program; Step S700: updating weight data, recording the latest weight data into weight data variables; Sending operation instructions to the interface response program through the path defined by the interface response program; The step S700 includes the following process: Record the latest weight data to the weight data variable, including the timestamp UIn[m].StatusList[i].TS of the optimal response zone and the latest weight value UIn[m].StatusList[i].WeightNew; The formula used is: To calculate the latest weight value UIn[m].StatusList[i].WeightNew, the value of the optimal response area must be calculated based on the total number of contacts before recording, where UIn[m].StatusList[i].WeightNew0 indicates that the latest weight value corresponds to the weight value saved in the last update; Step S800: Determine again whether an exit instruction is received. If no exit instruction is received, proceed to step S400. If an exit instruction is received, proceed to step S900. Step S900: Save the weight data in the computer memory and update it to the storage medium, and load the latest weight data after the device is powered off or restarted.
2. The interactive touch screen response control method according to claim 1, characterized in that: The preset parameters in step S200 also include touch screen resolution W*H, relative position information P between the touch screen and the user, operation time threshold Tt, touch point position weight ratio IPpercent, touch response area weight ratio ISApercent, timestamp weight ratio ICTpercent and touch point number weight ratio IPNpercent; where W is the number of pixels for width and H is the number of pixels for height; The interactive interface data includes each interactive interface of the current program, the current interactive interface status list UIn.StatusList, and the i-th interface status UIn.StatusList[i] of the n-th interactive interface; Where UI is the code of the interface, UIn represents the mth response area of the nth interactive interface; The response area data includes a valid response area list UIn[], each response area type UIn[m].Type, response area ellipse or polygon area information UIn[m].Rgn and the number of response areas UIn.Count in the nth interaction interface; Use the following calculation formula: Calculate the screen coordinate width weight value IWscreen and the screen coordinate height weight value IHscreen; The weight data includes a weight list UIn[m].StatusList[i].Weight, wherein UIn[m].StatusList[i].Weight represents the interaction weight value of the interface response area UIn[m] in the UIn.StatusList[i] state of the nth interaction interface. The state represents the collection of operation states existing in the current interaction interface. When parameters are loaded, the value must be assigned to the UIn[m].StatusList[i].WeightNew variable at the same time. UIn[m].StatusList[i].WeightNew represents the latest weight value.
3. The interactive touch screen response control method according to claim 2, characterized in that: The step S400 includes the following contents: The timestamp information includes the timestamp of the last message received and the timestamp UIn[m].StatusList[i].TS of the initial value of the time when the weight data is loaded; The timestamp information is represented by TouchPt.TS; The touch point set includes a real-time multi-touch data set TouchPt[] provided by an external program, the number of touch points TouchPt.Count and the coordinates of the ith touch point TouchPt[i], where i=1-TouchPt.Count, and the coordinates of the touch points include the x pixel coordinate value TouchPt[i].x of the ith touch point and the y pixel coordinate value TouchPt[i].y of the ith touch point; The serial number of the current interactive interface for the user to input data is TouchPt.n, and the current interface status is TouchPt.StatusIndex.
4. The interactive touch screen response control method according to claim 3, characterized in that: The response area types in step S600 include single-point operation, two-point operation and multi-point operation; When the response area type is single-point operation, the optimal touch point is the one with the largest weight; When the response area type is two-point operation, the optimal touch points are the first and second touch points with the largest weight values; When the response area type is multi-point operation, the touch points in the response area are not weighted and all are regarded as optimal touch points.
5. The interactive touch screen response control method according to claim 4, characterized in that: The step S900 includes the following process: The weights are calculated as follows when they are saved: Traverse the different states of each interface and recalculate the weight of each response area in the state. The weight value of the response area is equal to the latest weight value of the response area in this state divided by the sum of the latest values of all response areas in this state. Among them, UIn[m].StatusList[i].Weight is updated to the external storage device, and UIn[k].Statuslist[i].weightNew represents the latest weight value from the first response area to the last response area of the kth current interaction interface.
6. An interactive touch screen response control device, such as an interactive touch screen response control method according to any one of claims 1 to 5, characterized in that: include: A user input module, used to input an external program, wherein the external program includes real-time multi-touch data and a timestamp; The external program refers to other programs except the accidental touch prevention module or a program that calls the accidental touch prevention module; The interface response module is an external program for receiving operation instructions and making interface responses; The anti-mistouch module includes a preset parameter module, a weight data module and a user input processing flow module; The preset parameter module is used to preset the touch screen resolution, the up and down direction of the touch screen to determine the user's position relative to the touch screen, the effective response area of each interactive interface of the current program, the type of each response area and the elliptical or polygonal area information of the response area, and the parameters of the current interactive interface status list; the weight data module is used to analyze the weight coefficient of each response area in the current state; the user input processing flow module is used to calculate the optimal response area, calculate the effective touch points, update the weight data and send operation instructions.
7. An electronic device, characterized in that: include: at least one processor: and a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the interactive touch screen response control method according to any one of claims 1 to 5.
8. An interactive touch screen response storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the interactive touch screen response control method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Methods and devices for detecting erroneous boundary touch input
CN107231814B
A method and apparatus for preventing accidental touch of a touchscreen
CN107741793B
Methods, storage media, and terminals for preventing accidental touches while a terminal is playing video.
CN110446109B
Methods to prevent accidental touches, electronic devices and computer-readable storage media
CN110531894B
A method for processing capacitance signals based on iterative algorithms and applying them to touchscreen positioning.
CN111061399B