How to add punctuation keys to a touch-sensitive keyboard

By responding gestures to touch-sensitive delete keys and punctuation keys in electronic devices, the problem of inefficiency in the processing of continuous path gestures and delete key gestures in the prior art is solved, and more efficient typing and deletion operations are achieved, improving the operability of the device and battery life.

CN113795819BActive Publication Date: 2025-04-25APPLE INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080034057.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-09-27
Filing Date
2020-05-06
Publication Date
2025-04-25
Estimated Expiration
2040-05-06

AI Technical Summary

Technical Problem

Existing touch-sensitive keyboards are inefficient in continuous path gestures and delete key gesture processing, resulting in more time for users to search for punctuation keys and individually delete characters when typing text.

Method used

By implementing gesture response to touch-sensitive delete keys in electronic devices, users allow users to quickly delete characters and strings by tapping or swiping the delete keys, and displaying punctuation keys during continuous path gestures, reducing the time users look for punctuation on the keyboard.

Benefits of technology

Improves typing efficiency, enhances the operability of electronic devices, makes the human-machine interface more efficient, reduces power usage and extends the device's battery life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113795819B_ABST
    Figure CN113795819B_ABST
Patent Text Reader

Abstract

Systems and methods for responding to continuous path and delete key gestures are disclosed. One exemplary method includes: displaying a series of characters and a cursor after the last character; in response to a tap gesture on a touch-sensitive delete key, deleting the last character in the series of characters and continuing to display the remaining characters in the series of characters; and in response to a swipe gesture on the touch-sensitive delete key, deleting the remaining characters in the series of characters. Another exemplary method includes: displaying a plurality of keys on a touch-sensitive keyboard; and in response to a continuous path gesture on the touch-sensitive keyboard, wherein a contact associated with the continuous path gesture travels over two or more of the plurality of keys: beginning to display punctuation keys on the touch-sensitive keyboard; and displaying one or more characters based on the keys contacted by the contact during the continuous path gesture.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments herein relate generally to electronic devices with touch-sensitive displays, and more particularly, to systems and methods for responding to continuous path and delete key gestures at a touch-sensitive keyboard. Background Art

[0002] Handheld electronic devices with touch-sensitive displays typically include an interface that allows the user to type at a touch-sensitive keyboard on the screen rather than having to carry and connect an external physical keyboard. The touch-sensitive keyboards on these displays typically do not include punctuation keys because the punctuation keys are typically hidden under the other keys. Therefore, the user typically needs to waste time locating the punctuation keys. This is particularly problematic during continuous path gestures, in which the contact input is not lifted off the touch-sensitive keyboard as the user creates a string for input into the text input area. Another problem with touch-sensitive keyboards is that the user must tap or press and hold the touch-sensitive delete key to delete characters from the text input area. Therefore, users often waste time using the delete key because the tap and press and hold gesture deletes one character at a time. Summary of the invention

[0003] Therefore, there is a need for an electronic device with a more effective method and interface for responding to a continuous path and a delete key gesture at a touch-sensitive keyboard. Such methods and interfaces optionally supplement or replace conventional methods for responding to a continuous path and a delete key gesture at a touch-sensitive keyboard. Such methods and interfaces improve typing efficiency. Through such improvement, such methods and interfaces help to enhance the operability of electronic devices, and make the human-machine interface more efficient (e.g., by allowing the user to type punctuation during a continuous path gesture without having to tap a function key and search for the desired punctuation, and quickly and seamlessly delete a string without having to tap multiple times on the delete key, or press and hold the delete key for an extended duration), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0004] The above-mentioned defects and other problems associated with the user interface of the electronic device with a touch-sensitive surface are reduced or eliminated by means of the device disclosed herein. In some embodiments, the device is a desktop computer. In some embodiments, the device is portable (e.g., a laptop, a tablet computer or a handheld device). In some embodiments, the device has a touchpad. In some embodiments, the device has a touch-sensitive display (also referred to as a "touch screen" or a "touch screen display"). In some embodiments, the device has a graphical user interface (GUI), one or more processors, a memory and one or more modules, a program or an instruction set stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI mainly through stylus and / or finger contact and gestures on the touch-sensitive surface. In some embodiments, these functions optionally include image editing, drawing, presentation, word processing, web page creation, disk editing, spreadsheet production, playing games, making and receiving calls, video conferencing, sending and receiving emails, instant messaging, fitness support, digital photography, digital video, web browsing and digital music. Executable instructions for performing these functions are optionally included in a non-transient computer-readable storage medium or other computer program product configured for execution by one or more processors.

[0005] (A1) According to some embodiments, in a device including a display (e.g., a touch-sensitive display 112, Figure 1A ) and a touch-sensitive delete key (e.g., touch-sensitive delete key 418, Figure 4B ) of an electronic device (e.g., a portable multifunction device 100, Figure 1A ) is a method for responding to different gestures on a touch-sensitive delete key. The method includes: displaying a series of characters and a cursor after the last character in the series of characters in a text input area on a display. The method also includes: in response to a tap gesture on the touch-sensitive delete key, deleting the last character in the series of characters from the text input area, and continuing to display the remaining characters in the series of characters in the text input area. The method also includes: in response to a swipe gesture on the touch-sensitive delete key, deleting the remaining characters in the series of characters from the text input area. Users often need to waste time deleting characters one at a time. Allowing the user to tap or swipe the delete key to perform a delete function on a series of characters enhances the operability of the device and makes the human-computer interface more efficient (for example, by allowing the user to quickly and seamlessly delete a string of characters without having to tap on the delete key multiple times, or press and hold the delete key for an extended duration), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the delete key.

[0006] (A2) In some embodiments of the method described in A1, after deleting the remaining characters in the series of characters from the text input area, the device continues to display the second series of characters in the text input area. In some embodiments, the method also includes: deleting the second series of characters from the text input area in response to a new swipe gesture on the touch-sensitive delete key. As described above, users often need to waste time deleting characters individually one at a time. Allowing the user to swipe the delete key to delete additional series of characters enhances the operability of the device and makes the human-computer interface more efficient (for example, by allowing the user to quickly and seamlessly delete multiple strings without having to tap the delete key multiple times, or press and hold the delete key for an extended duration), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the delete key.

[0007] (A3) In some embodiments of the method described in A2, a new swipe gesture is received within a predetermined amount of time after lift-off of the contact associated with the swipe gesture, and deleting the second series of characters includes simultaneously deleting the second series of characters. Ensuring that the new swipe gesture is received within the predetermined amount of time allows the user to quickly and completely delete multiple different series of characters without having to perform any character-by-character deletion operations. Therefore, using the predetermined amount of time helps to enhance the operability of the device and make the human-computer interface more efficient (for example, by allowing the user to quickly and seamlessly delete a string of characters without having to tap or press and hold the delete key for an extended duration), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the delete key.

[0008] (A4) In some embodiments of the method described in A3, after deleting the second series of characters, the device continues to display the third series of characters in the text input area. In some embodiments, the method also includes: in response to an additional swipe gesture received on the touch-sensitive delete key after a predetermined amount of time from the lift-off of the contact associated with the new swipe gesture, deleting one character in the third series of characters from the text input area, and then deleting the remaining characters in the third series of characters from the text input area. If a swipe gesture on the delete key is received after a predetermined amount of time, the deletion operation first deletes the character on the keyboard press event and then deletes the remaining characters in the series of characters. In this way, it is ensured that the user has a consistent user experience, in which the keyboard press event causes the character to be deleted unless a swipe gesture is received shortly thereafter. This helps to achieve continuous interaction with the device, which is consistent with the user's expectations of how those devices will operate.

[0009] (A5) In some embodiments of the method according to A2, before deleting the second series of characters, the method also includes: displaying a visual indicator around the second series of characters to provide an indication that the second series of characters will be deleted from the text input area after the new swipe gesture on the touch-sensitive delete key. Before deleting those characters, the user generally does not know which characters they are about to delete. Displaying visual indicators around the second series of characters enhances the operability of the device and makes the human-computer interface more efficient (e.g., by providing improved feedback to the user so that the user knows what he / she will delete before performing the new swipe gesture), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the delete key, and avoids having to back out of unexpected changes (e.g., deleting words that are not intended to be deleted because the user is not reminded how the next deletion operation will occur).

[0010] (A6) In some embodiments of the method according to any one of A1 to A5, the method further includes: deleting two or more separate series of characters from the text input area in response to a press and hold gesture on the touch-sensitive delete key, wherein the two or more separate series of characters are deleted from the text input area at different time points.

[0011] (A7) In some embodiments of the method described in any one of A1 to A6, the series of characters and the second series of characters are added to the text input area based on a continuous path gesture in which the continuous contact moves across multiple keys of the touch-sensitive keyboard. When typing on a keyboard, users often need to waste time pressing and lifting off keys. Allowing the user to perform continuous path gestures enhances the operability of the device and makes the human-computer interface more efficient (e.g., by allowing the user to quickly and seamlessly create strings of characters without having to lift the input off the keyboard), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the keyboard.

[0012] (A8) In some embodiments of the method described in any one of A1 to A7, the series of characters and the second series of characters are added to the text input area based on a tap gesture over a corresponding key of a touch-sensitive keyboard.

[0013] (A9) In some embodiments of the method according to any one of A1 to A8, a touch-sensitive delete key is displayed on a touch-sensitive keyboard on the display. Users often need to waste time deleting characters one at a time. Allowing the user to tap or swipe on the delete key to perform the delete function on the same keyboard used for typing enhances the operability of the device and makes the human-computer interface more efficient (e.g., by allowing the user to quickly and seamlessly delete characters and strings without having to tap or press and hold the delete key for an extended duration), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the delete key.

[0014] (A10) In some embodiments of the method according to any one of A1 to A9, a touch-sensitive delete key is displayed on a touch-sensitive secondary display separate from the display of the electronic device. Users of laptops or tablets typically use a keyboard that is not displayed on the touch-sensitive display. Allowing users to access touch-sensitive delete keys on multiple displays enhances the operability of the device and makes the human-computer interface more efficient (e.g., by allowing users to quickly and seamlessly use a preferred touch-sensitive display over another touch-sensitive display to delete characters and strings), which in turn reduces power usage and extends the battery life of the device by enabling users to spend less time using the device.

[0015] (A11) According to some embodiments, a non-transitory computer-readable storage medium is provided. In some embodiments, the non-transitory computer-readable storage medium stores executable instructions, which, when executed by one or more processors of an electronic device having a display and a touch-sensitive delete key, cause the electronic device to perform a method according to any one of A1 to A10.

[0016] (A12) According to some embodiments, an electronic device is provided. In some embodiments, the electronic device includes: one or more processors; a display; a touch-sensitive delete key; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method according to any one of A1 to A10.

[0017] (A13) According to some embodiments, an electronic device having a display and a touch-sensitive delete key is provided. In some embodiments, the electronic device includes: a device for performing the method according to any one of A1 to A10.

[0018] (A14) According to some embodiments, an information processing device for use in an electronic device includes a display and a touch-sensitive delete key, and the information processing device includes: a device for executing a method according to any one of A1 to A10.

[0019] (A15) According to some embodiments, a graphical user interface for an electronic device having one or more processors, a memory, a display, and a touch-sensitive delete key is provided. In some embodiments, the one or more processors execute one or more programs stored in the memory. In some embodiments, the graphical user interface includes a user interface displayed according to any of the methods described in A1 to A10.

[0020] (A16) According to some embodiments, a non-transitory computer-readable storage medium is provided. In some embodiments, the non-transitory computer-readable storage medium stores executable instructions, which, when executed by one or more processors of an electronic device having a display and a touch-sensitive delete key, cause the electronic device to display a series of characters and a cursor after the last character in the series of characters in a text input area on the display. In some embodiments, the instructions further cause the electronic device to detect a gesture on the touch-sensitive delete key. In some embodiments, the instructions further cause the electronic device to determine whether the gesture is a first gesture type or a second gesture type different from the first gesture type. In some embodiments, the instructions further cause the electronic device to perform a first delete function on at least one character adjacent to the cursor in the series of characters when determining that the gesture is the first gesture type. In some embodiments, the instructions further cause the electronic device to perform a second delete function on at least one character adjacent to the cursor in the series of characters when determining that the gesture is the second gesture type, wherein the second delete function is different from the first delete function. Users often need to waste time deleting characters one at a time. Allowing the user to perform a first delete gesture or a second delete gesture on the Delete key to perform two different delete functions enhances the operability of the device and makes the human-computer interface more efficient (e.g., by allowing the user to quickly and seamlessly delete characters and strings without having to tap or press and hold the Delete key for an extended duration), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the Delete key.

