Method for controlling a touch screen user interface and device thereof
A technology for touch screens and users, which is applied in the direction of program control devices, multi-program devices, and data processing input/output processes, and can solve problems such as user inconvenience, slow response, and hindrance to user work efficiency
Inactive Publication Date: 2007-05-23
MEDIATEK INC
0 Cites 37 Cited by
AI-Extracted Technical Summary
Problems solved by technology
This may be due to the user's rapid use of the stylus to interact with the user interface, or it may be that less computing power is available to process stylus events than is required to keep up with the user's stylus movemen...
Method used
[0034] In one embodiment of the present invention, the memory 124 is preferably implemented as a queue, and the event converter 110 stores the input stylus events to the corresponding cells Entry_0, Entry_1, . . . In Entry_N, according to the known first-in-first-out data temporary storage mechanism, the stylus event temporarily stored in the cell Entry_0 will be output before the stylus event temporarily stored in the cell Entry_1. In other words, the event controller 140 sequentially receives the stylus events temporarily stored in the cells Entry_0, Entry_1, . . . , Entry_N, and then controls the touch screen 150 by processing the stylus events received from the memory 124 . In this embodiment, for example, the event converter 110 supports an event discarding mechanism to reduce the processing load of the event controller 140 , thereby increasing the response speed of the touch screen 150 . That is, the event converter 110 can selectively discard at least one discardable stylus event from a plurality of consecutive discardable stylus events stored in a plurality of cells in the m...
Abstract
Touch screen user interface controlling method and device for the same are provided in the invention. The method involves receiving a set of touch screen events. Successive discardable at least one touch screen event of the touch screen events is selectively discarded. Non-discarded touch screen events are translated into a set of screen update commands. The screen update commands are processed to control a touch screen user interface. The screen update commands are assigned according to a user interface element displayed on the touch screen user interface.
Application Domain
Multiprogramming arrangementsSpecific program execution arrangements +1
Technology Topic
User interfaceHuman–computer interaction
Image
Examples
- Experimental program(1)
Example Embodiment
[0030] Certain words are used in the description and claims to refer to specific components. Those with ordinary knowledge in the field should understand that hardware manufacturers may use different terms to refer to the same components. This specification and claims do not use differences in names as a way to distinguish components, but use differences in functions of components as a criterion. The "including" mentioned in the entire specification and claims is an open term, so it should be interpreted as "including but not limited to". In addition, the term "coupled" herein includes any direct and indirect electrical connection means. Therefore, if the text describes that a first device is coupled to a second device, it means that the first device can be directly electrically connected to the second device, or indirectly electrically connected to the second device through other devices or connecting means .
[0031] Please refer to FIG. 1. FIG. 1 is a simple block diagram of an embodiment for controlling a touch screen user interface disclosed in the present invention. As shown in FIG. 1, a touch screen user interface control device 100 includes an event converter 110, a memory 124 and an event controller 140. In one embodiment, the memory 124 for temporarily storing touch screen events required by the touch screen user interface control device 100 is implemented by a queue, wherein the queue includes a plurality of stores for temporarily storing data However, this implementation method is not used as a limitation of the present invention.
[0032] The touch screen user interface control device 100 receives input from a touch screen 150 operable by the user (ie, touch screen event), and then provides output to control the display of the touch screen 150. As shown in FIG. 1, the touch screen user interface control device 100 is externally connected to the touch screen 150. However, in another embodiment, the touch screen user interface control device 100 may be built in the touch screen 150.
[0033]The operation of the touch screen user interface control device 100 and its components are detailed below. The event converter 110 is coupled to the touch screen 150, and is designed to receive touch screen events (such as stylus events, which include the aforementioned stylus depression events, stylus movement events, and stylus up events ), and then store the received touch screen event into the memory 124. In this embodiment, the touch screen event is an event triggered by the interaction between the user and the touch screen 150. However, in order to more clearly understand the event processing mechanism disclosed in the present invention, the term "stylus event" will be used in the subsequent description. Please note that after reading the subsequent technical disclosures, those who are familiar with the art can easily understand that the present invention is not limited to processing events triggered by the stylus.
[0034] In an embodiment of the present invention, the memory 124 is preferably implemented as a queue, and the event converter 110 stores the input stylus events one by one to the corresponding cells Entry_0, Entry_1,..., Entry_N. According to the known first-in-first-out data temporary storage mechanism, the stylus event temporarily stored in the cell Entry_0 will be output before the stylus event temporarily stored in the cell Entry_1. In other words, the event controller 140 sequentially receives the stylus events temporarily stored in the storage cells Entry_0, Entry_1,..., Entry_N, and then controls the touch screen 150 by processing the stylus events received from the memory 124. In this embodiment, for example, the event converter 110 supports an event discarding mechanism to reduce the processing load of the event controller 140, thereby increasing the response speed of the touch screen 150. That is, the event converter 110 can selectively discard at least one discardable stylus event from among a plurality of consecutive discardable stylus events stored in a plurality of cells in the memory 124.
[0035] In another embodiment, for example, the event controller 140 can be designed to support an event discarding mechanism to reduce its own processing load. That is, the event controller 140 selectively discards at least one discardable stylus event among the discardable stylus events received from the memory 124, and then processes the undiscarded stylus event to control the touch. The touch screen user interface displayed on the control screen 150. Please note that in a preferred embodiment of the present invention, if a new touch screen event and an old touch screen event are independent events generated by the event converter 110, then touch is discarded. The operation of the pen event is performed by using the new touch screen event to override the old touch screen event, wherein the new touch screen event and the old touch screen event are both for the user and The same interactive operation between touch screens 150. Taking scroll bar as an example, if the user uses a stylus to quickly scroll the scroll bar displayed on the touch screen 150, the touch screen user interface will trigger the generation of an old touch screen. A stylus movement event is used to indicate that the scroll bar has moved to position A, and then a new stylus movement event is triggered to indicate that the scroll bar has been further moved to position B, where the new stylus movement event and the old The stylus movement event of each includes independent position information. For example, the information indicating an absolute position (for example, B) recorded by the new stylus movement event is used to replace the new stylus movement event and the old Information about the amount of displacement (for example, BA) corresponding to the movement events of the stylus. Therefore, under this abandonment mechanism, the new stylus movement event triggered by further scrolling can be used to overwrite the old stylus movement event to easily reduce the command processing load of the event controller 140. the goal of.
[0036] Please note that according to design requirements, the event abandonment mechanism is implemented in the event converter 110 and the event controller 140 alternatively, or implemented in both the event converter 110 and the event controller 140, both belong to the present invention. Category.
[0037] In addition, for the stylus events received from the memory 124, the event controller 140 further controls and sets the execution priority (priority) to the corresponding screen update commands generated by the conversion of each stylus event. . In this way, the event controller 140 can delay the execution of the screen update command according to the execution priority. The screen update command with higher execution priority will be set with a shorter delay time, and the screen update command with lower execution priority will be set with a shorter delay time. The screen update command will be set with a longer delay time, and the details of the above operation will be detailed later.
[0038] Please refer to FIG. 2. FIG. 2 is a flowchart of a method for selectively discarding a stylus movement event (which is a specific type of event in a generalized touch screen event) according to an embodiment of the present invention. The event discarding mechanism is executed by the event converter 110 or the event controller 140 and includes the following steps:
[0039] Step 210: Start.
[0040] Step 212: Can the stylus event be covered by a new continuous stylus event? If yes, proceed to step 214; otherwise, proceed to step 218.
[0041] Step 214: Are there continuous stylus events received? If yes, proceed to step 216, otherwise, proceed to step 218.
[0042] Step 216: Selectively discard the stylus movement event.
[0043] Step 218: Process the first temporarily stored stylus event, and then return to step 210.
[0044] In FIG. 2, the old stylus movement event in the display memory 124 can be covered by a new continuous stylus movement event, in other words, when the event converter 110 receives a new continuous stylus movement event , The old stylus movement event originally received by the event converter 110 can be safely discarded. For example, for a scroll bar, the old stylus movement event can be covered by the new stylus movement event received subsequently. That is, the event converter 110 is designed to selectively discard a part of the stylus events among the consecutive stylus events, wherein the consecutive stylus events are all caused by the user and the touch screen 150. Triggered by the same interaction (such as scrolling a scroll bar), for example, scrolling a scroll bar.
[0045] However, in some cases, such as handwriting recognition, due to the processing nature of handwriting recognition, the old stylus movement event cannot be covered or discarded. Since any stylus events must not be discarded when performing handwriting recognition as well known in the industry, for the sake of brevity, additional detailed descriptions will not be repeated here.
[0046] In step 210, the process starts. In step 212, the old stylus event is checked by the event converter 110 to confirm whether it can be covered by the new continuous stylus event from the current user interface operating environment (for example, if the system is running Handwriting recognition, the old stylus event cannot be discarded or overwritten). If the stylus movement event cannot be discarded, the process proceeds to step 218, and the event controller 140 processes the first stylus event temporarily stored in the memory 214 (such as a queue); otherwise, the process proceeds to step 214, and check whether the event converter 110 receives continuous stylus movement events. If no continuous stylus movement events are found, the process will return to step 218 again. Otherwise, some stylus movement events will be selectively discarded. Therefore, the stylus temporarily stored in the memory 214 The number of mobile events will decrease. In this way, the event controller 140 only needs to convert the undiscarded stylus events into corresponding screen update instructions, and then use the screen update instructions to control the touch screen 150. With the assistance of the event discarding mechanism, the event controller 140 can process fewer screen update commands. In fact, the lower total computing load greatly improves the performance of the touch screen user interface device 100. In this way, only Stylus events that must be processed are temporarily stored in the memory 124 and processed by the event controller 140.
[0047] In addition, after the stylus events are temporarily stored in the memory 124, the event controller 140 of the present invention can check the received stylus events to selectively discard unnecessary stylus events, for example, for the event converter 110 For the example of only storing all the received stylus events in the storage cell of the memory 124, the consecutive stylus events triggered by the same interaction between the user and the touch screen 150 are all temporarily stored in the memory 124. Following the steps shown in FIG. 2, the event discarding mechanism is convenient for execution in the event controller 140. Therefore, before converting the received stylus event into a corresponding screen update command, the event controller 140 checks whether the old stylus event can be covered by the new stylus event. In this way, in step 218, for the stylus event received from the memory 124, the event controller 140 only converts the undiscarded stylus event into a screen update command. For the event processor 140 (which may have relatively weak computing power), the above operations can also achieve the purpose of reducing its computing load. Please note that the foregoing embodiment of discarding the stylus event is only used as an example for illustration, not as a limitation of the present invention.
[0048] In other words, in one embodiment, by checking the stylus events received by the event converter 110, the present invention can reduce the number of stylus events entering the memory 124; however, in another embodiment, via Checking the stylus events received by the event controller 140, the present invention can reduce the number of stylus events that are converted into screen update instructions. In short, stylus events can be discarded according to the characteristics of their own functions. For example, when the touch screen 150 is operated according to the current mode under feasible conditions (such as window movement or scrolling), The continuous stylus movement events generated by the same interaction between the user and the touch screen user interface (such as continuously scrolling a scroll bar) are considered to be discardable. Because the screen update command is generated based on the available stylus events, the event discarding mechanism executed on the event converter 110 and/or the event controller 140 can improve the response speed of the touch screen user interface.
[0049] If the mechanism of selectively discarding stylus events has been adopted, it is also feasible to add other additional methods to further reduce the amount of stylus event processing, so as to maintain a high-speed response speed display on the touch screen 150 The user interface on the. However, the present invention does not limit these disclosed methods to be used simultaneously, and any touch screen user interface control device can use any of the disclosed methods to improve the response speed of the touch screen 150. These additional methods will be described in detail by various embodiments below.
[0050] Please refer to FIG. 3, which is a flowchart of a method for setting execution priority to a screen update command according to an embodiment of the present invention. When the stylus event is converted into a screen update command, the event controller 140 further controls the execution priority set to the screen update command to be executed. The process of setting execution priority is as follows:
[0051] Step 300: Start.
[0052] Step 312: Convert the stylus event into a screen update instruction.
[0053] Step 314: Set the execution priority to the screen update command according to the corresponding display update area.
[0054] Step 316: End.
[0055]At step 300, the process starts. In step 312, the stylus events that are generated by the interaction between the user and the touch screen 150 and are not discarded (if the event discarding mechanism is activated) are then converted into corresponding screen update commands . According to the embodiment of the present invention, different execution priorities are set to the screen update command to control the execution order of the command. In step 314, different execution priorities are set to different screen update instructions, so that the screen update instructions with higher execution priority will be executed earlier than the screen update instructions with lower execution priority. In this embodiment, compared to the screen update command that does not belong to the display area near the stylus position on the touch screen 150, it belongs to the display area near the stylus position on the touch screen 150. The screen update command will be set to a higher execution priority because the user will focus their eyes on the area near the current stylus position on the touch screen 150. Therefore, the user will easily perceive any slight delay caused by the execution of the stylus event in the area of interest. Therefore, the event controller 140 sets an execution priority for each screen update command according to the measurement result of the proximity degree. In this way, the screen update command used to update the display area adjacent to the stylus position will be quickly executed by the event controller 140 due to its higher execution priority. Finally, in step 316, the process ends. Please note that other rules for setting execution priority are also feasible. For example, compared to screen update commands corresponding to non-movable user interface components (such as buttons or scroll bars corresponding to the display area), corresponding to mobile use The screen update instructions of the user interface components (such as scroll bars) will be set to have a higher execution priority.
[0056] Please refer to FIG. 4, which shows a schematic diagram of a scroll bar 604 and a display area 602 controlled by the scroll bar 604. When applying the previously described concept of setting execution priority to the screen update command according to FIG. 3, FIG. 4 can help explain that this operation must consider the proximity of the stylus position to the position. Obviously, many user interface components can be used to provide appropriate example descriptions, and the use of scroll bars to illustrate is only an example, and is not a limitation of the present invention. As shown in FIG. 4, FIG. 4 shows a user interface component, especially a scroll bar area, which is a good example to illustrate an area in the user interface, where the screen update used to update the display of the scroll bar 604 Commands will be set with higher execution priority. This design is necessary because when the scroll bar 604 is an in-use component of the user interface (that is, when the scroll bar 604 is used), the user's attention will be concentrated On the area of the scroll bar 604.
[0057] Please refer to FIG. 5, which is a flowchart of a method for delaying execution of a screen update command based on the execution priority set for the screen update command according to an embodiment of the present invention. This method includes the following steps:
[0058] Step 400: Start.
[0059] Step 410: Allocate a plurality of screen update instructions (for example, arrange the screen update instructions to be processed by the event controller 140 shown in FIG. 1 in sequence).
[0060] Step 412: Is a screen update command executed immediately? If yes, go to step 418; otherwise, go to step 416.
[0061] Step 416: Delay the execution of the screen update command according to its own execution priority.
[0062] Step 418: Execute the screen update instruction immediately.
[0063] Step 420: End.
[0064] According to this embodiment of the present invention, if the screen update command does not need to be executed immediately, the execution of the screen update command to be processed will be further delayed by the event controller 140 according to its execution priority. In other words, the screen update command can be executed immediately or be executed later via a delay. Screen update instructions with higher execution priority will have a shorter delay time, and screen update instructions with lower execution priority will have a longer delay time.
[0065] Please refer to FIG. 6, FIG. 6 is a new screen update command generated according to the same interaction between the user and the touch screen (such as continuously scrolling the same scroll bar) to suspend the execution of the existing discardable according to an embodiment of the present invention A flowchart of the method of screen update instructions. This method includes the following steps:
[0066] Step 500: Start.
[0067] Step 510: Convert the stylus event into a screen update instruction.
[0068] Step 512: Are there any similar screen update instructions that have been delayed in execution? If yes, go to step 514; otherwise, go to step 516.
[0069] Step 514: Stop executing the existing discardable screen update command, and selectively change the delay time of the new screen update command.
[0070] Step 516: End.
[0071] According to this embodiment of the present invention, when a new (ie, most recent) screen update command corresponding to the same category is generated, the execution of the old screen update command (which has been delayed in execution) will be suspended by the event controller 140. According to actual implementation, for the newly generated screen update command that causes the existing screen update command to be discarded or suspended, its execution can be delayed (or not delayed) according to design requirements.
[0072] Please refer to FIG. 7, which is a flowchart of a method for abandoning execution of a screen update command according to the proximity degree according to an embodiment of the present invention. This method includes the following steps:
[0073] Step 700: Start.
[0074] Step 710: Convert the stylus event corresponding to the scroll bar into a screen update instruction.
[0075] Step 712: Set the execution priority of the screen update command according to the type of the screen update command.
[0076] Step 714: Stop executing the old pending screen update command corresponding to the display area controlled by the scroll bar (that is, the portion of the user interface displayed on the touch screen 150 and controlled by the scroll bar).
[0077] Step 716: End.
[0078] In the above process, the screen update command is generated by the user using the scroll bar 604 shown in FIG. 4. In fact, the user manipulates the scroll bar 604 through one or more stylus events, and the stylus events are later converted into corresponding screen update commands. Generally speaking, compared to the screen update command corresponding to the display area 602 controlled by the scroll bar 604, the screen update command related to the scroll bar 604 is set with a higher execution priority. In this way, every time the scroll bar 604 is scrolled under the control of the stylus event, the scroll bar 604 will be redrawn immediately (that is, the user interface component of the scroll bar 604 will be immediately redrawn on the touch screen 150). Display updates locally). However, the display area 602 is redrawn at a lower frequency. This result is mainly because some screen update commands related to updating the display area 602 will be suspended during the scrolling process of the scroll bar 604.
[0079] The foregoing descriptions are only preferred embodiments of the present invention, and all equivalent changes and modifications made in accordance with the claims of the present invention shall fall within the scope of the present invention.
PUM


Description & Claims & Application Information
We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.