[0021] (B1) According to some embodiments, in a device including a display (e.g., a touch-sensitive display 112, Figure 1A ) and a touch-sensitive keyboard (e.g., touch-sensitive keyboard 314, Figure 3E ) of an electronic device (e.g., a portable multifunction device 100, Figure 1A) is performed at a method for adding punctuation keys to a touch-sensitive keyboard. The method includes: displaying a plurality of keys on the touch-sensitive keyboard. The method also includes: in response to a continuous path gesture on the touch-sensitive keyboard, wherein a contact associated with the continuous path gesture travels over two or more of the plurality of keys: starting to display punctuation keys on the touch-sensitive keyboard. The method also includes: displaying one or more characters in a text input area on the display based on the corresponding keys contacted by the contact during the continuous path gesture. Users often need to waste time locating punctuation keys because they are often hidden under function keys or cannot be activated during the continuous path gesture. Allowing the user to access the punctuation keys during the continuous path gesture enhances the operability of the device and makes the human-machine interface more efficient (e.g., by allowing the user to quickly and seamlessly type punctuation during the continuous path gesture without having to tap the function and search for the desired punctuation), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0022] (B2) In some embodiments of the method described in B1, the display of the punctuation keys includes stopping displaying the corresponding key of the multiple keys on the touch-sensitive keyboard. Users usually need to waste time locating the punctuation keys because they are usually hidden under the function keys or cannot be activated during the continuous path gesture. Stopping the display of the corresponding keys allows the device to make room to display punctuation marks on the touch-sensitive keyboard during the continuous path gesture, thereby enhancing the operability of the device and making the human-computer interface more efficient (for example, by allowing the user to quickly and seamlessly type punctuation marks during the continuous path gesture without having to tap the function keys and search for the desired punctuation marks), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0023] (B3) In some embodiments of the method described in B2, the display of the punctuation keys includes displaying additional punctuation keys on the touch-sensitive keyboard, and the punctuation keys and the additional punctuation keys are displayed in an area of ​​the touch-sensitive keyboard that was previously used to display corresponding keys of the plurality of keys. Users typically need to waste time locating the punctuation keys because they are typically hidden under function keys or cannot be activated during a continuous path gesture. Displaying the punctuation keys in an area of ​​the touch-sensitive keyboard that was previously used to display corresponding keys of the plurality of keys during a continuous path gesture enhances the operability of the device and makes the human-computer interface more efficient (e.g., by allowing the user to quickly and seamlessly type punctuation during a continuous path gesture without having to tap function keys and search for the desired punctuation), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0024] (B4) In some embodiments of the method described in B3, the arrangement of punctuation keys and additional punctuation keys is determined based on whether the continuous path gesture is provided using the user's left hand or right hand. When using a touch-sensitive keyboard, users typically need to use both hands because certain keys are too far from the fingers they use to type. Displaying certain punctuation keys closer to the user's fingers for typing during a continuous path gesture enhances the operability of the device and makes the human-computer interface more efficient (e.g., by allowing the user to quickly and seamlessly type punctuation during a continuous path gesture without having to use both hands), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0025] (B5) In some embodiments of the method according to B3, a corresponding key of the plurality of keys is a function key that, when selected, causes additional functions associated with the touch-sensitive keyboard to be displayed. Users often need to waste time locating punctuation keys because they are often hidden under function keys or cannot be activated during a continuous path gesture. Allowing the user to access punctuation keys during a continuous path gesture enhances the operability of the device and makes the human-computer interface more efficient (e.g., by allowing the user to quickly and seamlessly type punctuation during a continuous path gesture without having to tap a function and search for the desired punctuation), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0026] (B6) In some embodiments of the method described in B4, the method further includes: starting to display function keys and stopping displaying punctuation keys after the contact associated with the continuous path gesture has been lifted from the touch-sensitive display. Users typically need to waste time exiting the continuous path gesture mode to locate the function keys that have been replaced by the punctuation keys. Allowing the user to lift off the touch-sensitive display to access function keys hidden during the continuous path gesture enhances the operability of the device and makes the human-computer interface more efficient (e.g., by allowing the user to quickly and seamlessly navigate between a touch-sensitive keyboard mode that displays punctuation keys and a mode that displays function keys), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0027] (B7) In some embodiments of the method according to any one of B1 to B6, the method further includes: after displaying the punctuation key: in response to the contact associated with the continuous path gesture moving over the punctuation key, displaying the punctuation associated with the punctuation key in the text input area on the display. Users often need to waste time locating the punctuation keys because they are often hidden under function keys or cannot be activated during the continuous path gesture. Allowing the user to access the punctuation keys during a continuous path gesture enhances the operability of the device and makes the human-computer interface more efficient (for example, by allowing the user to quickly and seamlessly type punctuation during a continuous path gesture without having to tap a function and search for the desired punctuation), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0028] (B8) In some embodiments of the method described in B7, displaying punctuation marks in the text input area includes automatically displaying blank characters adjacent to the punctuation marks in the text input area without human intervention. Users often incorrectly type characters immediately after typing punctuation marks, requiring the user to manually correct the error by deleting text and / or moving the cursor back to the wrong position. Automatically displaying blank characters adjacent to typed punctuation marks enhances the operability of the device and makes the human-computer interface more efficient (e.g., by preventing the user from having to manually correct incorrectly typed characters adjacent to punctuation marks), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0029] (B9) In some embodiments of the method according to any one of B1 to B8, the method further includes: during the continuous path gesture, displaying two or more selectable word completion options based on the characters over which the contact associated with the continuous path gesture has traveled. Users often need to waste time typing each character in the word. Allowing the user to select word completion options based on characters already displayed in the text input area enhances the operability of the device and makes the human-computer interface more efficient (for example, by allowing the user to quickly and seamlessly complete the word without having to type each character of the word), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0030] (B10) In some embodiments of the method described in B9, two or more selectable word completion options displayed during the continuous path gesture are displayed directly above the touch-sensitive keyboard on the display. Users often need to waste time typing each character in the word. Allowing the user to select word completion options based on characters already displayed in the text input area enhances the operability of the device and makes the human-computer interface more efficient (e.g., by allowing the user to quickly and seamlessly complete the word without having to type each character of the word), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0031] (B11) In some embodiments of the method described in B9, the two or more word completion options displayed during the continuous path gesture are displayed in the text input area. The word completion options are typically displayed in an area of ​​the touch-sensitive display that is separate from the touch-sensitive keyboard and the text input area. Displaying the word completion options consistently with the characters displayed in the text input area enhances the operability of the device (e.g., by reducing clutter on the touch-sensitive display).

[0032] (B12) In some embodiments of the method according to any one of B1 to B11, the method further includes: as the contact associated with the continuous path gesture travels across the touch-sensitive keyboard, displaying a visual indicator reflecting the path followed by the continuous path gesture, the path indicating a predetermined number of keys over which the continuous path gesture has traveled. Users typically have only one way to know which characters they have previously typed, namely the characters displayed in the text input area. Displaying a visual indicator reflecting the path followed by the continuous path gesture enhances the operability of the device (e.g., by providing the user with additional indication of previously typed characters).

[0033] (B13) In some embodiments of the method according to B12, the indicator has a maximum line width closer to the contact associated with the continuous path gesture, and a gradually decreasing line width farther away from the contact. Users typically have only one way to know which characters they have previously typed, namely the characters displayed in the text input area. Displaying a visual indicator reflecting the path followed by a continuous path gesture enhances the operability of the device (e.g., by providing the user with additional indication of previously typed characters).

[0034] (B14) According to some embodiments, a non-transitory computer-readable storage medium is provided. In some embodiments, the non-transitory computer-readable storage medium stores executable instructions, which, when executed by one or more processors of an electronic device having a display and a touch-sensitive keyboard, cause the electronic device to perform a method according to any one of B1 to B13.

[0035] (B15) According to some embodiments, an electronic device is provided. In some embodiments, the electronic device includes: one or more processors; a display; a touch-sensitive keyboard; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method according to any one of B1 to B13.

[0036] (B16) According to some embodiments, an electronic device having a display and a touch-sensitive keyboard is provided. In some embodiments, the electronic device includes: a device for performing a method according to any one of B1 to B13.

[0037] (B17) According to some embodiments, there is provided an information processing device for use in an electronic device including a display and a touch-sensitive keyboard. In some embodiments, the information processing device includes: means for performing a method according to any one of B1 to B13.

[0038] (B18) According to some embodiments, a graphical user interface for an electronic device having one or more processors, a memory, a display, and a touch-sensitive keyboard is provided. In some embodiments, the one or more processors execute one or more programs stored in the memory, and the graphical user interface includes a user interface displayed according to any of the methods described in B1 to B13.

[0039] (C1) According to some embodiments, in a device including a display (e.g., a touch-sensitive display 112, Figure 1A ) and a touch-sensitive keyboard (e.g., touch-sensitive keyboard 314, Figure 3E ) of an electronic device (e.g., a portable multifunction device 100, Figure 1A) is performed at a touch-sensitive keyboard. The method includes: receiving keyboard input at the touch-sensitive keyboard, and establishing a disambiguation criterion for distinguishing between a continuous path gesture and a multiple tap gesture based on one or more input characteristics of the received keyboard input. The method also includes: detecting a subsequent keyboard input, and in response, comparing the subsequent keyboard input with the disambiguation criterion. The method also includes: displaying an indication of a path that the subsequent keyboard input travels above the touch-sensitive keyboard based on determining that the comparison with the disambiguation criterion indicates that the subsequent keyboard input is a continuous path gesture. The method also includes: abandoning displaying an indication of the path that the subsequent keyboard input travels based on determining that the comparison with the disambiguation criterion indicates that the subsequent keyboard input is a multiple tap gesture. Users often need to waste time exiting the continuous path gesture mode to locate keys that may have been replaced in the mode. Allowing the user to perform a continuous path gesture or a multiple tap gesture enhances the operability of the device and makes the human-machine interface more efficient (e.g., by allowing the user to quickly and seamlessly navigate between the continuous path gesture mode and the multiple tap gesture mode), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the device.

[0040] Therefore, an electronic device having a display, a touch-sensitive surface, and optionally one or more sensors for detecting the intensity of contact with the touch-sensitive surface has a more efficient method and interface for performing continuous path and delete key gestures at a touch-sensitive keyboard, thereby enhancing the operability of the device and making the human-computer interface more efficient. It should be noted that the various embodiments described above may be combined with any other embodiments described herein. The features and advantages described in this specification are not comprehensive, and in particular, many additional features and advantages will be apparent to those of ordinary skill in the art based on the drawings, the specification, and the claims. In addition, it should be noted that the language used in this specification has been selected in principle for readability and guidance purposes, and may not be selected to describe or define the subject matter of the invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] For a better understanding of the various described embodiments, reference should be made to the following detailed description section in conjunction with the following drawings, wherein like reference numerals refer to corresponding parts throughout the drawings.

[0042] Figure 1A is a high-level block diagram of a computing device with a touch-sensitive display according to some embodiments.

[0043] Figure 1B is a diagram illustrating exemplary components for event processing according to some embodiments.

[0044] Figure 1C is a diagram illustrating a portable multifunction device with a touch-sensitive display according to some embodiments.

[0045] Figure 1D is an illustration of a user interface on a device having a touch-sensitive surface separate from a touch-sensitive display according to some embodiments.

[0046] Figure 2 is an illustration of a user interface for showing a menu of applications according to some embodiments.

[0047] Figure 3A is a flowchart illustrating a method of responding to a continuous path gesture at a touch-sensitive keyboard according to some embodiments.

[0048] FIG. 3B to FIG. 3O is an illustration of a user interface in which continuous path gestures may be performed according to some embodiments.

[0049] Figure 4A is a flowchart illustrating a method of responding to a delete key gesture at a touch-sensitive keyboard according to some embodiments.

[0050] FIG. 4B to FIG. 4N is an illustration of a user interface for executing a delete key gesture according to some embodiments.

[0051] FIG. 5A to FIG. 5D is a flowchart illustrating a method of adding punctuation keys to a touch-sensitive keyboard according to some embodiments.

[0052] FIG. 6A to FIG. 6C and Figure 7 is a flowchart showing a method of responding to different gestures on a touch-sensitive delete key according to some embodiments.

[0053] Figure 8 is a flowchart illustrating a method of distinguishing between a tap gesture or a continuous path gesture on a touch-sensitive keyboard according to some embodiments. DETAILED DESCRIPTION

[0054] As described above and discussed in more detail below, it is desirable to have an electronic device with a more effective method and interface for responding to a continuous path and a delete key gesture at a touch-sensitive keyboard. A novel method and interface for addressing these needs are disclosed herein. Such methods and interfaces optionally supplement or replace conventional methods for responding to a continuous path and a delete key gesture at a touch-sensitive keyboard. Such methods and interfaces improve the typing efficiency at a touch-sensitive keyboard. Through such improvement, such methods and interfaces contribute to enhancing the operability of electronic devices, and making the human-machine interface more efficient (e.g., by allowing a user to type punctuation during a continuous path gesture without having to tap a function key and search for desired punctuation, and quickly and seamlessly deleting a string without having to tap multiple times on the delete key, or pressing and holding the delete key for an extended duration), which in turn reduces power usage and extends the battery life of the device by enabling the user to spend less time using the touch-sensitive keyboard.

[0055] under, Figures 1A to 1D , Figure 2 , FIG. 3B to FIG. 3O and FIG. 4B to FIG. 4N The description refers to exemplary electronic devices and user interfaces. Figure 3A The description refers to a flowchart illustrating an exemplary method of responding to a continuous path gesture at a touch-sensitive keyboard. Figure 4A The description refers to a flowchart illustrating an exemplary method of responding to a delete key gesture at a touch-sensitive keyboard. FIG. 5A to FIG. 5D The description refers to a flowchart illustrating an exemplary method of adding punctuation keys to a touch-sensitive keyboard. FIG. 6A to FIG. 6C and Figure 7 The description of references a flow chart showing an exemplary method of responding to different gestures on a touch-sensitive delete key. Thus, Figure 3A , Figure 4A , FIG. 5A to FIG. 5D , FIG. 6A to FIG. 6C and Figure 7 Shown by Figures 1A to 1D , Figure 2 , FIG. 3B to FIG. 3O and FIG. 4B to FIG. 4N Methods and / or processes performed by exemplary electronic devices.

[0056] Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings. Many specific details are shown in the following detailed description in order to provide a full understanding of the various described embodiments. However, it will be apparent to one of ordinary skill in the art that the various described embodiments can be practiced without these specific details. In other cases, well-known methods, processes, components, circuits, and networks are not described in detail, so as not to unnecessarily obscure various aspects of the embodiments.

[0057] It will also be understood that, although in some cases, the terms "first", "second", etc. are used to describe various elements in this article, these elements should not be limited by these terms. These terms are only used to distinguish an element from another element. For example, the first contact can be named as the second contact, and similarly, the second contact can be named as the first contact, without departing from the scope of the various described embodiments. Both the first contact and the second contact are contacts, but they are not the same contact.

[0058] The terms used in the description of various embodiments described herein are only for the purpose of describing specific embodiments, and are not intended to be limited. As used in the description of various embodiments described and in the appended claims, the singular forms "a", "an" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" used herein refers to and encompasses any and all possible combinations of one or more items in the items listed in association. It will also be understood that the terms "including" and / or "comprising" are used in this specification to specify the presence of stated features, integers, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts and / or their grouping.

[0059] As used herein, the term "if" is optionally interpreted to mean "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that" or "if [a stated condition or event] is detected" are optionally interpreted to mean "upon determining that" or "in response to determining that" or "upon detecting [a stated condition or event]" or "in response to detecting [a stated condition or event]," depending on the context.

[0060] The disclosure herein interchangeably refers to detecting touch input at, at, above, on top of, or substantially within a particular user interface element or portion of a touch-sensitive display. As used herein, a touch input detected “at” a particular user interface element can also be detected “on,” “over,” “on top of,” or “substantially within” the same user interface element. In some embodiments and as described in more detail below, the desired sensitivity level for detecting touch input is configured by a user of the electronic device (e.g., a user can decide (and configure the electronic device to be operated) that touch input should only be detected when the touch input is completely within a user interface element).

[0061] Embodiments of electronic devices, user interfaces for such devices, and processes associated with using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or a music player function. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPod Touch from APPLE Inc. (Cupertino, California). IPOD and Device. Other portable electronic devices are optionally used, such as a laptop or tablet computer with a touch-sensitive surface (e.g., a touch-sensitive display and / or a touchpad). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (e.g., a touch-sensitive display and / or a touchpad). In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, a mouse, and / or a joystick.

[0062] The device typically supports a variety of applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk editing application, a spreadsheet application, a game application, a telephone application, a video conferencing application, an email application, an instant messaging application, a fitness application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application. The various applications executed on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and the corresponding information displayed on the device are optionally adjusted and / or changed for different applications, and / or adjusted and / or changed within the corresponding application. In this way, the common physical architecture of the device (such as a touch-sensitive surface) optionally supports various applications with a user interface that is intuitive and clear to the user. Now focus on the implementation of a portable electronic device with a touch-sensitive display.

[0063] Figure 1A1 is a high-level block diagram of a computing device with a touch-sensitive display according to some embodiments. The touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and is sometimes referred to as or referred to as a touch-sensitive display system. The device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a controller 120, one or more processing units (CPUs) 122, a peripheral device interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input or control devices 116, and an external port 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more intensity sensors 165 for detecting the intensity of contact on the device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display 112 of the device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface, such as touch-sensitive display 112 of device 100 or a touch pad of device 100). These components optionally communicate via one or more communication buses or signal lines 103.

[0064] As used in this specification and in the claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (surrogate) of the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values ​​that includes at least four different values ​​and more typically includes hundreds of different values ​​(e.g., at least 256). The intensity of a contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or changes thereto, the capacitance of the touch-sensitive surface near the contact and / or changes thereto, and / or the resistance of the touch-sensitive surface near the contact and / or changes thereto are optionally used as a substitute for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the substitute measurement of contact force or pressure is used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some implementations, the substitute measurement of contact force or pressure is converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in pressure units).

[0065] As used in this specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, which will be detected by a user using the user's sense of touch. For example, in the case where a device or a component of the device is in contact with a user's touch-sensitive surface (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical characteristic of the device or component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "press click" or "release click" to a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click", even when the physical actuation button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's movement does not move. As another example, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface even when there is no change in the smoothness of the touch-sensitive surface. While such a user's interpretation of touch will be limited by the user's individualized sensory perceptions, many sensory perceptions of touch are common to most users. Thus, when tactile outputs are described as corresponding to a particular sensory perception of a user (e.g., "release click," "press click," "roughness"), unless otherwise stated, the generated tactile outputs correspond to physical displacements of the device or a component thereof that would generate the described sensory perceptions for a typical (or average) user.

[0066] It should be understood that device 100 is merely one example of a portable multifunction device, and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. Figure 1A The various components shown in are implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits. The memory 102 optionally includes a high-speed random access memory (e.g., DRAM, SRAM, DDR RAM or other random access solid-state memory devices), and optionally also includes a non-volatile memory, such as one or more disk storage devices, flash memory devices or other non-volatile solid-state memory devices. The memory 102 optionally includes one or more storage devices located away from the one or more processors 122. Access to the memory 102 by other components of the device 100 (such as the CPU 122 and the peripheral device interface 118) is optionally controlled by the controller 120.

[0067] Peripheral device interface 118 can be used to couple the input peripherals and output peripherals of the device to CPU 122 and memory 102. One or more processors 122 run or execute various software programs and / or instruction sets stored in memory 102 to perform various functions of device 100 and process data. In some embodiments, peripheral device interface 118, CPU 122, and controller 120 are optionally implemented on a single chip such as chip 104. In some other embodiments, they are optionally implemented on separate chips.

[0068] RF (radio frequency) circuit 108 receives and sends RF signals, also referred to as electromagnetic signals. RF circuit 108 converts electrical signals into / from electromagnetic signals and communicates with a communication network and other communication devices via electromagnetic signals. RF circuit 108 optionally includes well-known circuits for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec chipset, a subscriber identity module (SIM) card, memory, and the like. RF circuit 108 optionally communicates with networks and other devices via wireless communications, such as the Internet (also referred to as the World Wide Web (WWW)), an intranet, and / or a wireless network (such as a cellular telephone network, a wireless local area network (LAN), and / or a metropolitan area network (MAN)). Wireless communication optionally uses any of a variety of communication standards, protocols, and technologies, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed ​​Downlink Packet Access (HSDPA), High Speed ​​Uplink Packet Access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11n).

[0069] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into a sound wave audible to humans. The audio circuit 110 also receives an electrical signal converted from a sound wave by the microphone 113. The audio circuit 110 converts the electrical signal into audio data, and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headset jack. The headset jack provides an interface between the audio circuit 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset with both output (e.g., a single-ear headset or a dual-ear headset) and input (e.g., a microphone).

[0070] The I / O subsystem 106 connects input / output peripherals on the device 100, such as a touch-sensitive display 112 and other input control devices 116, to a peripheral device interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. One or more input controllers 160 receive / send electrical signals from / to other input or control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some alternative embodiments, one or more input controllers 160 are optionally coupled to any one of the following (or not coupled to any one of the following): a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons may optionally include an increase / decrease button for volume control of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button.

[0071] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touch-sensitive display 112 and / or sends electrical signals to the touch-sensitive display. The touch-sensitive display 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some visual outputs or all visual outputs correspond to user interface objects. The touch-sensitive display 112 has a touch-sensitive surface, sensor, or sensor group that accepts input from the user based on tactile and / or tactile contact. The touch-sensitive display 112 and the display controller 156 (together with any associated modules and / or instruction sets in the memory 102) detect contact (and any movement or interruption of the contact) on the touch-sensitive display 112, and convert the detected contact into an interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch-sensitive display 112. In an exemplary embodiment, the contact point between the touch-sensitive display 112 and the user corresponds to the area under the user's finger.

[0072] The touch-sensitive display 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, or OLED (organic light emitting diode) technology, although other display technologies are used in other embodiments. The touch-sensitive display 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch-sensitive display 112 to detect contact and any movement or interruption thereof. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as the ATmega 200 from APPLE Inc. (Cupertino, California). IPOD and Discovery technology.

[0073] The touch-sensitive display 112 optionally has a video resolution of more than 400dpi. In some embodiments, the touch-sensitive display 112 has a video resolution of at least 600dpi. In other embodiments, the touch-sensitive display 112 has a video resolution of at least 1000dpi. The user optionally uses any suitable object or finger such as a stylus or finger, etc., to contact the touch-sensitive display 112. In some embodiments, the user interface is designed to work mainly with finger-based contact and gestures. In some embodiments, the device converts finger-based input into an accurate pointer / cursor position or command for performing the desired action of the user. In some embodiments, in addition to the touch screen, the device 100 optionally includes a touch pad (not shown) for activating or deactivating a specific function. In some embodiments, the touch pad is a touch-sensitive area of ​​the device, which, unlike the touch screen, does not display visual output. The touch pad is optionally a touch-sensitive surface separated from the touch-sensitive display 112, or an extension of the touch-sensitive surface formed by the touch screen.

[0074] The device 100 also includes a power system 162 for powering the various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.

[0075] Device 100 optionally also includes one or more optical sensors 164 . Figure 1A An optical sensor coupled to an optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with the imaging module 143 (also called a camera module), the optical sensor 164 optionally captures a static image or video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite to the touch-sensitive display 112 on the front of the device, so that the touch-sensitive display can be used as a viewfinder for static image and / or video image acquisition. In some embodiments, another optical sensor is located on the front of the device so that the user can optionally obtain an image of the user for video conferencing while watching other video conference participants on the touch-sensitive display.

[0076] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1AA contact force sensor is shown coupled to a force sensor controller 159 in the I / O subsystem 106. The contact force sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors for measuring the force (or pressure) of contact on a touch-sensitive surface). The contact force sensor 165 receives contact force information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact force sensor is arranged in juxtaposition or proximity to a touch-sensitive surface (e.g., touch-sensitive display 112). In some embodiments, at least one contact force sensor is located on the rear of the device 100, opposite to the touch-sensitive display 112 located on the front of the device 100. The device 100 optionally also includes one or more proximity sensors 166. Figure 1A A proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 is coupled to the input controller 160 in the I / O subsystem 106. In some embodiments, when the multifunction device is placed near the user's ear (e.g., when the user is on a phone call), the proximity sensor turns off and disables the touch-sensitive display 112.

[0077] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1A A tactile output generator is shown coupled to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generator 167 optionally includes one or more electroacoustic devices such as a speaker or other audio component; and / or an electromechanical device for converting energy into linear motion such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component for converting an electrical signal into a tactile output on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates a tactile output on the device 100 that can be felt by a user of the device 100. In some embodiments, at least one tactile output generator is arranged in parallel or adjacent to a touch-sensitive surface (e.g., touch-sensitive display 112) and optionally generates tactile output by moving the touch-sensitive surface vertically (e.g., inward / outward of the surface of the device 100) or laterally (e.g., backward and forward in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on a rear portion of the device 100 opposite the touch-sensitive display 112 located on the front of the device 100 .

[0078] Device 100 optionally also includes one or more accelerometers 168 . Figure 1AAn accelerometer 168 is shown coupled to the peripheral device interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. In some embodiments, information is displayed in a portrait view or a landscape view on the touch-sensitive display based on an analysis of data received from the one or more accelerometers. The device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) in addition to the accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of the device 100.

[0079] In some embodiments, the software components stored in the memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a global positioning system (GPS) module (or instruction set) 135, and an application (or instruction set) 136. In addition, in some embodiments, the memory 102 stores a device / global internal state 157, a keyboard input analysis module 163 (e.g., a module used in conjunction with the methods described herein to analyze input and determine whether to enter a continuous path keyboard mode), a continuous path keyboard module 163-1 (e.g., a module for managing the keyboard when the keyboard is in a continuous path keyboard mode, such as managing the presentation of a snake-like animation for showing a path traced by a user's finger on the keyboard, managing the replacement of function keys with punctuation keys, etc.), and a delete gesture module 163-2 (e.g., a module for managing delete key gesture operations, including a swipe gesture on the delete key as described below), as Figure 1A Device / global internal state 157 includes one or more of the following: active application state, which indicates which applications (if any) are currently active; display state, which indicates what applications, views, or other information occupy various areas of touch-sensitive display 112; sensor state, including information obtained from the device's various sensors and input control devices 116; and position information about the device's position and / or posture (e.g., the device's orientation).

[0080] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.), and facilitates communication between various hardware and software components. The communication module 128 facilitates communication with other devices through one or more external ports 124, and also includes various software components for processing data received by the RF circuit 108 and / or the external port 124. The external port 124 (e.g., a universal serial bus (USB), FireWire, etc.) is suitable for direct coupling to other devices, or indirectly coupling through a network (e.g., the Internet, a wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector that is the same as, or similar to, and / or compatible with, the 30-pin connector used in some embodiments of the IPOD device from APPLE Inc. In other embodiments, the external port is a multi-pin (e.g., 8-pin) connector that is the same as, similar to, and / or compatible with the 8-pin connector used in the LIGHTNING connector from APPLE Inc.

[0081] The contact / motion module 130 optionally detects contact with the touch-sensitive display 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger press event), determining the contact strength (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or contact disconnection). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of a contact point optionally includes determining a rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of which is represented by a series of contact data. These operations are optionally applied to a single contact (e.g., one finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on a touch pad.

[0082] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation has been performed by a user (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds are determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and can be adjusted without changing the physical hardware of the device 100). For example, without changing the touchpad or touch-sensitive display hardware, the mouse "click" threshold of the touchpad or touch-sensitive display can be set to any one of a large range of predefined thresholds. In addition, in some specific implementations, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).

[0083] The contact / motion module 130 optionally detects gesture input by the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of the detected contacts). Therefore, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event and then detecting a finger lift (lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event and then detecting one or more finger drag events, and in some embodiments, also subsequently detecting a finger lift (lift-off) event.

[0084] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch-sensitive display 112 or other displays, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual attributes) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, without limitation, text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc. In some embodiments, the graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes for specifying graphics to be displayed from an application, etc., and also receives coordinate data and other graphics attribute data together when necessary, and then generates screen image data to be output to the display controller 156.

[0085] The tactile feedback module 133 includes various software components for generating instructions that are used by the tactile output generator 167 to produce tactile outputs at one or more locations on the device 100 in response to a user's interaction with the device 100. The text input module 134, which is optionally a component of the graphics module 132, provides a soft keyboard for entering text in various applications (e.g., the contacts module 137, the email client module 140, the IM module 141, the browser module 147, and any other application requiring text input). The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone module 138 for location-based dialing; to the camera module 143 as picture / video metadata; and to applications that provide location-based services such as weather widgets, local yellow pages widgets, and map / navigation widgets).

[0086] Application program ("app") 136 optionally includes the following modules (or instruction sets) or a subset or superset thereof:

[0087] Contacts module 137 (sometimes called address book or contact list);

[0088] Telephone module 138;

[0089] Video conferencing module 139;

[0090] Email client module 140;

[0091] Instant messaging (IM) module 141;

[0092] Fitness module 142;

[0093] A camera module 143 for still images and / or video images;

[0094] Image management module 144;

[0095] Browser module 147;

[0096] Calendar module 148;

[0097] A widget module 149, which optionally includes one or more of the following: a weather widget 149-1, a stock widget 149-2, a calculator widget 149-3, an alarm widget 149-4, a dictionary widget 149-5, and other widgets acquired by the user, and a user-created widget 149-6;

[0098] Search module 151;

[0099] A video and music player module 152, optionally consisting of a video player module and a music player module;

[0100] Memo module 153;

[0101] Map module 154; and / or

[0102] Online video module 155.

[0103] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, website creation applications, disk editing applications, spreadsheet applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, widget creator module 149-6 for making user-created widgets, and voice replication. In conjunction with touch-sensitive display 112, display controller 156, contact module 130, graphics module 132, and text input module 134, contact module 137 is optionally used to manage an address book or contact list (e.g., stored in contact module 137 in memory 102), including: adding one or more names to an address book; deleting a name from an address book; associating a phone number, email address, physical address, or other information with a name; associating an image with a name; categorizing and classifying names; providing a phone number or email address to initiate and / or facilitate communications through telephone module 138, video conferencing module 139, email client module 140, or IM module 141; and the like.

[0104] In conjunction with RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch-sensitive display 112, display controller 156, contact module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a character sequence corresponding to a phone number, access one or more phone numbers in address book 137, modify an entered phone number, dial a corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is completed. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies. In conjunction with RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch-sensitive display 112, display controller 156, optical sensor 164, optical sensor controller 158, contact module 130, graphics module 132, text input module 134, contact list 137, and phone module 138, video conferencing module 139 includes executable instructions for initiating, conducting, and terminating a video conference between a user and one or more other participants according to user instructions.

[0105] In conjunction with RF circuitry 108, touch-sensitive display 112, display controller 156, contact module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143. In conjunction with RF circuitry 108, touch-sensitive display 112, display controller 156, contact module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for entering a sequence of characters corresponding to an instant message, modifying previously entered characters, sending a corresponding instant message (e.g., using a short message service (SMS) or multimedia message service (MMS) protocol for phone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving an instant message, and viewing a received instant message. In some embodiments, the instant message transmitted and / or received optionally includes graphics, photos, audio files, video files and / or other attachments supported in MMS and / or Enhanced Message Service (EMS). As used herein, "instant message" refers to both telephone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0106] In conjunction with RF circuit 108, touch-sensitive display 112, display controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and video and music player module 146, health module 142 includes executable instructions for the following operations: create a fitness (e.g., with time, distance and / or calorie burn goals); communicate with fitness sensors (sports equipment, such as watches or pedometers); receive fitness sensor data; calibrate sensors for monitoring fitness; select fitness music and play it; and display, store and transmit fitness data. In conjunction with touch-sensitive display 112, display controller 156, one or more optical sensors 164, optical sensor controller 158, contact module 130, graphics module 132 and image management module 144, camera module 143 includes executable instructions for capturing still images or videos (including video streams) and storing them in memory 102, modifying the characteristics of still images or videos, or deleting still images or videos from memory 102. In conjunction with touch-sensitive display 112, display controller 156, contact module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, displaying (e.g., in a digital slide show or album), and storing still images and / or video images.

[0107] In conjunction with RF circuitry 108, touch-sensitive display 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, browser module 147 includes executable instructions for browsing the Internet (including searching, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages) in accordance with user instructions. In conjunction with RF circuitry 108, touch-sensitive display 112, display system controller 156, contact module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, calendar module 148 includes executable instructions for creating, displaying, modifying, and storing calendars and data associated with calendars (e.g., calendar entries, to-do items, etc.) in accordance with user instructions. In conjunction with the RF circuit 108, the touch-sensitive display 112, the display system controller 156, the contact module 130, the graphics module 132, the text input module 134, and the browser module 147, the desktop widget module 149 is a mini-application that is optionally downloaded and used by the user (e.g., the weather desktop widget 149-1, the stock desktop widget 149-2, the calculator desktop widget 149-3, the alarm desktop widget 149-4, and the dictionary desktop widget 149-5) or a mini-application created by the user (e.g., the user-created desktop widget 149-6). In some embodiments, the desktop widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the desktop widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., the Yahoo! desktop widget). In combination with the RF circuit 108, the touch-sensitive display 112, the display system controller 156, the contact module 130, the graphics module 132, the text input module 134 and the browser module 147, a desktop widget creator module (not shown) is optionally used by a user to create a desktop widget (e.g., to transfer a user-specified portion of a web page into a desktop widget).

[0108] In conjunction with the touch-sensitive display 112, the display system controller 156, the contact module 130, the graphics module 132, and the text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, image, video, and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions. In conjunction with the touch-sensitive display 112, the display system controller 156, the contact module 130, the graphics module 132, the audio circuit 110, the speaker 111, the RF circuit 108, and the browser module 147, the video and music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats (such as MP3 or AAC files), as well as executable instructions to display, present, or otherwise play back videos (e.g., on the touch-sensitive display 112 or on an external display connected via the external port 124). In some embodiments, the device 100 optionally includes the functionality of an MP3 player (such as the IPOD of APPLE Inc.). In conjunction with the touch-sensitive display 112, the display controller 156, the contact module 130, the graphics module 132, and the text input module 134, the memo module 153 includes executable instructions for creating and managing memos, to-do items, etc. according to user instructions.

[0109] In combination with the RF circuit 108, the touch-sensitive display 112, the display system controller 156, the contact module 130, the graphics module 132, the text input module 134, the GPS module 135, and the browser module 147, the map module 154 is optionally used to receive, display, modify, and store executable instructions for maps and data associated with the maps (e.g., driving directions; data about stores and other points of interest at or near a particular location; and other location-based data) in accordance with user instructions. In conjunction with touch-sensitive display 112, display system controller 156, contact module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions for allowing a user to access, browse, receive (e.g., by streaming and / or downloading), play back (e.g., on a touch screen or on an external display connected via external port 124), send emails with links to specific online videos, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used instead of email client module 140 to send a link to a specific online video.

[0110] like Figure 1AAs shown, portable multifunction device 100 also includes a keyboard input analysis module 163 for analyzing input received at a touch-sensitive keyboard displayed on touch-sensitive display 112. Keyboard input analysis module 163 optionally includes the following modules (or instruction sets) or a subset or superset thereof:

[0111] A continuous path gesture module 163-1 for responding to continuous path gestures at a touch-sensitive keyboard; and

[0112] A delete key gesture module 163-2 for responding to a delete key gesture at a touch-sensitive keyboard;

[0113] Each module and application in the above-mentioned identified modules and applications corresponds to a set of executable instructions for performing one or more functions and the methods described in this patent application (e.g., computer-implemented methods and other information processing methods described herein). These modules (or instruction sets) do not have to be implemented as independent software programs, processes or modules, so various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 102 optionally stores a subset of the above-mentioned modules and data structures. In addition, memory 102 optionally stores other modules and data structures not described above. In some embodiments, device 100 is a device in which the operation of a predefined set of functions on the device is performed exclusively by a touch screen and / or a touch pad. By using a touch screen and / or a touch pad as the main input control device for operating device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on device 100 is optionally reduced. A predefined set of functions performed exclusively by a touch screen and / or a touch pad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates the device 100 to a main menu, home menu, or root menu from any user interface displayed on the device 100. In such embodiments, the touchpad is used to implement a "menu button." In some other embodiments, the menu button is a physical push button or other physical input control device instead of a touchpad.

[0114] Figure 1B is a diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) includes an event classifier 170 (e.g., in an operating system 126) and a selected from a portable multifunction device 100 ( Figure 1A) among the applications 136 (e.g., any of the aforementioned applications stored in memory 102 together with application 136). Event classifier 170 receives event information and determines the application 136-1 and the application view 191 of application 136-1 to which the event information is to be delivered. Event classifier 170 includes an event monitor 171 and an event distributor module 174. In some embodiments, application 136-1 includes an application internal state 192, which indicates one or more current application views displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and application internal state 192 is used by event classifier 170 to determine application view 191 to which the event information is to be delivered.

[0115] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resume information to be used when the application 136-1 resumes execution, user interface state information indicating that information is being displayed or ready for display by the application 136-1, a state queue for enabling the user to return to a previous state or view of the application 136-1, and a repeat / undo queue of previous actions taken by the user. The event monitor 171 receives event information from the peripheral device interface 118. The event information includes information about sub-events (e.g., user touches on the touch-sensitive display 112 as part of a multi-touch gesture). The peripheral device interface 118 transmits information it receives from the I / O subsystem 106 or sensors such as the proximity sensor 166, one or more accelerometers 168, and / or the microphone 113 (via the audio circuit 110). The information received by the peripheral device interface 118 from the I / O subsystem 106 includes information from the touch-sensitive display 112 or the touch-sensitive surface.

[0116] In some embodiments, event monitor 171 sends a request to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input higher than a predetermined noise threshold and / or receiving an input longer than a predetermined duration). In some embodiments, event classifier 170 also includes hit view determination module 172 and / or active event identifier determination module 173. When touch-sensitive display 112 displays more than one view, hit view determination module 172 provides a software process for determining where a sub-event has occurred within one or more views. A view consists of controls and other elements that a user can see on the display.

[0117] Another aspect of the user interface associated with an application is a set of views, sometimes also referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of the corresponding application) in which a touch is detected optionally corresponds to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the event set identified as a correct input is optionally determined at least in part based on the hit view of the initial touch, which starts a touch-based gesture. The hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchical structure, the hit view determination module 172 identifies the hit view as the lowest view in the hierarchical structure in which the sub-event should be processed. In most cases, the hit view is the lowest level view in which the sub-event (i.e., the first sub-event in the sub-event sequence that forms an event or potential event) occurs. Once the hit view is identified by the hit view determination module, the hit view generally receives all sub-events related to the same touch or input source for which it is identified as a hit view.

[0118] Active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a specific sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a specific sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views including the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive a specific sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with a specific view, the higher views in the hierarchy will still remain as actively participating views. Event distributor module 174 distributes event information to event recognizers (e.g., event recognizer 180). In embodiments including active event recognizer determination module 173, event distributor module 174 delivers event information to event recognizers determined by active event recognizer determination module 173. In some embodiments, event distributor module 174 stores event information in an event queue, which is retrieved by corresponding event receiver 182. In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In yet another embodiment, event classifier 170 is a standalone module or a part of another module stored in memory 102 (such as contact / motion module 130).

[0119] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring in a corresponding view of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, the corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more event recognizers in event recognizers 180 are part of an independent module, which is a higher-level object such as a user interface toolkit (not shown) or application 136-1 from which methods and other properties are inherited. In some embodiments, the corresponding event handler 190 includes one or more of the following: data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views in application view 191 include one or more corresponding event handlers 190. In addition, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in the corresponding application view 191.

[0120] The corresponding event identifier 180 receives event information (e.g., event data 179) from the event classifier 170 and identifies the event from the event information. The event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, the event identifier 180 also includes metadata 183 and at least one subset of event delivery instructions 188 (which optionally include sub-event delivery instructions). The event receiver 182 receives event information from the event classifier 170. The event information includes information about sub-events such as touch or touch movement. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves the movement of the touch, the event information optionally also includes the speed and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another orientation (e.g., rotating from a longitudinal orientation to a horizontal orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).

[0121] Event comparator 184 compares event information with predefined event or sub-event definitions, and determines an event or sub-event based on the comparison, or determines or updates the state of an event or sub-event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 includes the definition of an event (e.g., a predefined sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events in event 187 include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, the definition of event 1 (187-1) is a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on a displayed object, a first lift (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on a displayed object, and a second lift (touch end) of a predetermined duration. In another example, the definition of event 2 (187-2) is a drag on a displayed object. For example, dragging includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.

[0122] In some embodiments, event definition 186 includes a definition of an event for a corresponding user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view displaying three user interface objects on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler associated with a sub-event and an object that triggers the hit test. In some embodiments, the definition of corresponding event 187 also includes a delay action that delays the delivery of event information until it has been determined that the sub-event sequence does correspond to or does not correspond to the event type of the event identifier.

[0123] When the corresponding event recognizer 180 determines that the sub-event sequence does not match any event in the event definition 186, the corresponding event recognizer 180 enters an event impossible, event failed, or event end state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process the sub-events of the touch-based gesture that continue. In some embodiments, the corresponding event recognizer 180 includes metadata 183 with configurable properties, tags, and / or lists that indicate how the event delivery system should perform sub-event delivery to actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to different levels in a view or programmatic hierarchy. In some embodiments, when one or more specific sub-events of an event are recognized, the corresponding event recognizer 180 activates the event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers the event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and deferred sending) the sub-event to the corresponding hit view. In some embodiments, the event recognizer 180 throws a tag associated with the identified event, and the event handler 190 associated with the tag obtains the tag and performs a predefined process.

[0124] In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about sub-events without activating event handlers. Instead, sub-event delivery instructions deliver event information to event handlers associated with sub-event sequences or to actively participating views. Event handlers associated with sub-event sequences or with actively participating views receive event information and execute predetermined processes. In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates the phone number used in contact module 137, or stores video files used in video or music player module 145. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 176 creates a new user interface object or updates the position of a user interface object. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on a touch-sensitive display. In some embodiments, event handler 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.

[0125] It should be understood that the above discussion of event processing of user touches on a touch-sensitive display also applies to other forms of user input that utilize input devices to operate the multifunction device 100, and not all user input is initiated on the touch screen. For example, mouse movement and mouse button presses, optionally in conjunction with single or multiple keyboard presses or hold; contact movement on a touch pad, such as tapping, dragging, scrolling, etc.; stylus input; movement of the device; verbal commands; detected eye movement; biometric input; and / or any combination thereof are optionally used as input corresponding to sub-events defining the event to be recognized.

[0126] Figure 1CIt is a diagram for showing a portable multifunction device with a touch-sensitive display according to some embodiments. In some embodiments, and in other embodiments described below, a user can select one or more graphics displayed on the touch-sensitive display by, for example, making gestures on the screen with one or more fingers or with one or more styluses. In some embodiments, when the user interrupts contact with one or more graphics (for example, by lifting a finger from the screen), selection of one or more graphics will occur. In some embodiments, the gesture optionally includes one or more tap gestures (for example, a series of touches to the screen after lifting), one or more swipe gestures (continuous contact during a gesture along the surface of the screen, for example, from left to right, from right to left, up and / or down) and / or rolling of a finger that has come into contact with the device 100 (for example, from right to left, from left to right, up and / or down). In some specific implementations or in some cases, inadvertent contact with a graphic will not select the graphic. For example, when the gesture used to launch an application is a tap gesture, a swipe gesture that sweeps over an application enable representation (e.g., an icon) may not launch (e.g., open) the corresponding application.

[0127] Figure 1D is an illustration of a user interface on a device having a touch-sensitive surface separate from a touch-sensitive display, according to some embodiments. In some embodiments, touch-sensitive surface 195 includes one or more contact force sensors (e.g., one or more of one or more contact force sensors 165) for detecting the intensity of contact on touch-sensitive surface 195, and / or one or more tactile output generators 167 for generating tactile output for a user of touch-sensitive surface 195.

[0128] Although some of the embodiments that follow will refer to input on a touch-sensitive display 112 (where a touch-sensitive surface and a display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, such as Figure 1D In some embodiments, the touch-sensitive surface (e.g., Figure 1D 195) has a main axis (e.g., Figure 1D 198) corresponding to the main axis (for example, Figure 1D According to these embodiments, the device detects a position corresponding to a corresponding position on the display (e.g., Figure 1D , 197-1 corresponds to 196-1 and 197-2 corresponds to 196-2) contact with touch-sensitive surface 195 (e.g., Figure 1D Thus, on a touch-sensitive surface (e.g., Figure 1D195) and a display of a multi-function device (e.g., Figure 1D 194 in the figure) is separated, the user input detected by the device on the touch-sensitive surface (e.g., contact 197-1 and contact 197-2 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.

[0129] In addition, although the following examples are primarily given with reference to finger inputs (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). As another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detecting the contact, followed by ceasing to detect the contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or a mouse and multiple finger contacts are optionally used simultaneously.

[0130] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), a focus selector is displayed on a touch-sensitive surface (e.g., Figure 1D In the event that an input (e.g., a press input) is detected on touch-sensitive surface 195 (in some embodiments, touch-sensitive surface 195 is a touchpad) in the display, the particular user interface element is adjusted based on the detected input. In the event that an input (e.g., a press input) is detected on touch-sensitive surface 195 (in some embodiments, touch-sensitive surface 195 is a touchpad) in the display, the particular user interface element is adjusted based on the detected input. Figure 1A In some embodiments of the present invention, a touch-sensitive display 112 in the display is used to display a user interface of a certain user interface. In some embodiments, a contact detected on the touch screen acts as a "focus selector" such that when input (e.g., a press input by the contact) is detected at the location of a specific user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the specific user interface element is adjusted based on the detected input.

[0131] In some implementations, focus moves from one area of ​​a user interface to another area of ​​the user interface without corresponding movement of a cursor or movement of a contact on a touch screen display (e.g., by using a tab key or arrow keys to move focus from one button to another); in these implementations, a focus selector moves in accordance with the movement of focus between different areas of the user interface. Regardless of the specific form that the focus selector takes, the focus selector is typically a user interface element (or contact on a touch screen display) that is controlled by a user to convey the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a trackpad or touch-sensitive display), the position of a focus selector (e.g., a cursor, contact, or selection box) over a corresponding button will indicate that the user desires to activate the corresponding button (rather than other user interface elements shown on the device display). Attention is now turned to user interface ("UI") implementations and associated processes that can be implemented on an electronic device with a display and a touch-sensitive surface (such as device 100).

[0132] Figure 2 is an illustration of a user interface for displaying a menu of applications according to some embodiments. A similar user interface is optionally provided on device 100 ( Figure 1A In some embodiments, the user interface of the menu of the application includes the following elements, or a subset or superset thereof:

[0133] One or more signal strength indicators 202 of one or more wireless communications such as cellular signals and Wi-Fi signals;

[0134] Time 203;

[0135] Battery status indicator 205;

[0136] A tray 209 with icons for commonly used applications, such as:

[0137] o An icon 216 of the phone module 138 labeled "Phone" which optionally includes an indicator 214 of the number of missed calls or voice messages;

[0138] o an icon 218 of the email client module 140 labeled "Mail," which optionally includes an indicator 210 of the number of unread emails;

[0139] o An icon 220 labeled "Browser" of the browser module 147; and

[0140] o An icon 222 labeled "iPod" of a video and music player module 152 (also referred to as an iPod (trademark of APPLE Inc.) module 152); and

[0141] Icons for other apps, such as:

[0142] o An icon 224 labeled "Message" of the IM module 141;

[0143] o An icon 226 labeled “Calendar” of the calendar module 148;

[0144] o Icon 228 labeled "Photos" of the image management module 144;

[0145] o An icon 230 labeled “Camera” of the camera module 143;

[0146] ○ An icon 232 labeled “Online Video” of the online video module 155;

[0147] ○ Icon 234 labeled “Stock Market” of the Stock Market Desktop Applet 149-2;

[0148] o An icon 236 labeled “Map” of the map module 154;

[0149] ○ Icon 238 labeled “Weather” of the weather widget 149-1;

[0150] ○ Icon 240 labeled as “clock” of the alarm clock desktop applet 149-4;

[0151] o An icon 242 labeled “Fitness” of the fitness module 142;

[0152] ○ An icon 244 labeled “Memo” of the memo module 153;

[0153] o an icon 246 for a settings application or module that provides access to settings for the device 100 and its various applications; and

[0154] o Other icons 248, 250, 252, 254, 256, 258, 260 and 262 for additional applications such as App Store, iTunes, Voice Memos, Utilities, Calculator, FaceTime, Wallet and Contacts, respectively.

[0155] It should be noted that Figure 2The icon labels shown in are exemplary only. Other labels are optionally used for various application icons. For example, icon 242 of fitness module 142 is alternatively labeled "Fitness Support," "Workout," "Workout Support," "Sports," "Sports Support," or "Health." In some embodiments, the label of a corresponding application icon includes the name of the application corresponding to the corresponding application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to the particular application icon.

[0156] The device 100 optionally also includes one or more physical buttons, such as a "home" button or a menu button 204. As previously described, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch-sensitive display 112. In one embodiment, the device 100 includes a touch-sensitive display 112, a menu button 204, a push button 206 for turning the device on and off and / or locking the device, one or more volume adjustment buttons 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and a docking / charging external port 124. The push button 206 is optionally used to turn the device on / off by pressing the button and keeping the button pressed for a predefined time interval; lock the device by pressing the button and releasing the button before the predefined time interval has passed; and / or unlock the device or initiate an unlocking process. In an alternative embodiment, device 100 also accepts voice input for activating or deactivating certain functions through microphone 113. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of contact on touch-sensitive display 112, and / or one or more tactile output generators 167 for generating tactile output for a user of device 100.

[0157] Figure 3A is a flow chart illustrating a method 300 of responding to a continuous path gesture at a touch-sensitive keyboard according to some embodiments. The method 300 may be executed on the device 100 described above, and the operations associated with the method 300 may be implemented in a computer-readable storage medium (e.g., a memory of the device 100). Figure 3A As shown, in some embodiments, a touch-sensitive keyboard (e.g., Figure 3F ), device 100 detects (301) a contact at touch-sensitive keyboard 314 (e.g., contact 323, Figure 3F ). For example, Figure 3FAs shown, in response to detecting contact 323 detected at the "H" key, device 100 displays "H" in text input area 302. The contact input can be made by the user using, for example, a finger or a stylus. Next, in some embodiments, device 100 determines (303) whether the contact moves between keys on touch-sensitive keyboard 314. For example, Figure 3F and Figure 3G As shown, the device 100 determines that the contact input 323 moves between the "H" key and the "E" key (creating a continuous path gesture 324). If the device 100 detects movement between the keys on the touch-sensitive keyboard 314 (303-Yes), the device 100 enters (305) a continuous path keyboard mode (e.g., a mode in which a continuous path gesture at the keyboard is used to spell out (draw out) words), otherwise (303-No) the device 100 enters (307) a normal keyboard mode (e.g., a mode in which a tap input is used at the keyboard to spell out words).

[0158] In some embodiments, the path followed by the continuous path gesture is represented using a continuous path gesture animation 324 (e.g., a snake-like animation or "visual indicator" of the path followed by the continuous path gesture) that provides an indication to the user as to which keys have been crossed during the continuous path gesture 324. In some embodiments, the snake-like animation has a maximum line width closer to the contact associated with the continuous path gesture 324 (e.g., the most recent contact point on the keyboard), and a gradually decreasing line width farther away from the contact (e.g., a contact point earlier than the current contact on the keyboard during the continuous path gesture 324). As described above, the continuous path gesture animation may reflect a path followed by the gesture that indicates a predetermined number of keys (e.g., 2, 3, 4, 5, or 6) over which the gesture has traveled. In some embodiments, the continuous path gesture animation 324 may also be displayed in addition to or as an alternative to the snake-like animation, such as by removing and / or brightening the borders around the keys of a touch-sensitive keyboard (e.g., the borders around the keys of a touch-sensitive keyboard). FIG. 3G to FIG. 3I and Figure 3M to Figure 3O ), and / or the key may be highlighted, illuminated, or may change color or size based on the path followed by the continuous path gesture.

[0159] In some embodiments, after device 100 causes the keyboard to enter continuous path keyboard mode, device 100 replaces (309) one or more function keys with one or more punctuation keys on the keyboard and illuminates the borders around the keys of the touch-sensitive keyboard. Figure 3GAs shown, at the touch-sensitive keyboard 314, the device 100 replaces the "return" function key with the "?" and "!" punctuation keys (in other words, one function key is replaced with two different punctuation keys), and replaces the numeric keys with the "." and "," punctuation keys (in other words, one function is replaced with two different punctuation keys). In other embodiments, any number of the displayed function keys may be replaced with other combinations of punctuation keys. Next, in some embodiments, the device 100 determines (311) which key(s) the contact 323 moves over during the continuous path gesture as the continuous path gesture travels across the keyboard. When in continuous path keyboard mode, the user can select both alphanumeric symbols and punctuation marks, and the device monitors which keys are being traveled over to determine whether to cause alphanumeric symbols or punctuation marks to be displayed during the continuous path gesture. If the device determines that (311 - punctuation keys) contact 323 moves over one or more punctuation keys during the continuous path gesture (e.g., as shown in FIG. 2 ), the device 100 displays the alphanumeric symbols or punctuation marks during the continuous path gesture. Fig.3O As shown, contact 330 travels over the “?” punctuation key during a continuous path gesture involving contact 330), the device 100 displays (313) one or more punctuation marks in the text input area 302 (e.g., in Fig.3O In the example of , the ? symbol is then displayed in the text input area 302). If the device determines (311-alphanumeric key) that the contact associated with the continuous path gesture has traveled over one or more alphanumeric keys, the device 100 displays (317) one or more alphanumeric characters in the text input area 302. For example, FIG. 3F to FIG. 3I As shown, contact 330 associated with the continuous path gesture moves over the “H”, “E”, “Y”, and “,” keys, and device 100 displays the corresponding string of characters in text input area 302. In text input area 302, the characters may be displayed in a light gray font during the continuous path gesture 324, and then displayed in a black font when the contact input is released.

[0160] References to “moving over” in the sense that a continuous path gesture moves over and selects a particular keyboard key refer to a contact associated with the continuous path gesture that indicates selection of the particular keyboard key, which selection can be indicated by the contact moving over the particular keyboard key and remaining on top of the particular keyboard key for at least a threshold time period (e.g., more than 300 nanoseconds, or some other appropriate time threshold indicating a selection event) and then the contact moving away from the particular keyboard key.

[0161] In some embodiments, after displaying one or more punctuation marks, device 100 optionally displays (315) one or more space characters (e.g., space characters 331, Figure 3K) (e.g., two blank characters after a period, or one blank character after a comma). In some embodiments, method 300 is also performed by device 100 in conjunction with execution of method 400 described below, so that after device 100 displays one or more punctuation marks or one or more alphanumeric characters, device 100 continues to execute (321) method 400, such as Figure 4A As shown. Finally, in some embodiments, the device 100 determines (319) whether the contact associated with the continuous path gesture has been lifted from the touch-sensitive display 112. If the device 100 determines that the contact has been lifted from the touch-sensitive display 112 (319-Yes), the method returns to monitor new contacts at the keyboard until another contact is detected at operation 301, and then method 300 continues again. If lift-off is not detected at determination 319 (319-No), the device continues to monitor the path of the contact associated with the continuous path gesture (e.g., continue at operation 311 to detect which keys were selected during the continuous path gesture), and outputs various symbols to the text input area based on which alphanumeric keys and punctuation keys were selected during the continuous path gesture.

[0162] FIG. 3B to FIG. 3O is an illustration of a user interface utilizing a continuous path keyboard mode according to some embodiments. FIG. 3B to FIG. 3D A messaging user interface (e.g., a user interface used in conjunction with an application that allows messages to be exchanged between users) is shown in which device 100 introduces a continuous path keyboard mode to the user. In some embodiments, the messaging user interface includes a text input area 302, an application button 304, a camera button 306, and a voice input button 308. In some embodiments, when the user opens the messaging user interface, device 100 displays an introduction user interface 310 overlaid on (or displayed in place of) a touch-sensitive keyboard. If the user selects an “OK” button 312 (e.g., contact 316 as input on OK button 312, as shown in FIG. 3), the user enters the text input area 302, an application button 304, a camera button 306, and a voice input button 308. Figure 3C 313), then the introduction user interface 310 introduces the user to the continuous path keyboard mode. In some embodiments, the introduction to the continuous path keyboard feature is an animation 312, which shows a generalized example of a continuous path gesture on a miniature version of the keyboard. On the other hand, if the user selects the "Reject" button 313, the introduction user interface 310 will disappear and the animation 312 will not be displayed.

[0163] Figure 3E and Figure 3F The touch-sensitive keyboard 314 is shown in a normal operating mode, where tap inputs at the touch-sensitive keyboard 314 are used to actuate keys of the keyboard 312. Figure 3FIn the example shown, device 100 detects contact 323 at the "H" key. In response to the detection, device 100 displays the "H" character in text input area 302 (in some embodiments, the character is displayed in text input area 302 in response to a keyboard press event when, for example, contact 323 contacts the "H" key, and in other embodiments, the character is displayed after a key release event (e.g., when contact 323 contacts the "H" key and then lifts off the "H" key)). In addition, device 100 displays word completion options based on the typed characters (e.g., Figure 3F ). The word completion options 322 are updated as the user continues to type additional characters. In some embodiments, the word completion options 322 may be completed words for the most common words that begin with the characters already typed by the user. In other embodiments, the word completion options 322 may be incomplete words that the user has already typed. In other embodiments, the word completion options 322 may be customized for the user so that the options are based on the most common words that begin with text that that particular user has previously typed. In some embodiments, the user may select a word completion option by continuing the continuous path gesture 324 rather than lifting off from the touch-sensitive display 112. In this way, the continuous path gesture 324 may extend beyond the touch-sensitive keyboard 314. In some embodiments, the word completion options may be displayed in unison with the characters displayed in the text input area 302.

[0164] Once the device 100 determines that a continuous path gesture is being used, such as FIG. 3G to FIG. 3I As shown, for a contact 323 traveling on the keyboard 314, the device 100 causes the keyboard to enter a continuous path keyboard mode, replaces one or more function keys with punctuation keys (in some cases, replaces a single function key with multiple punctuation keys), and illuminates the borders around the keys of the touch-sensitive keyboard. Fig. 3I As shown, the user is able to select a punctuation key during a continuous path gesture without having to interrupt the input of characters during the gesture to subsequently navigate to a different screen and search for the desired punctuation key. Figure 3J As shown, the device 100 detects that the user has lifted the contact input off the touch-sensitive display 112 and may remain in the continuous path keyboard mode, or the device may immediately exit the continuous path keyboard mode and return to displaying function keys instead of punctuation keys.

[0165] An example of a device immediately exiting continuous path keyboard mode is shown in Figure 3K, which shows that the function keys "123" and "return" are again displayed instead of the punctuation keys, and also shows that the key borders are again displayed around the keys on the keyboard. In other embodiments, the continuous path keyboard mode can be maintained for a short period of time (e.g., 0.5 seconds or less) after the continuous path gesture ends (e.g., when the contact associated with the gesture has been lifted from the display). Figure 3K As shown, the user can touch type a "W" character while the keyboard is in normal keyboard mode (using contact 328), and after typing the "W" character, a space character 331 may then be visible in the text input area 302 (in some embodiments, the space character 331 is added after the continuous path gesture travels over the punctuation mark "," but the space character 331 may not be visible until the new character is added to the text input area 302).

[0166] Figure 3L The user is shown typing characters using their left hand. In some embodiments, the device 100 detects contact 330 above the "H" key. When the device detects contact 330 and determines that the user is typing with their left hand, the device 100 displays the most commonly used punctuation keys on the left hand side of the touch-sensitive keyboard 314. In some embodiments, such as Figure 3L As shown, "?" and "!" are the most commonly used punctuation marks, and therefore, those keys are displayed on the left hand side of the touch-sensitive keyboard 314 (determining which punctuation keys are most commonly used can be performed by monitoring the user's interaction with the keyboard to determine which punctuation marks the user most often types). Figure 3M to Figure 3O As shown, the most commonly used punctuation keys continue to be displayed during the continuous path gesture, whereby the user traces over the characters on the keyboard to type the message "Hey, what are you doing?".

[0167] Figure 4A FIG. 1 is a diagram showing a touch-sensitive keyboard (or a touch-sensitive delete key that may be displayed within a rectangular narrow OLED strip displayed above a physical keyboard, such as the TOUCH KEYBOARD provided by APPLE Inc. (Cupertino, CA) according to some embodiments. ) is a flowchart of a method 400 for responding to a delete key gesture at ). FIG. 4A to FIG. 4N In some embodiments, a touch-sensitive keyboard (e.g., keyboard 314, Figure 4B ), the device 100 detects (405) the first contact 403 at the touch-sensitive delete key 418. The touch-sensitive delete may be in a touch-sensitive keyboard, or may be a delete key displayed within the touch bar, as described above.

[0168] In some embodiments, in response to detecting (405) and when a keyboard press event occurs for the delete key, the device 100 deletes (407) the last character adjacent to the cursor 320 (e.g., upon detecting that a keyboard press event occurs for the delete key). Figure 4G When the Delete key is touched on the keyboard, the 403 key press event is triggered. Figure 4F In some embodiments, when the user types at the touch-sensitive keyboard 314, the cursor is not displayed, and the last character is recognized as the last character added to the series of characters. The series of characters displayed in the text input area 302 can be added to the text input area based on a tap gesture or a continuous path gesture.

[0169] In some embodiments, device 100 determines (409) whether first contact 403 swipes across touch-sensitive delete key 418. If the device detects that contact 403 swipes across touch-sensitive delete key 418 (e.g., a swipe gesture 404 during which contact 403 travels in a direction from right to left that is substantially parallel to the bottom edge of device 100, such as Figure 4H 4) (409-Yes), the device 100 deletes (411) the remaining portion of the word containing the deleted character adjacent to the cursor 320 (e.g., in response to Figure 4H The swipe gesture 404 shown deletes Figure 4G ' "yo" displayed in the text input area 302 of ). In some embodiments, the device 100 optionally displays (413) a visual indicator 406 (e.g., highlighting or some other emphasis effect) around the word next to the deleted word, which reminds the user that the user can provide another swipe gesture to delete the word above which the visual indicator is displayed. In some embodiments, steps 411 and 413 are performed in a substantially simultaneous manner, for example, the two steps occur simultaneously. In some embodiments, the device 100 detects (415) that the contact is lifted from the touch-sensitive display 112. In some embodiments, the device 100 then detects (417) a second contact (e.g., a contact at the touch-sensitive delete key 418, and determines (419) whether the time since the first contact was detected is greater than a predetermined threshold (e.g., 100, 200, or 250 nanoseconds (ns)). If the time since the first contact was detected is greater than the predetermined threshold (419-yes), the device 100 deletes (421) the single character (e.g., in Figure 4J419-No). On the other hand, if the second contact 410 occurs within a time period less than the predetermined threshold (419-No), the device 100 deletes (423) the entire word and forgoes single character deletion (e.g., the word "what" in Figure 4K 400 is completely deleted because the contact associated with the swipe gesture 405 was received within 75 ns, which is less than the example predetermined threshold of 100 ns in this example). Upon lifting off the contact (439), method 400 returns to 405 to continue monitoring for new contacts at the delete key.

[0170] Return to Figure 4A As discussed in determining operation 409 in , execution of method 400 may also include monitoring other types of gestures on the delete key (in addition to swipe gestures). For example, after determining that a swipe gesture has not been detected (409-No), at operation 425, the device 100 monitors whether an extended contact is received on the delete key. At operation 425, the device 100 determines (425) whether the contact remains in contact with the touch-sensitive delete key 418 for an extended duration (e.g., at least 300ns). When the contact remains in contact with the delete key for various extended contact durations (each of which can be 300ns or some other suitable duration), different sets of characters are deleted (e.g., an entire word is deleted for a first extended contact duration at operation 427; an entire sentence is deleted for a second extended contact duration at operation 433; and an entire paragraph is deleted for a third extended contact duration at operation 437). If the contact remains in contact with the touch-sensitive delete key 418 for the first extended contact duration (425-Yes), the device 100 deletes (427) the entire word (e.g., the word "doing", FIG. 4B to FIG. 4E ), otherwise (425-No) the device 100 deletes the single character (for example, the single character deletion of the characters "?", "g" and "n" is in FIG. 4B to FIG. 4D). In some embodiments, the device 100 determines (431) whether the contact remains in contact with the touch-sensitive delete key 418 for a second extended contact duration. If the contact remains in contact with the touch-sensitive delete key 418 for the second extended contact duration (431-yes), the device 100 deletes (433) the entire sentence. In some embodiments, the device 100 determines (435) whether the contact input 402 remains in contact with the touch-sensitive delete key 418 for a third extended contact duration. If the contact remains in contact with the touch-sensitive delete key for the third extended contact duration (435-yes), the device 100 deletes (437) the entire paragraph. On the other hand, if at any one of steps 425, 431, or 435, the device 100 determines that the contact does not remain in contact with any of these extended contact durations with the touch-sensitive delete key 418, the device 100 returns to operation 405 to continue monitoring new contacts at the touch-sensitive delete key.

[0171] FIG. 4B to FIG. 4N is an illustration of a user interface for performing a delete key gesture according to some embodiments. Figure 4B As shown, in some embodiments, the device 100 detects a contact (e.g., contact 402) at the touch-sensitive delete key 418. In response to the detection (and based on detecting such a keyboard press event), the device 100 deletes the "?" symbol (which was previously shown in FIG. 4) from the text input area 302. Fig.3O In some embodiments, contact 402 remains in contact with touch-sensitive delete key 418 for an extended contact duration, such as FIG. 4C to FIG. 4E If the duration meets a predetermined threshold (e.g., 300ns), the device 100 performs word-by-word deletion instead of character-by-character deletion. FIG. 4C to FIG. 4E This is shown by deleting the string "doing" from the text input area 302. Then, Figure 4F As shown, device 100 detects that contact 402 is lifted off of touch-sensitive delete key 418 .

[0172] Figure 4G Device 100 is shown detecting another contact 403 at touch-sensitive delete key 418. In response to this detection (and based on having registered a keyboard press event on the touch-sensitive delete key), device 100 deletes the character "u" from text input area 302. In some embodiments, as shown in FIG. Figure 4HAs shown, device 100 then detects contact 403 moving across the touch-sensitive delete key in a right-to-left direction (this horizontal movement of contact 403 forms a swipe gesture across the touch-sensitive delete key). In response to the swipe gesture on the touch-sensitive delete key, device 100 deletes the remaining characters ("yo") in the word "you" from text input area 302. Substantially simultaneously, device 100 displays visual indicator 406 around the next word "are", thereby indicating to the user that the word "are" will be deleted if the user performs another swipe gesture.

[0173] Fig. 4I The movement of an additional contact 482 across the touch-sensitive delete key (forming an additional swipe gesture) is shown, which is performed 50 nanoseconds since the last contact 403 was lifted off the touch-sensitive delete key 418, as shown in FIG. Fig. 4I In response to determining that an additional swipe gesture was performed within 50 nanoseconds of last contact 403, device 100 deletes the word "are" from text input area 302 because 50 nanoseconds is less than a predetermined threshold (e.g., 100 ns) for determining whether to delete individual characters or words. On the other hand, if device 100 instead detects that an additional swipe gesture was performed within 50 nanoseconds of last contact 403, device 100 deletes the word "are" from text input area 302 because 50 nanoseconds is less than a predetermined threshold (e.g., 100 ns) for determining whether to delete individual characters or words. Figure 4J A new touch (e.g., touch input 410, Figure 4J ), the device 100 deletes only a single character (e.g., "t", Figure 4J ) and does not display the visual indicator 406 in the text input area 302. However, if Figure 4K As shown, in some embodiments, device 100 then detects a swipe gesture 404. In response to detecting swipe gesture 404, device 100 deletes the remaining characters in the word (e.g., the remaining characters "wha" in the word "what") and displays visual indicator 406 around the word "Hey," in text input area 302.

[0174] Figure 4L to Figure 4N It is shown that in some embodiments, the above process is performed in response to a swipe gesture moving from left to right on the touch-sensitive delete key 418. Thus, a swipe gesture from left to right deletes the word to the right of the cursor 320. Figure 4L As shown, device 100 detects contact 412 at the beginning of a string of characters displayed in text input area 302. In response to contact input 412, device 100 positions cursor 320 at the beginning of the string of characters. Figure 4M As shown, the device 100 then detects contact 414 at the touch-sensitive delete key 418. However, the device 100 does not perform a deletion here because there is no character to the left of the cursor 320 in the text input area 302. Figure 4NAs shown, the device 100 then detects contact 416, followed by movement of the contact, forming a swipe gesture across the touch-sensitive delete key 418, which moves in a left-to-right direction parallel to the bottom edge of the device 100. In response to detecting the swipe gesture formed by the movement of contact 416, the device 100 deletes the word (e.g., "Hey,") adjacent to the cursor 320 in the right direction. Substantially simultaneously, the device 100 displays a visual indicator 406 around the next string of characters "wha" to the right of the deleted word, thereby indicating to the user that the word "wha" can be deleted if the user performs another swipe gesture from left to right.

[0175] FIG. 5A to FIG. 5D is a flowchart illustrating a method 500 of adding punctuation keys to a touch-sensitive keyboard according to some embodiments. FIG. 3B to FIG. 3O Used to show FIG. 5A to FIG. 5B Although some of the examples that follow will be given with reference to input on a touch-sensitive display (where the touch-sensitive surface and display are combined), in some embodiments, the device detects input on a touch-sensitive surface 195 that is separate from the display 194, such as Figure 1D As shown in . Figure 3A Some of the operations described may also or alternatively be performed in combination with the operations of method 500 .

[0176] In some embodiments, method 500 is performed by an electronic device (e.g., Figure 1A The method 500 is performed by one or more components of the electronic device (e.g., the I / O subsystem 106, the operating system 126, etc.) and / or the portable multifunction device 100 of the device. In some embodiments, the method 500 is performed by a non-transitory computer-readable storage medium and by one or more processors of the device, such as the one or more processors 122 ( Figure 1A ) is managed by instructions executed by the device 100. For ease of explanation, the following describes a method 500 performed by the device 100. In some embodiments, reference Figure 1A, the operations of method 500 are at least partially performed by or use the continuous path gesture module 163-1, the delete gesture module 163-2, and the touch-sensitive display 112. Some operations in method 500 are optionally combined, and / or the order of some operations is optionally changed. As described below, method 500 provides improved typing efficiency at a touch-sensitive keyboard. By improving typing efficiency, method 500 helps such methods and interfaces to enhance the operability of electronic devices and make human-computer interfaces more efficient (e.g., by allowing users to type punctuation marks during continuous path gestures without having to tap function keys and search for desired punctuation marks), which in turn reduces power usage and extends the battery life of the device by enabling users to spend less time using the touch-sensitive keyboard.

[0177] In some embodiments, method 500 is a method of adding (502) punctuation keys to a touch-sensitive keyboard, and the method is performed (504) at an electronic device that includes a display and a touch-sensitive keyboard. In some embodiments, the electronic device may be a laptop computer with a display where the keyboard was once located, or a mobile device such as a tablet or a phone. An example of such a method performed at a portable multifunction device 100 that includes a touch-sensitive display 112 and a touch-sensitive keyboard 314 is shown in FIG. FIG. 3B to FIG. 3O Shown in.

[0178] In some embodiments, method 500 also includes displaying (506) a plurality of keys on a touch-sensitive keyboard. Figure 3E An exemplary plurality of keys on the touch-sensitive keyboard 314 is shown. In some embodiments, the touch-sensitive keyboard can display the alphanumeric keys of a QWERTY keyboard and one or more function keys (e.g., a return key, an emoticon key, a microphone key, and other function keys).

[0179] In some embodiments, method 500 also includes: in response to a continuous path gesture on a touch-sensitive keyboard, wherein a contact associated with the continuous path gesture travels over two or more of the plurality of keys (e.g., the contact is not lifted during the continuous path gesture): beginning to display (508) punctuation keys on the touch-sensitive keyboard; and displaying (508) one or more characters in a text input area on the display based on the corresponding keys contacted by the contact during the continuous path gesture (e.g., displayed in a light gray font during the continuous path gesture and then in a black font when the contact is released). In some embodiments, the punctuation keys replace one or more function keys.

[0180] exist FIG. 3F to FIG. 3I, where a continuous path gesture 324 moves over and selects the keys "H," "E," "Y," and "," (e.g., by actuating on each key for a certain predetermined amount of time, such as 100 ns, during the continuous path gesture), thereby depicting the word "Hey," The continuous path keyboard can be turned on and off in the settings user interface of device 100. In some embodiments, if the continuous path keyboard is turned on, an animation (e.g., animation 312, Figure 3D ). The animation is performed by, for example, tracing an example continuous path gesture on a miniature version of a keyboard displayed in place of a touch-sensitive keyboard (e.g., Figure 3D In some embodiments, if the animation is displayed to the user on one device, the animation will not be displayed to the user on other devices that utilize the continuous path keyboard (e.g., if the user views the brief introduction on a first device such as a mobile phone, the user will not be presented with the brief introduction on another device associated with the user such as a tablet electronic device).

[0181] In some embodiments, displaying the punctuation key includes ceasing (512) displaying a corresponding key of the plurality of keys on the touch-sensitive keyboard (e.g., a return key, a "123" key, an emoticon key, etc.). In some embodiments, displaying the punctuation key includes displaying (514) an additional punctuation key on the touch-sensitive keyboard that can be displayed adjacent to the punctuation key (in other words, both punctuation keys are displayed as part of the keyboard 314 when a continuous path gesture on the keyboard 314 is detected). In some embodiments, the punctuation key and the additional punctuation key are displayed (514) in an area of ​​the touch-sensitive keyboard that was previously used to display only a corresponding key of the plurality of keys, such as a return function key (e.g., a return key). Figure 3G As shown, the punctuation keys "." and "," are displayed in the area of ​​keyboard 314 that was previously used to display the return function key). In some embodiments, the punctuation key and the additional punctuation key are the two most commonly used punctuation keys (e.g., "?" and "!") and are displayed in the area that previously displayed the numeric keys. In some embodiments, the less commonly used punctuation keys (e.g., "." and ".") are displayed in the area that previously displayed one or more different function keys. The determination of the most commonly used and less commonly used punctuation keys can be based on the user's previous interactions with keyboard 314.

[0182] In some embodiments, the arrangement of punctuation keys and additional punctuation keys is determined (516) based on whether the continuous path gesture is provided using the user's left hand or right hand. In some embodiments, when the user is typing with the left hand, the most frequently used punctuation keys are displayed closer to the user's left hand on the touch-sensitive keyboard, and the less frequently used punctuation keys are displayed farther away from the user's left hand on the touch-sensitive keyboard. When the user is typing with the right hand, the most frequently used punctuation keys are displayed closer to the user's right hand on the touch-sensitive keyboard, and the less frequently used punctuation keys are displayed farther away from the user's right hand on the touch-sensitive keyboard.

[0183] In some embodiments, a corresponding key in the plurality of keys is a function key (e.g., a "123" function key, a return function key, an emoticon function key, etc.), which, when selected, causes display (518) of additional functions associated with the touch-sensitive keyboard (or causes activation of keyboard functions other than outputting alphanumeric symbols). Figure 3G In the example, when it is detected that the contact 323 forms a continuous path gesture as it moves from the "H" key to the "E" key, the return function key is no longer displayed, but the punctuation keys "." and "," are displayed. Figure 3G It is also shown that when a continuous path gesture is detected, multiple punctuation keys can be added to the keyboard 314, such as 2 or 3 or 4 punctuation keys. In some embodiments, the method 500 also includes: after the contact associated with the continuous path gesture is lifted from the touch-sensitive display, starting to display (520) the function keys and stopping to display the punctuation keys. For example, when the continuous path gesture is detected, Fig. 3I After the contact 323 in the device is lifted off, the device can then return to displaying the keyboard 314 in the normal operating mode, including displaying function keys, such as Figure 3E In some embodiments, the user can exit the continuous path gesture mode and enter the normal keyboard mode by lifting off from the touch-sensitive display. In this way, the user can easily navigate between modes of the keyboard 314 when using a single, identical application.

[0184] In some embodiments, method 500 also includes: after displaying the punctuation key: in response to the contact associated with the continuous path gesture moving over the punctuation key, displaying (522) the punctuation associated with the punctuation key in the text input area on the display. In this way, the user does not need to stop providing the continuous path gesture to select the punctuation key; instead, the user can simply select the punctuation key in one smooth motion during the continuous path gesture, thereby improving their interaction with the device 100 and avoiding wasted input and interruption of continued interaction with the device 100. In some embodiments, displaying the punctuation in the text input area includes automatically displaying (524) a space character (e.g., space character 331, space character 332) adjacent to the punctuation in the text input area without human intervention. Figure 3K ). In other words, the device 100 adds a blank character after the punctuation mark to avoid forcing the user to manually add the blank character, and in this way, the user saves time and is able to provide more smooth continuous path gestures that do not require interruptions to perform selection of blank characters.

[0185] In some embodiments, method 500 also includes: during the continuous path gesture, displaying (526) two or more selectable word completion options (e.g., auto-correction options) (e.g., word completion options 322, Fig. 3I ). In some embodiments, the word completion options may be completed words for the most common words starting from the text that the user has already typed. In some embodiments, the word completion options may be incomplete words that the user has typed. In other embodiments, the word completion options may be customized for the user so that the options are based on the most common words starting from the text that that particular user has previously typed. As more characters are typed and displayed in the text input area, the word completion options update.

[0186] In some embodiments, the two or more selectable word completion options displayed during the continuous path gesture are displayed (528) directly above the touch-sensitive keyboard on the display. In some embodiments, the user can select a word completion option by continuing the continuous path gesture rather than lifting from the touch-sensitive display. In this way, the continuous path gesture can extend beyond the touch-sensitive keyboard. In some embodiments, the two or more word completion options displayed during the continuous path gesture are displayed (530) in the text input area. In some embodiments, the auto-correction options can be displayed in unison with the characters displayed in the text input area on the touch-sensitive display.

[0187] In some embodiments, method 500 also includes: as the contact associated with the continuous path gesture travels across the touch-sensitive keyboard, displaying (532) a visual indicator reflecting the path followed by the continuous path gesture (e.g., a snake-like animation that may show a color fading effect from one end of the animation to the other end), the path indicating a predetermined number of keys (e.g., 2, 3, 4, 5, or 6) over which the continuous path gesture has traveled (e.g., FIG. 3G to FIG. 3I ). In addition to the snake animation, the continuous path gesture may additionally or alternatively invoke other visual indicators. For example, in some embodiments, the border around the keys of the touch-sensitive keyboard may be removed and / or brightened ( FIG. 3G to FIG. 3I and Figure 3M to Figure 3O). In some embodiments, the key may be highlighted, may be illuminated, or may change color or size based on the path followed by the continuous path gesture. In some embodiments, the indicator has (534) a maximum line width closer to the contact associated with the continuous path gesture (e.g., the most recent contact) and a gradually decreasing line width farther away from the contact (e.g., a contact earlier in the continuous path gesture than the current contact).

[0188] It should be understood that FIG. 5A to FIG. 5D The specific order in which the operations have been described is merely an example and is not intended to indicate that the order is the only order in which the operations may be performed. A person of ordinary skill in the art will recognize various ways to reorder the operations described herein, such as by incorporating references to the above Figure 3A Some of the operations described.

[0189] FIG. 6A to FIG. 6C and Figure 7 is a flowchart showing a method of responding to different gestures on a touch-sensitive delete key according to some embodiments. FIG. 4B to FIG. 4N Used to show FIG. 6A to FIG. 6C and Figure 7 Although some of the examples that follow will be given with reference to input on a touch-sensitive display (where the touch-sensitive surface and display are combined), in some embodiments, the device detects input on a touch-sensitive surface 195 that is separate from the display 194, such as Figure 1D as shown in .

[0190] In some embodiments, methods 600 and 700 are performed by an electronic device (e.g., Figure 1A The portable multifunction device 100 of the present invention and / or one or more components of the electronic device (e.g., I / O subsystem 106, operating system 126, etc.) are performed. In some embodiments, methods 600 and 700 are performed by a non-transitory computer-readable storage medium and by one or more processors of the device, such as one or more processors 122 ( Figure 1A ) is managed by instructions executed by the device 100. For ease of explanation, the following describes methods 600 and 700 performed by the device 100. In some embodiments, reference Figure 1A, the operations of methods 600 and 700 are at least partially performed by or at least partially use the continuous path gesture module 163-1, the deletion gesture module 163-2, and the touch-sensitive display 112. Some operations in methods 600 and 700 are optionally combined, and / or the order of some operations is optionally changed. As described below, methods 600 and 700 provide improved typing efficiency at the touch-sensitive keyboard. By improving typing efficiency, methods 600 and 700 help to enhance the operability of electronic devices and make human-computer interfaces more efficient (for example, by allowing users to type punctuation marks during continuous path gestures without having to tap function keys and search for desired punctuation marks), which in turn reduces power usage and extends the battery life of the device by enabling users to spend less time using the touch-sensitive keyboard. The operations of methods 600 and 700 can be combined or exchanged with the operations of method 400 described above.

[0191] In some embodiments, method 600 is a method of responding to different gestures on a touch-sensitive delete key (602). In some embodiments, method 600 includes: performing (604) the method at an electronic device that includes a display and a touch-sensitive delete key. In some embodiments, the touch-sensitive delete key can be displayed as part of a touch-sensitive keyboard displayed on device 100, or can be a physical keyboard of the electronic device (e.g., a keyboard with mechanically actuatable keys that is located below a rectangular narrow OLED display, such as the TOUCH OLED display provided by APPLE Inc. (Cupertino, CA)). ) on the OLED display.

[0192] In some embodiments, method 600 also includes: displaying (606) a series of characters and a cursor after the last character in the series of characters in the text input area on the display. The series of characters may include alphanumeric symbols, punctuation marks, and / or other symbols (such as emoticons), wherein the symbols in the series of characters do not include whitespace characters. For example, the series of characters may be a dictionary word (such as a word displayed in Figure 4B In some embodiments, the method 600 further includes: in response to a tap gesture on the touch-sensitive delete key, deleting (608) the last character in the series of characters from the text input area, and continuing to display the remaining characters in the series of characters in the text input area. In some embodiments, the cursor (e.g., cursor 320, Figure 4B) is moved to the character next to the last character deleted. In some embodiments, while the user is typing at the keyboard, the cursor is not displayed and the last character is recognized as the last character added to the series of characters. In some embodiments, method 600 also includes: in response to a swipe gesture on the touch-sensitive delete key, deleting (610) the remaining characters in the series of characters from the text input area. The swipe gesture can move across the touch-sensitive delete key in a right-to-left direction (which deletes the left side of the cursor, an example of which is shown in FIG. Figures 4G to 4H , where the character "yo" to the left of the cursor 320 is deleted after the swipe gesture formed by contact 403) or moves across the touch-sensitive delete key in a left-to-right direction (which deletes the right side of the cursor, an example of which is shown in Figures 4M to 4N , where in response to a left-to-right swipe movement of contact 416, the characters “Hey,” are deleted).

[0193] In some embodiments, method 600 further includes: after deleting the remaining characters in the series of characters from the text input area, the device continues (612) to display a second series of characters in the text input area (e.g., after the remaining characters in the first series of characters "you" are deleted, the second series of characters "are"; the third series of characters "what"; and the fourth series of characters "Hey" all continue to be displayed in the text input area). Figure 4H The second series of characters may include alphanumeric symbols, punctuation marks, and / or other symbols (such as emoticons), wherein the symbols in the second series of characters do not include whitespace characters. For example, the series of characters may be dictionary words.

[0194] In some embodiments, method 600 also includes: in response to a new swipe gesture on the touch-sensitive delete key (e.g., a swipe gesture formed by contact 403 as it moves across the touch-sensitive delete key, Figure 4H ), delete (612) the second series of characters from the text input area (e.g., in the Figure 4H After the swipe gesture is formed by the contact 403 in Fig. 4I Delete the second series of characters "are" in the text input area 302).

[0195] In some embodiments, a new swipe gesture is received (614) within a predetermined amount of time after lift-off of the contact associated with the swipe gesture. In some embodiments, deleting the second series of characters includes deleting (614) the second series of characters simultaneously, and no character-by-character deletion of characters in the second series of characters is performed. In other words, in some embodiments, there is no character-by-character deletion. Instead, all characters in the second series of characters (e.g., Figure 4H shown in and Fig. 4IThe characters "are" deleted in are deleted together at the same time so that they are no longer displayed on the display. In this way, when a keyboard press event is performed by the contact associated with the first swipe gesture, the first swipe gesture can continue to delete one character (for example, Figure 4G The keyboard press event caused by contact 403 on the delete key causes the "u" character to be deleted from the first series of characters "you", and then once a swipe gesture formed by contact 403 is detected, the remaining characters in the characters are deleted (for example, in Figure 4H , the swipe movement of contact 403 results in deletion of the remaining characters in the characters “yo”). The new swipe gesture may allow deletion of all of the second series of characters without any character-by-character deletion operation at all. The predetermined amount of time may be 500 nanoseconds or less (e.g., 300 nanoseconds), or some other appropriate time-based threshold to ensure that the new swipe gesture is received very quickly after the swipe gesture, thereby demonstrating that the user's intent was to perform a character-by-character deletion gesture.

[0196] In some embodiments, method 600 further includes: after deleting the second series of characters (eg, Figure 4H ), before displaying (620) a visual indicator (e.g., Figure 4H A highlight or some other emphasis effect 406) around the second series of characters “are” depicted in FIG. 406 ) is provided to provide an indication that the second series of characters will be deleted from the text input area following the new swipe gesture on the touch-sensitive delete key.

[0197] In some embodiments, after deleting the second series of characters, the device continues to display (616) a third series of characters in the text input area (e.g., after the first series of characters and the second series of characters are deleted, the third series of characters "what"; and the fourth series of characters "Hey" both continue to be displayed in the text input area). Fig. 4I The third series of characters may include alphanumeric symbols, punctuation marks, and / or other symbols (such as emoticons), wherein the symbols in the third series of characters do not include blank characters. For example, the series of characters may be dictionary words.

[0198] In some embodiments, the method 600 also includes: in response to an additional swipe gesture received on the touch-sensitive delete key a predetermined amount of time (e.g., the 300 or 500 ns time threshold described above) after liftoff of the contact associated with the new swipe gesture, deleting (618) one of the third series of characters from the text input area, and then deleting the remaining characters in the third series of characters from the text input area. In other words, in some embodiments, if the user touches the delete key again after the predetermined amount of time of liftoff, the electronic device performs a single character deletion before performing deletion of the remainder of the word based on the swipe gesture of the contact.

[0199] In some embodiments, method 600 further includes: in response to a press-and-hold gesture on the touch-sensitive delete key, deleting (622) separate series of two or more characters from the text input area, wherein the separate series of two or more characters are deleted from the text input area at different points in time. In some embodiments, this feature helps users adapt to a word-by-word deletion operation by ensuring that words are deleted one by one (rather than stopping display of all words at once) so as to be consistent with the experience of a character-by-character deletion operation, wherein the character-by-character deletion operation is performed such that each character is deleted at a different point in time in response to the press-and-hold gesture.

[0200] In some embodiments, the word-by-word deletion described herein performs word deletion by separating each deletion operation by a longer period of time than is used to delete individual characters in a character-by-character deletion implementation (e.g., 500 nanoseconds for word-by-word deletion operations, compared to 300 nanoseconds for character-by-character deletion in other embodiments). In some embodiments, the press-and-hold gesture includes a contact on the touch-sensitive delete key that remains above the key for a certain threshold amount of time to perform word-by-word deletion (e.g., 0.5 seconds, 0.6 seconds), a higher threshold amount of time to perform sentence-by-sentence deletion, and an even higher threshold amount of time for paragraph-by-paragraph deletion. In some embodiments, the press-and-hold gesture includes a contact on the touch-sensitive delete key that remains above the key for a certain threshold amount of character deletion (e.g., 20 characters).

[0201] In some embodiments, a touch-sensitive delete key is displayed (626) on the touch-sensitive keyboard on the display.

[0202] In some embodiments, the series of characters and the second series of characters are added to the text input area based on (632) a continuous path gesture in which the continuous contact moves across multiple keys of the touch-sensitive keyboard. FIG. 3F to FIG. 3IAn exemplary continuous path gesture is shown in , where the continuous path gesture 324 moves over the keys "H," "E," "Y," and "," to depict the word "Hey,". In some embodiments, the delete key can be selected during the continuous path gesture, thereby deleting the characters previously selected during the continuous path gesture. In some embodiments, based on (634) a tap gesture over corresponding keys of the touch-sensitive keyboard, the series of characters and the second series of characters are added to the text input area. In some embodiments, the series of characters and the second series of characters can be added to the text input area based on a tap gesture or a continuous path gesture.

[0203] In some embodiments, method 600 may also include determining which type of gesture is received on the delete key, and method 700 referred to below describes an example of such determination. In some embodiments, method 700 includes: displaying (702) a series of characters and a cursor after the last character in the series of characters in a text input area on a display. The series of characters may include alphanumeric symbols, punctuation marks, and / or other symbols (such as emoticons), wherein the symbols in the series of characters do not include blank characters. For example, the series of characters may be dictionary words. In some embodiments, method 700 also includes: detecting (704) a gesture on the touch-sensitive delete key. The gesture may be a tap gesture or a swipe gesture. The swipe gesture may be from right to left (which deletes the left side of the cursor) or from left to right (which deletes the right side of the cursor). In some embodiments, method 700 also includes: determining (706) whether the gesture is a first gesture type or a second gesture type different from the first gesture type. The first gesture type and the second gesture type may be a tap gesture type or a swipe gesture type, as long as the two gesture types are different from each other.

[0204] In some embodiments, method 700 further includes: when determining that the gesture is a first gesture type, performing (708) a first delete function on at least one character in the series of characters adjacent to the cursor. In one example, the first delete function is a single character delete operation, wherein in response to the gesture being a first gesture type that can be a tap gesture, one character is deleted.

[0205] In some embodiments, method 700 further includes: when determining that the gesture is a second gesture type (e.g., a swipe gesture), performing (710) a second deletion function on at least one character in the series of characters adjacent to the cursor, wherein the second deletion function is different from the first deletion function. In one example, the second deletion function is a word deletion operation, wherein all characters associated with the word are deleted at the same time point.

[0206] It should be understood that FIG. 6A to FIG. 6C and Figure 7The specific order in which the operations in the description are described is merely exemplary and is not intended to indicate that the order is the only order in which the operations can be performed. A person of ordinary skill in the art would think of many ways to reorder the operations described herein.

[0207] Figure 8 800 is a flowchart illustrating a method for distinguishing a tap gesture or a continuous path gesture on a touch-sensitive keyboard according to some embodiments. In some embodiments, method 800 includes: performing (802) a method for distinguishing a tap gesture or a continuous path gesture on a touch-sensitive keyboard, and performing (803) a method for distinguishing a tap gesture or a continuous path gesture on a touch-sensitive keyboard including a display (e.g., touch-sensitive display 112, Figure 1C ) and a touch-sensitive keyboard (e.g., touch-sensitive keyboard 314, Figure 3E ) of an electronic device (e.g., a portable multifunction device 100, Figure 1A ) at a touch-sensitive keyboard. In some embodiments, method 800 also includes receiving (806) keyboard input at a touch-sensitive keyboard, and establishing (806) disambiguation criteria to distinguish between a continuous path gesture and a multi-tap gesture based on one or more input characteristics of the received keyboard input (e.g., a swipe characteristic, where the keyboard input is a tap combined with a swipe across the touch-sensitive keyboard).

[0208] In some embodiments, method 800 also includes: detecting (808) a subsequent keyboard input (e.g., a continuous path gesture or a tap gesture), and in response, comparing the subsequent keyboard input to the disambiguation criteria (808). In some embodiments, method 800 also includes: based on determining that the comparison with the disambiguation criteria indicates that the subsequent keyboard input is a continuous path gesture, displaying (810) an indication of the path that the subsequent keyboard input traveled above the touch-sensitive keyboard (e.g., a snake-like animation that may show a color fading effect from one end of the animation to the other end). In addition to the snake-like animation, the continuous path gesture may also invoke a visual indicator. For example, in some embodiments, the borders around the keys of the touch-sensitive keyboard may be removed and / or brightened ( FIG. 3G to FIG. 3I and Figure 3M to Figure 3O ). In some embodiments, the key may be highlighted, may be illuminated, or may change color or size based on the path followed by the continuous path gesture. In some embodiments, method 800 further includes: based on determining that the comparison with the disambiguation criteria indicates that the subsequent keyboard input is a multiple tap gesture, forgoing (812) displaying an indication of the path followed by the subsequent keyboard input. In some embodiments, this may be referred to as normal keyboard mode.

[0209] In some embodiments, if the user accidentally moves the contact across the touch-sensitive display while performing the tap gesture, the tap gesture can trigger a false detection of a continuous path gesture. Figure 1A) detects a contact across a touch-sensitive display (e.g., touch-sensitive display 112, Figure 1A ) The distance moved is greater than the predetermined maximum threshold distance l max (e.g., 5 millimeters (mm)), the device activates a continuous path gesture mode (e.g., a mode for spelling out (tracing out) words using a continuous path gesture at a touch-sensitive keyboard). However, if the distance traveled by the contact is less than a predetermined minimum threshold distance l min (e.g., 1 mm), the device does not activate the continuous path keyboard mode and remains in the tap gesture mode (e.g., a mode for spelling out words using tap input at a touch-sensitive keyboard). In this way, a short drag of the contact input will not invoke the continuous path gesture mode because the device will have determined that the intended gesture is a tap gesture.

[0210] In some embodiments, the device can detect that the user drags the contact across the touch-sensitive display to a distance between l min and l max In such cases, the device will determine whether to activate the continuous path keyboard mode based on the recent history of gestures detected (e.g., the 3 most recent gestures). For example, if the recent history of gestures includes all continuous path gestures (e.g., between keys on a touch-sensitive keyboard), then if the distance traveled by the contact is between l and 1, the device will determine whether to activate the continuous path keyboard mode based on the recent history of gestures detected (e.g., the 3 most recent gestures). min and l max , the device may activate continuous path gesture mode. On the other hand, if the recent history of gestures includes all tap gestures, the device may forgo activating continuous path keyboard mode and continue operating the keyboard in its normal mode. In some embodiments, the device detects input at time t0 and position (x0, y0) on the touch-sensitive display. In response to the detection, the device begins executing a process for determining whether a tap gesture or a continuous path gesture has been performed. If the device detects that the contact has moved across the touch-sensitive display, the device stores the later positions of the contact at different points in time so that the device can calculate the cumulative distance traveled across the touch-sensitive display.

[0211] In some embodiments, when the device 100 determines whether the above disambiguation criteria are met (e.g., operations 810 and 812), the device 100 may utilize a method for distinguishing between a tap gesture and a continuous path gesture using an exemplary routine depicted in the following pseudo code. The exemplary routine may be used to store in a non-transitory computer-readable medium (in memory 102, Figure 1A ) and is encoded by instructions executed by one or more processors (e.g., one or more processors 122) of device 100. In the following routine, the variables are defined as follows: clockis the clock time when the last contact was detected, l is the current length of the detected continuous path gesture, T is the recent trend of using the tap gesture, P is the recent trend of using the continuous path gesture, (x, y) last is the last location on the touch-sensitive display where the device has detected a contact, and pathActive is a binary value indicating whether the device has detected a continuous path gesture. x 、n y , T0 and P0 are predetermined constants. Those skilled in the art will appreciate that this routine is only one example of how disambiguation between a tap gesture and a continuous path gesture may be performed, and that various additions, modifications and substitutions to this routine are within the scope of the present disclosure.

[0212]

[0213] The operations in the above information processing method are optionally implemented by running one or more functional modules in an information processing device, such as a general-purpose processor (for example, as described above with respect to Figure 1A The foregoing description is described with reference to specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments are selected and described in order to best illustrate the principles of the invention and its practical application, so as to enable others skilled in the art to best use the invention and the various described embodiments with various modifications suitable for the specific purpose contemplated.

[0214] As described above, one aspect of the present technology is to collect and use data obtained from specific and legitimate sources to improve typing efficiency on a touch-sensitive keyboard. The present disclosure contemplates that, in some instances, the collected data may include personal information data that uniquely identifies or can be used to identify a specific person. Such personal information data may include demographic data, location-based data, online identifiers, phone numbers, email addresses, home addresses, data or records related to a user's health or fitness level (e.g., vital signs measurements, medication information, exercise information), date of birth, or any other personal information.

[0215] The present disclosure recognizes that the use of such personal information data in the present technology can be used to benefit the user. For example, the personal information data can be used to allow the user to more efficiently type punctuation marks during a continuous path gesture, and delete character strings. Thus, the use of such personal information data enables the user to have greater control over typing at a touch-sensitive keyboard.

[0216] The present disclosure envisions that entities responsible for collecting, analyzing, disclosing, transmitting, storing or otherwise using such personal information data will comply with established privacy policies and / or privacy practices. Specifically, such entities will be expected to implement and consistently apply privacy practices that are generally recognized as meeting or exceeding the requirements of the industry or government that maintain user privacy. Such information about the use of personal data should be highlighted and easily accessible to users, and should be updated as the collection and / or use of data changes. The user's personal information should be collected only for legal use. In addition, such collection / sharing should only occur after receiving user consent or other legal basis specified in applicable law. In addition, such entities should consider taking any necessary steps to defend and safeguard access to such personal information data and ensure that others who have access to personal information data comply with their privacy policies and processes. In addition, such entities may subject themselves to third-party assessments to demonstrate that they comply with widely accepted privacy policies and practices. In addition, policies and practices should be adjusted for specific types of personal information data collected and / or accessed, and applied to applicable laws and standards, including considerations that are exclusive to jurisdictions that can be used to impose higher standards. For example, in the United States, collection or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while health data in other countries may be subject to other regulations and policies and should be handled accordingly.

[0217] Regardless of the foregoing, the present disclosure also contemplates implementation schemes in which users selectively block the use or access of personal information data. That is, the present disclosure contemplates providing hardware elements and / or software elements to prevent or block access to such personal information data. For example, the present technology can be configured to allow users to turn on and off the collection of personal information data in the settings user interface. In addition, the present disclosure contemplates providing notifications related to access or use of personal information. For example, users can be notified that their personal information data will be accessed when downloading an application, and then reminded again just before the personal information data is accessed by the application.

[0218] In addition, it is an object of the present disclosure that personal information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use. Risks can be minimized by limiting data collection and deleting data once it is no longer needed. In addition, and when applicable, including in certain health-related applications, data de-identification can be used to protect the privacy of users. De-identification can be facilitated by removing identifiers, controlling the amount or specificity of stored data (e.g., collecting location data at a city level rather than at an address level), controlling how data is stored (e.g., aggregating data across users), and / or other methods such as differential privacy, where appropriate.

[0219] Thus, while the present disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, the present disclosure also contemplates that various embodiments may also be implemented without access to such personal information data. That is, various embodiments of the present technology will not fail to function properly due to the lack of all or a portion of such personal information data. For example, content may be selected and delivered to a user based on aggregated non-personal information data or an absolute minimum amount of personal information, such as content processed only on the user's device or other non-personal information that may be used for content delivery services.

Claims

1. A method of adding a punctuation key to a touch-sensitive keyboard, the method comprising: At an electronic device comprising a display and a single touch-sensitive keyboard: displaying a plurality of alphanumeric keys and function keys on the touch-sensitive keyboard; as well as In response to a continuous path gesture on the touch-sensitive keyboard, in which a contact associated with the continuous path gesture travels over two or more keys of the plurality of alphanumeric keys: while continuing to display the plurality of alphanumeric keys on the touch-sensitive keyboard, replacing the function key with at least one punctuation key on the touch-sensitive keyboard; as well as One or more characters are displayed in a text input area on the display based on a continuous path of corresponding keys contacted during the continuous path gesture. 2 . The method of claim 1 , wherein replacing the function key with at least one punctuation key comprises displaying an additional punctuation key on the touch-sensitive keyboard. 3 . The method of claim 2 , wherein the arrangement of the at least one punctuation key and the additional punctuation keys is determined based on whether the continuous path gesture is provided using a left hand or a right hand of the user.

4. The method according to claim 1, wherein: The function key is a key that, when selected, causes display of additional functions associated with the touch-sensitive keyboard.

5. The method according to claim 4, further comprising: After the contact associated with the continuous path gesture has been lifted from the display, the function keys are displayed and the at least one punctuation key is displayed.

6. The method according to claim 1, further comprising: After replacing said function key with at least one punctuation key: In response to the contact associated with the continuous path gesture traveling over the at least one punctuation key, displaying punctuation associated with the at least one punctuation key in the text input area on the display. 7 . The method of claim 6 , wherein displaying the punctuation mark in the text input area comprises automatically displaying a blank character adjacent to the punctuation mark in the text input area without human intervention.

8. The method according to claim 1, further comprising: During the continuous path gesture, two or more selectable word completion options are displayed based on the character over which the contact associated with the continuous path gesture has traveled.

9. The method of claim 8, wherein the two or more selectable word completion options displayed during the continuous path gesture are displayed directly above the touch-sensitive keyboard on the display.

10. The method of claim 8, wherein the two or more word completion options displayed during the continuous path gesture are displayed in the text input area.

11. The method according to claim 1, further comprising: As the contact associated with the continuous path gesture travels across the touch-sensitive keyboard, a visual indicator is displayed that reflects a path followed by the continuous path gesture, the path indicating a predetermined number of keys over which the continuous path gesture has traveled. 12 . The method of claim 11 , wherein the visual indicator is a line having a gradually decreasing width farther away from the contact.

13. The method of claim 1, wherein replacing the function key with at least one punctuation key is automatically performed in response to the continuous path gesture.

14. A method according to claim 13, wherein replacing the function key with at least one punctuation key is performed without making a word completion determination.

15. A non-transitory computer-readable storage medium storing executable instructions, which, when executed by one or more processors of an electronic device having a display and a single touch-sensitive keyboard, cause the electronic device to perform the method according to any one of claims 1 to 14.

16. An electronic device comprising: one or more processors; monitor; Single touch-sensitive keyboard; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Key swipe gestures for touch sensitive UI virtual keyboard

    US20140306898A1