Touch input cursor operation

JP2026102541APending Publication Date: 2026-06-23APPLE INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
APPLE INC
Filing Date
2026-02-09
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Conventional cursor manipulation methods on touch-sensing surfaces require users to move their hands away from the keyboard, leading to inefficiency and lack of intuitive content selection, especially on touch screen displays.

Method used

A method for cursor operation and content selection using two-finger touch inputs on a touchscreen display, allowing users to perform editing functions such as text selection and movement from any part of the touch-sensitive surface, distinguishing multi-finger gestures from single-finger inputs, and enabling efficient cursor movement without worrying about unintentional key activation.

Benefits of technology

Enhances user input efficiency by reducing the number of inputs and input range, conserving computing resources, and extending battery life in portable devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026102541000001_ABST
    Figure 2026102541000001_ABST
Patent Text Reader

Abstract

This provides a more efficient method for manipulating cursors displayed within electronic documents shown on a touchscreen display. [Solution] A method for manipulating a cursor is implemented in a portable multifunctional device having one or more processors, memory, and a touchscreen display. First, the content of an electronic document is displayed on the display, and a cursor is placed within the electronic document. Next, two substantially simultaneous touch inputs are detected on the touchscreen display, preferably anywhere on the touchscreen display. In response to the detection of two substantially simultaneous touch inputs, a portion of the content closest to the cursor in the document is selected, and that portion of the content is displayed as selected content.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to electronic devices having a touch-sensing surface, and more particularly to cursor manipulation and content selection within an electronic document.

Background Art

[0002] The use of touch-sensing surfaces as input devices for computers and other electronic computing devices has increased significantly in recent years. Exemplary touch-sensing surfaces include touch pads and touch screen displays. Such surfaces are widely used to view and edit electronic documents by manipulating a cursor within the electronic document presented on a display. These electronic documents are viewed or edited within applications having viewing and editing capabilities (e.g., drawing applications, presentation applications (e.g., KEYNOTE (registered trademark) by Apple or POWERPOINT (registered trademark) by Microsoft), word processing applications (e.g., PAGES (registered trademark) by Apple or WORD (registered trademark) by Microsoft), website creation applications, spreadsheet applications (e.g., NUMBERS (registered trademark) by Apple or EXCEL (registered trademark) by Microsoft)).

[0003] Conventional cursor manipulation methods that require the use of a mouse, or other peripheral input mechanism, are relatively inefficient because the user must move one hand away from the keyboard to the mouse in order to make a selection. Similarly, conventional user interfaces provided on touch screen displays do not provide an easy and intuitive way to manipulate a cursor for content selection and editing. For this reason, it is desirable to provide a more efficient way to manipulate a cursor displayed within an electronic document presented on a touch screen display.

Summary of the Invention

[0004] Therefore, there is a need for an electronic device having a faster and more efficient method and interface for cursor operations and content (e.g., text) selection. Such a method and interface optionally complement or replace conventional methods for cursor operations and content selection. Such a method and interface reduces the number of inputs, input range, and / or input content from the user, creating a more efficient human-machine interface. In the case of battery-operated devices, a more efficient input mechanism also requires fewer computing resources, increasing the battery life of the device.

[0005] In order to operate a cursor within a document, in conventional portable multifunctional devices, the user often needs to touch a finger at an exact position at the position of the cursor on the touch-sensitive screen. This is often difficult, and the user cannot confirm the exact position of the cursor under the finger.

[0006] The above-mentioned deficiencies and other problems regarding the user interface of an electronic device having a touch-sensitive surface are solved by the devices and methods described herein. The methods described herein allow the user to operate a cursor and perform editing functions such as text selection and movement of the selection from any part of the touch-sensitive surface. For example, two-finger touch inputs can be detected anywhere on the touch screen, including on the keyboard. The user can greatly benefit from this for at least two reasons. First, the detection of multi-finger gestures can be distinguished from single-finger detection (e.g., a tap with one finger), so that a single-finger contact or gesture on the keyboard can be reserved for other functions, such as text input. Second, the user does not need to consider where the cursor gesture is being performed (e.g., the user does not need to worry about unintentional key activation), and instead can focus on cursor movement, enabling more efficient user input.

[0007] In some embodiments, the device is portable (e.g., a notebook computer, tablet computer, or handheld device), while in other embodiments, the device is a desktop computer. The device has a touch-sensitive display (also known as a “touchscreen” or “touchscreen display”), and in some embodiments, also includes a touchpad.

[0008] In some embodiments, the device has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or instruction sets stored in memory to perform multiple functions. In some embodiments, the user interacts with the GUI on a touch-sensitive surface, primarily by touch input (including finger touch and gestures). In some embodiments, functions may optionally include image viewing, editing, drawing, presentation, word processing, website creation, disk authoring, spreadsheet creation or editing, gameplay, telephone use on the device, video conferencing, email sending, instant messaging, digital photography or videography, web browsing, digital music or video playback, note taking, etc. Executable instructions for performing these functions may optionally be contained in a non-temporary computer-readable storage medium or other computer program product configured to be executed by one or more processors.

[0009] According to some embodiments, a cursor operation method is performed in a portable multifunction device including one or more processors, memory, and a touchscreen display. The method includes displaying the content of an electronic document on the display, displaying a cursor within the electronic document, detecting two substantially simultaneous touch inputs at any location on the touchscreen display, selecting a portion of the document's content closest to the cursor in response to the detection of two substantially simultaneous touch inputs, and displaying the portion of the content as selected content.

[0010] According to some embodiments, a cursor operation method further includes detecting two more substantially simultaneous touch inputs at any location on a touchscreen display while a portion of the content is displayed as selected content, selecting a first enlarged portion of the content containing the portion of the content in response to the detection of the two more substantially simultaneous touch inputs, and displaying the first enlarged portion as selected content.

[0011] According to some embodiments, a cursor operation method further includes detecting two more substantially simultaneous touch inputs on a touchscreen display while a first enlarged portion of the content is displayed as selected content, selecting a second enlarged portion of the content containing the enlarged portion of the content in response to the detection of the two more substantially simultaneous touch inputs, and displaying the second enlarged portion as selected content.

[0012] According to some embodiments, a cursor operation method further includes detecting two more substantially simultaneous touch inputs on a touchscreen display while a second enlarged portion of the content is displayed as selected content, selecting a third enlarged portion of the content including a first enlarged portion of the content in response to the detection of two more substantially simultaneous touch inputs, and displaying the third enlarged portion as selected content.

[0013] According to some embodiments, the content includes text, part of the content is the word closest to the cursor within the text, the enlarged portion is a sentence, the first enlarged portion is a paragraph, and the second enlarged cursor is a page.

[0014] According to some embodiments, the content includes text, and a portion of the content is the word located closest to the cursor.

[0015] According to some embodiments, the cursor operation method further includes: detecting the lift-off of two substantially simultaneous touch inputs from the touchscreen display, followed by two more substantially simultaneous touch inputs at any location on the touchscreen display; detecting a series of touch gestures from the locations of the two more substantially simultaneous touch inputs on the touchscreen display to a further location on the touchscreen display; and, in response to the detection of the series of touch gestures, expanding the selected content to include further content beyond the aforementioned portion in the direction toward the further location.

[0016] According to some embodiments, the cursor operation method further includes detecting a first touch input on a touchscreen display at a first position within the enlarged selected content; detecting a second touch input at a second position within the enlarged selected content substantially simultaneously with the detection of the first touch input; and enlarging the display of the selected content based on the selected content in response to the detection of the first and second touch inputs.

[0017] According to some embodiments, the method further includes detecting a series of touch gestures that at least partially traverse the touchscreen display from the locations of two substantially simultaneous touch inputs when it is determined that two substantially simultaneous touch inputs remain in contact with the touchscreen display, and expanding the content selection beyond the aforementioned portion of the content in the direction of the gesture in response to the gesture.

[0018] According to some embodiments, the cursor is the insertion point.

[0019] According to some embodiments, the cursor operation method further includes detecting two more substantially simultaneous touch inputs at first and second positions on the touchscreen display, respectively, within the boundaries of the selected content; detecting a series of touch gestures traversing the touchscreen display when it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display; and moving the selected content to a different position in response to the detection of the lift-off of the series of touch gestures.

[0020] According to some embodiments, the cursor manipulation method further includes displaying a ghost cursor offset from the selected content before moving the selected content to a second position, where the ghost selection moves with a series of touch gestures, the different position being the position of the ghost cursor at the time of lift-off.

[0021] According to some embodiments, a cursor operation method is implemented in a portable multifunction device including one or more processors, memory, and a touchscreen display. The method includes displaying the content of an electronic document on the touchscreen display, displaying a cursor at the current position within the content on the touchscreen display, detecting two substantially simultaneous touch inputs in a first area of ​​the touchscreen display, detecting a series of touch gestures from the positions of the two substantially simultaneous touch inputs traversing the touchscreen display from the first area to a second area when it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, and moving the cursor from its current position to a new position in the direction of the series of touch gestures in response to the detection of the series of touch gestures.

[0022] According to some embodiments, the distance between the first region and the second region is substantially the same as the distance between the current position and the new position.

[0023] According to some embodiments, the method further includes displaying a ghost cursor offset from the cursor while the cursor is being moved, and, upon detecting that continuous touch gestures have ceased, positioning the cursor at the ghost cursor's location and stopping the display of the ghost cursor.

[0024] According to some embodiments, displaying the cursor at the current position includes displaying a selection of a portion of the content at the current position, and moving the cursor from the current position to a new position in the direction of a series of touch gestures includes stopping the selection and moving the cursor from the current position to the new position.

[0025] According to some embodiments, a cursor operation method is performed in a portable multifunction device including one or more processors, memory, and a touchscreen display. The method includes displaying text on the display, displaying a cursor on a line of text, detecting a two-finger swipe gesture on the touchscreen display that is at least partially parallel to the line and toward the edge of the touchscreen display, and moving the cursor to a distal point in the text in response to the detection of the two-finger swipe gesture, for example, the end or beginning of a line, or the top or bottom of a page or document.

[0026] According to some embodiments, detection requires that a two-finger swipe gesture is performed at a speed exceeding a predetermined speed.

[0027] According to some embodiments, the distal point of the text is located in the direction of the gesture. For example, at the end or beginning of a line, or at the top or bottom of a page or document.

[0028] According to some embodiments, moving the cursor to the distal point of the text includes moving the cursor to the beginning or end of a line of text, or to the beginning or end of the text (e.g., the top or bottom of a document) according to the direction of a two-finger swipe.

[0029] According to some embodiments, a cursor operation method is performed in a portable multifunctional device including one or more processors, memory, and a touchscreen display. The method includes displaying the content of an electronic document on the display, displaying a cursor within the electronic document, detecting a touch input on the touchscreen display located on a word in the content, selecting a word in response to the detection of the touch input, and displaying a command display area adjacent to the selected word, the second command display area including an icon for cutting the selected word, an icon for copying the selected word, and an icon for pasting pre-selected content.

[0030] According to some embodiments, the selection operation method is performed in a portable multifunction device including one or more processors, memory, and a touchscreen display. The method includes displaying the content of an electronic document on the display, displaying a selection of content within the electronic document, detecting a single touch input on the touchscreen display at a location overlapping the selection, displaying a set of options for the selection in response to the detection of the single touch input at the location, determining whether there was a sequence of touch gestures where the single touch input remained at the location for a predetermined time and then left the location on the touchscreen display, and moving the selection to a different location in the direction of the sequence of touch gestures in response to the detection of a sequence of touch gestures where the single touch input remained at the location for a predetermined time and then left the location.

[0031] According to some embodiments, the selection operation method is performed in a portable multifunction device including one or more processors, memory, and a touchscreen display. The method includes displaying the content of an electronic document on the display, displaying a selection of content within the electronic document, detecting three substantially simultaneous touch inputs at any position on the touchscreen display, determining whether there are three consecutive touch gestures moving away from the position on the touchscreen display following the three substantially simultaneous touch inputs, and, in response to the detection of three consecutive touch gestures, moving the selection to different positions in the direction of the consecutive touch gestures.

[0032] According to some embodiments, a cursor operation method is performed in a portable multifunctional device including one or more processors, memory, and a touchscreen display. The method includes displaying content on the touchscreen display, which is the content of an electronic document and includes at least one line of text containing at least two words; detecting touch input on the content; determining the distance of the touch input to the nearest space between these two words in the electronic document in response to the detection of touch input; and, according to the determination that the distance is greater than a predetermined threshold distance, selecting the word nearest to the touch input in the electronic document and displaying a selection marker.

[0033] According to some embodiments, the method further positions the cursor in the nearest space after the preceding word if the distance is less than a predetermined threshold distance.

[0034] According to some embodiments, a predetermined threshold distance is calculated based on the proportion of the size of the word closest to the touch input.

[0035] According to some embodiments, the method further includes detecting further touch input at a location within the selection on a touchscreen display while the selection is being displayed, and, in response to the detection of further touch input, deselecting the selection and positioning a cursor adjacent to the word in the electronic document based on the location of the further touch input relative to the nearest space of the word.

[0036] According to some embodiments, the method further includes detecting further touch input at a location within a selection on a touchscreen display while the selection is being displayed; detecting a series of touch gestures from a first location of further touch input on the touchscreen display to a second location on the touchscreen display without interruption of contact with the touchscreen display after the further touch input; and expanding the selection to include further content beyond words in the direction toward the second location in response to the detection of the series of touch gestures.

[0037] According to some embodiments, the method further includes detecting a double-tap touch input, selecting the word closest to the double-tap touch input in response to the detection of the double-tap touch input, and displaying a marker for the selection.

[0038] According to some embodiments, the method further includes detecting a double-tap touch input at a space between two words in an electronic document, selecting the word immediately preceding the double-tap touch input following the space in response to the detection of the double-tap touch input, and displaying a marker for the selection.

[0039] According to some embodiments, the method further includes detecting a triple tap input, selecting the sentence closest to the triple tap input in response to the detection of the triple tap input, and displaying an indicator of the selected sentence.

[0040] According to some embodiments, the method further includes detecting a four-tap input, selecting the paragraph closest to the four-tap input in response to the detection of the four-tap input, and displaying an indicator of the selected paragraph.

[0041] According to some embodiments, the method further includes detecting five tap-touch inputs, selecting content in response to the detection of five tap-touch inputs, and displaying an indicator of the selected content.

[0042] According to some embodiments, when the distance is equal to a predetermined threshold distance, the selection of a word in an electronic document closest to the touch input is performed.

[0043] According to some embodiments, if the distance is equal to a predetermined threshold distance, the cursor is placed in the nearest space after the preceding word.

[0044] According to some embodiments, a method for displaying a keyboard is implemented in a portable multifunction device including one or more processors, memory, and a touchscreen display. The method includes displaying the content of an electronic document on the touchscreen display, displaying a soft keyboard on the touchscreen display, detecting two substantially simultaneous touch inputs on the soft keyboard, and displaying a blurred soft keyboard in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

[0045] According to some embodiments, the method further includes detecting substantially two touch inputs moving from a soft keyboard to content without interruption of contact with the touchscreen display after two substantially simultaneous touch inputs, and replacing a blurred soft keyboard display with a soft keyboard display in response to the detection of consecutive finger touches to the content.

[0046] According to some embodiments, displaying a blurred soft keyboard includes changing any one or more of the soft keyboard's color, hue, saturation, brightness, and contrast based on the content of the electronic document.

[0047] According to some embodiments, the content selection method is implemented in a portable multifunction device including one or more processors, memory, and a touch-sensitive display. The method includes simultaneously displaying an on-screen keyboard and a content display area on the touch-sensitive display, wherein the content display area displays text input received from the on-screen keyboard; detecting touch input on the on-screen keyboard displayed on the touch-sensitive display; determining whether the touch input satisfies one or more criteria for entering text selection mode in response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display; and, in accordance with the determination that the touch input satisfies one or more criteria for entering text selection mode, simultaneously displaying a first cursor at a first position and a second cursor at a second position different from the first position within the content display area.

[0048] According to some embodiments, one or more criteria for entering text selection mode include touch input, including a two-finger drag gesture overlapping the on-screen keyboard.

[0049] According to some embodiments, the device has one or more sensors for detecting the intensity of contact with a touch-sensitive display, touch input on the touch-sensitive display includes input by touch on an on-screen keyboard, and one or more criteria for entering a text selection mode include touch on the on-screen keyboard having an intensity exceeding a predetermined deep press intensity threshold.

[0050] According to some embodiments, the method further includes visually obscuring a key on an on-screen keyboard in accordance with a determination that touch input meets one or more criteria for entering text selection mode.

[0051] According to some embodiments, visually obscuring keys on an on-screen keyboard includes applying a blur effect to the on-screen keyboard.

[0052] According to some embodiments, visually obscuring keys on an on-screen keyboard includes converting the on-screen keyboard into an on-screen touchpad.

[0053] According to some embodiments, visually obscuring keys on an on-screen keyboard includes making the on-screen keyboard semi-transparent to partially reveal the content beneath it.

[0054] According to some embodiments, the second position is based on the initial contact position in touch input, and the first position is an permitted insertion position within the content display area based on the second position.

[0055] According to some embodiments, the first position is an insertion position where the first cursor is located when it is determined that the touch input meets one or more criteria for entering text selection mode, and the second position is displaced from the first position by a predetermined amount of displacement.

[0056] According to some embodiments, one of the first and second cursors is already displayed in the content display area 902 before both the first and second cursors are displayed simultaneously in the content display area.

[0057] According to some embodiments, the method further includes detecting the movement of one or more touch input contacts and moving a second cursor within the content display area in accordance with the movement of one or more touch input contacts.

[0058] According to some embodiments, the method includes moving a first cursor based on the movement of a second cursor, wherein the movement of the first cursor further includes discontinuous movement between permitted insertion positions within the content display area.

[0059] According to some embodiments, the method further includes detecting the lift-off of a touch input after detecting the movement of one or more touch contacts of a touch input, and stopping the display of a second cursor in response to the detection of the lift-off of the touch input.

[0060] According to some embodiments, the method further includes, in response to the detection of lift-off of touch input, maintaining the display of the first cursor at a corresponding permitted insertion position reached by the first cursor after a discontinuous movement of the first cursor.

[0061] According to some embodiments, the method further includes stopping the display of a first cursor in response to the detection of a lift-off of touch input.

[0062] According to some embodiments, the on-screen keyboard becomes obscured upon determination that touch input meets one or more criteria for entering text selection mode, and the method further includes restoring the display of the on-screen keyboard in response to detection of lift-off of touch input.

[0063] According to some embodiments, the device has one or more sensors for detecting the intensity of contact with a touch-sensitive display, and the method further includes, in text selection mode, detecting that the intensity of contact in touch input exceeds a predetermined intensity threshold, detecting the movement of the contact in touch input after detecting that the intensity of contact in touch input exceeds a predetermined intensity threshold, and selecting a portion of the text input in accordance with the movement of the contact in touch input after detecting that the intensity of contact in touch input exceeds a predetermined intensity threshold.

[0064] According to some embodiments, if the detection intensity of touch input exceeds a predetermined intensity threshold, the text input selection portion starts from the position of the first cursor.

[0065] According to some embodiments, the method further includes detecting the lift-off of the touch input contact after selecting a portion of the text input in accordance with the movement of the touch input contact, and confirming the selection of the portion of the text input in response to the detection of the lift-off of the touch input contact.

[0066] According to some embodiments, the method further includes detecting a touch input intensity exceeding a predetermined threshold after a portion of the text input has been selected and while the portion of the text input is selected, and clearing the selection of the portion of the text input in response to the detection of a touch input intensity exceeding a predetermined threshold while the portion of the text input is selected.

[0067] According to some embodiments, the method further includes detecting the intensity of a touch input that exceeds a predetermined threshold and is followed by a lift-off of the contact without further movement of the contact, after a portion of the text input has been selected and while the portion of the text input is selected, and confirming the selection of a portion of the text input in response to the detection of the intensity of a touch input that exceeds a predetermined threshold and is followed by a lift-off of the contact without further movement of the contact.

[0068] According to some embodiments, the method further includes detecting the intensity of a touch input that exceeds a predetermined threshold and continues to move further, after a portion of the text input has been selected and while the portion of the text input is selected, and clearing the portion of the text input selection in response to the detection of the intensity of a touch input that exceeds a predetermined threshold and continues to move further.

[0069] According to some embodiments, the method further includes, in response to the detection of the intensity of contact in touch input, which exceeds a predetermined threshold and is accompanied by further movement of the contact, initiating the selection of a new portion of text input as the contact continues to move.

[0070] According to some embodiments, the method further includes, in response to the detection of the intensity of a touch input that exceeds a predetermined threshold and where further movement of the contact continues, moving the second cursor and the first cursor further within the content display area in accordance with the further movement of the contact.

[0071] According to some embodiments, the device has one or more sensors for detecting the intensity of contact with a touch-sensitive display, and the method further includes, in text selection mode, detecting a first local intensity peak in touch input and a second local intensity peak in subsequent touch input, both exceeding a predetermined intensity threshold, and selecting a first predetermined unit of text input according to the current position of a first cursor in response to the detection of the first local intensity peak and the second local intensity peak, both exceeding a predetermined intensity threshold.

[0072] According to some embodiments, the method further includes detecting a first local intensity peak and a subsequent second local intensity peak, followed by detecting a third consecutive local intensity peak in the touch input that exceeds a predetermined intensity threshold, and selecting a second predetermined unit of text input that is greater than and includes a first predetermined unit of text input, in response to the detection of three consecutive local intensity peaks in the touch input, all of which exceed a predetermined deep pressure intensity threshold.

[0073] According to some embodiments, the content selection method is implemented in a portable multifunction device that includes one or more processors, memory, a touchscreen display, and one or more sensors for detecting the intensity of contact with a touch-sensitive surface. The method includes: simultaneously displaying content and a text selection indicator at a first position within the content on a display while contact is detected on a touch-sensitive surface; detecting a first press input by contact and a subsequent movement of contact across the touch-sensitive surface corresponding to the movement of at least a portion of the text selection indicator on the display from a first position to a second position; selecting content between the first and second positions in response to the detection of the first press input by contact and the subsequent movement of contact across the touch-sensitive surface; detecting a second press input by contact on the touch-sensitive surface while the content between the first and second positions is selected; and performing a text selection operation related to the content between the first and second positions in accordance with the second press input in response to the detection of the second press input by contact on the touch-sensitive surface, wherein the contact of the first press input, the movement across the touch-sensitive surface, and the second press input is a single continuous contact with the touch-sensitive surface.

[0074] According to some embodiments, the detection of a first pressing input by contact and the subsequent detection of the movement of contact across the touch-sensing surface includes the detection of an increase in contact intensity that exceeds a predetermined intensity threshold, and the subsequent detection of a decrease in contact intensity to an intensity that remains above a predetermined minimum intensity value.

[0075] According to some embodiments, the method further includes displaying at least a portion of a text selection indicator at a second location within the content in response to the detection of a first press input by contact and the subsequent movement of contact across a touch-sensitive surface.

[0076] According to some embodiments, the text selection operation includes stopping the selection of content at a second position and maintaining the selection of content between the first and second positions.

[0077] According to some embodiments, the method further includes detecting a lift-off of contact after detecting a second press input and while content between the first and second positions remains selected, and displaying an action menu relating to the selected content between the first and second positions in response to the detection of the lift-off of contact.

[0078] According to some embodiments, the method further includes detecting a second press input by contact on a touch-sensing surface, stopping content selection at a second position, detecting further movement of the contact, and, in response to the detection of further movement of the contact, displaying at least a portion of a text selection indicator at a third position within the content.

[0079] According to some embodiments, the method further includes, in response to the detection of further movement of contact, canceling the selection of content between the first and second positions without selecting content between the second and third positions.

[0080] According to some embodiments, the text selection operation includes canceling the selection of content between a first position and a second position.

[0081] According to some embodiments, the method further includes detecting a second press input due to contact on a touch-sensing surface, canceling the selection of content between a first and a second position, detecting further movement of the contact, and selecting content between a second and a third position in response to the detection of further movement of the contact.

[0082] According to some embodiments, the method further includes detecting a lift-off of contact while content is selected between a second position and a third position, and stopping the selection of content at the third position and maintaining the selection of content between the second position and the third position in response to the detection of a lift-off of contact while content is selected between the second position and the third position.

[0083] According to some embodiments, the method further includes detecting an initial press input by contact on a touch-sensitive surface before displaying a text selection indicator at a first position in the content, and, in response to the detection of the initial press input, displaying a text selection indicator at an initial position in the content corresponding to the position of the initial press input on the touch-sensitive surface.

[0084] According to some embodiments, the display is a touch-sensitive display including a touch-sensitive surface, and the method further includes simultaneously displaying content and an on-screen keyboard on the touch-sensitive display, wherein an initial press input is detected on the on-screen keyboard.

[0085] According to some embodiments, the initial press input is detected at a position on the touch-sensitive surface corresponding to the position of the content on the display.

[0086] According to some embodiments, the display is a touch-sensitive display including a touch-sensitive surface, and the method further includes simultaneously displaying content and an on-screen keyboard on the touch-sensitive display, detecting multi-touch drag input on the on-screen keyboard before displaying a text selection indicator at a first position in the content, and, in response to the detection of multi-touch drag input on the on-screen keyboard, displaying a text selection indicator at an initial position in the content based on the position of the multi-touch drag input on the on-screen keyboard.

[0087] According to some embodiments, the content includes editable content, and the text selection indicator includes a cursor.

[0088] According to some embodiments, the method further includes displaying an enlarged cursor and a magnifying glass that displays the area surrounding the cursor.

[0089] According to some embodiments, content selection between a first position and a second position includes moving the cursor one character at a time in response to the detection of movement of a touch across a touch-sensitive surface, and selecting an additional character at a time as the cursor moves.

[0090] According to some embodiments, the content includes read-only content, the text selection indicator includes a selection area, and displaying the text selection indicator at a first position includes displaying a first word located at the first position within the selection area.

[0091] According to some embodiments, the method further includes displaying a magnified selection area and a magnifying glass that displays the area surrounding the selection area.

[0092] According to some embodiments, selecting content between a first position and a second position includes expanding the selection area by one word at a time as the touch moves across the touch-sensitive surface, and selecting further words at a time as the selection area expands.

[0093] According to some embodiments, the method further includes, in response to the detection of a second press input, determining that the second press input is accompanied by a simultaneous movement of contact across the touch-sensing surface, and therefore refraining from performing a text selection operation.

[0094] According to some embodiments, if the text is editable text, the text selection indicator is a cursor, and selecting content between a first position and a second position involves expanding the selection character by character as the touch-sensitive surface moves; if the text is not editable text, the text selection indicator is a selection area initially encompassing a single word, and selecting content between a first position and a second position involves expanding the selection word by word as the touch-sensitive surface moves.

[0095] According to some embodiments, the content selection method is implemented in a portable multifunction device including one or more processors, memory, and a touch-sensitive display. The method includes simultaneously displaying an on-screen keyboard and a content display area on the touch-sensitive display, wherein the content display area displays text input received from the on-screen keyboard; detecting touch input on the on-screen keyboard displayed on the touch-sensitive display, including detecting the movement of a contact and the lift-off of a contact; determining, in response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, that the touch input satisfies a text selection criterion, the text selection criterion including a criterion that is satisfied when the characteristic intensity of the contact increases above a text selection intensity threshold; and determining, in accordance with the determination, that the touch input satisfies a text input criterion, the text input criterion including a criterion that is satisfied when the characteristic intensity of the contact does not increase above a text selection intensity threshold, and inputting text into the content display area based on the touch input.

[0096] According to some embodiments, the text input criteria include a criterion that is met when a lift-off of the contact is detected while the contact is at the position of a character key on the on-screen keyboard.

[0097] According to some embodiments, the text input criteria include a criterion that is met when the contact does not move outside the on-screen keyboard before the lift-off of the contact is detected.

[0098] According to some embodiments, entering text into a content area includes entering a character corresponding to a character key at the location where a touchdown is detected on the on-screen keyboard.

[0099] According to some embodiments, entering text into a content area includes entering a character corresponding to a character key at the position where a lift-off of contact is detected on the on-screen keyboard.

[0100] According to some embodiments, the text selection criteria include a criterion that is met if the contact does not move beyond a threshold distance before detecting an increase in the feature intensity of the contact that exceeds a text selection intensity threshold.

[0101] According to some embodiments, the text selection operation includes either moving the cursor within the content area or selecting text within the content area.

[0102] According to some embodiments, the method further includes generating a tactile output that notifies the user to enter a text selection operation mode in response to a determination that the text selection criteria have been met.

[0103] According to some embodiments, the method further includes, in response to detection that text selection criteria have been met, changing the appearance of the on-screen keyboard to indicate that the device is operating in text selection mode, wherein the change in the appearance of the on-screen keyboard includes obscuring the appearance of the characters on the keys of the on-screen keyboard.

[0104] According to some embodiments, the method further includes ending the text selection operation mode and, upon ending the text selection operation mode, restoring the appearance changes of the on-screen keyboard and displaying characters on the keys of the on-screen keyboard.

[0105] According to some embodiments, the method further includes detecting the movement of the touch after the touch input satisfies the text selection criteria, and moving the cursor within the content area according to the movement of the touch detected after the touch input satisfies the text selection criteria.

[0106] According to some embodiments, the method further includes detecting a first subsequent change in the characteristic intensity of a touch and a subsequent further movement of the touch on a touch-sensitive display when the touch input satisfies a selection criterion; determining, in response to the detection of the first subsequent change in the characteristic intensity of the touch, that the touch input satisfies a selection initiation criterion, the selection initiation criterion includes a criterion that is satisfied when the characteristic intensity of the touch increases above a selection initiation intensity threshold, and, in accordance with the determination and the further movement of the touch, initiating the selection of content within the content area at the cursor position; and, in accordance with the determination that the touch input does not satisfy the selection initiation criterion, moving the cursor without initiating the selection of content within the content area with the further movement of the touch.

[0107] According to some embodiments, the method further includes detecting a lift-off of contact from a touch-sensitive display after initiating a selection of content within a content area when a touch input satisfies a selection initiation criterion, and confirming the selection in response to the detection of the lift-off of contact.

[0108] According to some embodiments, the method further includes: detecting a second subsequent change in the intensity of a touch while contact detection continues on a touch-sensitive display, after initiating a selection of content within a content area when a touch input satisfies a selection initiation criterion; canceling a selection according to a determination that the second subsequent change in the characteristic intensity of a touch satisfies a selection cancellation criterion, the selection cancellation criterion includes a criterion that is satisfied when the characteristic intensity of a touch increases above a selection cancellation intensity threshold; and maintaining a selection according to a determination that the second subsequent change in the characteristic intensity of a touch does not satisfy the selection cancellation criterion.

[0109] According to some embodiments, the selection cancellation criterion includes a criterion that is met if the contact moves less than or equal to a threshold distance within a threshold time before the contact feature intensity increases above a selection cancellation intensity threshold.

[0110] According to some embodiments, the method further includes generating a tactile output that indicates the end of the text selection operation mode in response to the detection that a selection cancellation criterion has been met.

[0111] According to some embodiments, the method further includes detecting a third subsequent change in the touch feature intensity while touch detection continues on the touch-sensitive display after a selection has been canceled; in response to the detection of the third subsequent change in the touch feature intensity, initiating the selection of content within the content area at the cursor position according to a determination that the touch input satisfies the selection initiation criteria; and refraining from initiating the selection of content within the content area according to a determination that the touch input does not satisfy the selection initiation criteria.

[0112] According to some embodiments, initiating content selection in response to the detection of a third subsequent change in the touch feature intensity includes selecting a corresponding word at the cursor position.

[0113] According to some embodiments, the selected corresponding word is a first word, and the method further includes detecting a first subsequent movement of contact while the first word is selected, canceling the selection of the first word according to a determination that the touch input satisfies a selection movement criterion, which includes a movement criterion that is satisfied when the contact moves beyond a corresponding threshold amount, in response to the detection of the first subsequent movement of contact while the first word is selected, and selecting a second word adjacent to the first word in a first direction according to the first subsequent movement of contact, thereby making the selected corresponding word the second word.

[0114] According to some embodiments, the method further includes detecting a first subsequent movement of a contact while a corresponding word is selected, and, in response to the detection of a first subsequent movement of a contact while a corresponding word is selected, expanding the selection to include words adjacent to the corresponding word in a first direction, according to the first subsequent movement of the contact, according to the determination that the touch input satisfies a selection expansion criterion, which includes a movement criterion that is satisfied when the contact moves beyond a corresponding threshold amount.

[0115] According to some embodiments, the method further includes detecting a fourth subsequent change in the touch feature intensity that exceeds a corresponding intensity threshold while a corresponding word is selected, and canceling the selection of the corresponding word in response to the detection of the fourth subsequent change in the touch feature intensity, according to a determination that the touch input satisfies a selection cancellation criterion, the selection cancellation criterion being satisfied when the amount of time between the detection of a third subsequent change in the touch feature intensity and the detection of a fourth subsequent change in the touch feature intensity is greater than a delay threshold.

[0116] According to some embodiments, the method further includes detecting a fourth subsequent change in the touch feature intensity that exceeds a corresponding intensity threshold while a corresponding word is selected, and, in response to the detection of the fourth subsequent change in the touch feature intensity, determining that the touch input satisfies a sentence selection criterion, the sentence selection criterion comprising: a movement criterion that is satisfied if the touch moves less than a threshold amount within a threshold period before the fourth subsequent change in the touch intensity is detected; and a time criterion that is satisfied if the amount of time between the detection of the third subsequent change in the touch feature intensity and the detection of the fourth subsequent change in the touch feature intensity is less than a delay threshold, and expanding the selection to include a corresponding sentence containing the corresponding word.

[0117] According to some embodiments, the method further includes detecting a second subsequent movement of a touch while a corresponding sentence is selected, and, in response to the detection of a second subsequent movement of a touch while a corresponding sentence is selected, expanding the selection to include sentences adjacent to the corresponding sentence in a first direction, according to the second subsequent movement of the touch, according to the determination that the touch input satisfies selection expansion criteria, which include movement criteria that are satisfied when the touch moves beyond a corresponding threshold amount.

[0118] According to some embodiments, a corresponding sentence is selected in response to a fourth subsequent change in the touch feature intensity, and the method further includes detecting a fifth subsequent change in the touch feature intensity that exceeds a corresponding intensity threshold while the corresponding sentence is selected, and canceling the selection of the corresponding sentence in response to the detection of the fifth subsequent change in the touch feature intensity, according to a determination that the touch input satisfies a selection cancellation criterion, the selection cancellation criterion being satisfied when the amount of time between the detection of the fourth subsequent change in the touch feature intensity and the detection of the fifth subsequent change in the touch feature intensity is greater than a delay threshold.

[0119] According to some embodiments, the method further includes, in response to the detection of a fifth subsequent change in the characteristic intensity of a touch, determining that a touch input satisfies a paragraph selection criterion, wherein the paragraph selection criterion includes a movement criterion, which is satisfied if the touch moves less than a threshold amount within a threshold period before the fifth subsequent change in the intensity of the touch is detected, and a time criterion, which is satisfied if the amount of time between the detection of the fourth subsequent change in the characteristic intensity of the touch and the detection of the fifth subsequent change in the characteristic intensity of the touch is less than a delay threshold, and the selection includes a corresponding paragraph containing the corresponding sentence.

[0120] According to some embodiments, the method further includes detecting a third subsequent movement of a contact while a corresponding paragraph is selected, and, in response to the detection of a third subsequent movement of a contact while a corresponding paragraph is selected, expanding the selection to include paragraphs adjacent to the corresponding paragraph in a first direction, according to the third subsequent movement of the contact, based on the determination that the touch input satisfies selection expansion criteria, which include movement criteria that are satisfied when the contact moves beyond a corresponding threshold amount.

[0121] According to some embodiments, a corresponding paragraph is selected in response to a fifth subsequent change in the touch feature intensity, and the method further includes detecting a sixth subsequent change in the touch feature intensity that exceeds a corresponding intensity threshold while the corresponding paragraph is selected, and canceling the selection of the corresponding paragraph in response to the detection of the sixth subsequent change in the touch feature intensity, according to a determination that the touch input satisfies a selection cancellation criterion, the selection cancellation criterion being satisfied when the amount of time between the detection of the fifth subsequent change in the touch feature intensity and the detection of the sixth subsequent change in the touch feature intensity is greater than a delay threshold.

[0122] According to some embodiments, the method further includes expanding the selection to include corresponding documents containing corresponding paragraphs, in response to the detection of a sixth subsequent change in the characteristic intensity of a touch, wherein the selection criteria include a movement criterion, which is met if the touch moves less than a threshold amount within a threshold period before the sixth subsequent change in the intensity of the touch is detected, and a time criterion, which is met if the amount of time between when the fifth subsequent change in the characteristic intensity of the touch is detected and when the sixth subsequent change in the characteristic intensity of the touch is detected is less than a delay threshold.

[0123] According to some embodiments, a content manipulation method is performed on a portable multifunction device including one or more processors, memory, and a touchscreen display. The method includes displaying the content of an electronic document and a cursor within the content on the touchscreen display, displaying a soft keyboard on the touchscreen display having a plurality of keys, each of which has a corresponding alphanumeric character from a plurality of alphanumeric characters, detecting two substantially simultaneous touch inputs on the soft keyboard, and changing the appearance of the soft keyboard to a modified appearance in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

[0124] According to some embodiments, a content manipulation method further includes detecting a slide gesture from a first position of substantially two touch inputs on a soft keyboard to a second position on the content, without interruption of contact with the touchscreen display after two substantially simultaneous touch inputs, and maintaining a changed appearance of the soft keyboard in response to the detection of the slide gesture.

[0125] According to some embodiments, modifying the appearance of a soft keyboard includes removing multiple alphanumeric characters from multiple keys, or changing any one or more of the soft keyboard's color, hue, saturation, brightness, or contrast based on the content of an electronic document.

[0126] According to some embodiments, a content manipulation method further includes detecting a continuous movement of two substantially simultaneous touch inputs from a first position on a soft keyboard to a second position at any location on the touchscreen display without interruption of contact with the touchscreen display, and, in response to the detection of the continuous movement, expanding the selected content in the direction toward the second position to include further content beyond a portion.

[0127] According to some embodiments, expanding the selected content to include further content beyond the portion in the direction toward the second position includes displaying a start object and an end object at each end of the selection, and moving either the start object or the end object according to the positions of the first and second positions. For example, the selection is expanded by moving the start object or the end object, such as by dragging a cursor. The initial direction of consecutive movements of two substantially simultaneous touch inputs determines which portion of the selection is expanded. For example, moving two substantially simultaneous touch inputs to the left / up expands the selection backward by dragging a lollipop-shaped start object, while moving two substantially simultaneous touch inputs to the right / down expands the selection forward by dragging an overturned lollipop-shaped end object.

[0128] According to some embodiments, expanding the selected content to include further content beyond the portion in the direction toward the second position includes expanding the selection by one word at a time, in accordance with the determination that the speed of continuous movement exceeds a predetermined threshold.

[0129] According to some embodiments, a content manipulation method further includes detecting a lift-off after detecting two substantially simultaneous touch inputs, followed by two more substantially simultaneous touch inputs, followed by a slide gesture to further locations of two more substantially simultaneous touch inputs traversing the touchscreen display, deselecting selected content, selecting a word as selected content closest to the cursor, and expanding the selected content to include further content beyond the selected content in the direction toward further locations.

[0130] According to some embodiments, the content manipulation method further includes detecting two more substantially simultaneous touch inputs on a soft keyboard, and, in response to the detection of two more substantially simultaneous touch inputs on the soft keyboard, expanding the selected content to include a sentence containing a word, based on the determination that the selected content is a word.

[0131] According to some embodiments, the content manipulation method further includes, upon determining that the selected content exceeds one word, displaying a cursor at the beginning of the selected content and deselecting the selected content.

[0132] According to some embodiments, a content manipulation method further includes detecting two more substantially simultaneous touch inputs, expanding the selected content to include the text containing the portion thereof in response to the detection of two more substantially simultaneous touch inputs, and displaying an indicator for the selected content.

[0133] According to some embodiments, expanding the selected content to a sentence containing the portion includes expanding the selected content to a sentence containing the portion, based on the determination that the time between two substantially simultaneous touch inputs and two further substantially simultaneous touch inputs is less than a predetermined threshold (e.g., 0.66 seconds).

[0134] According to some embodiments, the content manipulation method further includes detecting two more substantially simultaneous touch inputs, expanding the selected content to a paragraph containing the portion in response to the detection of two more substantially simultaneous touch inputs, and displaying an indicator of the selected content.

[0135] According to some embodiments, extending selected content to a paragraph containing the portion includes extending selected content to a paragraph containing the portion, based on the determination that the time between two substantially simultaneous touch inputs and two further substantially simultaneous touch inputs is less than a predetermined threshold (e.g., 0.66 seconds).

[0136] According to some embodiments, an electronic device is provided that includes a display, a touch-sensing surface, one or more processors, memory, and one or more programs, wherein the one or more programs are stored in memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods described herein.

[0137] According to some embodiments, a graphical user interface is provided on an electronic device having a display, a touch-sensitive surface, memory, and one or more processors for executing one or more programs stored in the memory. The graphical user interface includes one or more of the elements displayed in any of the above methods, and these elements are updated in response to input as described in any of the methods described herein.

[0138] According to some embodiments, a non-temporary computer-readable storage medium is provided that stores instructions causing an electronic device having a display and a touch-sensing surface to perform any of the methods described herein, when performed by the device.

[0139] According to some embodiments, the electronic device includes the content of an electronic document, a display unit configured to display a cursor within the electronic document, a touch-sensitive surface unit configured to receive user contact, and a processing unit connected to the display unit and the touch-sensitive surface unit. The processing unit is configured to detect two substantially simultaneous touch inputs at any location on the touchscreen display, and in response to the detection of two substantially simultaneous touch inputs, to select a portion of the content closest to the cursor in the document and display the portion of the content as selected content.

[0140] According to some embodiments, the electronic device includes a display unit configured to display the content of an electronic document and a cursor at the current position within the content; a touch-sensing surface unit configured to receive user contact; and a processing unit connected to the display unit and the touch-sensing surface unit. The processing unit is configured to detect two substantially simultaneous touch inputs in a first area of ​​the touchscreen display, and when it determines that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, to detect a series of touch gestures traversing the touchscreen display from the first area to a second area from the positions of the two substantially simultaneous touch inputs, and in response to the detection of the series of touch gestures, to move the cursor from its current position to a new position in the direction of the series of touch gestures.

[0141] According to some embodiments, the electronic device includes a display unit configured to display text and a cursor on a line within the text; a touch-sensitive surface unit configured to receive user contact; and a processing unit connected to the display unit and the touch-sensitive surface unit. The processing unit is configured to detect a two-finger swipe gesture on the touchscreen display that is at least partially parallel to the line and toward the edge of the touchscreen display, and to move the cursor to the distal point of the text in response to the detection of the two-finger swipe gesture.

[0142] According to some embodiments, the electronic device includes the content of an electronic document, a display unit configured to display a cursor in the electronic document, a touch-sensing surface unit configured to receive user contact, and a processing unit connected to the display unit and the touch-sensing surface unit. The processing unit is configured to detect touch input on a touchscreen display, which is located on a word in the content, to select the word in response to the detection of the touch input, and to display a command display area adjacent to the selected word, where the second command display area includes an icon for cutting the selected word, an icon for copying the selected word, and an icon for pasting pre-selected content.

[0143] According to some embodiments, the electronic device includes the content of an electronic document, a display unit configured to display a selection of content within the electronic document, a touch-sensing surface unit configured to receive user contact, and a processing unit connected to the display unit and the touch-sensing surface unit. The processing unit is configured to detect a single touch input on the touchscreen display at a location overlapping the selection, to display a set of options for the selection in response to the detection of a single touch input at the location, to determine whether there was a sequence of touch gestures where the single touch input remained at the location for a predetermined time and then moved away from the location on the touchscreen display, and to move the selection to a different location in the direction of the sequence of touch gestures in response to the detection of a sequence of touch gestures where the single touch input remained at the location for a predetermined time and then moved away from the location.

[0144] According to some embodiments, the electronic device includes the content of an electronic document, a display unit configured to display a selection of content within the electronic document, a touch-sensing surface unit configured to receive user contact, and a processing unit connected to the display unit and the touch-sensing surface unit. The processing unit is configured to detect three substantially simultaneous touch inputs at any position on the touchscreen display, to determine whether there are three consecutive touch gestures moving away from the position on the touchscreen display following the three substantially simultaneous touch inputs, and, in response to the detection of three consecutive touch gestures, to move the selection to different positions in the direction of the consecutive touch gestures.

[0145] According to some embodiments, the electronic device includes a display unit configured to display content, which is the content of an electronic document and includes at least one line of text containing at least two words; a touch-sensing surface unit configured to receive user contact; and a processing unit connected to the display unit and the touch-sensing surface unit. The processing unit is configured to detect touch input on the content, and in response to the detection of touch input, to determine the distance of the touch input to the nearest space between these two words in the electronic document, and, according to the determination that the distance is greater than a predetermined threshold distance, to select the word nearest to the touch input in the electronic document and display a selection marker.

[0146] According to some embodiments, the electronic device includes a display unit configured to display the content of an electronic document and a soft keyboard, a touch-sensitive surface unit configured to receive user contact, and a processing unit connected to the display unit and the touch-sensitive surface unit. The processing unit is configured to detect two substantially simultaneous touch inputs on the soft keyboard and to display a blurred soft keyboard in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

[0147] According to some embodiments, the electronic device includes a touch-sensitive surface unit configured to receive user touch input, a display unit configured to simultaneously display an on-screen keyboard and a content display area on the touch-sensitive display unit, the content display area displaying text input received from the on-screen keyboard, and a processing unit connected to the display unit and the touch-sensitive surface unit. The processing unit is configured to detect touch input on the on-screen keyboard displayed on the touch-sensitive display, and in response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, to determine whether the touch input satisfies one or more criteria for entering text selection mode, and in accordance with the determination that the touch input satisfies one or more criteria for entering text selection mode, to simultaneously display a first cursor at a first position and a second cursor at a second position different from the first position within the content display area.

[0148] According to some embodiments, the electronic device includes a touch-sensing surface unit configured to receive user touch input; a display unit configured to simultaneously display content and a text selection indicator at a first position within the content on a display unit while contact is detected on the touch-sensing surface unit; one or more sensors for detecting the intensity of contact with the touch-sensing surface unit; and a processing unit connected to the display unit and the touch-sensing surface unit. The processing unit is configured to detect a first press input by contact and a subsequent movement of contact across the touch-sensing surface unit corresponding to the movement of at least a portion of a text selection indicator on the display unit from a first position to a second position, to select content between the first and second positions in response to the detection of the first press input by contact and the subsequent movement of contact across the touch-sensing surface unit, to detect a second press input by contact on the touch-sensing surface unit while the content between the first and second positions is selected, to perform a text selection operation related to the content between the first and second positions in response to the detection of the second press input by contact on the touch-sensing surface unit, wherein the contact of the first press input, the movement across the touch-sensing surface unit, and the second press input is a single continuous contact with the touch-sensing surface unit.

[0149] According to some embodiments, the electronic device includes a touch-sensitive surface unit configured to receive user touch input, a display unit configured to simultaneously display an on-screen keyboard and a content display area on the touch-sensitive display unit, the content display area displaying text input received from the on-screen keyboard, one or more sensors for detecting the intensity of contact with the touch-sensitive surface unit, and a processing unit connected to the display unit and the touch-sensitive surface unit. The processing unit is configured to detect touch input on the on-screen keyboard displayed on the touch-sensitive display, including detection of contact movement and contact lift-off, and to perform a text selection operation based on contact movement in response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, in accordance with the determination that the touch input satisfies text selection criteria, the text selection criteria including criteria that are satisfied when the characteristic intensity of the contact increases above a text selection intensity threshold, and to input text into the content display area based on the touch input in accordance with the determination that the touch input satisfies text input criteria, the text input criteria including criteria that are satisfied when the characteristic intensity of the contact does not increase above a text selection intensity threshold.

[0150] According to some embodiments, an electronic device is provided which includes the content of an electronic document, a display unit configured to display a cursor in the electronic document, a touch-sensitive surface unit configured to receive user contact, and a processing unit connected to the display unit and the touch-sensitive surface unit. The processing unit displays a soft keyboard having a plurality of keys on a touchscreen display, each of the plurality of keys having a corresponding alphanumeric character from a plurality of alphanumeric characters, and is configured to detect two substantially simultaneous touch inputs on the soft keyboard and to change the appearance of the soft keyboard to a changed appearance in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

[0151] Therefore, the effectiveness, efficiency, and user satisfaction of an electronic device having a display or touch-sensitive surface will be improved by providing a faster and more efficient method and interface for cursor control. Such a method and interface can complement or replace conventional methods for cursor control. [Brief explanation of the drawing]

[0152] For a better understanding of the various embodiments described, please refer to the following "Modes for Carrying Out the Invention" in conjunction with the drawings. Here, similar reference numerals indicate the corresponding parts throughout the drawings.

[0153] [Figure 1A] This is a block diagram showing a portable multifunctional device having a touch-sensitive display, according to several embodiments.

[0154] [Figure 1B] This is a block diagram showing exemplary components for event handling according to several embodiments.

[0155] [Figure 2A]This is a schematic diagram of a portable multifunctional device having a touchscreen, according to several embodiments.

[0156] [Figure 2B] This is a diagram illustrating an exemplary user interface for a multifunctional device having a touch-sensitive surface separated from a display, according to several embodiments.

[0157] [Figure 2C] This is a diagram illustrating an exemplary dynamic intensity threshold according to several embodiments. [Figure 2D] This is a diagram illustrating an exemplary dynamic intensity threshold according to several embodiments. [Figure 2E] This is a diagram illustrating an exemplary dynamic intensity threshold according to several embodiments.

[0158] [Figure 3] This is a schematic diagram of a user interface for an application menu on a portable multifunction device, according to several embodiments.

[0159] [Figure 4A] This flowchart shows a cursor operation method using two substantially simultaneous touch inputs, according to several embodiments.

[0160] [Figure 4B] This flowchart shows a cursor operation method using a single touch input according to several embodiments.

[0161] [Figure 4C] This flowchart shows a cursor operation method using three substantially simultaneous touch inputs (e.g., three-finger touch input) according to several embodiments.

[0162] [Figure 5A] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5B]This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5C] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5D] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5E] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5F] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5G] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5H] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5I] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5J] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5K] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5L] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5M] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5N] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5O] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5P]This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5Q] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5R] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5S] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5T] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5U] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5V] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5W] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5X] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5Y] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5Z] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AA] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AB] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AC] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AD]This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AE] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AF] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AG] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AH] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AI] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AJ] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AK] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AL] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AM] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AN] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AO] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AP] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AQ] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AR]This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AS] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AT] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AU] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AV] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AW] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments. [Figure 5AX] This is a diagram illustrating an exemplary user interface for cursor operation according to several embodiments.

[0163] [Figure 6A] This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments. [Figure 6B] This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments. [Figure 6C] This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments. [Figure 6D] This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments. [Figure 6E] This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments. [Figure 6F] This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments. [Figure 6G]This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments. [Figure 6H] This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments. [Figure 6I] This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments. [Figure 6J] This is a diagram illustrating an exemplary user interface for cursor operation using a single touch input, according to several embodiments.

[0164] [Figure 7A] This diagram illustrates the changes in the appearance of an exemplary keyboard in response to two substantially simultaneous touch inputs according to several embodiments. [Figure 7B] This diagram illustrates the changes in the appearance of an exemplary keyboard in response to two substantially simultaneous touch inputs according to several embodiments. [Figure 7C] This diagram illustrates the changes in the appearance of an exemplary keyboard in response to two substantially simultaneous touch inputs according to several embodiments.

[0165] [Figure 8] This is a functional block diagram of an electronic device according to several embodiments.

[0166] [Figure 9A] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9B] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9C] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9D]This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9E] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9F] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9G] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9H] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9I] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9J] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9K] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9L] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9M] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9N] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9O] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9P] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9Q] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9R] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9S] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9T] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9U] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9V] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9W] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9X] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9Y] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9Z] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9AA] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9AB] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9AC] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 9AD] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments.

[0167] [Figure 10A] This is a flowchart illustrating a method for operating a cursor according to several embodiments. [Figure 10B] This is a flowchart illustrating a method for operating a cursor according to several embodiments. [Figure 10C] This is a flowchart illustrating a method for operating a cursor according to several embodiments. [Figure 10D] This is a flowchart illustrating a method for operating a cursor according to several embodiments. [Figure 10E] This is a flowchart illustrating a method for operating a cursor according to several embodiments. [Figure 10F] This is a flowchart illustrating a method for operating a cursor according to several embodiments. [Figure 10G] This is a flowchart illustrating a method for operating a cursor according to several embodiments.

[0168] [Figure 11A] This flowchart illustrates a method for selecting content according to several embodiments. [Figure 11B] This flowchart illustrates a method for selecting content according to several embodiments. [Figure 11C] This flowchart illustrates a method for selecting content according to several embodiments. [Figure 11D] This flowchart illustrates a method for selecting content according to several embodiments. [Figure 11E] This flowchart illustrates a method for selecting content according to several embodiments. [Figure 11F] This flowchart illustrates a method for selecting content according to several embodiments.

[0169] [Figure 12]This is a functional block diagram of an electronic device according to several embodiments.

[0170] [Figure 13A] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13B] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13C] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13D] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13E] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13F] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13G] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13H] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13I] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13J] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13K] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13L]This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13M] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13N] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13O] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13P] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments. [Figure 13Q] This is a diagram illustrating an exemplary user interface for cursor operation and content selection, according to several embodiments.

[0171] [Figure 14A] This flowchart illustrates, according to several embodiments, how to operate the cursor and how to select content. [Figure 14B] This flowchart illustrates, according to several embodiments, how to operate the cursor and how to select content. [Figure 14C] This flowchart illustrates, according to several embodiments, how to operate the cursor and how to select content. [Figure 14D] This flowchart illustrates, according to several embodiments, how to operate the cursor and how to select content. [Figure 14E] This flowchart illustrates, according to several embodiments, how to operate the cursor and how to select content. [Figure 14F] This flowchart illustrates, according to several embodiments, how to operate the cursor and how to select content. [Figure 14G] This flowchart illustrates, according to several embodiments, how to operate the cursor and how to select content. [Figure 14H] A flowchart showing a method of operating a cursor and a method of selecting content according to some embodiments.

[0172] [Figure 15] A functional block diagram of an electronic device according to some embodiments.

Embodiments for Carrying out the Invention

[0173] Hereinafter, a device and a method for a user to efficiently operate a cursor in an electronic document will be described. This method is particularly useful for portable devices having a small display (including handheld or pocket-sized devices such as smartphones). When using conventional portable devices, the user may notice that it is difficult to accurately place (or touch) their finger at the position of the cursor on the touch screen display because the cursor is often small and hidden under the user's finger and / or is placed between text or graphics. For this reason, the user often has to lift their finger and re-place their finger multiple times until the cursor is in the correct position. This conventional process is time-consuming and inefficient and discourages the user. With the method described herein, a user can operate and place a cursor at a desired position within an electronic document and, in addition, perform certain editing functions such as text selection or text movement. In some embodiments, the operation of this cursor (or selected text) can be controlled from any part of the touch-sensitive surface, not just the location of the cursor. These methods increase the efficiency and ease of use when performing these operations by greatly reducing the number of steps required for the user to move and edit the document.

[0174] In FIGS. 1A-1B, 2A-2B, and 3 below, an exemplary device is described. FIGS. 5A-5AR show an exemplary user interface for cursor operations when editing an electronic document. FIGS. 4A-4C are flowcharts showing cursor operation methods. The user interfaces of FIGS. 5A-5AX, 6A-6J, 7A-7C, 9A-9AD, and 13A-13Q are used to illustrate the processes of the methods recited in FIGS. 4A-4C, 10A-10G, 11A-11F, 14A-14H, and the claims. Exemplary device

[0175] Here, reference is made in detail to the embodiments illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks are not described in detail so as not to unnecessarily obscure aspects of the embodiments.

[0176] In this specification, terms such as first, second, etc. may be used to describe various elements, but it will be understood that these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, without departing from the scope of the present invention, the first contact may be referred to as the second contact, and similarly, the second contact may be referred to as the first contact. The first contact and the second contact are both contacts, but they are not the same contact.

[0177] The terms used in this description of the invention are for the sole purpose of describing specific embodiments and are not intended to limit the invention. When used in this description of the invention and in the appended claims, the singular forms "a," "an," and "the" are intended to also include the plural forms unless the context explicitly indicates otherwise. Furthermore, when used herein, the terms "and / or" refer to and include any one or more of the related enumerated items, and all possible combinations thereof. When used herein, the terms "comprises" and / or "comprising" specify the presence of the described features, integers, processes, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, processes, operations, elements, components, and / or groups thereof.

[0178] When used herein, the term "if" can be interpreted, depending on the context, as meaning "when," "upon," "in response to determining," or "in response to detecting." Similarly, the expressions "if it is determined" or "if [a stated condition or event] is detected" can be interpreted, depending on the context, as meaning "upon determining," "in response to determining," "upon detecting [the stated condition or event]," or "in response to detecting [the stated condition or event]."

[0179] Embodiments of computing devices, user interfaces for such devices, and related processes for using such devices are described. In some embodiments, the computing device is a portable communication device, such as a mobile phone, which also includes other functions, such as PDA functionality and / or music playback functionality. Exemplary embodiments of portable multifunction devices include, but are not limited to, the IPHONE®, iPad®, and iPad Touch® devices manufactured by Apple Computer, Inc. (Cupertino, California).

[0180] The following description refers to computing devices that include touch-sensitive displays. However, it should be understood that computing devices may also include one or more other physical user interface devices, such as separate displays, physical keyboards, mice, and / or joysticks.

[0181] This device supports any one or more of the following applications: note-taking applications, drawing applications, presentation applications, word processing applications, website creation applications, disk authoring applications, spreadsheet applications, game applications, telephone applications, video conferencing applications, email applications, instant messaging applications, fitness applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music playback applications, digital video playback applications, and / or home automation applications.

[0182] Various applications that can run on the device can 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 can be adjusted and / or modified on an application-by-application basis and / or within each application. In this way, the device's common physical architecture (such as the touch-sensitive surface) can support a variety of applications with intuitive and transparent user interfaces.

[0183] The user interface may include one or more embodiments of a soft keyboard. The soft keyboard embodiments may include standard (QWERTY) and / or non-standard configurations of symbols on the displayed keyboard icons, such as those described in U.S. Patent Application No. 11 / 459,606, "Keyboards For Portable Electronic Devices" (filed July 24, 2006), and U.S. Patent Application No. 11 / 459,615, "Touch Screen Keyboards For Portable Electronic Devices" (filed July 24, 2006) (the disclosures of which are incorporated herein by reference in their entirety). The keyboard embodiments may include fewer icons (or soft keys) than the number of keys in an existing physical keyboard, such as one for a typewriter. This may make it easier for the user to select one or more icons (i.e., one or more corresponding symbols) on the keyboard. The keyboard embodiments may be adaptive. For example, the displayed icons may change in accordance with user actions, such as selecting one or more icons and / or one or more corresponding symbols. One or more applications on the device may utilize common and / or different keyboard embodiments. Therefore, the keyboard embodiment used may be adapted to at least a portion of the application. In some embodiments, one or more keyboard embodiments may be adapted to each user. For example, one or more keyboard embodiments may be adapted to each user based on their word usage history (dictionary editing, slang, personal use). Some of the keyboard embodiments may be adjusted to reduce the probability of user error when selecting one or more icons (i.e., one or more symbols) when using a soft keyboard embodiment.

[0184] Here, we turn our attention to embodiments of portable devices equipped with touch-sensitive displays. Figure 1A is a block diagram of a portable multifunction device 100 having a touch-sensitive display system 112 according to several embodiments. The touch-sensitive display system 112 may be conveniently referred to as a “touchscreen” or simply as a touch-sensitive display. Device 100 includes a memory 102 (optionally including one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral 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. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more intensity sensors 165 (e.g., touch-sensitive surfaces such as the touch-sensitive display system 112 of device 100) for detecting the intensity of contact on device 100. Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on Device 100 (for example, generating tactile output on a touch-sensitive surface such as the touch-sensitive display system 112 of Device 100 or the touchpad 355 of Device 300). These components optionally communicate via one or more communication buses or signal lines 103.

[0185] As used herein and in the claims, the term “tactile output” means a physical displacement of a device relative to its previous position, a physical displacement of one component of a 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 a device, which will be detected by the user through the user’s sense of touch. For example, in a situation where a device or component of a device is in contact with a touch-sensitive user’s surface (e.g., the user’s fingers, palm, or other part of their hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical properties of the device or component of the device. For example, the movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) may be optionally interpreted by the user as a “down-click” or “up-click” of a physical actuator button. In some cases, the user may feel a tactile sensation such as a “down-click” or “up-click” even when there is no movement of a physical actuator button associated with a touch-sensitive surface that has been physically pressed (e.g., displaced) by the user’s movement. As another example, the movement of a touch-sensitive surface can be selectively interpreted or perceived 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 user interpretations of touch depend on the individual user's sensory perception, there are many touch sensory perceptions common to the majority of users. Therefore, when a tactile output is described as corresponding to a particular user sensory perception (e.g., "up-click," "down-click," "roughness"), unless otherwise stated, the generated tactile output corresponds to the physical displacement of the device or its components that would produce the described sensory perception for a typical (or average) user.

[0186] Device 100 is merely an example of a portable multifunction device, and it should be understood that Device 100 may optionally have more or fewer components than those shown, or may optionally have two or more components in any combination, or may optionally have different configurations or arrangements of components. The various components shown in Figure 1A are implemented in hardware, software, firmware, or a combination thereof, including one or more signal processing and / or application-specific integrated circuits.

[0187] Memory 102 optionally includes high-speed random-access memory and optionally includes non-volatile memory such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to memory 102 by other components of device 100, such as CPU 120(or more) and peripheral interface 118, is optionally controlled by memory controller 122.

[0188] The peripheral interface 118 can be used to connect the device's input and output peripherals to the CPU(s) 120 and memory 102. One or more processors 120 activate or execute various software programs and / or instruction sets stored in memory 102 to perform various functions for device 100 and to perform data processing.

[0189] In some embodiments, the peripheral interface 118, CPU(s) 120, and memory controller 122 are optionally implemented on a single chip such as chip 104. In some other embodiments, they are optionally implemented on separate chips.

[0190] The RF (radio frequency) circuit 108 transmits and receives RF signals, also known as electromagnetic signals. The RF circuit 108 converts electrical signals to electromagnetic signals, or electromagnetic signals to electrical signals, and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 108 optionally includes, but is 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 other well-known circuits for performing the above functions. The RF circuit 108 optionally communicates wirelessly with the Internet, also known as the World Wide Web (WWW), intranets and / or cellular telephone networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs), and other devices.Wireless communication uses one of several communication standards, protocols, and technologies at will. These communication standards, protocols, and technologies include 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®, and Wireless. Examples of suitable communication protocols include, but are not limited to, Fidelity(Wi-Fi)(registered trademark) (e.g., IEEE802.11a, IEEE802.11ac, IEEE802.11ax, IEEE802.11b, IEEE802.11g, and / or IEEE802.11n), Voice over Internet Protocol (VoIP), Wi-MAX(registered trademark), protocols for email (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Event Package (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocols, including communication protocols not yet developed as of the filing date of this document.

[0191] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral 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 human audible sound waves. The audio circuit 110 also receives the electrical signal converted from the sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data and transmits the audio data to the peripheral interface 118 for processing. The audio data is optionally retrieved by the peripheral interface 118 from memory 102 and / or RF circuit 108, and / or transmitted to memory 102 and / or RF circuit 108. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., 212, Figure 2A). The headset jack provides an interface between the audio circuit 110 and a detachable audio input / output peripheral device, such as output-only headphones or a headset having both output (e.g., headphones for one or both ears) and input (e.g., a microphone).

[0192] The I / O subsystem 106 connects the input / output peripherals of device 100, such as the touch-sensitive display system 112 and other input or control devices 116, to the peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a haptic feedback controller 161, and one or more input controllers 160 for the other input or control devices. One or more input controllers 160 receive electrical signals from and transmit electrical signals to other input or control devices 116. The other input or control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons), dials, slider switches, joysticks, click wheels, etc. In some alternative embodiments, the input controller(s) 160 are optionally connected to (or not connected to) any of the following: a keyboard, an infrared port, a USB port, a stylus, and / or a pointer device such as a mouse. One or more buttons (e.g., 208, Figure 2A) optionally include up / down buttons for volume control of speaker 111 and / or microphone 113. One or more buttons optionally include push buttons (e.g., 206, Figure 2A).

[0193] The touch-sensitive display system 112 provides input and output interfaces between the device and the user. The display controller 156 receives electrical signals from and / or transmits electrical signals to the touch-sensitive display system 112. The touch-sensitive display system 112 displays a 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 or all of the visual output corresponds to user interface objects. As used herein, the term “affordance” means a user-interactive graphical user interface object (for example, a graphical user interface object configured to respond to input directed to the graphical user interface object). Examples of user-interactive graphical user interface objects include, but are not limited to, buttons, sliders, icons, selectable menu items, switches, hyperlinks, or other user interface controls.

[0194] The touch-sensitive display system 112 has a touch-sensitive surface, sensor, or set of sensors that receive user input based on tactile and / or tactile contact. The touch-sensitive display system 112 and the display controller 156 (together with any relevant modules and / or a set of instructions in memory 102) detect contact (and any movement or interruption of contact) on the touch-sensitive display system 112 and translate the detected contact into interaction with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch-sensitive display system 112. In an exemplary embodiment, the point of contact between the touch-sensitive display system 112 and the user corresponds to the user's finger or stylus.

[0195] The touch-sensing display system 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although in other embodiments other display technologies are used. The touch screen 112 and the display controller 156 use any of a plurality of currently known or later-developed touch-sensing methods, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave methods, and other proximity sensor arrays or other elements for determining one or more points of contact with the touch-sensing display system 112, to optionally detect contact and any movement or interruption thereof. In an exemplary embodiment, projection-type mutual capacitive sensing technology, as found in, for example, the iPhone (registered trademark), iPod Touch (registered trademark), and iPad (registered trademark) manufactured by Apple Inc. (Cupertino, California), is used.

[0196] The touch-sensing display system 112 optionally has a video resolution greater than 100 dpi. In some embodiments, the video resolution of the touch screen is greater than 400 dpi (e.g., 500 dpi, 800 dpi, or more). The user optionally contacts the touch-sensing display system 112 using any suitable object or appendage, such as a stylus, finger, etc. In some embodiments, the user interface is designed to function with finger-based contact and gestures, and due to the large contact area of the finger on the touch screen, it may be less accurate than stylus-based input. In some embodiments, the device converts coarse finger-based input into a command to execute an exact pointer / cursor position or the action desired by the user.

[0197] In some embodiments, in addition to the touchscreen, the device 100 optionally includes a touchpad (not shown) for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of ​​the device that, unlike the touchscreen, does not display a visual output. The touchpad is optionally a touch-sensitive surface separate from the touch-sensitive display system 112, or an extension of the touch-sensitive surface formed by the touchscreen.

[0198] Device 100 also includes a power system 162 for supplying power to various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., a battery, alternating current (AC)), a charging system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)), and any other components related to the generation, management, and distribution of power within the portable device.

[0199] Device 100 also optionally includes one or more optical sensors 164. Figure 1A shows the optical sensors connected to the optical sensor controller 158 in the I / O subsystem 106. The optical sensors 164 optionally include charge-coupled devices (CCDs) or complementary metal-oxide-semiconductor (CMOS) phototransistors. The optical sensors 164 receive light from the environment projected through one or more lenses and convert that light into data representing an image. In use with the imaging module 143 (also referred to as the camera module), the optical sensors 164 optionally capture still images and / or video. In some embodiments, the optical sensors are located on the back of device 100 (opposite the touch-sensitive display system 112 on the front of the device) so that the touchscreen can be used as a viewfinder for acquiring still and / or video images. In some embodiments, additional optical sensors are positioned on the front of the device to obtain an image of the user (for example, for photos taken by the user, or for video conferencing where the user views other video conference participants on a touchscreen).

[0200] Device 100 also optionally includes one or more contact intensity sensors 165. Figure 1A shows a contact intensity sensor connected to an intensity sensor controller 159 within the I / O subsystem 106. The contact intensity sensor(s) 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electric force sensors, pressure-power sensors, optical force sensors, capacitive touch-sensing surfaces, or other intensity sensors (e.g., sensors used to determine the force (or pressure) of contact on the touch-sensing surface). The contact intensity sensor(s) 165 receive contact intensity information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is located juxtaposed with or adjacent to the touch-sensing surface (e.g., touch-sensing display system 112). In some embodiments, at least one contact intensity sensor is located on the back of device 100 (opposite the touchscreen display system 112 located on the front of device 100).

[0201] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows a proximity sensor 166 connected to a peripheral interface 118. Alternatively, the proximity sensor 166 is connected to an input controller 160 in the I / O subsystem 106. In some embodiments, when the multifunction device is positioned near the user's ear (for example, when the user is making a phone call), the proximity sensor is turned off and the touch-sensitive display system 112 is disabled.

[0202] Device 100 also optionally includes one or more tactile output generators 167. Figure 1A shows a tactile output generator connected to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generator(s) 167 optionally includes one or more electroacoustic devices such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output components (e.g., components that convert electrical signals into tactile outputs on the device). The tactile output generator(s) 167 receives a tactile feedback generation command from the tactile feedback module 133 and generates a tactile output on device 100 that can be sensed by the user of device 100. In some embodiments, at least one tactile output generator is positioned adjacent to or near a touch-sensing surface (e.g., a touch-sensing display system 112) and optionally generates a tactile output by moving the touch-sensing surface vertically (e.g., inward / outward from the surface of device 100) or laterally (e.g., in the forward / backward direction on the same plane as the surface of device 100). In some embodiments, at least one tactile output generator sensor is positioned on the back of device 100, opposite the touch-sensing display system 112 which is positioned on the front of device 100.

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

[0204] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a touch / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a haptic feedback module (or instruction set) 133, 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. Furthermore, in some embodiments, as shown in Figures 1A and 3, memory 102 stores a device / global internal state 157. The device / global internal state 157 includes any one or more of the following: an active application state indicating which application is active, if any applications are currently active; a display state indicating which applications, views, or other information occupy various areas of the touch-sensitive display system 112; a sensor state including information obtained from various sensors and other input or control devices 116 of the device; and location and / or positional information relating to the location and / or orientation of the device.

[0205] An operating system 126 (for example, an embedded operating system such as iOS®, Darwin, RTXC, LINUX®, UNIX®, OS X®, WINDOWS®, or VxWorks®) includes various software components and / or drivers for controlling and managing common system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware components and software components.

[0206] The communication module 128 facilitates communication with other devices via one or more external ports 124 and includes various software components for processing data received by the RF circuit 108 and / or external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB®), FireWire®, etc.) are adapted to connect to other devices directly or indirectly via a network (e.g., the Internet, Wi-Fi, etc.). In some embodiments, the external ports are multi-pin (e.g., 30-pin) connectors identical to, or similar to, and / or compatible with, the 30-pin connector used in some iPhone®, iPod Touch®, and iPad® devices manufactured by Apple Inc. (Cupertino, California). In some embodiments, the external ports are Lightning connectors identical to, or similar to, and / or compatible with, the Lightning® connector used in some iPhone®, iPod Touch®, and iPad® devices manufactured by Apple Inc. (Cupertino, California).

[0207] The contact / motion module 130 optionally detects contact with the touch-sensitive display system 112 (in conjunction with the display controller 156) and contact with 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 (e.g., by a finger or stylus), such as determining whether contact has occurred (e.g., detecting a finger being lowered), determining the intensity of the contact (e.g., the force or pressure of the contact, or something equivalent to the force or pressure of the contact), determining whether there is motion in the contact and tracking movement across the touch-sensitive surface (e.g., detecting an event of dragging with one or more fingers), and determining whether contact has stopped (e.g., detecting a finger being lifted or an interruption of contact). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of a contact point represented by a series of contact data optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These operations optionally apply to a single contact (e.g., a single finger or stylus contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and the display controller 156 detect contact on the touchpad.

[0208] The contact / motion module 130 optionally detects gesture input from the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different movement, timing, and / or intensity of the detected contact). Therefore, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture involves detecting a finger lowering event, followed by a finger lifting (lift-off) event at the same location (or substantially the same location) as the finger lowering event (e.g., at the icon's position). As another example, detecting a finger swipe gesture on the touch-sensitive surface involves detecting a finger lowering event, followed by a drag event of one or more fingers, and then a finger lifting (lift-off) event. Similarly, taps, swipes, drags, and other gestures are optionally detected on the stylus by identifying specific contact patterns on the stylus.

[0209] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch-sensitive display system 112 or other display, including components for changing the visual effects of the displayed graphics (e.g., brightness, transparency, saturation, contrast, or other visual characteristics). As used herein, the term “graphics” includes, but is not limited to, any objects that can be displayed to a user, such as text, web pages, icons (including user interface objects such as soft keys), digital images, videos, animations, etc.

[0210] In some embodiments, the graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes from an application or the like, as needed, along with coordinate data and other graphics property data, specifying the graphics to be displayed, and then generates screen image data to be output to the display controller 156.

[0211] The haptic feedback module 133 includes various software components for generating commands used by a haptic output generator 167 to generate haptic outputs at one or more locations on the device 100 in response to user interaction with the device 100.

[0212] The text input module 134 is optionally a component of the graphics module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other applications that require text input).

[0213] The GPS module 135 determines the location of the device and provides this information for use in various applications (for example, to the telephone 138 for use in location-based dialing, to the camera 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).

[0214] Application 136 optionally includes the following modules (or instruction sets), or subsets or supersets thereof: ● Contact module 137 (sometimes also called the address book or contact list), ●Telephone module 138, ●Video conferencing module 139, ● Email client module 140, ● Instant messaging (IM) module 141, ●Training support module 142, ● Camera module 143 for still images and / or video images, ●Image management module 144, ● Browser module 147, ●Calendar module 148, ● A widget module 149 that optionally includes one or more of the following: weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, other widgets acquired by the user, and user-created widgets 149-6. ●Widget creator module 150 for creating user-created widget 149-6, ●Search module 151, ● A video and music player module 152, which optionally consists of a video playback module and a music playback module. ●Memo Module 153, ●Map module 154, and / or ● Online video module 155.

[0215] Examples of other applications 136 that may be optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, Java®-enabled applications, encryption, digital rights management, speech recognition, and speech duplication.

[0216] Together with the touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, the contact module 137 includes executable instructions for managing an address book or contact list (stored, for example, in the application internal state 192 of the contact module 137 in memory 102 or memory 370), which include adding names to the address book, removing names from the address book, associating telephone numbers, email addresses, physical addresses, or other information with names, associating images with names, classifying and sorting names, providing telephone numbers and / or email addresses to initiate and / or facilitate communication by telephone 138, video conferencing 139, email 140, or IM 141, etc.

[0217] Together with the RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch-sensitive display system 112, display controller 156, contact module 130, graphic module 132, and text input module 134, the telephone module 138 includes executable commands for inputting a series of characters corresponding to a telephone number, accessing one or more telephone numbers in the address book 137, modifying the entered telephone number, dialing each telephone number, conducting a conversation, and disconnecting the connection or ending the call when the conversation is complete. As described above, wireless communication may optionally use any of several communication standards, protocols, and technologies.

[0218] Together with an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, a touch-sensitive display system 112, a display controller 156, an optical sensor(s) 164, an optical sensor controller 158, a contact module 130, a graphics module 132, a text input module 134, a contact list 137, and a telephone module 138, the video conferencing module 139 includes executable commands for initiating, conducting, and ending a video conference between the user and one or more other participants, in accordance with the user's instructions.

[0219] Together with the RF circuit 108, touch-sensitive display system 112, display controller 156, contact module 130, graphic module 132, and text input module 134, the email client module 140 includes executable commands for creating, sending, receiving, and managing emails in response to user instructions. Together with the image management module 144, the email client module 140 makes it very easy to create and send emails containing still or video images captured by the camera module 143.

[0220] Together with the RF circuit 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, the instant messaging module 141 includes executable instructions for entering strings corresponding to instant messages, modifying already entered characters, sending each instant message (for example, using the Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocol for phone-based instant messaging, or using XMPP, SIMPLE, Apple Push Notification Service (APN), or IMPS for internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photographs, audio files, video files, and / or other attachments, as supported by MMS and / or Enhanced Messaging Services (EMS). As used herein, “instant messaging” refers to both telephone-based messaging (e.g., messages sent using SMS or MMS) and internet-based messaging (e.g., messages sent using XMPP, SIMPLE, APN, or IMPS).

[0221] Together with the RF circuit 108, touch-sensitive display system 112, display controller 156, contact module 130, graphic module 132, text input module 134, GPS module 135, map module 154, and music playback module 146, the training support module 142 includes executable commands for generating training (e.g., having time, distance, and / or calorie consumption targets), communicating with training sensors (of sports devices and smartwatches), receiving training sensor data, calibrating sensors used to monitor training, selecting and playing music for training, and displaying, storing, and transmitting training data.

[0222] Together with the touch-sensitive display system 112, display controller 156, optical sensor(s) 164, optical sensor controller 158, contact module 130, graphics module 132, and image management module 144, the 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, and / or deleting still images or videos from memory 102.

[0223] Together with the touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, text input module 134, and camera module 143, the image management module 144 includes executable commands for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still and / or video images.

[0224] Together with the RF circuit 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, the browser module 147 includes executable instructions for browsing the Internet in accordance with user instructions, including searching for, linking, receiving, and displaying web pages or parts thereof, as well as attachments and other files linked to web pages.

[0225] Together with the RF circuit 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying, and storing calendars and data associated with calendars (e.g., calendar items, to-do lists, etc.) in accordance with user instructions.

[0226] Along with the RF circuit 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphic module 132, text input module 134, and browser module 147, the widget module 149 is a mini-application that can be optionally downloaded and used by the user (e.g., weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5), or a mini-application created by the user (e.g., user-created widget 149-6). In some embodiments, the widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript® file. In some embodiments, the widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! Widget).

[0227] Together with the RF circuit 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, the widget creator module 150 includes executable instructions for creating widgets (for example, converting a user-specified location on a web page into a widget).

[0228] Together with the touch-sensitive display system 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 for text, music, sounds, images, videos, and / or other files in memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) according to user instructions.

[0229] Together with the touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, and browser module 147, the video and music player module 152 includes executable commands that allow the user to download and play recorded music or other sound files stored in one or more file formats such as MP3 or AAC files, as well as executable commands for displaying, presenting, or otherwise playing video (on the touch-sensitive display system 112 or on an external display wirelessly connected via the external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player such as an iPod (a registered trademark of Apple Inc.).

[0230] Together with the touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, the memo module 153 includes executable commands for creating and managing memos, to-do lists, etc., according to user instructions.

[0231] Together with the RF circuit 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, the map module 154 includes executable instructions for receiving, displaying, modifying, and storing maps and map-related data (e.g., driving directions, data about shops and other points of interest in a particular place or nearby, and other location-based data) in accordance with user instructions.

[0232] Together with the touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuit mechanism 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, the online video module 155 includes executable instructions that enable the user to access, browse, receive (e.g., by streaming and / or downloading), play (e.g., on the touchscreen 112 or on an external display wirelessly connected via external port 124), send emails containing links to specific online videos, and otherwise manage them. In some embodiments, an instant messaging module 141, rather than the email client module 140, is used to send links to specific online videos.

[0233] Each of the modules and applications identified above corresponds to an executable instruction set and a method of this application (e.g., a method performed by a computer and other information processing methods described herein) for performing one or more of the above functions. These modules (i.e., instruction sets) do not need to be implemented as separate software programs, procedures, or modules, and therefore various subsets of these modules can be optionally combined or rearranged in various embodiments. In some embodiments, memory 102 optionally stores a subset of the identified modules and data structures described above. Furthermore, memory 102 optionally stores additional modules and data structures not described above.

[0234] In some embodiments, device 100 is a device in which the operation of a predetermined set of functions on the device is performed exclusively via a touchscreen and / or touchpad. By using a touchscreen and / or touchpad as the primary input control device for the operation of device 100, the number of physical input control devices (push buttons, dials, etc.) on device 100 is optionally reduced.

[0235] A predetermined set of functions, performed exclusively via the touchscreen and / or touchpad, optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates the device 100 from any user interface displayed on the device 100 to a main menu, home menu, or root menu. In such embodiments, a “menu button” is implemented using the touchpad. In some other embodiments, the menu button is a physical push button or another physical input control device in place of the touchpad.

[0236] Figure 1B is a block diagram showing exemplary components for event processing according to several embodiments. In some embodiments, memory 102 (in Figure 1A) includes an event sorter 170 (e.g., in the operating system 126) and each application 136-1 (e.g., any of the applications 137-153 described above).

[0237] The event sorter 170 receives event information and determines the application 136-1 and the application view 191 of application 136-1 to deliver the event information. The event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes an application internal state 192 that indicates the current application view(s) displayed on the touch-sensitive display 112 when the application is active or running. In some embodiments, the device / global internal state stored in memory 102 is used by the event sorter 170 to determine which application(s) is currently active, and the application internal state 192 is used by the event sorter 170 to determine the application view(s) to deliver the event information.

[0238] In some embodiments, the application internal state 192 includes additional information such as resume information used when the application 136-1 resumes execution, user interface state information indicating information that is displayed by the application 136-1 or is ready to be displayed, state queues to allow the user to return to a previous state or view of the application 136-1, and any one or more redo / undo queues of actions previously performed by the user.

[0239] The event monitor 171 receives event information from the peripheral interface 118. The event information includes information about sub-events (for example, user touch on the touch-sensitive display 112 as part of a multi-touch gesture). The peripheral interface 118 transmits information received from the I / O subsystem 106 or (via the audio circuit 110) from sensors such as the proximity sensor 166, accelerometer(s) 168, and / or microphone 113. The information that the peripheral interface 118 receives from the I / O subsystem 106 includes information from the touch-sensitive display 112 or touch-sensitive surface.

[0240] In some embodiments, the event monitor 171 sends requests to the peripheral interface 118 at predetermined intervals. In response, the peripheral interface 118 transmits event information. In other embodiments, the peripheral interface 118 transmits event information only when there is a significant event (e.g., receiving an input that exceeds a predetermined noise threshold and / or for a longer period of time).

[0241] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognition determination module 173.

[0242] The hit view determination module 172 provides a software procedure for determining where in one or more views a sub-event occurred when the touch-sensitive display 112 displays more than one view. A view consists of a control unit and other elements that the user can see on the display.

[0243] Another aspect of the user interface associated with an application is a set of views, which may be referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures are performed. The application view (of each application) in which a touch is detected may correspond to the program level within the application's program hierarchy or view hierarchy. For example, the lowest level view in which a touch is detected may be called a hit view, and the set of events recognized as appropriate input may be determined, at least in part, based on the hit view of the initial touch that initiates a touch-based gesture.

[0244] The hit view determination module 172 receives information associated with sub-events of touch-based gestures. If the application has multiple views organized hierarchically, the hit view determination module 172 identifies the hit view as the lowest-level view in the hierarchy that should process the sub-events. In most situations, the hit view is the lowest-level view where the first sub-event (e.g., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once a hit view is identified by the hit view determination module, the hit view typically receives all sub-events associated with the same touch or input source that identified it as the hit view.

[0245] The active event recognition determination module 173 determines which view(s) in the view hierarchy should receive a particular sequence of sub-events. In some embodiments, the active event recognition determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, the active event recognition determination module 173 determines that all views, including the physical location of the sub-event, are actively involved views, and therefore all actively involved views should receive a particular sequence of sub-events. In other embodiments, even if the touch sub-event is exclusively limited to a region associated with a particular view, higher-level views in the hierarchy may remain actively involved views.

[0246] The event dispatcher module 174 transmits event information to an event recognition unit (e.g., an event recognition unit 180). In embodiments including an active event identification unit determination module 173, the event dispatcher module 174 delivers the event information to the event recognition unit determined by the active event recognition unit determination module 173. In some embodiments, the event dispatcher module 174 stores the event information acquired by each event receiving unit module 182 in an event queue.

[0247] In some embodiments, the operating system 126 includes an event sorter 170. Alternatively, application 136-1 includes an event sorter 170. In yet another embodiment, the event sorter 170 is a standalone module or part of another module stored in memory 102, such as a contact / motion module 130.

[0248] In some embodiments, application 136-1 includes a plurality of event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring within each view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognition units 180. Typically, each application view 191 includes a plurality of event recognition units 180. In other embodiments, any one or more of the event recognition units 180 are part of a separate module, such as a user interface kit (not shown) or a higher-level object from which application 136-1 inherits methods and other characteristics. In some embodiments, each event handler 190 includes any one or more event data 179 received from a data update unit 176, an object update unit 177, a GUI update unit 178, and / or an event sorter 170. The event handler 190 may use or call the data update unit 176, the object update unit 177, or the GUI update unit 178 to update the application's internal state 192. Alternatively, one or more of the application views 191 may contain one or more of the respective event handlers 190. In some embodiments, one or more of the data update unit 176, the object update unit 177, and the GUI update unit 178 are included within each application view 191.

[0249] Each event recognition unit 180 receives event information (e.g., event data 179) from the event sorter 170 and identifies an event from that event information. The event recognition unit 180 includes an event receiving unit 182 and an event comparison unit 184. In some embodiments, the event recognition unit 180 further includes at least a subset of metadata 183 and event delivery instructions 188 (which may include sub-event delivery instructions).

[0250] The event receiving unit 182 receives event information from the event sorter 170. The event information includes, for example, information about sub-events such as touches or touch movements. Depending on the sub-event, the event information may also include additional information such as the location of the sub-event. If the sub-event relates to a touch movement, the event information may further include the speed and direction of that sub-event. In some embodiments, an event includes a rotation of the device from one direction to another (for example, from portrait orientation to landscape orientation, or vice versa), and the event information includes corresponding information about the device's current orientation (also called the device's orientation).

[0251] The event comparison unit 184 compares event information with a predetermined event or sub-event definition and, based on the comparison, determines the event or sub-event, or determines or updates the state of the event or sub-event. In some embodiments, the event comparison unit 184 includes an event definition 186. The event definition 186 includes event definitions (e.g., a predetermined sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events within event 187 include, for example, touch start, touch end, touch move, touch cancel, and multiple touches. In one example, the definition of event 1 (187-1) is a double tap on a displayed object. A double tap includes, for example, a first touch (touch start) for a predetermined stage on the displayed object, a first lift-off (touch end) for a predetermined stage, a second touch (touch start) for a predetermined stage on the displayed object, and a second lift-off (touch end) for a predetermined stage. In another embodiment, event 2(187-2) is defined as dragging on a displayed object. Dragging includes, for example, touching (or contacting) a predetermined stage on the displayed object, moving the touch across the touch-sensitive display 112, and lifting off the touch (end of touch). In some embodiments, the event also includes information about one or more associated event handlers 190.

[0252] In some embodiments, the event definition 187 includes an event definition for each user interface object. In some embodiments, the event comparison unit 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view where three user interface objects are displayed on the touch-sensitive display 112, when a touch is detected on the touch-sensitive display 112, the event comparison unit 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 its respective event handler 190, the event comparison unit uses the results of the hit test to determine which event handler 190 needs to be activated. For example, the event comparison unit 184 selects the event handler associated with the object that triggers the sub-event and the hit test.

[0253] In some embodiments, the definition for each event 187 also includes a delay operation that delays the delivery of event information until it is determined whether the sequence of sub-events corresponds to the event type of the event recognition unit.

[0254] If each event recognition unit 180 determines that a series of sub-events does not match any of the events in the event definition 186, each event recognition unit 180 enters an event impossible, event failed, or event terminated state and thereafter ignores subsequent sub-events of the touch-based gesture. In this situation, any other event recognition units that remain active for the hit view continue to track and process the sub-events of the ongoing touch-based gesture.

[0255] In some embodiments, each event recognition unit 180 includes metadata 183 having configurable properties, flags, and / or lists that indicate how sub-events should be delivered to event recognition units in which the event delivery system is actively involved. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognition units may interact with each other. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to various levels within the view hierarchy or program hierarchy.

[0256] In some embodiments, each event recognition unit 180 activates an event handler 190 associated with an event when one or more specific sub-events of an event are recognized. In some embodiments, each event recognition unit 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is distinct from sending (and delaying the sending of) the sub-events to the respective hit view. In some embodiments, the event recognition unit 180 throws a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs predetermined processing.

[0257] In some embodiments, the event delivery instruction 188 includes a sub-event delivery instruction that delivers event information about a sub-event without activating an event handler. Instead, the sub-event delivery instruction delivers the event information to an event handler or an actively involved view associated with a set of sub-events. The event handler associated with the set of sub-events or the actively involved view receives the event information and performs predetermined processing.

[0258] In some embodiments, the data update unit 176 creates and updates data used in application 136-1. For example, the data update unit 176 updates telephone numbers used in contact module 137 or stores video files used in video and music player module 145. In some embodiments, the object update unit 177 creates and updates objects used in application 136-1. For example, the object update unit 176 creates new user interface objects or updates the position of user interface objects. The GUI update unit 178 updates the GUI. For example, the GUI update unit 178 prepares display information and transmits it to the graphics module 132 for display on the touch-sensitive display.

[0259] In some embodiments, the event handler(s) 190 includes, or has access to, a data update unit 176, an object update unit 177, and a GUI update unit 178. In some embodiments, the data update unit 176, the object update unit 177, and the GUI update unit 178 are included in one module of each application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.

[0260] The foregoing description regarding the handling of user touch events on a touch-sensitive display also applies to other forms of user input for operating the multifunction device 100 using input devices, not all of which begin on the touchscreen. For example, mouse movement and mouse button presses can be used as inputs corresponding to sub-events that define the events to be recognized, either in conjunction with or independently of single or multiple keyboard presses or holds, user movements on a touchpad, taps, drags, scrolls, etc., pen stylus input, device movements, verbal instructions, detected eye movements, biometric input, and / or any combination thereof.

[0261] Figure 2A shows a portable multifunctional device 100 having a touchscreen (e.g., a touch-sensitive display system 112, Figure 1A) according to several embodiments. The touchscreen optionally displays one or more graphics within a user interface (UI) 200. In other embodiments described later and in this embodiment, the user can select any one or more of the graphics by making gestures on the graphics using, for example, one or more fingers 202 (not shown in the figure to an exact scale) or one or more styluses 203 (not shown in the figure to an exact scale). In some embodiments, the selection of one or more graphics occurs when the user interrupts contact with one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, right to left, upward, and / or downward), and / or rotations of the finger in contact with the device 100 (from right to left, left to right, upward, and / or downward). In some implementations or situations, unintended contact with a graphic will not select the graphic. For example, if the gesture corresponding to selection is a tap, a swipe gesture (swiping over an application icon) will not selectively select the corresponding application.

[0262] Device 100 also optionally includes one or more physical buttons, such as a "Home" or menu button 204. As described above, the menu button 204 is optionally used to navigate to any application 136 from a set of applications optionally run on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on a touchscreen display.

[0263] In some embodiments, device 100 includes a touchscreen display, a menu button 204, a push button 206 for turning the device on / off and locking the device, volume buttons 208, a subscriber identification module (SIM) card slot 210, a headset jack 212, and an external docking / charging port 124. The push button 206 is optionally used to turn the device on / off by pressing and holding the button for a predetermined time interval, and to lock and / or unlock the device or initiate an unlock process by pressing and releasing the button before the predetermined time interval has elapsed. In some embodiments, device 100 also receives verbal input through a microphone 113 to activate or deactivate certain functions. The device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of contact on the touch-sensitive display system 112 and / or one or more tactile output generators 167 for generating user tactile output for the device 100.

[0264] Figure 2B shows an exemplary user interface on a device (e.g., device 100, Figure 1A) having a touch-sensitive surface 251 (e.g., a tablet or touchpad) separate from the display 250. Device 100 also optionally includes one or more contact intensity sensors (e.g., any one or more of sensors 259) for detecting the intensity of contact on the touch-sensitive surface 251, and / or one or more tactile output generators 257 for generating tactile output to the user of device 100.

[0265] Many of the following examples are given with reference to inputs on a touchscreen display 112 (a combination of a touch-sensing surface and a display), but in some embodiments, the device detects inputs on a touch-sensing surface separate from the display, as shown in Figure 2B. In some embodiments, the touch-sensing surface (e.g., 251 in Figure 2B) has a principal axis (e.g., 252 in Figure 2B) corresponding to a principal axis (e.g., 253 in Figure 2B) on the display (e.g., 250). According to these embodiments, the device detects contact (e.g., 260 and 262 in Figure 2B) with the touch-sensing surface 251 at positions corresponding to each of the positions on the display (e.g., 260 corresponds to 268 and 262 corresponds to 270 in Figure 2B). Thus, when the touch-sensitive surface is separate from the display, user input (e.g., touches 260 and 262, and their movements) detected by the device on the touch-sensitive surface (e.g., 251 in Figure 2B) is used by the device to operate the user interface on the display of the multifunction device (e.g., 250 in Figure 2B). It should be understood that a similar method may be optionally used for other user interfaces described herein.

[0266] Furthermore, while the following examples primarily refer to finger input (e.g., finger touch, finger tap gesture, finger swipe gesture, etc.), it should be understood that in some embodiments, any one or more of these finger inputs may be replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture may optionally be replaced by a mouse click (e.g., instead of touch) and the subsequent movement of the cursor along the swipe path (e.g., instead of the movement of the touch). As another example, a tap gesture may optionally be replaced by a mouse click (e.g., instead of the detection of touch and the subsequent cessation of touch detection) while the cursor is positioned over the tap gesture. Similarly, when multiple user inputs are detected simultaneously, it will be understood that multiple computer mice may optionally be used simultaneously, or a mouse and finger touch may optionally be used simultaneously.

[0267] As used herein, the term “focus selector” refers to an input element that indicates the current part of the user interface that the user is interacting with. In some implementations, including a cursor or other position marker, the cursor functions as a “focus selector” so that when input (e.g., a press input) is detected on a touch-sensitive surface (e.g., a trackpad or touchpad 251 in Figure 2B) while the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), that particular user interface element is adjusted according to the detected input. In some implementations, including a touchscreen display (e.g., the touch-sensitive display system 112 in Figure 1A, or the touchscreen in Figure 2A) that enables direct interaction with user interface elements on the touchscreen display, the contact detected on the touchscreen acts as a “focus selector” so that when input (e.g., a press input by touch) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, that particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one area of ​​the user interface to another without the corresponding cursor movement or touch movement on the touchscreen display (for example, by moving focus from one button to another using the tab key or arrow keys). In these implementations, the focus selector moves in accordance with the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is generally a user interface element (or touch on the touchscreen display) controlled by the user (for example, by pointing to the device the user interface element that the user wishes to interact with) to convey the user's intended interaction with the user interface.For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen), the position of the focus selector (e.g., cursor, touch, or selection box) above each button indicates (in contrast to other user interface elements displayed on the device's display) that the user is attempting to activate that button.

[0268] As used herein and in the claims, the term “strength” of contact on a touch-sensitive surface means the force or pressure (force per unit area) of contact on a touch-sensitive surface (e.g., finger contact or stylus contact), or a substitute for the force or pressure of contact on a touch-sensitive surface. The strength of contact has a numerical range, including at least four different numerical values, and more typically hundreds or more different numerical values ​​(e.g., at least 256). The strength of contact is determined (or measured) optionally using various methods and various sensors, or combinations of sensors. For example, one or more sensors placed below or adjacent to the touch-sensitive surface are optionally used to measure the force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted average or sum) to determine an estimated force of contact. 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 and / or change in the contact area detected on the touch-sensitive surface, the capacitance and / or change in the touch-sensitive surface adjacent to the contact, and / or the resistance and / or change in the touch-sensitive surface adjacent to the contact may be 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 the force or pressure of the contact is used directly to determine whether or not it exceeds an intensity threshold (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some implementations, the substitute measurement of the force or pressure of the contact is converted to an estimated force or pressure, and this estimated force or pressure is used to determine whether or not it exceeds an intensity threshold (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of contact as an attribute of user input allows for user access to additional device functions that might otherwise be inaccessible, especially on small devices where there is limited area for displaying affordances (e.g., on a touch-sensitive display) and / or receiving user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical control unit such as a knob or button).

[0269] 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 (for example, whether a user has "clicked" on an icon). In some embodiments, at least a subset of the intensity thresholds is determined according to software parameters (for example, the intensity thresholds are not determined by activation thresholds of a particular physical actuator and can be adjusted without changing the physical hardware of device 100). For example, the mouse "click" threshold for a trackpad or touchscreen display can be set to one of a range of default thresholds without changing the hardware of the trackpad or touchscreen display. In addition, in some implementations, the user of the device is provided with software settings to adjust any one or more of the set of intensity thresholds (for example, by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once using a system-level click "intensity" parameter).

[0270] When used in the specification and claims, the term “characteristic intensity” of a contact refers to a characteristic of the contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predetermined number of intensity samples, or a set of intensity samples, collected within a predetermined period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) for a predetermined event (e.g., after detection of contact, before detection of lift-off of contact, before or after detection of the start of movement of contact, before detection of the end of contact, before or after detection of an increase in contact intensity, and / or before or after detection of a decrease in contact intensity). The characteristic intensity of a contact is optionally based on any one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the top 10 percentile value of the contact intensity, half the maximum value of the contact intensity, the 90 percent value of the maximum value of the contact intensity, etc. In some embodiments, the duration of contact is used to determine feature intensity (for example, when feature intensity is the average intensity of contacts over time). In some embodiments, feature intensity is compared to a set of one or more intensity thresholds to determine whether an operation was performed by a user. For example, the set of one or more intensity thresholds may include a first intensity threshold and a second intensity threshold. In this example, a first operation is performed as a result of contact with a feature intensity not exceeding the first threshold, a second operation is performed as a result of contact with a feature intensity exceeding the first intensity threshold but not exceeding the second intensity threshold, and a third operation is performed as a result of contact with a feature intensity exceeding the second intensity threshold. In some embodiments, the comparison between feature intensity and one or more thresholds is not used to determine whether to perform a first or second operation, but rather to determine whether to perform one or more operations (for example, whether to perform each option or to omit the execution of each operation).

[0271] In some embodiments, a portion of a gesture is identified for the purpose of determining feature intensity. For example, a touch-sensitive surface may receive a continuous swipe contact (drag gesture) that transitions from a starting position to an ending position where the intensity of the contact increases. In this example, the feature intensity of the contact at the ending position may be based on only a portion of the continuous swipe contact (e.g., only the portion of the swipe contact at the ending position), rather than the entire continuous swipe contact. In some embodiments, a smoothing algorithm may be applied to the intensity of the swipe contact before determining the feature intensity of the contact. For example, the smoothing algorithm may optionally include any one or more of the following: unweighted moving average smoothing algorithm, triangular smoothing algorithm, median filter smoothing algorithm, and / or exponential smoothing algorithm. In some situations, these smoothing algorithms exclude small increases or decreases in the intensity of the swipe contact for the purpose of determining feature intensity.

[0272] The user interface diagrams described herein include one or more intensity thresholds (e.g., contact detection intensity threshold IT0, light pressure intensity threshold IT0). L , (for example, I L Deeper pressure intensity threshold (at least initially higher) IT D , and / or one or more other intensity thresholds (e.g., I L Lower intensity threshold I HThe system optionally includes a chart of various intensity levels indicating the current intensity of contact on the touch-sensitive surface. This chart of intensity levels is typically not part of the displayed user interface but is provided to aid in the interpretation of the diagram. In some embodiments, a light press intensity threshold corresponds to the intensity at which the device will perform an action typically associated with a physical mouse button or trackpad click. In some embodiments, a deep press intensity threshold corresponds to the intensity at which the device will perform an action different from the action typically associated with a physical mouse button or trackpad click. In some embodiments, if contact is detected at a characteristic intensity below the light press intensity threshold (for example, above a slight contact detection intensity threshold IT0 below which contact is no longer detected), the device will move the focus selector in accordance with the movement of contact on the touch-sensitive surface without performing an action associated with the light or deep press intensity threshold. In general, unless otherwise specified, these intensity thresholds are consistent across different sets of user interface diagrams.

[0273] In some embodiments, the device's response to an input detected by the device depends on a criterion based on the intensity of contact during the input. For example, for some "light press" inputs, a contact intensity exceeding a first intensity threshold during the input triggers a first response. In some embodiments, the device's response to an input detected by the device depends on a criterion that includes both the intensity of contact during the input and a time-based criterion. For example, for some "deep press" inputs, a contact intensity exceeding a second intensity threshold during the input, which is greater than a first intensity threshold for light presses, triggers a second response only if a delay time has elapsed between the satisfaction of the first intensity threshold and the satisfaction of the second intensity threshold. This delay time is typically less than 200 milliseconds (e.g., 40, 100, or 120 milliseconds, depending on the magnitude of the second intensity threshold; the delay time increases as the second intensity threshold increases). This delay time helps to avoid accidental deep press inputs. Another example is a period of reduced sensitivity that occurs after the time the first intensity threshold is satisfied, for some "deep press" inputs. During the period of reduced sensitivity, the second intensity threshold increases. This temporary increase in the second intensity threshold also helps to avoid accidental deep press inputs. Regarding other deep press inputs, the response to detecting deep press inputs is independent of time-based criteria.

[0274] In some embodiments, any one or more of the input intensity threshold and / or corresponding outputs vary based on one or more factors, such as user settings, contact actions, input timing, application operation, frequency of intensity application, number of simultaneous inputs, user history, environmental factors (e.g., ambient noise), focus selector position, etc. Illustrative factors are described in U.S. Patent Applications 14 / 399,606 and 14 / 624,296, which are incorporated herein by reference.

[0275] For example, FIG. 2C shows a dynamic intensity threshold 280 that changes over time, at least in part, based on the intensity of the touch input 276 over time. The dynamic intensity threshold 280 is the sum of two components: a first component 274 that decays over time after a predetermined delay time p1 from when the touch input 276 is first detected, and a second component 278 that follows the intensity of the touch input 276 over time. The initially high intensity threshold of the first component 274 reduces the accidental triggering of the "deep press" response, but still allows for an immediate "deep press" response if the touch input 276 provides sufficient intensity. The second component 278 reduces the unintended triggering of the "deep press" response due to gradual intensity variations of the touch input. In some embodiments, a "deep press" response is triggered when the touch input 276 meets the dynamic intensity threshold 280 (e.g., point 281 in FIG. 2C).

[0276] FIG. 2D shows another dynamic intensity threshold 286 (e.g., intensity threshold I D ). FIG. 2D also shows two other intensity thresholds, namely, a first intensity threshold I H and a second intensity threshold I L . In FIG. 2D, the touch input 284 meets the first intensity threshold I H and the second intensity threshold I L before time p2, but no response is obtained until the delay time p2 has passed at time 282. Also in FIG. 2D, the dynamic intensity threshold 286 decays over time, and this decay starts at time 288 after a predetermined delay time p1 has passed from time 282 (when the response associated with the second intensity threshold I L is triggered). This type of dynamic intensity threshold reduces the accidental triggering of the response associated with the dynamic intensity threshold I H or the second intensity threshold I L immediately after or simultaneously with the triggering of the response associated with a lower intensity threshold, such as the first intensity threshold I D .

[0277] FIG. 2E shows yet another dynamic intensity threshold 292 (e.g., intensity threshold I D ). In FIG. 2E, the intensity threshold I LThe response associated with is triggered after a delay time p2 has elapsed from the time the touch input 290 is first detected. Simultaneously, the dynamic intensity threshold 292 decays after a predetermined delay time p1 has elapsed from the time the touch input 290 is first detected. Therefore, the intensity threshold I L After triggering the associated response, the intensity of the touch input 290 is reduced, and then, without releasing the touch input 290, the intensity of the touch input 290 is increased, so that the intensity of the touch input 290 reaches another intensity threshold, for example, intensity threshold I L Even when it is lower than the intensity threshold I D This can trigger a response associated with it (for example, at time 294).

[0278] Light pressure intensity threshold IT L From strength below a light pressure intensity threshold IT L and deep pressure intensity threshold IT D The increase in contact intensity between a certain threshold and a certain intensity is sometimes referred to as a "light press" input. D From below a certain intensity to a deep pressure intensity threshold (IT) D An increase in the characteristic intensity of contact beyond the intensity threshold IT0 is sometimes referred to as a "deep press" input. From an intensity below the contact detection intensity threshold IT0, the contact detection intensity threshold IT0 and the light press intensity threshold IT0 are sometimes referred to as a "deep press" input. L An increase in the characteristic intensity of a contact between two intensity levels is sometimes referred to as the detection of contact on the touch surface. A decrease in the characteristic intensity of a contact from an intensity above the contact detection intensity threshold IT0 to an intensity below the contact detection intensity threshold IT0 is sometimes referred to as the detection of the lift-off of contact from the touch surface. In some embodiments, IT0 is zero. In some embodiments, IT0 is greater than zero. In some figures, shaded circles or ellipses are used to represent the intensity of contact on the touch-sensing surface. In some figures, unshaded circles or ellipses are used to represent each contact on the touch-sensing surface without specifying the intensity of each contact.

[0279] In some embodiments described herein, one or more actions are performed in response to the detection of a gesture including each press input, or in response to the detection of each press input made at each (or more) contact, where each press input is detected at least in part on the detection of an increase in the intensity of the contact (or more) above a press input intensity threshold. In some embodiments, each action is performed in response to the detection of an increase in the intensity of each contact (e.g., each action made at the "downstroke" of each press input) above a press input intensity threshold. In some embodiments, a press input includes an increase in the intensity of each contact above a press input intensity threshold and a decrease in the intensity of the contact below a subsequent press input intensity threshold, and each action is performed in response to the detection of a decrease in the intensity of each contact below a subsequent press input threshold (e.g., each action made at the "upstroke" of each press input).

[0280] In some embodiments, the device employs intensity hysteresis to avoid accidental inputs, which may be referred to as “jitter,” in which case the device defines or selects a hysteresis intensity threshold having a predetermined relationship with a pressing input intensity threshold (for example, the hysteresis intensity threshold is X intensity units lower than the pressing input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable ratio of the pressing input intensity threshold). Thus, in some embodiments, the pressing input includes an increase in the intensity of each contact above the pressing input intensity threshold, and a subsequent decrease in the intensity of the contact below the hysteresis intensity threshold corresponding to the pressing input intensity threshold, with each action performed in response to the detection of the subsequent decrease in the intensity of each contact below the hysteresis intensity threshold (for example, each action performed in the “upstroke” of each pressing input). Similarly, in some embodiments, a press input is detected only when the device detects an increase in contact intensity from an intensity below a hysteresis intensity threshold to an intensity above a press input intensity threshold, and optionally a decrease in subsequent contact intensity to an intensity below the hysteresis intensity, and each action is performed in response to the detection of that press input (e.g., an increase in contact intensity or a decrease in contact intensity, depending on the situation).

[0281] For the sake of clarity, the description of an action performed in response to a press input associated with a press input intensity threshold, or in response to a gesture including that press input, is optionally triggered in response to the detection of an increase in contact intensity above the press input intensity threshold, an increase in contact intensity from below the hysteresis intensity threshold to above the press input intensity threshold, a decrease in contact intensity below the press input intensity threshold, or a decrease in contact intensity below the hysteresis intensity threshold corresponding to the press input intensity threshold. Furthermore, in an example described as an action performed in response to the detection of a decrease in contact intensity below the press input intensity threshold, the action is optionally performed in response to the detection of a decrease in contact intensity below the hysteresis intensity threshold, which corresponds to the press input intensity threshold and is lower than the press input intensity threshold. As described above, in some embodiments, the triggering of these responses also depends on the satisfaction of a time-based criterion (e.g., the passage of a delay time between the satisfaction of a first intensity threshold and the satisfaction of a second intensity threshold).

[0282] Figure 3 is a schematic of a user interface for the application menu of a portable multifunction device 100 according to several embodiments. A similar user interface may be implemented in a desktop device 300 according to several embodiments. In some embodiments, the user interface 300 includes the following elements, or subsets or supersets thereof. ● Signal strength indicators (multiple possible) for wireless communication signals such as cellular signals and Wi-Fi signals 302, ●Time 304, ●Bluetooth indicator 305, ●Battery status indicator 306, ●Tray 308 containing icons for frequently used applications such as the following: ○May include an indicator 314 showing the number of missed calls or voicemail messages, telephone 138, ○May include an indicator 310 for the number of unread emails, email client 140, ○ Browser 147, and ○A video and music player 145, also known as the iPod (registered trademark of Apple Inc.) module 152, and ● Icons for other applications, such as the following: ○IM141, ○Calendar 148, ○Image management 144, ○Camera 143, ○Online video module 145, also known as YouTube (a registered trademark of Google Inc.) module 145, ○Stock price 149.2 ○Map 146, ○ Weather 149-1, ○Dictionary 149-3, ○User-created widget 149-6, ○Memo 146, ○ Provides access to the settings of device 100 and its various applications 136, setting 312, ○Word processor 153-1, ○Drawing 153-2, ○Spreadsheet 153-3, and Presentation 153-4. User interface and related processes

[0283] Here, we focus on embodiments of processes and associated user interfaces ("UI") that can be implemented in an electronic device having a display, a touch-sensitive surface, and one or more optional sensors for detecting the intensity of contact with the touch-sensitive surface, such as a portable multifunction device 100.

[0284] Figure 4A is a flowchart illustrating a cursor operation method 400 according to several embodiments. Method 400 is implemented on a portable multifunction device (e.g., device 100 in Figure 1A) having a touchscreen display (e.g., touchscreen display 112 in Figure 1A). As described later, Method 400 provides a suitable mechanism for selecting content on a portable multifunction device having a touchscreen display. This method is faster and easier to implement than using peripheral devices such as a mouse. Because this method is intuitive to the user, it reduces the number of user inputs, the range of inputs, and / or the content of inputs when selecting content, and creates a more efficient human-machine interface. A more efficient input mechanism requires fewer computing resources, thus increasing the battery life of the device.

[0285] In some embodiments, device 100 displays the content of an electronic document on the touchscreen display 112. In some embodiments, the content includes text (e.g., plain text, unstructured text, formatted text, or text within a web page). In other embodiments, the content includes graphics, with or without text. Furthermore, the content may be editable or read-only. In addition to displaying content, if no content is selected, device 100 may display a cursor within the electronic document, for example, for text input. In some embodiments, while displaying the content of an electronic document, device 100 detects two substantially simultaneous touch inputs at 402. These two substantially simultaneous touch inputs can be made and detectable anywhere on the screen, including on an active virtual keyboard displayed on the screen.

[0286] In some embodiments, device 100 continuously monitors touch inputs on the touchscreen 112 and the continuous movement of touch inputs. When touch inputs are detected by device 100, device 100 determines in 406 whether two substantially simultaneous touch inputs are located on the soft keyboard on the touchscreen. In response to the detection of two substantially simultaneous touch inputs initiated on the soft keyboard (406-YES), device 100 displays the soft keyboard with a modified appearance in 404. In some embodiments, because the device continuously monitors touch inputs in step 406, if a continuous movement of two substantially simultaneous touch inputs follows two substantially simultaneous touch inputs initiated on the soft keyboard without interruption of contact with the touchscreen 112, the appearance of the keyboard remains changed. In other words, in step 406, the device detects whether two substantially simultaneous inputs exist on the soft keyboard, with or without subsequent continuous movement away from the keyboard. In some embodiments, upon detection of two substantially simultaneous touch inputs that were not initially detected on the soft keyboard (406-No), device 100 displays a soft keyboard with an unaltered appearance at 408 (for example, a soft keyboard with the usual blur removed, or a keyboard displaying all alphanumeric characters). The soft keyboard is a set of multiple virtual keys, such as a QWERTY keyboard, displayed on the screen, as shown in Figure 13A.

[0287] In Figure 13A, the exemplary soft keyboard 1321 has a plurality of virtual keys, each with a corresponding alphanumeric character. Furthermore, in some embodiments, each key has a pseudo-three-dimensional feature (e.g., three-dimensional shape, drop shadow, etc.). In some embodiments, in response to the detection of two substantially simultaneous touch inputs at a first position on the soft keyboard, the device 100 displays a soft keyboard with a modified appearance, as shown in Figure 13B. Compared to the unmodified soft keyboard shown in Figure 13A, the modified soft keyboard 1321 shown in Figure 13B lacks pseudo-three-dimensional features (e.g., drop shadows are removed) and the alphanumeric characters on the keys are removed. Furthermore, in some embodiments, the color, hue, saturation, brightness, and / or contrast of the soft keyboard 1321 are also changed (e.g., semi-transparent) to indicate that the application has entered a mode other than text input mode. In non-text input mode, the soft keyboard does not respond to keystrokes for text input and functions as an on-screen touchpad or trackpad for moving the cursor or selecting content. The altered appearance of the keyboard provides an intuitive indicator that the functionality of the soft keyboard has changed.

[0288] As shown in Figure 13B, in some embodiments, device 100 detects a slide gesture 1332 to any second position on the touchscreen 112, starting from a first position on the soft keyboard 1321. The slide gesture 1332 follows two substantially simultaneous touch inputs without interrupting contact with the touchscreen 112, for example, this slide gesture starts on the soft keyboard and moves beyond the soft keyboard 1321 into the content area 1302. In response to the detection of the slide gesture, device 100 maintains the altered appearance 1320 of the soft keyboard throughout the slide gesture. When the slide gesture ends, in response to a lift-off gesture, as shown in Figure 13C, device 100 displays the soft keyboard with its original, unaltered appearance, for example, alphanumeric characters on the virtual keys, as well as the three-dimensional features of the virtual keys and / or the deblurred virtual keyboard.

[0289] Figures 7A-7C show exemplary user interfaces of soft keyboard appearance changes according to several embodiments. In Figure 7A, the content of an electronic document is displayed on the touchscreen display 112. The touchscreen display 112 also displays a focused soft keyboard 521. The device 100 then detects two substantially simultaneous touch inputs (e.g., two-finger taps) 524 on the soft keyboard 521. In response to the detection of two substantially simultaneous touch inputs on the soft keyboard 521, the device 100 displays a blurred soft keyboard 521 as shown in Figure 7B.

[0290] In some embodiments, instead of displaying a blurred soft keyboard, the device changes any one or more of the color, hue, saturation, brightness, and contrast of the soft keyboard 521 based on the content of the electronic document. In some embodiments, the appearance of the blurred keyboard 521 is based on the displayed content, as well as a set of control appearance values ​​for the blur radius, saturation adjustment, opacity of the white overlay, opacity of the black overlay, opacity of the user interface elements within the keyboard 521, and / or the color of the text displayed within the area where the keyboard 521 is displayed. For example, in Figure 7B, the area where the keyboard 521 is located is blurred according to the blur radius value, the color value of the black text in the content 500, and so on.

[0291] As shown in Figure 7B, after two substantially simultaneous touch inputs, device 100 detects a continuous movement that moves from position 524-1 on the keyboard 521 to position 524-2 on the content 500, away from the keyboard 521, without interruption of contact with the touchscreen display. Accordingly, as shown in Figure 7C, device 100 replaces the blurred soft keyboard display with a focused soft keyboard 521 display. Thereafter, as shown in Figure 7C, the keyboard remains in focus unless a touch input 524 is located on the keyboard 521.

[0292] Returning to Figure 4A, following the detection of two substantially simultaneous touch inputs, the portable multifunction device 100 determines at 411 whether there is an existing selection prior to the detection of the touch inputs. Selection means that a particular text, graphic, or other object (e.g., shown as highlighted text) is selected. If the device 100 does not detect an existing selection, the device 100 then determines the type of touch input at 413. The portable multifunction device 100 can identify at least four types of touch inputs, namely, drag, tap, hold-and-drag, and flick. In some embodiments, a drag input is a slide gesture along the touchscreen surface. In some embodiments, a tap is a touch contact with no intervening slide gesture detected between the touch and the lift-off, followed by a lift-off or release of the contact from the touchscreen surface. In some embodiments, hold-and-drag is a slide gesture on the touchscreen surface that follows an initial touch contact with a predetermined period of time greater than zero (hold period) (e.g., 1.5 seconds), and then moves away from the initial contact point without any lift-off or release of contact from the touchscreen surface. In some embodiments, flick is a rapid slide gesture in one direction along the touchscreen surface, followed by a lift-off or release of contact from the touchscreen surface.

[0293] Depending on the type of touch input received, device 100 performs different actions. As shown in Figure 4A, if a drag is detected immediately after two touch inputs are quickly detected at 402 (e.g., without the intervention of a lift-off), device 100 moves the cursor at 421. In some embodiments, prior to the cursor drag, the cursor is animated (e.g., enlarged) to clearly indicate the start of cursor movement. In some embodiments, a ghost cursor is displayed while the cursor is being moved, or instead of the actual cursor being moved. For example, the ghost cursor may be a cursor with a different appearance, e.g., a brighter colored cursor that is offset from and linked to the cursor, and as the cursor moves around the screen, the ghost cursor also moves around the screen. Alternatively, the ghost cursor may be a brighter colored cursor, and while the cursor is being moved around the screen by the user, the ghost cursor indicates the correct position nearest the cursor until a lift-off event occurs, after which the real cursor is replaced by the ghost cursor at the ghost cursor's position. If a tap is detected (for example, if a lift-off is detected without any intervening swipe gesture after two touch inputs are detected at 402), a portion of the document, such as a word, image, or other object closest to the cursor, is selected at 442. If a hold-and-drag is detected (for example, if a touch input remains in contact with the screen for a predetermined period without moving before a drag gesture occurs), device 100 begins selecting text and / or graphics at 452, while the selection expands in the direction of the drag gesture. If a flick is detected, device 100 moves the cursor to a distal point in the document's text at 430. For example, a distal point in text is the end or beginning of a line, or the top or bottom of a page or document. Each type of touch input is illustrated in more detail below.

[0294] For example, if the type of touch input is drag and the touch input is not located on a selection, device 100 moves the cursor at 421 and displays a ghost cursor. Figure 5A shows an exemplary user interface for dragging the cursor when no existing selection of content exists, according to some embodiments. In this embodiment, the electronic document 500 is displayed in the user interface of an application (e.g., a word processing application 152, a presentation application 153, a spreadsheet application 155, etc.). The application user interface on which the document 500 is displayed may include a toolbar 510 and buttons 512 for navigating to other documents, if present. The electronic document 500 includes content, such as text, images, objects, tables, charts, etc. In addition to displaying the content of the electronic document, device 100 further displays a cursor 522-1 within the electronic document. In some embodiments, the cursor 522-1 is identical to the insertion point. In some embodiments, the insertion point marker is identified by the insertion point marker 522-1.

[0295] While document 500 is displayed in document editing mode, the keyboard 521 is also displayed. The user can input text into document 500 by typing on the keyboard 521, and may confirm the completion of editing document 500 and exit editing mode by performing touch input (for example, by tapping the "Done" button 512).

[0296] In some embodiments, device 100 detects two substantially simultaneous touch inputs in first areas 524-1, 524-2 on the touchscreen display 112. Device 100 can further determine that the two substantially simultaneous touch inputs remain in contact with the touchscreen display 112 and detect a series of touch or drag gestures from the location of the two substantially simultaneous touch inputs across the touchscreen display from the first areas 524-1, 524-2 to the second areas 524-3, 524-3. In response to the detection of a series of touch gestures, device 100 moves the cursor or insertion point marker 522-1 along the path 533 of the series of gestures across the document 500 from the current position 522-1 in Figure 5A to the new position 522-2 in Figure 5B.

[0297] Figure 5B shows an exemplary user interface brought about by the drag gesture in Figure 5A, according to several embodiments. In some embodiments, as soon as device 100 detects that a drag gesture has occurred (421 in Figure 4A), device 100 displays a ghost cursor 522-2 that is offset from the real cursor 522-1. In this embodiment, when the user drags two fingers around the screen, both cursor 522-1 and the ghost cursor 522-2 move together (e.g., the ghost cursor is linked to the actual cursor). The position of this ghost cursor is the position in the document where the actual cursor will be placed when the user lifts their fingers off the screen (e.g., a two-finger lift-off event), for example, during the drag, the ghost cursor 522-2 moves in the direction of the two-finger drag gesture, indicating the position where cursor 522-1 will drop or appear when the user lifts their two fingers. In some embodiments, the ghost cursor 522-2 has a different appearance from cursor 522-1. For example, the ghost cursor 522-2 may have a different color, size, and / or shape from the cursor 522-1. The ghost cursor 522-2 may also be animated to attract the user's attention. For example, the animation of the cursor 522-1 may include shrinking, expanding, rotating, blinking, and / or flipping.

[0298] In another embodiment, instead of moving the cursor by dragging two fingers (e.g., a two-finger slide gesture), a ghost cursor 522-2 moves instead of the actual cursor. In some embodiments, the distance between the first region 524-1, 524-2 and the second region 524-3, 524-4 of the touch input in Figure 5A is substantially the same as the distance between the original position of the cursor shown in Figure 5A and the new position of the cursor shown in Figure 5B. Upon release of the two-finger drag, device 100 positions cursor 522-1 at the location of ghost cursor 522-2. As a result, as shown in Figure 5C, when detecting the end of a continuous touch gesture, device 100 stops displaying ghost cursor 522-2, and insertion marker 522-3 replaces ghost cursor 522-2.

[0299] The examples shown in Figures 5A-5C illustrate cursor operation in response to a drag gesture when no content is already selected. Returning to Figure 4A, if there is an existing content selection in the document (411-YES) (for example, a word is selected), device 100 determines at 415 whether the touch input is located over the selection. If device 100 determines that the touch input is located over the selection (415-YES), the device then determines the type of touch input at 417. If the touch input is a drag gesture, device 100 deselects the item and moves the cursor in the drag direction at 433. Figures 5D-5E show exemplary user interfaces that implement step 433 in response to a drag gesture.

[0300] For example, as shown in Figure 5D, device 100 detects a selection of a portion of content 500 and displays the selection 528. For example, the selection of "ought" in the word "brought" is highlighted when selected. In some embodiments, device 100 indicates the selection 528 by displaying markers such as a start object 526 and an end object 530 at each end of "ought". Device 100 can detect a series of touch movements or drag gestures of two substantially simultaneous touch inputs in a first region 524-1 on the touchscreen display, followed by two substantially simultaneous touch inputs traversing the touchscreen display from the first region 524-1 to a second region 524-2. The first region 524-1 at least partially overlaps the selection 528. In response to the detection of the series of touch movements or drag gestures, device 100 deselects the selection 528 and moves the cursor 522 to a new position shown in Figure 5E. In some embodiments, the new position is near the end of a two-finger drag.

[0301] In some embodiments, in addition to the selection indicators 526-530, device 100 displays a command display area adjacent to the selected content 528, as shown in Figure 5AR and described in more detail below. The command display area includes affordances for cutting the selected content 528 and affordances for copying the selected content 528 (e.g., the “Cut” icon 542 and the “Copy” icon 544 in Figure 5AR). In some embodiments, the command display area is displayed each time text is selected. In some embodiments, when text is selected by two substantially simultaneous touch inputs, the command display area is not displayed until device 100 detects a tap on the selected text.

[0302] Returning to Figure 4A, in some embodiments, if device 100 determines that the touch input is not on the selection (e.g., outside the selection) (415-No), and then determines in 419 that the touch input is a drag gesture, device 100 expands the selection according to the drag gesture in 434.

[0303] For example, prior to detecting touch input, device 100 detects an existing selection of a portion of the content and displays the selection. The selection is highlighted, and device 100 displays markers such as a start object and an end object at each end of the selection. In response to the detection of two substantially simultaneous touch inputs on the soft keyboard, after displaying the soft keyboard with a modified appearance, device 100 detects a continuous movement of two substantially simultaneous touch inputs from a first position on the soft keyboard to any second position on the touchscreen display (e.g., within the boundaries of the soft keyboard, or outside the soft keyboard and on the content area) without interrupting contact with the touchscreen display. In response to the detection of a continuous movement out of the selected content that started on the soft keyboard, the device expands the selected content toward the second position in response to the detection of the continuous movement so that it includes further content outside of that portion.

[0304] In some embodiments, when expanding selected content, the selection can expand either backward or forward. The initial direction of the drag gesture determines the direction of expansion. For example, a continuous movement to the right and / or down moves the endpoint object to the right and / or down without moving the endpoint object in order to expand the selection forward. Conversely, a drag gesture to the left and / or up moves the endpoint object 530 to the left and / or up without moving the endpoint object in order to expand the selection backward. In some embodiments, the selection expands by one word at a time if the continuous movement is fast, and by one character at a time if the continuous movement is slow.

[0305] In some embodiments, when it is determined that the touch input is not on the selection (e.g., outside the selection) (415-No), and when it is determined in 419 that the touch input is a drag gesture, the device 100 deselects and moves the cursor in the direction of the drag gesture.

[0306] Figures 5A-5E above illustrate cursor operation in response to the detection of a drag gesture. In addition to dragging, device 100 can detect touch input as a flick and perform a corresponding action. As used herein, both flick gestures and swipe gestures are the same type of movement in that they involve sliding a finger(s) in one direction across the touchscreen display. However, unlike swiping, a flick gesture is a faster movement across the touchscreen display. In some embodiments, device 100 detects a flick gesture, for example, a swipe gesture performed at a speed faster than a predetermined speed or with acceleration exceeding a predetermined velocity. Returning to Figure 4A, with no selection (411-No), and after determining that the touch input is a flick gesture, device 100 moves the cursor to the distal point of the line at 430. A flick up or down would move the cursor to the top or bottom of the page or document, respectively. Figures 5F-5G show an exemplary user interface for moving the cursor to a distal point within text.

[0307] For example, in Figure 5F, the electronic document 500 includes content such as text, images, objects, tables, charts, etc., which are displayed on the touchscreen display 112. If no existing selection is detected, in addition to displaying the content of the electronic document, the device 100 further displays a cursor 522 within the electronic document. In some embodiments, the cursor 522 is identical to the insertion point. The insertion point marker is identified by an insertion point marker 522 positioned between the letters "c" and "e" of the word "conceived". The device 100 detects a two-finger flick gesture on the touchscreen display in the direction toward the edge of the touchscreen display 524, for example, a left two-finger flick toward the left edge of the touchscreen display 112, as shown. In response to the detection of the two-finger left flick gesture, the device 100 moves the cursor 522 to the distal point of the text, as shown in Figure 5G, where the cursor 522 has moved to the beginning of the line containing the word "conceived". A flick upwards or downwards will move the cursor to the top or bottom of the page or document, respectively. In some embodiments, a two-finger flick gesture detected on the touchscreen display 112 is directed along the line of text in which the cursor 522 is displayed, with the distal position of the line being in the direction of the two-finger flick. In these embodiments, where the flick is vertical, for example perpendicular to the line of text (either up or down), the cursor will move to the top or bottom of the page or document, respectively.

[0308] The above example shown in Figures 5F-5G illustrates cursor operation in response to flick gesture detection when there is no existing content selection. Returning to Figure 4A, on the other hand, if there is an existing content selection detected by device 100 (411-YES), device 100 determines at 415 whether the touch input is located on the selection. If device 100 determines that the touch input is located on the selection (415-YES) and the device determines at 417 that the touch input is a flick gesture, then at 444, device 100 deselects the text (e.g., line, page, or document) and moves the cursor to the distal point (e.g., beginning or end).

[0309] Similarly, if device 100 determines at 415 that the touch input is not on the selection (e.g., outside the selection) (415-No), and at 419 determines that the touch input is a flick gesture (also known as a "swipe" gesture), then at 445 the selection is deselected again and the cursor is moved to the distal point of the text. Figures 5H-5I show an exemplary user interface that implements step 445 in response to a flick.

[0310] For example, as shown in Figure 5H, device 100 detects an existing selection of a portion of content 500 and displays the selection 528. The selection of "ought" is highlighted, and device 100 indicates the selection 528 by displaying markers such as the start object 526 and the end object 530 at each end of "ought". On the touchscreen display, device 100 detects a two-finger flick gesture 524 toward the edge of the touchscreen display. In response to the detection of a two-finger left flick gesture, as shown in Figure 5I, device 100 deselects the selection 528 before moving the cursor 522 to the distal point of the text, for example, the beginning of the line where the cursor 522 was initially located.

[0311] Figures 5F to 5I show cursor operations in response to a left flick or swipe, but similarly, right flicks or swipes toward the right edge of the touchscreen display 112, upward flicks or swipes toward the top edge of the touchscreen display 112, and downward flicks or swipes toward the bottom edge of the touchscreen display 112 can also be detected by device 100. In response to right, upward, and downward flicks or swipes, device 100 moves the cursor to the end of the line, the beginning of the page, and the end of the page, respectively.

[0312] Returning to Figure 4A, in addition to determining the type of touch input such as dragging and flicking, device 100 can also detect the type of touch input as a tap and perform the corresponding action. After determining that the type of touch input is a tap and that the touch input is not located on the selection, device 100 selects the word closest to the cursor in step 442. Figures 5J to 5P show an exemplary user interface for selecting the word closest to the cursor in step 442.

[0313] For example, in Figure 5J, the electronic document 500 is displayed in the user interface of an application (e.g., a word processing application 152, a presentation application 153, a spreadsheet application 155, etc.). The application user interface on which the document 500 is displayed may include a toolbar 510 and buttons 512 for navigating to other documents, if present. The electronic document 500 includes content, such as text, images, objects, tables, charts, etc. In addition to displaying the content of the electronic document, the device 100 further displays a cursor 522 within the electronic document. In some embodiments, the cursor 522 is identical to the insertion point. The cursor 522 indicates the insertion point within the electronic document 500 on the word "score," between the letters "s" and "c" of the word "score."

[0314] Subsequently, while displaying the content of document 500 and there is no existing selection (411-No in Figure 4A), device 100 detects two substantially simultaneous touch inputs 524 that are not located on a selection (442 in Figure 4A). Referring to Figure 5K, in response to the detection of the touch inputs, device 100 determines that the touch inputs are not located on a selection and selects the word "score" because it is closest to the cursor 522. The selection of the word "score" is displayed and highlighted, and device 100 indicates the selection 528 by displaying markers such as the start object 526 and the end object 530 at each end of "score".

[0315] In some embodiments, a word is selected if the cursor 522 is within a word (e.g., the word "score" in Figures 5J-5K), adjacent to the first letter of a word (e.g., the word "Four" in Figures 5L-5M), or adjacent to the last letter of a word (e.g., the word "forth" in Figures 5N-5O). In some embodiments, if the cursor 522 is currently located after a sentence and is not within a word, or adjacent to the first or last letter of a word (e.g., "equal" in Figures 5P-5Q), the nearest word, as well as any punctuation and / or space, is selected.

[0316] In Figures 5J-5P, it should be noted that the two substantially simultaneous touch inputs 524 can be located not only precisely where the cursor is located, but also anywhere on the touchscreen display. In conventional portable multifunction devices, operating the cursor often requires the user to precisely touch the cursor on the touch-sensitive screen. This requirement is cumbersome. The methods described herein allow the user to operate the cursor and perform editing functions, such as text selection and selection movement, from any part of the touch-sensitive surface 112, not just where the cursor is located. For example, the two substantially simultaneous touch inputs 524 can be located, among other things, after the first paragraph and before the second paragraph (e.g., Figure 5J), on a different word not adjacent to the cursor 522 (e.g., Figure 5L), on the touchscreen keyboard (e.g., Figure 5N), or on a word in which the cursor is located (e.g., Figure 5P). These methods increase efficiency and ease of use when performing these tasks by reducing the number of steps required for the user to navigate and edit the document.

[0317] The above examples shown in Figures 5J to 5P illustrate cursor operation in response to tap detection when there is no existing content selection. Returning to Figure 4A, if there is an existing content selection detected by device 100, device 100 determines at 415 whether the touch input is located on the selection. If device 100 determines that the touch input is located on the selection (415-YES) and that the touch input is a tap at 417, device 100 expands the selection at 440. For example, if a word is selected and tap 440 is detected, the sentence containing the previously selected word is selected. In this way, the selection can be expanded from a word to a sentence, paragraph, and document. In some embodiments, instead of expanding the selection, a single two-finger tap on a selected word deselects that word and returns to the initial cursor placement display (e.g., stopping the display of the selection marker 528 and displaying the cursor on the touchscreen display). In some embodiments, the cursor placement depends on the position of the single two-finger tap.

[0318] On the other hand, if device 100 determines at 415 that the touch input is not on the selection (415-No) (for example, outside the selection) and at 419 that the touch input is a tap, device 100 determines at 466 whether the selected content is a single word. In accordance with the determination that the selected content is a single word (466-YES), device 100 expands the selected content at 467 to include a sentence containing that word. On the other hand, in accordance with the determination that the selected content is more than one word, device 100 displays a cursor at the beginning or end of the selection at 468 and deselects it. In some embodiments, in accordance with the determination that the tap is not on the selection, device 100 deselects it and selects the word closest to the point of contact of the tap.

[0319] In another embodiment, after selecting the word nearest the cursor, device 100 may further detect a two-finger double tap (e.g., tapping twice with two fingers), a two-finger triple tap (e.g., tapping three times with two fingers), or a two-finger quadruple tap (e.g., tapping four times with two fingers). In response to the detection of a two-finger double tap, a two-finger triple tap, or a two-finger quadruple tap, device 100 expands the selection to a sentence or line at 460, a paragraph at 462, or a document at 464, respectively. In some embodiments, the selection expansion operation is only possible up to the paragraph stage. For example, in response to a two-finger quadruple tap, device 100 leaves the selection as a paragraph without further expanding the selection to the entire document at 464. In some embodiments, device 100 determines whether there are multiple taps and expands the selection if the time between each subsequent tap is less than a predetermined threshold (e.g., 0.66 seconds).

[0320] In some embodiments, if device 100 detects two substantially simultaneous touch inputs located outside of an existing selection (e.g., on a soft keyboard) (415-No), and determines that the type of touch input is a tap (down), followed by a lift-off (up), followed by another tap (down), and then a drag without a lift-off (419-Tap-Half-Drag), then in step 465, device 100 first deselects the selection, and then performs an action similar to that performed in step 471 of Figure 4B described below, such as selecting the word closest to the touch input or expanding the selection by dragging. In some embodiments, similar to the selection expansion behavior described for steps 452 and 434 above, the initial direction of the drag gesture determines the expansion direction, and if the drag gesture moves quickly, the selection expands by one word at a time; if the drag gesture moves slowly, it expands by one character at a time.

[0321] Figures 5R-5S show an exemplary user interface for implementing taps detected outside the selection and selecting the word nearest the tap's point of contact. Figures 5T-5Y show an exemplary user interface for implementing steps 460-464 (Figure 4A) for expanding the selection in response to two-finger double taps, two-finger triple taps, and two-finger quadruple taps. Figures 5Z-5AD show an exemplary user interface for implementing step 440 for expanding the selection in response to taps on the selection.

[0322] Referring to Figure 5R, this figure shows an exemplary user interface for selecting the nearest word to the two-finger tap contact point, according to several embodiments. In some embodiments, an existing selection 528 (e.g., the word "equal") is detected by the device 100 and no cursor is displayed on the touchscreen display. In response to the detection of two substantially simultaneous touch inputs 524 located outside of selection 528 (e.g., on the word "any" in Figure 5S), the device 100 selects the word nearest to the contact points of the two substantially simultaneous touch inputs 524 (e.g., selecting the word "any" 528 in Figure 5S).

[0323] Figures 5T-5Y show cursor operation steps 442 and 460-464 (Figure 4A) corresponding to a single two-finger tap, a double two-finger tap, a triple two-finger tap, and a quadruple two-finger tap according to an alternative embodiment. If no existing selection exists (411-No) (Figure 4A), in response to the detection of a two-finger tap 524 (Figure 5T), and when the cursor 522 is located closest to the word "and", the device 100 selects the word "and" (442-Figure 4A), as shown in Figure 5U, and displays markers such as the start object 526 and the end object 530 at each end of the word "and" to indicate the selection 528.

[0324] In some embodiments, for example, after a two-finger tap as shown in Figure 5U, when determining that an existing selection 528 exists (411-YES, Figure 4A), the device 100 detects a two-finger double tap at a contact point not on the selection (415-No, 419, and 460 in Figure 4A). In some embodiments, the two-finger double taps must be on or near the same contact point on the touchscreen display and must occur within a short predetermined time (e.g., 0.5 seconds) of each other. In response to the detection of a two-finger double tap (460 in Figure 4A), the device 100 selects a first predetermined enlarged portion of the content (e.g., a line or sentence) that includes at least a portion of the pre-selected content 528. For example, as shown in Figure 5V, a single line of text containing the word "and" ("any nation so conceived and so") is selected by the start object 526 and the end object 530 at the end of each single line in the text selection 528, or as shown in Figure 5W, a sentence containing the word "and" ("Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived and so dedicated, can long endure") is selected by the start object 526 and the end object 530 at the end of each sentence in the text selection 528.

[0325] In some embodiments, if, for example, after a two-finger double tap to select a line or sentence as shown in Figure 5V or 5W, the device 100 determines that an existing selection exists (411-YES, Figure 4A), it detects a two-finger triple tap at a touch point not on a selection (415-No, 419, and 462 in Figure 4A). In some embodiments, the two-finger triple taps must be on or near the same touch point on the touchscreen display and must be performed within a short predetermined time interval (e.g., 0.5 seconds) from each other. In response to the detection of the two-finger triple tap (462 in Figure 4A), the device 100 selects a second predetermined enlarged portion (e.g., a paragraph) of the content, which includes at least a portion of the pre-selected content 528, as shown in Figure 5X. As further shown in Figure 5X, in order to indicate the paragraph selection 528, device 100 displays a second enlarged portion of the content as selected content, and displays markers such as a start object 526 and, optionally, an end object (not shown in Figure 5X) at each end of the paragraph selection 528.

[0326] In some embodiments, for example, after selecting a paragraph as shown in Figure 5X by tapping three times with two fingers, when determining that an existing selection exists (411-YES, Figure 4A), the device 100 detects four taps with two fingers at a touch point not on the selection (415-No, 419, and 464 in Figure 4A). In some embodiments, the four taps with two fingers must be on or near the same touch point on the touchscreen display and must be performed within a short predetermined time (e.g., 0.5 seconds) of each other. In response to the detection of four taps with two fingers (464 in Figure 4A), the device 100 selects a third predetermined enlarged portion of the content (e.g., a page or document) that includes at least a portion of the pre-selected content 528, as shown in Figure 5Y.

[0327] It should be noted that the selection expansion shown in Figures 5T-5Y is performed in response to consecutive touch inputs. Figures 5T-5Y show exemplary user interfaces corresponding to steps 460-464 in Figure 4A after it has been determined that a touch input is located outside, not on, or not overlapping with a selection. In some embodiments, the time between each consecutive touch input in a multi-tap input is less than a predetermined amount, e.g., less than 0.25 seconds. For example, four taps with two fingers are four quick, consecutive two-finger taps. In response to a double tap with two fingers, the selection expands to a sentence or line. In response to three taps with two fingers, the selection expands to a paragraph, and in response to four taps with two fingers, the selection expands to a page or sentence.

[0328] Figures 5Z-5AD are used to illustrate the process 440 (Figure 4A) of expanding a selection in response to a tap on the selection. After detecting two substantially simultaneous touch inputs at 402 (Figure 4A), detecting the existence of an existing selection (411-YES) (Figure 4A), and determining that the touch input was made on or overlapping the selection (415-YES), the device determines the type of touch input detected at 417 (Figure 4A). If the device determines that the touch input is a tap overlapping an existing selection, the existing selection is then expanded at 440. This is shown in Figures 5Z-5AD. Figure 5Z shows the existing selection 528 of the word "and" with markers such as a starting object 526 and an ending object (not shown) displayed at each end of the word to indicate the selection 528. Figure 5Z also shows two substantially simultaneous touch inputs 524 which are detected as taps to expand the selection to the next larger selection size, for example, from a word to a line, from a line to a sentence, from a sentence to a paragraph, from a paragraph to a page, from a page to a document, etc. For example, if the selected content is a word (or multiple words that are part of a single line or sentence), the selected content can be expanded to a single line of text (shown in Figure 5AA) or a sentence (shown in Figure 5AB) that contains the word "and".

[0329] Similarly, in some embodiments, device 100 determines that the location of the tap 524 lies on a selection 528 of a single line of text (Figure 5AA) or a sentence (Figure 5AB). In response to the detection of the tap 440 (Figure 4A), device 100 expands the selection 528 to a paragraph containing a single line of text or a sentence, as shown in Figure 5AC. In some embodiments, to indicate a paragraph selection 528, device 100 displays markers at each end of the paragraph selection 528, such as a start object 526 and optionally an end object 530 (not shown in Figure 5AC). In some embodiments, device 100 can further determine that the location of the tap 524 lies on a paragraph selection 528 (Figure 5AC). In response, device 100 expands the selection 528 to an electronic document, as shown in Figure 5AD. To indicate the document selection 528, device 100 displays markers at each end of the document selection 528, such as a start object 526 and, if applicable, an end object 530 (not shown in Figure 5AD).

[0330] It should be noted that the selection expansion corresponding to consecutive touch inputs shown in Figures 5T-5Y is different from the selection expansion shown in Figures 5Z-5AD. Figures 5Z-5AD show exemplary user interfaces corresponding to step 440 in Figure 4A after device 100 has determined that the touch input is located on the selection. In contrast, Figures 5T-5Y show exemplary user interfaces corresponding to steps 460-464 in Figure 4A after device 100 has determined that the touch input is located outside the selection, not on the selection, or not overlapping the selection. As described above with respect to Figures 5J-5P, the two substantially simultaneous touch inputs 524 in Figure 5T can be located anywhere on the touchscreen display 112. In response to the first two-finger tap, the word nearest the cursor is selected, as shown in Figure 5U. Subsequently, each further two-finger tap on the touchscreen display 112 is detected by device 100. In some embodiments, if the duration of each touch is below a predetermined threshold, two further substantially simultaneous touch inputs may be detected as a two-finger double tap, a two-finger triple tap, a two-finger quadruple tap, and so on. In response to a double tap, the selection is expanded to a sentence or line; in response to a triple tap, the selection is expanded to a paragraph; and in response to a quadruple tap, the selection is expanded to a page or document. In contrast, device 100 performs selection expansion in response to the detection of independent touch inputs on the selection, as shown in Figures 5Z-5AD. Thus, the touch inputs shown in Figures 5Z-5AD are detected by device 100 as individual touch events rather than as a series of touch events in a single sequence.

[0331] Returning to Figure 4A, in addition to determining the type of touch input as drag, flick, and tap, device 100 can also detect the type of touch input as hold-and-drag. If device 100 does not detect an existing selection (411-No), in accordance with determining the type of touch input as hold-and-drag at 413, device 100 initiates a selection of a portion of the document at 452 and expands the selection in accordance with the drag gesture. To determine whether the input is a hold-and-drag gesture compared to a simple drag gesture, the device determines whether the touch input has remained in contact with the screen without moving for a predetermined period (e.g., more than 0.75 seconds or more than 1 second) before the drag gesture occurs. In some embodiments, the selection begins at the point of contact and expands in the drag direction.

[0332] If device 100 detects an existing selection (411-YES), further determines that the touch input is located on the existing selection (415-YES), and then determines in 417 that the input is hold-and-drag, device 100 moves the selection in 451. In some embodiments, only the cursor moves, the selected text remains in place, and only after the user releases contact with the touchscreen surface (e.g., a lift-off event) does the selected text move to the cursor's position at the time of lift-off or release. In other embodiments, the selection is dragged around the document and placed at the selection (or cursor) position upon release of contact or lift-off. In yet another embodiment, a ghost copy of the selection is dragged around the document while the original selection remains in place and is only placed at the selection (or cursor) position upon release of contact or lift-off.

[0333] If the touch input is not located on an existing selection (e.g., outside of an existing selection) (415-No), device 100 determines the type of selection at 419, and if the type is hold-and-drag 453, expands the existing selection in the direction of the drag gesture at 453. Here, the expanded selection includes the original selection and any expanded portion of the document. Figures 5AE-5AG show the step 452 of expanding the selection by dragging. Figures 5AH-5AJ show exemplary user interfaces that implement the step 451 of moving an existing selection. Figures 5AK-5AL show exemplary user interfaces that implement the step 453 of starting a selection and expanding that selection by dragging.

[0334] Figures 5AE to 5AG show the process 452 (Figure 4A) of expanding the selection by dragging. In Figure 5AE, device 100 determines that no existing selection exists prior to the detection of two-finger touch input. In response to the detection of two-finger touch contact 524, a predetermined period of time thereafter, and a subsequent drag gesture 532 (Figure 5AF), device 100 determines that the input is a hold-and-drag gesture, initiates a selection at cursor 522, and expands the selection in the direction of the drag gesture 532. For example, the cursor is positioned between the letters "br" and "ought", and the drag gesture is to the right, so the selection expands to the right, selecting "ought" 528. If the drag continues to the right and down, with a release or lift-off event occurring at 531, the selection ("ought forth on this continent...in a great") 528 is shown in Figure 5AG.

[0335] Figures 5AE-5AG show how to expand the selection 528 according to a drag gesture 532. In some embodiments, the selection can be expanded either backward or forward. The initial direction of the drag gesture 532 determines the direction of expansion. For example, a drag gesture 532 to the right (e.g., Figure 5AF) and / or down moves the inverted lollipop-shaped endpoint object 530 to the right and / or down without moving the lollipop-shaped endpoint object 526 in order to expand the selection 528 forward. Conversely, a drag gesture to the left and / or up moves the lollipop-shaped starting object 526 to the left and / or up without moving the inverted lollipop-shaped endpoint object 530 in order to expand the selection 528 backward. In some embodiments, the selection 528 expands one word at a time if the drag is fast, and one character at a time if the drag is slow.

[0336] Figures 5AH-5AJ show the process 451 (Figure 4A) of moving an existing selection. The device detects two substantially simultaneous touch inputs at 402 (Figure 4A), determines that an existing selection exists (411-YES) (Figure 4A), and determines that the input is on the selection (415-YES) (Figure 4A). Next, the device determines the type of input at 417 (Figure 4A). If the type is hold-and-drag, the selection is moved at 451 as described above. In Figure 5AH, device 100 detects two substantially simultaneous touch inputs in a first region 524-1 on the touchscreen display. The first region 524-1 is at least partially on or overlapping the position of selection 528-1, which may be marked at each end of the partial word "ought" by markers such as a start object 526-1 and an end object 530-1. Device 100 further detects two substantially simultaneous touch inputs that remain stationary on the touchscreen display for a predetermined period of time, and a subsequent continuous drag gesture (e.g., starting a drag within 0.5 or 0.75 seconds after remaining stationary) from the positions of the two substantially simultaneous touch inputs in a direction 532 that traverses the touchscreen display from the first region 524-1 to the second region 524-2. In response to the detection of continuous touch movement, Device 100 moves the selection 528-1 across the document 500 to a new position 528-2, as shown in Figure 5AI after the continuous movement.

[0337] As described above, in some embodiments, instead of moving selection 528-1, the ghost selection 528 is displayed in response to the detection of a two-finger drag. As shown in Figure 5AI, in some embodiments, the ghost selection 528-2 is displayed offset from selection 528-1, and in some embodiments, the ghost selection 528-2 may have a different appearance from selection 528-1. For example, the ghost selection 528-2 may have a different color and / or hue for highlighting the ghost selection 528-2 than the color and / or hue used to highlight selection 528-1. Furthermore, ghost markers 526-2 and 530-2 mark the beginning, and the end of the ghost selection block 528 may have a different color, size, and / or shape from markers 526-1 and 528-1.

[0338] In some embodiments, the ghost selection 528-2 appears at the current location of selection 528-1 as soon as device 100 detects a two-finger drag, and the start object 526-1 and end object 530-1 are animated to attract the user's attention to the appearance of the ghost selection 528-2. During the drag, the ghost selection 528-2 moves in the direction of the two-finger movement to indicate the position to which the selection will move when the user lifts or releases the contact (e.g., a lift-off event). The ghost selection 528-2 may include a ghost start object 526-2 and a ghost end object 530-2. Both the ghost start object 526-2 and the ghost end object 530-2 may have a different appearance from the start object 526-1 and the end object 530-1. When the two-finger drag is released, the selection moves to the position of the ghost selection 528-2. Upon release of contact, device 100 stops displaying the ghost selection 528-2, along with the ghost markers 526-2 and 530-2, as shown in Figure 5AJ. In Figure 5AJ, the selection 528-3 is indicated by markers such as the starting object 526-3 and the ending object 530-3. Other preferred mechanisms for displaying the movement of the selection are as described above.

[0339] Referring to Figure 5AK, Figures 5AK-5AL show exemplary user interfaces that implement the step 453 (Figure 4A) of starting a selection and expanding it by dragging when the hold-and-drag is not located on an existing selection (e.g., outside an existing selection in the content area or outside an existing selection on the soft keyboard), according to some embodiments. In Figure 5AK, after detecting two substantially simultaneous touch inputs 524-1 (402 in Figure 4A), device 100 determines that an existing selection exists (411-YES) (Figure 4A). Device 100 determines at 415 that the touch input is not on a selection (415-No) (Figure 4A) (e.g., outside a selection), and further determines at 419 that the touch input is a hold-and-drag. In response to the determination that the type of touch input is a hold-and-drag, device 100 expands the existing selection in the direction of the drag gesture at 453.

[0340] For example, as shown in Figure 5AK, device 100 detects two substantially simultaneous touch inputs 524-1 that remain stationary on the touchscreen display for a predetermined period of time, followed by a continuous drag gesture from the positions of the two substantially simultaneous touch inputs in a direction 532 that traverses the touchscreen display from a first area 524-1 to a second area 524-2 (e.g., initiating the drag within 0.5 or 0.75 seconds after remaining stationary). In some embodiments, the drag is detected by device 100 as a continuous touch movement that traverses the touchscreen display from a first position 524-1 to a second position 524-2.

[0341] As shown in Figure 5AK, an existing selection 528-1 (e.g., the part "ought" of the word "brought") is detected by device 100, and the cursor is not displayed on the touchscreen display. In some embodiments, while selection 528 is displayed, device 100 also displays the cursor, which moves according to a drag gesture. In response to the detection of two substantially simultaneous touch inputs 524-1 located outside selection 528 (e.g., below the selection "ought" in Figure 5AK), device 100 expands the original selection 528-1 in the direction of the drag gesture 532. In Figure 5AK, the drag gestures are to the right and downward toward 524-2. As a result, the expansion of selection 528-1 is to the right and downward. If a release or lift-off event occurs at 524-2, selection ("ought forth on this continent...in a great") 528 is shown in Figure 5AL. In Figure 5AL, selection 528 is indicated by markers such as a start object 526 and an end object 530.

[0342] Figures 5AK to 5AL show the expansion of a selection according to a continuous touch movement 532. In some embodiments, the selection can be expanded either backward or forward. The initial direction of the drag gesture 532 determines the direction of expansion. For example, a drag gesture 532 to the right and / or down (shown in Figure 5AK) moves the inverted lollipop-shaped endpoint object 530 to the right and / or down without moving the lollipop-shaped endpoint object 526 in order to expand the selection 528 forward. On the other hand, a drag gesture to the left and / or up moves the lollipop-shaped starting object 526 to the left and / or up without moving the inverted lollipop-shaped endpoint object 530 in order to expand the selection 528 backward. In some embodiments, the selection 528 expands one word at a time if the drag is fast, and one character at a time if the drag is slow.

[0343] Figure 4B is a flowchart of a method 470 for cursor operation using a single touch input (e.g., one-finger touch input) according to several embodiments. Method 470 is implemented on a portable multifunction device (e.g., device 100 in Figure 1A) having a touchscreen display (e.g., touchscreen display 112 in Figure 1A). As described below, Method 470 provides a suitable mechanism for providing options to move a cursor, select content, and edit content on a portable multifunction device having a touchscreen display. This method is faster and easier to implement than using peripheral devices such as a mouse. This method is also intuitive to the user, reducing the number of user inputs, the range of inputs, and / or the content of inputs when selecting content, and creating a more efficient human-machine interface. A more efficient input mechanism requires fewer computing resources, thus increasing the battery life of the device.

[0344] In some embodiments, device 100 displays the content of an electronic document on the touchscreen display 112. In some embodiments, the content includes text (e.g., plain text, unstructured text, formatted text, or text within a web page). In other embodiments, the content includes graphics, with or without text. Furthermore, the content may be editable or read-only. In addition to displaying the content, if no content is selected, device 100 may display a cursor within the electronic document. In some embodiments, while displaying the content of an electronic document, device 100 detects a one-finger touch input (e.g., a one-finger tap) at 472. The portable multifunction device 100 then determines, at 474, whether an existing selection of content exists before detecting the touch input.

[0345] If device 100 detects an existing selection (474-YES), device 100 further determines in 475 whether the one-finger touch input is located on the selection. If device 100 determines that the one-finger touch input is not located on the selection (475-No), device 100 deselects the selection in 476 and proceeds to step 480. On the other hand, if device 100 determines that the one-finger touch input is located on the selection (475-YES), device 100 determines the type of touch input in 477.

[0346] If device 100 determines that the type of one-finger touch input is tap (down), lift (up), tap (down), and drag (477-tap (minus plus sign) half (minus plus sign) drag), device 100 first deselects in 487, and then performs an action similar to that performed in step 471, such as selecting the word closest to the touch input or expanding the selection by dragging. If device 100 determines that the type of one-finger touch input is tap (477-tap), device 100 can perform one of three different options depending on the embodiment.

[0347] In some embodiments, one of the options (tap options 3, 489) is for device 100 to do nothing, so as to not respond to the one-finger tap, based on the determination that the tap is located on a selection (e.g., a selected word). In some embodiments, another option is to deselect at 485 (tap option 1) and perform further actions in response to the tap gesture as if no existing selection existed (e.g., 481-484 in Figure 4B). In some embodiments, a third option is to deselect and, at 479, position the cursor adjacent to the word in the electronic document based on the position of the one-finger input relative to the nearest space of the word (tap option 2). With respect to this embodiment, if the one-finger touch input is on a word and the contact position of the one-finger touch input is closer to the beginning of that word, the nearest space to that word is the space before that word, so device 100 positions the cursor before that word. Conversely, if one-finger touch input is on a word, and the touch point of the one-finger touch input is closer to the end of that word, the nearest space to that word is the space after that word, so device 100 places the cursor after that word.

[0348] For example, Figures 5AM to 5AN show step 479 (tap selection 2, Figure 4B) in which a selection is deselected and the cursor is moved in response to the detection of an existing selection and a one-finger tap on the selection. In Figure 5AM, device 100 detects a one-finger tap in area 524 on the touchscreen display 112. Area 524 is located close to the point of contact of the single singer tap on the touchscreen display 112, for example, on the word "brought," closer to the end of the word. As shown in Figure 5AM, area 524 is on selection 528, which may be marked by markers such as a start object 526 and an end object 530 at each end of the partial word "ought." In response to the detection of a one-finger tap 524 outside of selection 528, as shown in Figure 5AN, device 100 deselects the selection and moves the cursor to the nearest empty space before the word "brought."

[0349] It should be noted that Figures 5AM to 5AN show the deselection in response to tapping on an existing selection of editable text according to several embodiments. In some embodiments, similar behavior is performed when tapping on an existing selection of non-editable text (e.g., a web page) so that the existing selection is deselected.

[0350] Referring still to Figure 4B, the above steps are performed when device 100 detects an existing selection. If no existing selection exists (474-No), device 100 first determines the type of one-finger touch input at 480. In response to recognition of a tap gesture (480-Tap), device 100 determines the distance to the nearest space between two words in the electronic document at 481. If the distance is less than a predetermined threshold distance (483-YES), device 100 moves the cursor to the nearest space after the preceding word at 482. If the distance exceeds a predetermined threshold distance (483-No), device 100 selects the nearest word for touch input at 484 and displays a selection indicator on the touchscreen.

[0351] For example, Figures 6A-6B show a cursor movement process 482 (Figure 4B) in response to a tap gesture according to several embodiments. In Figure 6A, the content of an electronic document is displayed on the touchscreen display 112. The content includes at least one line of text, which further includes at least two words. Based on the distance to the nearest whitespace between two words in the electronic document, the device 100 defines zones (e.g., X zones and Y zones) for each word. In some embodiments, the X zone is defined as the zone from the beginning or end of the word to a distance of a percentage of the word size or less. In some embodiments, the Y zone is the zone between the X zones of that word, where, for example, the distance to the nearest whitespace is greater than or equal to a percentage of the word size.

[0352] For example, in Figure 6A, the word "Lorem" is the first word in a line of text. The nearest whitespace is the whitespace between the words "Lorem" and "ipsum". As shown in Figure 6A, X1 starts from the end of the word "Lorem" and extends to a distance less than or equal to a certain percentage of the word size (e.g., between the letters "e" and "m" in "Lorem"). Within Y1, the distance to the nearest whitespace is greater than or equal to a certain percentage of the word size "Lorem". Similarly, X2-X6 start from the beginning / end of the word and extend to a distance less than or equal to a certain percentage of the word size, and within Y2-Y4, the distance to the nearest whitespace is greater than or equal to a certain percentage of the word size.

[0353] In Figure 6A, device 100 detects a one-finger tap 524 on the touchscreen display 112. The one-finger tap 524 is approximately located on the letter "m" of the word "ipsum" within X3. The nearest whitespace to the one-finger tap 524 is the space between the word "ipsum" and the word "dolor". As a result of detecting that the distance from the one-finger tap 524 to the nearest whitespace between the words is less than a predetermined threshold distance (for example, the distance from the touch input to the end of the word is less than X3), device 100 places the cursor in the nearest whitespace after the preceding word (for example, after "ipsum"), as shown in Figure 6B.

[0354] In another example, Figures 5AO–5AP show the cursor movement process 482 (Figure 4B) when tapping over a space between two words. In Figure 5AO, device 100 detects a one-finger tap in area 524 on the touchscreen display 112. Unlike the existing selection scenarios shown in Figures 5AM–5AN, there is no existing selection prior to the one-finger tap in area 524. Instead, cursor 522-1 is displayed in the middle of the word "brought". In Figure 5AO, area 524 indicates that the point of contact of the one-finger tap on the touchscreen display is in proximity to the space between the two paragraphs. In response to the determination that the one-finger tap 524 is not located on a word, device 100 moves the cursor to the point of contact between the two paragraphs 522-2, which is immediately after the preceding word (e.g., immediately after "equal"), as shown in Figure 5AP.

[0355] In yet another example, Figures 5AQ–5AR show step 484 (Figure 4B) when a one-finger tap is on a word. In Figure 5AQ, as in Figure 5AO, there is no existing selection in region 524 prior to the one-finger tap. Instead, the cursor 522 is displayed in the middle of the word "brought". Unlike Figure 5AO, in Figure 5AQ, region 524 indicates that the point of contact of the one-finger tap on the touchscreen display is located approximately in the center (e.g., within the Y zone) of the word "conceived". As a result of the distance to the nearest whitespace between words (e.g., the whitespace between the word "nation" and the word "conceived") exceeding a predetermined threshold distance, device 100 selects the word "conceived" and displays this selection, as shown in Figure 5AR. The word "conceived" shown in the exemplary user interface is long enough for device 100 to recognize the touch input located within the Y zone. In some embodiments, short words, such as "as," "do," and "I," are usually placed by the device 100, but the device does not select them, because the Y-zone size of such short words is small.

[0356] In Figure 5AR, the selection 528 may be marked by markers, such as a start object 526 and an end object 530 at each end of the partial word "conceived". Furthermore, device 100 displays a command display area 540 adjacent to the selected content 528. The command display area 540 includes affordances for cutting the selected content 528 and for copying the selected content 528 (e.g., the "Cut" icon 542 and the "Copy" icon 544 in Figure 5AR). In some embodiments, the command display area 540 includes affordances for pasting previously cut or copied content (e.g., the "Paste" icon 546). Although not shown in Figure 5AR, in some embodiments, the command display area 540 includes, among other things, affordances for undoing a previous action, affordances for displaying further command options, affordances for redoing a previous action, at least one user-configurable command, affordances for defining a word, and / or at least one context-aware command.

[0357] The above examples (Figures 6A-6B, 5AO-5AP, and 5AQ-5AR) illustrate various operations performed in response to a one-finger tap on editable content. In some embodiments, upon determining that the content is editable text, device 100 displays a cursor within the content and a soft keyboard for text editing.

[0358] Returning to Figure 4B, if device 100 determines (at 480) that the type of one-finger touch input is hold-and-drag, device 100 displays a magnifying glass at 473 and moves the cursor. Figure 6C shows an exemplary user interface for cursor movement in response to a hold-and-drag gesture according to several embodiments.

[0359] As used herein, a hold-and-drag gesture is a static (or substantially static) press gesture with one finger at a location within the content displayed on the touchscreen, immediately following a drag. For example, a one-finger contact that moves less than a predetermined amount (e.g., 1-2 mm) within a predetermined time (e.g., 0.2-0.5 seconds), followed immediately by a drag, constitutes a hold-and-drag gesture. As shown in Figure 6C, in response to the recognition of the hold-and-drag gesture, the device 100 magnifies a portion of the content on the touchscreen 112 up to the vicinity of the contact location 524. The content magnifier 508 displays the magnified portion of the content 543 and an insertion marker 545. The insertion marker 545 is displayed at a location within the magnified portion of the content corresponding to the one-finger contact location. In some embodiments, in response to the detection of a single-finger movement 532 across the touchscreen 112, the device 100 moves the content magnifier 508, moves the insertion marker 545, and modifies the magnified portion 543 of the content according to the detected single-finger movement.

[0360] Although not shown in Figure 4B, in some embodiments, if device 100 determines that the type of one-finger touch input is hold-and-drag and that the touch input is located on the selection, device 100 moves the selection. For example, Figures 5AS-5AU show the selection movement step 479 (Figure 4B) when device 100 detects a hold-and-drag gesture located on the selection. In Figure 5AS, device 100 detects one-finger touch input in a first region 524-1 on the touchscreen display 112. The first region 524-1 is at least partially on or overlapping the position of selection 528-1, which may be marked at each end of the partial word "ought" by markers such as a start object 526-1 and an end object 530-1. Device 100 further detects a one-finger touch input that remains still on the touchscreen display for a predetermined period of time, and a subsequent continuous drag gesture from the position of the one-finger touch input in a direction 532 that traverses the touchscreen display from the first area 524-1 to the second area 524-2 (for example, starting to drag within 0.5 or 0.75 seconds after remaining still). In response to the detection of continuous touch movement, Device 100 moves the selection 528-1 across the document 500 to a new position 528-2, as shown in Figure 5AU after the continuous movement.

[0361] As described above, in some embodiments, instead of moving selection 528-1, the ghost selection 528 is displayed in response to the detection of a one-finger drag. As shown in Figure 5AT, in some embodiments, the ghost selection 528-2 is displayed offset from selection 528-1, and in some embodiments, the ghost selection 528-2 may have a different appearance from selection 528-1. For example, the ghost selection 528-2 may have a different color and / or hue for highlighting the ghost selection 528-2 than the color and / or hue used to highlight selection 528-1. Furthermore, ghost markers 526-2 and 530-2 mark the beginning, and the end of the ghost selection block 528 may have a different color, size, and / or shape from markers 526-1 and 528-1.

[0362] In some embodiments, the ghost selection 528-2 appears at the current location of selection 528-1 as soon as device 100 detects a one-finger drag, and the start object 526-1 and end object 530-1 are animated to attract the user's attention to the appearance of the ghost selection 528-2. During the drag, the ghost selection 528-2 moves in the direction of the one-finger movement to indicate the position where the selection will move when the user lifts or releases the contact (e.g., a lift-off event). The ghost selection 528-2 may include a ghost start object 526-2 and a ghost end object 530-2. Both the ghost start object 526-2 and the ghost end object 530-2 may have a different appearance from the start object 526-1 and the end object 530-1. When the one-finger drag is released, the selection moves to the position of the ghost selection 528-2. Upon release of contact, device 100 stops displaying the ghost selection 528-2, along with ghost markers 526-2 and 530-2, as shown in Figure 5AU. In Figure 5AU, the selection 528-3 is indicated by markers such as the starting object 526-3 and the ending object 530-3. Other preferred mechanisms for displaying the movement of the selection are as described above.

[0363] Returning to Figure 4B, if device 100 (at 480) determines that the one-finger touch input is a tap-half-drag, device 100 (at 471) selects the word closest to the touch input and expands the selection by dragging. As used herein, a tap-half-drag gesture is a gesture that includes an initial touch input followed immediately by (for example, within a predetermined period such as 0.3 to 0.5 seconds) by a further touch input on the touchscreen display, and then moves across the touchscreen display without interrupting contact with the touchscreen display. The movement is a continuous touch gesture from a first position of further touch input on the touchscreen display to a second position on the touchscreen display.

[0364] Still referring to Figure 4B, if device 100 (at 480) determines that a one-finger touch input is a drag gesture, device 100 (at 488) scrolls the content displayed in the content area of ​​the touchscreen display 112 according to the direction of the drag. For example, dragging upward scrolls the content upward, dragging downward scrolls the content downward, dragging left scrolls the content left, and similarly, dragging right scrolls the content right.

[0365] In some embodiments, similar to drag gesture-responsive scrolling, device 100 scrolls the content displayed in the content area according to the swipe direction in response to a swipe gesture. For example, swiping upward scrolls the content upward, swiping downward scrolls the content downward, swiping left scrolls the content left, and similarly, swiping right scrolls the content right.

[0366] Figures 6D-6E show exemplary user interfaces for expanding a selection during a drag in response to a tap (minus plus sign) half (minus plus sign) drag gesture, according to several embodiments. The user interfaces in these figures show steps 476 and 471 (Figure 4B). In Figure 6D, device 100 detects a one-finger touch input 524-1. Upon detection of the one-finger touch input 524-1, device 100 determines that an existing selection 528 (e.g., the word "testing") exists. The selection 528 is marked at each end of the selection 528 by markers such as a start object 526 and an end object 530. Device 100 further determines that the one-finger touch input is not located on the existing selection 528 (e.g., on the word "nation"), and deselects the existing selection 528. Device 100 then determines that the one-finger touch input is a tap half and drag gesture. The drag portion of the tap-half-and-drag gesture starts from the first position 524-1 to the second position 524-2, in the direction of the drag 532.

[0367] In response to tap (minus plus sign), half (minus plus sign), and drag gestures, device 100 selects the nearest word at a starting position 524-1 (for example, selects the word "nation"), and then expands the selection in the direction 532 toward a second position 524-2, including further content beyond the selected word. As shown in Figure 6E, as the finger touch moves forward through the text on the touchscreen 112, the ends 530 of some of the selected content extend while the beginnings 526 of some of the selected content (for example, the beginning of the word "nation") remain fixed.

[0368] In some embodiments, the starting object 526 and ending object 530 move and become visible as the finger drags to indicate an expanded selection 528. The selection 528 expands one word at a time if the finger drags quickly, and one character at a time if the finger drags slowly. Although not shown in Figures 6D-6E, in some embodiments, whenever text is selected, the device 100 displays a command display area adjacent to the portion of the selected content to facilitate editing functions such as cut, copy, and paste. An exemplary command display area displayed adjacent to a portion of the selected content is shown in Figure 5AR, which is described in more detail above.

[0369] In some embodiments, as shown in Figure 6E, the device 100 displays a content magnifier 552 adjacent to the corresponding end of the selected content. The content magnifier 552 displays an enlarged portion 588 of the content adjacent to the corresponding end of the selected content, and a boundary marker 554 indicating the current position of the corresponding end of the selected content 528. In some embodiments, the enlarged portion 558 of the content displayed by the content magnifier 552 includes selected content adjacent to the corresponding end (e.g., "ves tha" in Figure 6E) and non-selected content adjacent to the corresponding end (e.g., "t that" in Figure 6E).

[0370] Returning to Figure 4B, in some embodiments, device 100 determines whether the type of one-finger touch input is a double tap, triple tap, quadruple tap, or quintuple tap (480 - double / triple / quadruple / quintuple tap). In response to the recognition of multiple tap gestures, device 100 selects the word closest to the touch input in response to a double tap, and for each consecutive tap, device 100 expands the selection by each consecutive tap in 478.

[0371] For example, in Figure 6F, in response to the detection of a double-tap touch input with one finger, device 100 selects the word closest to the double-tap touch input (e.g., the word "and"). As shown in Figure 6G, the word "and" is selected, a marker for selection 528 is displayed, and it is surrounded by a start object 526 and an end object 530. If the one-finger touch input is a triple, quadruple, or quintuple tap, in response to the detection of the touch input, device 100 expands the selection and selects a sentence (e.g., the sentence "any nation so conceived and so" in Figure 6H), a paragraph (e.g., the paragraph "Now we are engaged in a great civil war..." in Figure 6I), or content of an electronic document (Figure 6J), respectively, and the corresponding selection 528 is displayed with a marker 528 and surrounded by a start object 526 and an end object 528.

[0372] Unlike the response to the one-finger tap gesture described above with respect to Figures 6A-6B, it should be noted that in some embodiments, even if the distance between the double tap and the nearest space is less than a predetermined threshold distance (e.g., within the X zone), in response to the detection of a double tap, the device 100 selects the word nearest to the double tap touch input (e.g., the word "and"). Furthermore, unlike the response to the one-finger tap gesture described above with respect to Figures 5AO-5AP, in some embodiments, in response to the detection of a double tap located in a space between two words in an electronic document, the device 100 selects the word after the space and displays a selection marker. Furthermore, in some embodiments, if the double tap is located on the cursor 522, the device 100 selects the word associated with the cursor and displays a selection marker. An exemplary selection marker is shown in Figure 6G and described above.

[0373] In some embodiments, device 100 alternatively moves selected content in response to the detection of three substantially simultaneous touch inputs, such as a three-finger touch input. Figure 4C is a flowchart of a method 490 for moving content by three substantially simultaneous touch inputs (e.g., a three-finger touch input) according to some embodiments. Method 490 is implemented in a portable multifunction device (e.g., device 100 in Figure 1A) having a touchscreen display (e.g., touchscreen display 112 in Figure 1A). As will be discussed later, method 490 provides a suitable mechanism for moving selected content in a portable multifunction device having a touchscreen display.

[0374] Similar to the figures 5AS to 5AU, in some embodiments, the device 100 first displays the content of an electronic document on the touchscreen display 112. In some embodiments, the content includes text (e.g., plain text, unstructured text, formatted text, or text within a web page). In other embodiments, the content includes graphics that may or may not include text. Furthermore, the content may be editable or read-only. In some embodiments, while displaying the content of an electronic document, the device 100 detects three substantially simultaneous touch inputs (e.g., three-finger taps) at 492. The portable multifunction device 100 then determines at 494 whether an existing selection of the content exists prior to the detection of touch inputs. If the device 100 detects an existing selection (494-YES), the device 100 moves the selection in response to a three-finger hold-and-drag gesture at 496.

[0375] It should be noted that the three substantially simultaneous touch inputs can be located anywhere on the touchscreen display 112. For example, the user can touch the touchscreen display 112 with three fingers placed close together or with three fingers spread apart. Regardless of the location of the three touch inputs on the touchscreen display 112, the device 100 can detect the three substantially simultaneous touch inputs and perform actions such as moving a selection in response to the detection of a three-finger drag following the first three substantially simultaneous touch inputs.

[0376] Unlike the one-finger hold-and-drag selection shown in Figures 5AS-5AU, it should also be noted that in some embodiments, the three substantially simultaneous touch inputs do not necessarily have to be located on the selection. As shown in Figures 5AV-5AX and described later, the three substantially simultaneous touch inputs can be located outside the selection, on the selection, overlapping the selection, or on the keyboard.

[0377] For example, Figures 5AV to 5AX show the selection movement process 496 (Figure 4C) in response to the detection of a three-finger hold-and-drag gesture by device 100. In Figure 5AV, device 100 detects a three-finger touch input in a first area 524-1 on the touchscreen display 112. The first area 524-1 can be located anywhere on the touchscreen display 112. As shown in Figure 5AV, the three-finger touch input can be located outside of selection 528-1, which can be marked at each end of the partial word "ought" by markers such as a start object 526-1 and an end object 530-1. Although not shown in Figure 5AV, the three-finger touch input can be partially on or overlapping the position of selection 528-1, or on the keyboard 521.

[0378] In some embodiments, device 100 further detects a three-finger touch input that remains still on the touchscreen display for a predetermined period of time, followed by a continuous drag gesture from the position of the three-finger touch input in a direction 532 that traverses the touchscreen display from a first region 524-1 to a second region 524-2 (e.g., starting to drag within 0.5 or 0.75 seconds after remaining still). In another embodiment, a delay (e.g., a predetermined period) is not required for the selection to move.

[0379] In response to the detection of continuous touch movements, device 100 moves selection 528-1 across document 500 to a new position 528-2, as shown in Figure 5AX after the continuous movement.

[0380] As described above, in some embodiments, instead of moving selection 528-1, the ghost selection 528 is displayed in response to the detection of a one-finger drag. As shown in Figure 5AW, in some embodiments, the ghost selection 528-2 is displayed offset from selection 528-1, and in some embodiments, the ghost selection 528-2 may have a different appearance from selection 528-1. For example, the ghost selection 528-2 may have a different color and / or hue for highlighting the ghost selection 528-2 than the color and / or hue used to highlight selection 528-1. Furthermore, ghost markers 526-2 and 530-2 mark the beginning, and the end of the ghost selection block 528 may have a different color, size, and / or shape from markers 526-1 and 528-1.

[0381] In some embodiments, the ghost selection 528-2 appears at the current location of selection 528-1 as soon as device 100 detects a three-finger drag, and the start object 526-1 and end object 530-1 are animated to attract the user's attention to the appearance of the ghost selection 528-2. During the drag, the ghost selection 528-2 moves in the direction of the three-finger movement to indicate the position to which the selection will move when the user lifts or releases the contact (e.g., a lift-off event). The ghost selection 528-2 may include a ghost start object 526-2 and a ghost end object 530-2. Both the ghost start object 526-2 and the ghost end object 530-2 may have a different appearance from the start object 526-1 and the end object 530-1. When the three-finger drag is released, the selection moves to the position of the ghost selection 528-2. Upon release of contact, device 100 stops displaying the ghost selection 528-2, along with the ghost markers 526-2 and 530-2, as shown in Figure 5AX. In Figure 5AX, the selection 528-3 is indicated by markers such as the starting object 526-3 and the ending object 530-3. Other preferred mechanisms for displaying the movement of the selection are as described above.

[0382] It should be understood that the specific order of operations described in Figures 4A-4C is merely illustrative, and is not intended to indicate that the described order is the only order in which these operations can be performed. Those skilled in the art will recognize various ways of rearranging the operations described herein. For the sake of brevity, these details will not be repeated here.

[0383] According to some embodiments, Figure 8 shows a functional block diagram of an electronic device 800 configured according to the principles of the present invention described above. The functional blocks of this device can be implemented by hardware, software, or a combination of hardware and software to carry out the principles of the present invention. It will be understood by those skilled in the art that the functional blocks shown in Figure 8 can be combined or divided into subblocks to implement the principles of the present invention described above. Accordingly, the description herein may support any possible combinations or divisions, or definitions of further functional blocks described herein.

[0384] In some embodiments, the electronic device 800 includes a display unit 802 configured to display the content of an electronic document and a cursor within the electronic document, a touch-sensing surface unit 804 configured to receive user contact, and a processing unit 808 connected to the display unit 802 and the touch-sensing surface unit 804. In some embodiments, the processing unit 808 includes a detection unit 810 and a selection unit 812.

[0385] The processing unit 808 is configured to detect two substantially simultaneous touch inputs at any location on the touch sensing surface unit 804 (for example, by the detection unit 810), and in response to the detection of two substantially simultaneous touch inputs, to select a portion of the document content closest to the cursor (for example, by the selection unit 812), and to display the portion of the content as selected content (for example, by the display unit 802).

[0386] In some embodiments, the electronic device 800 includes a display unit 802 configured to display the content of an electronic document and a cursor at the current position within the content; a touch-sensing surface unit 804 configured to receive user contact; and a processing unit 808 connected to the display unit 802 and the touch-sensing surface unit 804. In some embodiments, the processing unit 808 includes a detection unit 810, a determination unit 816, and a movement unit 814.

[0387] The processing unit 808 is configured to detect two substantially simultaneous touch inputs in a first region on the touch sensing surface unit 804 (e.g., by the detection unit 810), and when it determines (e.g., by the detection unit 810) that the two substantially simultaneous touch inputs remain in contact with the touch sensing surface unit 804, it detects (e.g., by the detection unit 810) a series of touch gestures traversing the touch sensing surface unit 804 from the first region to the second region from the positions of the two substantially simultaneous touch inputs, and in response to the detection of the series of touch gestures, it moves the cursor from its current position to a new position in the direction of the series of touch gestures (e.g., by the movement unit 814).

[0388] In some embodiments, the electronic device 800 includes a display unit 802 configured to display text and a cursor on a line within the text, a touch-sensing surface unit 804 configured to receive user contact, and a processing unit 808 connected to the display unit 802 and the touch-sensing surface unit 804. In some embodiments, the processing unit 808 includes a detection unit 810 and a movement unit 814.

[0389] The processing unit 808 is configured to detect a two-finger swipe gesture on the touchscreen display 804 (for example, by the detection unit 810) that is at least partially parallel to the row and toward the edge of the touch-sensing surface unit 804, and to move the cursor (for example, by the movement unit 814) to the distal point of the text in response to the detection of the two-finger swipe gesture.

[0390] In some embodiments, the electronic device 800 includes a display unit 802 configured to display the content of an electronic document and a cursor within the electronic document, a touch-sensing surface unit 804 configured to receive user contact, and a processing unit 808 connected to the display unit 802 and the touch-sensing surface unit 804. In some embodiments, the processing unit 808 includes a detection unit 810 and a selection unit 812.

[0391] The processing unit 808 is configured to detect touch input (located on a word in the content) on the touch sensing surface unit 804 (for example, by the detection unit 810), select the word (for example, by the selection unit 812) in response to the detection of the touch input, and display a command display area adjacent to the selected word, where the second command display area includes an icon for cutting the selected word, an icon for copying the selected word, and an icon for pasting pre-selected content.

[0392] In some embodiments, the electronic device 800 includes a display unit 802 configured to display the content of an electronic document and the selection of content within the electronic document; a touch-sensing surface unit 804 configured to receive user contact; and a processing unit 808 connected to the display unit 802 and the touch-sensing surface unit 804. In some embodiments, the processing unit 808 includes a detection unit 810, a determination unit 816, and a movement unit 814.

[0393] The processing unit 808 is configured to detect a single touch input on the touch sensing surface unit 804 at a position overlapping the selection (for example, by the detection unit 810), to display a set of options related to the selection (for example, by the display unit 802) in response to the detection of a single touch input at that position, to determine (for example, by the determination unit 816) whether there was a series of touch gestures where the single touch input remained at that position for a predetermined time and then moved away from that position on the touch sensing surface unit 804, and to move the selection (for example, by the movement unit 814) in response to the detection that there was a series of touch gestures where the single touch input remained at that position for a predetermined time and then moved away from that position.

[0394] In some embodiments, the electronic device 800 includes a display unit 802 configured to display the content of an electronic document and the selection of content within the electronic document; a touch-sensing surface unit 804 configured to receive user contact; and a processing unit 808 connected to the display unit 802 and the touch-sensing surface unit 804. In some embodiments, the processing unit 808 includes a detection unit 810, a determination unit 816, and a movement unit 814.

[0395] The processing unit 808 is configured to detect three substantially simultaneous touch inputs at any position on the touch sensing surface unit 804 (for example, by the detection unit 810), to determine (for example, by the determination unit 816) whether there are three consecutive touch gestures that move away from the position on the touch sensing surface unit 804 following the three substantially simultaneous touch inputs, and to move the selection (for example, by the movement unit 814) to a position in a different direction of the consecutive touch gestures in response to the detection of three consecutive touch gestures.

[0396] In some embodiments, the device 800 includes a display unit 802 configured to display the content of an electronic document, the content of which includes at least one line of text containing at least two words; a touch-sensing surface unit 804 configured to receive user contact; and a processing unit 808 connected to the display unit 802 and the touch-sensing surface unit 804. In some embodiments, the processing unit 808 includes a detection unit 810, a determination unit 816, and a selection unit 812.

[0397] The processing unit 808 is configured to detect touch input on the content (for example, by the detection unit 810), and in response to the detection of touch input, to determine (for example, by the determination unit 816) the distance of the touch input to the nearest space between two words in the electronic document, and, according to the determination that the distance is greater than a predetermined threshold distance, to select the word closest to the touch input in the electronic document and display the selection (for example, by the display unit 802).

[0398] In some embodiments, the device 800 includes a display unit 802 configured to display the content of an electronic document and a focused soft keyboard, a touch-sensitive surface unit 804 configured to receive user contact, and a processing unit 808 connected to the display unit 802 and the touch-sensitive surface unit 804. In some embodiments, the processing unit 808 includes a detection unit 810 and an appearance modification unit 818.

[0399] The processing unit 808 is configured to detect two substantially simultaneous touch inputs on the soft keyboard (for example, by the detection unit 810) and to blur the soft keyboard (for example, by the appearance modification unit 818) in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

[0400] In some embodiments, the electronic device 800 includes a display unit 802 configured to display the content of an electronic document and a cursor within the electronic document, a touch-sensitive surface unit 804 configured to receive user contact, and a processing unit 808 connected to the display unit 802 and the touch-sensitive surface unit 804. In some embodiments, the processing unit 808 includes a detection unit 810 and an appearance modification unit 818.

[0401] The processing unit 808 displays a soft keyboard having a plurality of keys on the touch-sensing surface display unit 802, each of which has a corresponding alphanumeric character from a plurality of alphanumeric characters. The processing unit 808 is configured to detect two substantially simultaneous touch inputs on the soft keyboard (for example, by the detection unit 810) and to change the appearance of the soft keyboard (for example, by the appearance change unit 818) in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

[0402] Referring to Figures 9A–9AD, these figures illustrate exemplary user interfaces for selecting content, moving text selection indicators, and changing the appearance of the keyboard based on the intensity of contact (e.g., pressure), according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, relating to Figures 10A–10G and 11A–11F. Figures 9B–9AD show multiple intensity thresholds (e.g., "IT"). D "IT" L Includes an intensity-versus-time graph showing the current contact intensity on the touch-sensitive surface for " and "IT0".

[0403] Figures 9A to 9N show exemplary user interfaces for content selection in text selection mode, corresponding to deep press on an on-screen keyboard, according to several embodiments. The user interfaces in these figures are used to illustrate the processes described later, as shown in Figures 10A to 10G.

[0404] In Figure 9A, while the application is in document editing mode, the editable content 900 is displayed within the content display area 902. The application runs on a device 100 having one or more sensors (e.g., multiple contact intensity sensors 259, Figure 2B) for detecting the intensity of contact with a touch-sensitive display. In document editing mode, an on-screen keyboard 921 is displayed for text input. The user can input text by touching (e.g., touching) the on-screen keyboard 921 and confirm the completion of editing by performing another touch input (e.g., tapping on the "Done" button) to exit editing mode. An insertion marker (e.g., cursor 922) is displayed to indicate the current position for text input.

[0405] In Figure 9B, at time T1, while in editing mode and displaying the keyboard 921, the device detects a deep press on the on-screen keyboard 921 by finger contact 924, and the press input strength is set to the deep press strength threshold IT. D The number of keys has increased to over [amount]. Upon detection of deep press, the appearance of the keyboard 921 changes to indicate that the application has entered text selection mode. In text selection mode, the keyboard 921 does not respond to keystrokes and functions as an on-screen touchpad or trackpad for moving the cursor. In some embodiments, the keys are visually obscured, as shown in Figure 9B. The visually obscured keys on the keyboard 921 intuitively indicate that the function of the keyboard 921 has changed. In some embodiments, the on-screen keyboard 921 shown in Figure 9B is blurred or smudged compared to the keyboard 921 shown in Figure 9A before detection of deep press, and the keys are no longer visible or clearly displayed as before. In some embodiments, the keyboard 921 becomes semi-transparent, revealing the content beneath the keyboard.

[0406] When the keyboard 921 functions as a touchpad or trackpad on the screen, in some embodiments, in response to the detection of finger movement 932 on the keyboard 921, a floating cursor 922-1 moves across the touchscreen display 112 in accordance with the movement of one or more finger contacts, and a ghost cursor 922-2 is displayed offset from the real cursor 922-1. In some embodiments, the ghost cursor 922-2 indicates where the cursor would be located after the lift-off of the finger contact 924. In some embodiments, the ghost cursor 922-2 is a modified version of the original cursor 922 displayed on the screen (for example, the original cursor 922 shown in Figure 9A is black, while the ghost cursor 922-2 is gray).

[0407] In some embodiments, when touch input is detected to enter text selection mode, the original cursor 922 changes its appearance, while the floating cursor 922-1 jumps from the original text cursor 922 to its initial position. In some embodiments, the initial position of the floating cursor 922-1 is slightly offset from the position of the ghost cursor 922-2 (for example, slightly higher in Figure 9B). In some embodiments, the animation displayed in response to touch input has a visual effect in which the original text cursor 922 jumps off the page and becomes the floating cursor 922-1, leaving a shadow or ghost image at its original position. For example, the ghost cursor 922-2 shown in Figure 9B is in the middle of the word "Liberty," similar to the cursor 922 in Figure 9A, when touch input by finger contact 924 is determined to satisfy one or more criteria for entering text selection mode at time T1.

[0408] In some embodiments, as the user subsequently moves their finger touch, the floating cursor 922-1 moves in a continuous, smooth motion within the content display area 902 along with the finger touch 924, while the ghost cursor 922-2 moves discontinuously from one permitted insertion position to another, indicating the cursor's final position if the touch input ends at that moment. For example, in Figure 9C, as the finger moves along path 932, the floating cursor 922-1 moves along a similar path, but the ghost cursor 922-2 moves discontinuously in the direction of the finger's movement, from the middle of the word "Liberty" (Figure 9B) to the end of the word "conceived" (Figure 9C), and then to the middle of the word "created" (Figure 9D). The ghost cursor 922-2 indicates the position where the cursor will appear when the user lifts their finger. As shown in Figures 9C and 9D, after an initial deep press at time T1, the intensity of contact 924 on the touchscreen 112 is equal to the deep press intensity threshold IT during the movement of the finger from time T1 to T3. D It can be greater than or less than [a certain value].

[0409] In Figure 9E, at the end of finger movement 932, the intensity of contact decreases to zero at time T4, which corresponds to finger lift-off. In some embodiments, in response to lift-off, the device stops displaying the floating cursor and maintains displaying the ghost cursor at the corresponding permitted insertion position (e.g., to the middle of the word "created") where the ghost cursor reaches after discontinuous movement of the ghost cursor. As shown in Figure 9E, in some embodiments, the device stops displaying the ghost cursor and displays cursor 922 in the middle of the word "created," restoring the appearance of the on-screen keyboard 921 (e.g., no longer obscured) to indicate the end of text selection mode and that the on-screen keyboard 921 is ready to respond to keystrokes.

[0410] In Figure 9F, during text selection mode, when the ghost cursor (not shown in Figure 9F) is positioned in the middle of the word "created", at time T4, the deep pressure intensity threshold IT DThe device detects a press input strength exceeding the deep press input threshold IT. In response to the detection of a deep press on the editable content 900, the device initiates selection of a portion of the text input 928 according to the movement 932 of the touch input contact. After time T4, during movement 932, the press input strength exceeds the deep press strength threshold IT. D It can be greater than or less than [a certain value].

[0411] Figures 9G to 9L illustrate various possible behaviors that may occur at time T5 according to several embodiments.

[0412] In Figure 9G, at time T5, the device detects the lift-off of the touch input contact, and the pressure input intensity becomes zero. In response to the detection of the lift-off of the touch input contact, in some embodiments, the device confirms the selection of a portion of the text input 928. In some embodiments, the selection box 928 (e.g., a gray box) remains over the selected portion of the text input and / or a menu bar 940 is displayed showing the actions that can be performed on the selected portion of the text input (e.g., copy 944, draw, cut 942, paste, etc.). Thus, Figures 9F and 9G show that text selection is initiated using a first deep press input by touch (924), then the text is selected by moving the touch, and then the selection is confirmed by the lift-off of the touch.

[0413] In Figure 9H, after selecting a portion of the text input at time T4-T5, while the portion of the text input is selected (Figure 9F), the device reaches a deep pressure intensity threshold IT at time T5. D The device detects a touch input intensity exceeding a certain level. In response to the detection of a deep press while a portion of the text input is selected, in some embodiments, as shown in Figure 9H, the device clears the selection of the portion of the text input and displays an insertion marker 922. Thus, Figures 9F and 9H show that a text selection is initiated using a first deep press input by contact (924), the text is selected by moving the contact, and the selection is then cleared with a second deep press input by contact.

[0414] In Figure 9I, instead of clearing the selection as shown in Figure 9H, when deep pressure is detected at time T5, while the text input area is selected (Figure 9F), the device sets the deep pressure intensity threshold IT D The device detects a contact intensity exceeding a certain level in touch input, followed by a lift-off of the contact without further movement of the contact. In response to the detection of a stationary deep press and the subsequent lift-off, the device confirms the selection 928 and, in some embodiments, displays the menu bar 940. Thus, Figures 9F and 9I illustrate that a text selection is initiated using a first deep press input by contact (924), followed by the selection of the text by movement of the contact, and then the selection is confirmed by a second deep press input by contact and a lift-off without further movement of the contact.

[0415] In Figure 9J, when deep pressure is detected at time T5, while the text input area is selected (Figure 9F), the device sets the deep pressure intensity threshold IT. D The device detects a touch input intensity exceeding a certain level, followed by a further movement of the contact 932. In response to the movement following the deep press, the device clears the selection and displays an insertion marker 922 at the end of the word "created". After clearing the selection at time T5, a new selection 928 is made according to the finger movement 932 between times T5 and T6, as shown in Figure 9K. The new selection 928 starts at the end of the word "created", where the insertion marker 922 was located when the deep press was detected at time T5. Thus, Figures 9F, 9J, and 9K illustrate that a text selection is initiated using a first deep press input by contact (924), followed by a text selection by movement of the contact, then the selection is confirmed with a second deep press input by contact, and then the previous selection is cleared and a new selection is initiated by further movement of the contact.

[0416] In Figure 9L, when deep pressure is detected at time T5, while the text input area is selected (Figure 9F), the device sets the deep pressure intensity threshold IT. DThe device detects a touch input intensity exceeding a certain level, followed by a further movement of the touch 932. In response to the movement following the deep press, the device moves the floating cursor 922-1 and the ghost cursor 922-2 within the content display area 902 according to the further movement of the touch 932. Thus, Figures 9F and 9L show that a first deep press input by touch (924) initiates text selection, followed by a movement of the touch to select the text, then a second deep press input by touch confirms the selection, and then a further movement of the touch clears the previous selection and moves the cursor(s) without initiating a new selection.

[0417] In Figure 9M, during the text selection mode after detecting deep pressure at time T1, the device also sets the deep pressure intensity threshold IT. D The device detects a first local intensity peak of touch input at time T4 and a second local intensity peak of touch input at time T5, both exceeding the threshold. In response, the device selects a predetermined unit of text input (e.g., a word, phrase, or sentence) according to the current position of the ghost cursor. For example, at time T3, the ghost cursor 922-2 is positioned in the middle of the word "created" (Figure 9D). The device detects deep pressure intensity thresholds IT at times T4 and T5, respectively. D In response to the detection of two local intensity peaks exceeding a certain level, the device selects the word "created" according to the current position of the ghost cursor located in the middle of the word.

[0418] In some embodiments, as shown in Figure 9M, the device has a predetermined threshold (e.g., IT D An increase in the characteristic intensity of contact exceeding ) and thereafter a predetermined intensity threshold (e.g., IT D , and optionally, a decrease in the characteristic intensity of a contact that falls below a predetermined intensity threshold (e.g., a hysteresis intensity threshold below a predetermined intensity threshold), and thereafter, a predetermined intensity threshold (e.g., IT) is detected. D Another increase in contact characteristic intensity, exceeding ), follows.

[0419] In some embodiments, the criterion for selecting a first predetermined unit of text is a predetermined intensity threshold (e.g., IT D A second increase in the characteristic intensity of contact that exceeds a predetermined intensity threshold (e.g., IT) D The criteria for selecting the first predetermined unit of text are met when they occur within a predetermined period after a first increase in the characteristic intensity of contact exceeding ) (two presses are two quick presses that trigger the selection of a first predetermined unit of text input). For example, if the period from time T4 to T5 is less than the threshold, the criteria for selecting the first predetermined unit of text are met.

[0420] In some embodiments, a predetermined intensity threshold (e.g., IT) is used. D Instead of just two increases in the contact feature intensity exceeding ), three such increases are detected and used to trigger the selection of a second predetermined unit of text input (for example, three quick presses trigger sentence selection, while two quick presses trigger word selection).

[0421] In Figure 9N, after detecting the first local intensity peak and the subsequent second local intensity peak, the device sets a predetermined intensity threshold (e.g., IT D The device detects a third consecutive local intensity peak in touch input exceeding ). In some embodiments, the consecutive local intensity peaks at times T4, T5, and T6 are spaced within a predetermined period (e.g., within 100 milliseconds or 200 milliseconds) so that these three intensity peaks are recognized as a single user command (e.g., three deep presses). In response to the detection of three deep presses, the device selects a second predetermined unit of text input (e.g., the sentence "Four score...equal.") that is greater than and includes a first predetermined unit of text input (e.g., the word "created" in Figure 9M).

[0422] Referring to Figures 9O-9AD, these figures show exemplary user interfaces for selecting content. The user interfaces in these figures are used to illustrate the processes described later, as shown in Figures 11A-11F.

[0423] In Figure 9O, editable content 900 is displayed while the application is in document editing mode. The application is running on a device 100 having one or more sensors (e.g., multiple contact intensity sensors 259, Figure 2B) for detecting the intensity of contact with a touch-sensitive display. The user can edit the text (e.g., using a keyboard (not shown)) and confirm completion of editing by performing touch input (e.g., tapping on the "Done" button) to exit editing mode. An insertion marker (e.g., cursor 922) is displayed to indicate the current position for text input.

[0424] Prior to T0, no contact is present or detected on the touchscreen display 112. At T0, the device detects an increase in press input intensity that exceeds the contact intensity threshold IT0. In response to the detection of finger contact 925 on the editable content 900, the device moves the text selection indicator (e.g., cursor 922) to the position corresponding to the finger contact (e.g., between the letters "r" and "o" in the word "from").

[0425] In Figure 9P, in some embodiments, after an increase in press input intensity that exceeds a contact intensity threshold IT0 at T0, the finger press maintains pressure, which corresponds to a press-and-hold gesture. In response to the detection of the press-and-hold gesture, the device displays a magnifying glass 908. Within the magnifying glass 908, the device magnifies a portion 943 of the editable content on the touchscreen display to a second magnification greater than a first magnification. The content magnifier 908 displays the magnified portion 943 of the editable content and a position marker 945 (corresponding to a cursor 922, which may be displayed in addition to or instead of the cursor 922) at a first position within the magnified portion of the editable content (e.g., in the middle of the word "from"). In some embodiments, the magnified portion 943 of the editable content displayed within the content magnifier includes portions of at least three horizontal lines of text that are displayed simultaneously. In some embodiments, the content magnifier 908 has a predetermined shape (e.g., a circle).

[0426] In Figure 9Q, in some embodiments, after an increase in pressing input intensity that exceeds the contact intensity threshold IT0 at T0, the finger pressing intensity is further increased. At time T1, the device exceeds the pressing input intensity threshold IT0. D The device detects an increase exceeding a certain threshold. In some embodiments, in response to the detection of deep pressure on the editable content 900, the device displays the content magnifier 908.

[0427] In Figure 9P or Figure 9Q, when the device detects the movement 932 of a finger contact 925 across the touchscreen display, the device moves the content magnifier 908 and insertion marker 922 (and / or position marker 945) in accordance with the movement of the finger contact 925. In Figure 9R, in response to the detection of the movement 932 of a finger gesture from the middle of the word "from" at T1 to the middle of the word "nation" at T2, the device moves the content magnifier 908 and insertion marker 922 in accordance with the movement of the finger. During the finger movement 932, the pressing input strength can be increased or decreased. For example, as shown in Figure 9R, after time T1, the strength is increased to a deep pressing strength threshold IT D It continues to increase above this threshold, then decreases, reaching a deep pressure intensity threshold IT at time T2. D It falls below the deep pressure threshold IT at time T3. As shown in Figure 9S, the pressing input strength again falls below the deep pressing strength threshold IT. D The device continues to move the content magnifier 908 and insertion marker 922 until it detects that the value has increased above a certain level.

[0428] In Figure 9S, at time T3, the device detects a deep press and the subsequent movement of the contact 925. In response to the detection of the movement of the contact 925 following the deep press, the device selects editable text (e.g., one character at a time) as the finger contact 925 moves. In some embodiments, the selected content 928 is marked at each end of the selected content 928 by a start object 926 and an end object 930. For example...

Claims

1. A portable multifunction device including one or more processors, memory, and a touchscreen display, Displaying the content of an electronic document on the aforementioned display, Displaying a cursor within the aforementioned electronic document, To detect two substantially simultaneous touch inputs at any location on the touchscreen display, In response to the detection of the two substantially simultaneous touch inputs, Selecting a portion of the content within the document that is closest to the cursor, Displaying a portion of the aforementioned content as selectable content, This includes cursor operation methods.

2. While the portion of the aforementioned content is displayed as selected content, two further substantially simultaneous touch inputs are detected at any location on the touchscreen display. In response to the detection of two further substantially simultaneous touch inputs, a first enlarged portion of the content, including the portion of the content, Displaying the first enlarged portion as selected content, The method according to claim 1, further comprising:

3. While the first enlarged portion of the content is displayed as selected content, two further substantially simultaneous touch inputs are detected on the touchscreen display, In response to the detection of two further substantially simultaneous touch inputs, a second enlarged portion of the content, including the enlarged portion of the content, The second enlarged portion is displayed as selectable content, The method according to claim 2, further comprising:

4. While the second enlarged portion of the content is displayed as selected content, two further substantially simultaneous touch inputs are detected on the touchscreen display, In response to the detection of two further substantially simultaneous touch inputs, a third enlargement of the content, including the first enlargement of the content, Displaying the third enlarged portion as selected content, The method according to claim 3, further comprising:

5. The method according to claim 4, wherein the content includes text, the portion of the content is a word located nearest to the cursor in the text, the enlarged portion is a sentence, the first enlarged portion is a paragraph, and the second enlarged cursor is a page.

6. The method according to claim 1, wherein the content includes text, and the portion of the content is a word located closest to the cursor.

7. The lift-off of the two substantially simultaneous touch inputs from the touchscreen display, and the subsequent detection of two further substantially simultaneous touch inputs at any location on the touchscreen display, To detect a series of touch gestures from the two further substantially simultaneous touch input locations on the touchscreen display to further locations on the touchscreen display, In response to the detection of the aforementioned continuous touch gestures, the selected content is expanded to include further content beyond the aforementioned portion in the direction toward the aforementioned further location. The method according to claim 1, further comprising:

8. To detect two more substantially simultaneous touch inputs on the selected content, In response to the detection of two further substantially simultaneous touch inputs, the selected content is expanded, The method according to claim 1, further comprising:

9. When it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, a series of touch gestures is detected that at least partially traverse the touchscreen display from the positions of the two substantially simultaneous touch inputs. In response to the gesture, the selection of the content is expanded beyond the portion of the content in the direction of the gesture. The method according to claim 1, further comprising:

10. The method according to claim 1, wherein the cursor is an insertion point.

11. To detect two further substantially simultaneous touch inputs at the first and second positions, respectively, within the boundaries of the selected content on the touchscreen display, When it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, a continuous touch gesture traversing the touchscreen display is detected. In response to the detection of the lift-off of the aforementioned consecutive touch gestures, the selected content is moved to a different position. The method according to claim 1, further comprising:

12. The method according to claim 11, further comprising displaying a ghost cursor offset from the selected content before moving the selected content to the second position, wherein the ghost selection moves with the successive touch gestures, and the different position is the position of the ghost cursor at the time of the lift-off.

13. A portable multifunction device including one or more processors, memory, and a touchscreen display, Displaying the content of an electronic document on the aforementioned touchscreen display, Displaying a cursor at the current position within the content on the touchscreen display, To detect two substantially simultaneous touch inputs in a first area on the touchscreen display, When it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, a series of touch gestures from the positions of the two substantially simultaneous touch inputs, traversing the touchscreen display from the first region to the second region, is detected. In response to the detection of the aforementioned continuous touch gestures, Moving the cursor from its current position to a new position in the direction of the continuous touch gesture, This includes cursor operation methods.

14. The method according to claim 13, wherein the distance between the first region and the second region is substantially the same as the distance between the current position and the new position.

15. While the aforementioned cursor is being moved, a ghost cursor is displayed offset from the aforementioned cursor, When the end of the aforementioned continuous touch gesture is detected, the cursor is positioned at the location of the ghost cursor, and the display of the ghost cursor is stopped. The method according to claim 13, further comprising:

16. Displaying the cursor at its current position includes displaying a selection of the content at its current position, and moving the cursor from its current position to a new position in the direction of the continuous touch gesture. The method according to claim 13, comprising deselecting the selection and moving the cursor from the current position to the new position.

17. A portable multifunction device including one or more processors, memory, and a touchscreen display, Displaying text on the aforementioned display, To display the cursor on a line within the aforementioned text, To detect a two-finger swipe gesture on the touchscreen display that is at least partially parallel to the aforementioned row and toward the edge of the touchscreen display, In response to the detection of the two-finger swipe gesture, Moving the cursor to the distal point of the text, This includes cursor operation methods.

18. The method according to claim 17, wherein the detection requires that the two-finger swipe gesture is performed at a speed exceeding a predetermined speed.

19. The method according to claim 17, wherein the distal point of the text is located in the gesture direction.

20. The method according to claim 17, wherein moving the cursor to the distal point of the text includes moving the cursor to the beginning or end of the line of the text, or to the beginning or end of the text, in accordance with the direction of the two-finger swipe.

21. A portable multifunction device including one or more processors, memory, and a touchscreen display, Displaying the content of an electronic document on the aforementioned display, Displaying a cursor within the aforementioned electronic document, The touch input on the touchscreen display, which is located on a word within the content, is detected. In response to the detection of the touch input, Selecting the aforementioned word, The second command display area includes displaying a command display area adjacent to the selected word, and the second command display area includes an icon for cutting the selected word, an icon for copying the selected word, and an icon for pasting pre-selected content. This includes cursor operation methods.

22. Touchscreen display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, Displaying the content of an electronic document on the aforementioned display, Displaying a cursor within the aforementioned electronic document, To detect two substantially simultaneous touch inputs at any location on the touchscreen display, In response to the detection of the two substantially simultaneous touch inputs, Selecting a portion of the content within the document that is closest to the cursor, Displaying a portion of the aforementioned content as selectable content, An electronic device that includes instructions for performing an action.

23. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touchscreen display, are stored on the device. The content of the electronic document is displayed on the aforementioned display, Display the cursor within the aforementioned electronic document, To detect two substantially simultaneous touch inputs at any location on the touchscreen display, In response to the detection of the two substantially simultaneous touch inputs, The cursor is then prompted to select a portion of the content within the document that is closest to it. A non-temporary computer-readable storage medium including instructions for displaying a portion of the aforementioned content as selected content.

24. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface is Displaying the content of an electronic document on the aforementioned display, Displaying a cursor within the aforementioned electronic document, To detect two substantially simultaneous touch inputs at any location on the touchscreen display, In response to the detection of the two substantially simultaneous touch inputs, Selecting a portion of the content within the document that is closest to the cursor, A graphical user interface that displays a portion of the aforementioned content as selected content.

25. Touchscreen display and Means for displaying the content of an electronic document on the aforementioned display, Means for displaying a cursor within the aforementioned electronic document, Means for detecting two substantially simultaneous touch inputs at any location on the touchscreen display, In response to the detection of the two substantially simultaneous touch inputs, means for selecting the portion of the content within the document that is closest to the cursor, Means for displaying the aforementioned content as selected content, Electronic devices, including those mentioned above.

26. Touchscreen display and One or more processors, Memory and An electronic device comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods according to claims 1 to 12.

27. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions that cause an electronic device having a touchscreen display to perform any of the methods according to claims 1 to 12 when executed by the device.

28. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 1 to 12.

29. Touchscreen display and Means for carrying out any of the methods described in claims 1 to 12, Electronic devices, including those mentioned above.

30. Touchscreen display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, Displaying the content of an electronic document on the aforementioned touchscreen display, Displaying a cursor at the current position within the content on the touchscreen display, To detect two substantially simultaneous touch inputs in a first area on the touchscreen display, When it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, a series of touch gestures from the positions of the two substantially simultaneous touch inputs, traversing the touchscreen display from the first region to the second region, is detected. In response to the detection of the aforementioned continuous touch gestures, Moving the cursor from its current position to a new position in the direction of the continuous touch gesture, An electronic device that includes instructions for performing an action.

31. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touchscreen display, are stored on the device. The content of the electronic document is displayed on the aforementioned touchscreen display. The cursor is displayed at the current position within the content on the touchscreen display. The system detects two substantially simultaneous touch inputs in a first area on the touchscreen display. When it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, a series of touch gestures from the positions of the two substantially simultaneous touch inputs, traversing the touchscreen display from the first region to the second region, are detected. In response to the detection of the aforementioned continuous touch gestures, A non-temporary computer-readable storage medium containing instructions for moving the cursor from its current position to a new position in the direction of the consecutive touch gestures.

32. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface is Displaying the content of an electronic document on the aforementioned touchscreen display, Displaying a cursor at the current position within the content on the touchscreen display, To detect two substantially simultaneous touch inputs in a first area on the touchscreen display, When it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, a series of touch gestures from the positions of the two substantially simultaneous touch inputs, traversing the touchscreen display from the first region to the second region, is detected. In response to the detection of the aforementioned continuous touch gestures, A graphical user interface that moves the cursor from its current position to a new position in the direction of the continuous touch gestures.

33. Touchscreen display and means for displaying the content of an electronic document on the aforementioned touchscreen display, means for displaying a cursor at the current position within the content on the touchscreen display, Means for detecting two substantially simultaneous touch inputs in a first area on the touchscreen display, When it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, means for detecting a series of touch gestures from the positions of the two substantially simultaneous touch inputs, traversing the touchscreen display from the first region to the second region, In response to the detection of the aforementioned continuous touch gestures, Means for moving the cursor from its current position to a new position in the direction of the continuous touch gestures, Electronic devices, including those mentioned above.

34. A portable multifunction device including one or more processors, memory, and a touchscreen display, Displaying the content of an electronic document on the aforementioned display, Displaying the selection of content within the aforementioned electronic document, To detect a single touch input on the touchscreen display at a position overlapping with the aforementioned selection, In response to the detection of the single touch input at the aforementioned location, a set of options for the selection is displayed. Determining whether there was a continuous touch gesture in which the single touch input remained at the position for a predetermined time, and then moved away from the position on the touchscreen display, A selection operation method comprising: moving the selection to a different position in the direction of a series of touch gestures in response to detection that there has been a series of touch gestures in which a single touch input remains in the position for a predetermined time and then moves away from the position.

35. A portable multifunction device including one or more processors, memory, and a touchscreen display, Displaying the content of an electronic document on the aforementioned display, Displaying the selection of content within the aforementioned electronic document, To detect three substantially simultaneous touch inputs at any position on the aforementioned touchscreen display, Determining whether there are three consecutive touch gestures that move away from the position on the touchscreen display following the three substantially simultaneous touch inputs, In response to the detection of the three consecutive touch gestures, the selection is moved to a different position in the direction of the consecutive touch gestures. A selection method that includes this.

36. Touchscreen display and One or more processors, Memory and An electronic device comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods according to claims 13 to 16 and 34 to 35.

37. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions that, when executed by an electronic device having a touchscreen display, cause the device to perform any of the methods according to claims 13 to 16 and 34 to 35.

38. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 13 to 16 and 34 to 35.

39. Touchscreen display and An electronic device comprising means for carrying out any of the methods described in claims 13 to 16 and 34 to 35.

40. Touchscreen display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, Displaying text on the aforementioned display, To display the cursor on a line within the aforementioned text, To detect a two-finger swipe gesture on the touchscreen display that is at least partially parallel to the aforementioned row and toward the edge of the touchscreen display, In response to the detection of the two-finger swipe gesture, An electronic device including a command for moving the cursor to the distal point of the text.

41. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touchscreen display, are stored on the device. Display text on the aforementioned display, Place the cursor on a line within the aforementioned text, A two-finger swipe gesture is detected on the touchscreen display, at least partially parallel to the aforementioned row and in a direction toward the edge of the touchscreen display. In response to the detection of the two-finger swipe gesture, A non-temporary computer-readable storage medium containing an instruction to move the cursor to the distal point of the text.

42. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface is Displaying text on the aforementioned display, To display the cursor on a line within the aforementioned text, To detect a two-finger swipe gesture on the touchscreen display that is at least partially parallel to the aforementioned row and toward the edge of the touchscreen display, In response to the detection of the two-finger swipe gesture, A graphical user interface that moves the cursor to the distal point of the text.

43. Touchscreen display and means for displaying text on the aforementioned display, Means for displaying a cursor on a line within the aforementioned text, Means for detecting a two-finger swipe gesture on the touchscreen display, which is at least partially parallel to the row and toward the edge of the touchscreen display, In response to the detection of the two-finger swipe gesture, Means for moving the cursor to the distal point of the text, Electronic devices, including those mentioned above.

44. Touchscreen display and One or more processors, Memory and An electronic device comprising one or more programs, the one or more programs being stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods according to claims 17 to 20 and 34 to 35.

45. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions that, when executed by an electronic device having a touchscreen display, cause the device to perform any of the methods according to claims 17 to 20 and 34 to 35.

46. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 17 to 20 and 34 to 35.

47. Touchscreen display and An electronic device comprising means for carrying out any of the methods described in claims 17 to 20 and 34 to 35.

48. Touchscreen display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, Displaying the content of an electronic document on the aforementioned display, Displaying a cursor within the aforementioned electronic document, The touch input on the touchscreen display, which is located on a word within the content, is detected. In response to the detection of the touch input, Selecting the aforementioned word, An electronic device that includes an instruction to display a command display area adjacent to the selected word, wherein the second command display area includes an icon for cutting the selected word, an icon for copying the selected word, and an icon for pasting pre-selected content.

49. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touchscreen display, are stored on the device. The content of the electronic document is displayed on the aforementioned display, Display the cursor within the aforementioned electronic document, Touch input on the touchscreen display, where the touch input is located on a word within the content, In response to the detection of the touch input, Select the aforementioned word, A non-temporary computer-readable storage medium that includes an instruction to display a command display area adjacent to the selected word, wherein the second command display area includes an icon for cutting the selected word, an icon for copying the selected word, and an icon for pasting pre-selected content.

50. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface is Displaying the content of an electronic document on the aforementioned display, Displaying a cursor within the aforementioned electronic document, The touch input on the touchscreen display, which is located on a word within the content, is detected. In response to the detection of the touch input, Selecting the aforementioned word, A graphical user interface that displays a command display area adjacent to the selected word, wherein the second command display area includes an icon for cutting the selected word, an icon for copying the selected word, and an icon for pasting pre-selected content.

51. Touchscreen display and Means for displaying the content of an electronic document on the aforementioned display, Means for displaying a cursor within the aforementioned electronic document, A means for detecting touch input on the touchscreen display, where the touch input is located on a word within the content, In response to the detection of the touch input, means for selecting the aforementioned word, An electronic device comprising means for displaying a command display area adjacent to the selected word, wherein the second command display area includes an icon for cutting the selected word, an icon for copying the selected word, and an icon for pasting pre-selected content.

52. Touchscreen display and One or more processors, Memory and An electronic device comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods according to claims 1 to 21.

53. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions that cause an electronic device having a touchscreen display to perform any of the methods according to claims 1 to 21 when executed by the device.

54. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 1 to 21.

55. Touchscreen display and Means for carrying out any of the methods described in claims 1 to 21, Electronic devices, including those mentioned above.

56. Touchscreen display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, Displaying the content of an electronic document on the aforementioned display, Displaying the selection of content within the aforementioned electronic document, To detect a single touch input on the touchscreen display at a position overlapping with the aforementioned selection, In response to the detection of the single touch input at the aforementioned location, a set of options for the selection is displayed. Determining whether there was a continuous touch gesture in which the single touch input remained at the position for a predetermined time, and then moved away from the position on the touchscreen display, An electronic device that includes commands to move the selection to different positions in the direction of a series of touch gestures in response to detection that there has been a series of touch gestures in which a single touch input remains in the position for a predetermined time and then moves away from the position.

57. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touchscreen display, are stored on the device. The content of the electronic document is displayed on the aforementioned display, Display the selection of content within the aforementioned electronic document, At a position overlapping with the aforementioned selection, a single touch input is detected on the touchscreen display. In response to the detection of the single touch input at the aforementioned location, a set of options for the selection is displayed. The system determines whether there was a series of touch gestures where the single touch input remained at the position for a predetermined time, and then moved away from that position on the touchscreen display. A non-temporary computer-readable storage medium including instructions to move the selection to a different position in the direction of a series of touch gestures, in response to detection that there has been a series of touch gestures in which a single touch input remains in the position for a predetermined time, and then moves away from the position.

58. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface is Displaying the content of an electronic document on the aforementioned display, Displaying the selection of content within the aforementioned electronic document, To detect a single touch input on the touchscreen display at a position overlapping with the aforementioned selection, In response to the detection of the single touch input at the aforementioned location, a set of options for the selection is displayed. Determining whether there was a continuous touch gesture in which the single touch input remained at the position for a predetermined time, and then moved away from the position on the touchscreen display, A graphical user interface that, upon detection that a single touch input remains at the position for a predetermined time, followed by a series of touch gestures that move the selection to different positions in the direction of the series of touch gestures.

59. Touchscreen display and Means for displaying the content of an electronic document on the aforementioned display, Means for displaying the selection of content within the electronic document, A means for detecting a single touch input on the touchscreen display at a position overlapping the aforementioned selection, A means for displaying a set of options for the selection in response to the detection of the single touch input at the aforementioned position, Means for determining whether there was a series of touch gestures in which the single touch input remained at the position for a predetermined time and subsequently moved away from the position on the touchscreen display, In response to detection that the single touch input remained at the position for a predetermined time, followed by a series of touch gestures that left the position, means for moving the selection to a different position in the direction of the series of touch gestures, Electronic devices, including those mentioned above.

60. Touchscreen display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, Displaying the content of an electronic document on the aforementioned display, Displaying the selection of content within the aforementioned electronic document, To detect three substantially simultaneous touch inputs at any position on the aforementioned touchscreen display, Determining whether there are three consecutive touch gestures that move away from the position on the touchscreen display following the three substantially simultaneous touch inputs, An electronic device that includes commands to move the selection to different positions in the direction of the three consecutive touch gestures in response to the detection of the three consecutive touch gestures.

61. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touchscreen display, are stored on the device. The content of the electronic document is displayed on the aforementioned display, Display the selection of content within the aforementioned electronic document, To detect three substantially simultaneous touch inputs at any position on the aforementioned touchscreen display, The system determines whether there are three consecutive touch gestures that move away from the aforementioned positions on the touchscreen display following the three substantially simultaneous touch inputs. A non-temporary computer-readable storage medium containing instructions for moving the selection to different positions in the direction of the three consecutive touch gestures in response to the detection of the three consecutive touch gestures.

62. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface is Displaying the content of an electronic document on the aforementioned display, Displaying the selection of content within the aforementioned electronic document, To detect three substantially simultaneous touch inputs at any position on the aforementioned touchscreen display, Determining whether there are three consecutive touch gestures that move away from the position on the touchscreen display following the three substantially simultaneous touch inputs, A graphical user interface that, in response to the detection of the three consecutive touch gestures, moves the selection to different positions in the direction of the consecutive touch gestures.

63. Touchscreen display and Means for displaying the content of an electronic document on the aforementioned display, Means for displaying the selection of content within the electronic document, Means for detecting three substantially simultaneous touch inputs at any position on the touchscreen display, Means for determining whether there are three consecutive touch gestures that move away from the position on the touchscreen display following the three substantially simultaneous touch inputs, In response to the detection of the three consecutive touch gestures, means for moving the selection to different positions in the direction of the consecutive touch gestures, Electronic devices, including those mentioned above.

64. A portable multifunction device including one or more processors, memory, and a touchscreen display, The touchscreen display is to display content that is the content of an electronic document, which includes at least one line of text containing at least two words. To detect touch input on the aforementioned content, In response to the detection of the touch input, Determining the distance of the touch input relative to the nearest space between the two words in the electronic document, In accordance with the determination that the aforementioned distance is greater than a predetermined threshold distance, the nearest word to the touch input within the electronic document is selected, and a marker indicating the selection is displayed. This includes cursor operation methods.

65. The method according to claim 64, further comprising placing the cursor in the nearest space after the preceding word in accordance with the determination that the distance is less than the predetermined threshold distance.

66. The method according to claim 64, wherein the predetermined threshold distance is calculated based on the ratio of the size of the word closest to the touch input.

67. While the selection is displayed, further touch input is detected at a location within the selection on the touchscreen display. In response to the detection of the further touch input, the selection is deselected, and the cursor is positioned adjacent to the word in the electronic document based on the position of the further touch input relative to the nearest space of the word. The method according to claim 64, further comprising:

68. While the selection is displayed, further touch input is detected at a location within the selection on the touchscreen display. After the aforementioned further touch input, a continuous touch gesture is detected from a first position of further touch input on the touchscreen display to a second position on the touchscreen display without interruption of contact with the touchscreen display. In response to the detection of the aforementioned consecutive touch gestures, the selection is expanded to include further content beyond the word in the direction toward the second position, The method according to claim 64, further comprising:

69. Detecting double-tap touch input, In response to the detection of the double-tap touch input, the most recent word in the double-tap touch input is selected, Displaying the markers for the aforementioned selection, The method according to claim 64, further comprising:

70. The electronic document includes detecting double-tap touch input at the space between two words, In response to the detection of the double-tap touch input, the player selects the word following the space, Displaying the markers for the aforementioned selection, The method according to claim 64, further comprising:

71. Detecting three tap inputs, In response to the detection of the three tap-touch inputs, the system selects the text closest to the three tap-touch inputs. To display the markers for the aforementioned selection in the aforementioned text, The method according to claim 64, further comprising:

72. It detects four tap inputs, In response to the detection of the four tap-touch inputs, the paragraph closest to the four tap-touch inputs is selected, To display the selection markers in the aforementioned paragraph, The method according to claim 64, further comprising:

73. Detecting five tap inputs, In response to the detection of the five tap-touch inputs, the content is selected, Displaying the selection marker for the aforementioned content, The method according to claim 64, further comprising:

74. The method according to claim 64, wherein selecting the word in the electronic document that is closest to the touch input is performed when the distance is equal to the predetermined threshold distance.

75. The method according to claim 65, wherein the cursor is placed in the nearest space after the preceding word when the distance is equal to the predetermined threshold distance.

76. Touchscreen display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, The touchscreen display is to display content that is the content of an electronic document, which includes at least one line of text containing at least two words. Detecting touch input on the aforementioned content, In response to the detection of the touch input, Determining the distance of the touch input relative to the nearest space between the two words in the electronic document, An electronic device including an instruction to select the word closest to the touch input in the electronic document and display the selection, in accordance with the determination that the distance is greater than a predetermined threshold distance.

77. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touchscreen display, are stored on the device. The touchscreen display is used to display content that is the content of an electronic document, which includes at least one line of text containing at least two words. The content is used to detect touch input, In response to the detection of the touch input, Determine the distance of the touch input relative to the nearest space between the two words in the electronic document. A non-temporary computer-readable storage medium that includes a command to select the word closest to the touch input in the electronic document and display the selection, in accordance with the determination that the distance is greater than a predetermined threshold distance.

78. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface is The touchscreen display is to display content that is the content of an electronic document, which includes at least one line of text containing at least two words. Detecting touch input on the aforementioned content, In response to the detection of the touch input, Determining the distance of the touch input relative to the nearest space between the two words in the electronic document, A graphical user interface that, upon determining that the distance is greater than a predetermined threshold distance, selects the word closest to the touch input within the electronic document and displays the selection.

79. Touchscreen display and The touchscreen display includes means for displaying content, which is the content of an electronic document and includes at least one line of text containing at least two words. Means for detecting touch input on the aforementioned content, In response to the detection of the touch input, Means for determining the distance of the touch input to the nearest space between the two words in the electronic document, A means for selecting the word closest to the touch input within the electronic document and displaying the selection, based on the determination that the distance is greater than a predetermined threshold distance. Electronic devices, including those mentioned above.

80. Touchscreen display and One or more processors, Memory and An electronic device comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods according to claims 64 to 75.

81. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions that cause an electronic device having a touchscreen display to perform any of the methods according to claims 64 to 75 when executed by the device.

82. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 64 to 75.

83. Touchscreen display and Means for carrying out any of the methods described in claims 64 to 75, Electronic devices, including those mentioned above.

84. A portable multifunction device including one or more processors, memory, and a touchscreen display, Displaying the content of an electronic document on the aforementioned touchscreen display, Displaying a software keyboard on the touchscreen display, Detecting two virtually simultaneous touch inputs on the software keyboard, In response to the detection of the two substantially simultaneous touch inputs on the aforementioned soft keyboard, a blurred soft keyboard is displayed. How to display the keyboard, including [specific keyboard display method].

85. After the two substantially simultaneous touch inputs, the transfer of the two substantially simultaneous touch inputs from the soft keyboard to the content is detected without interruption of contact with the touchscreen display, In response to the detection of continuous finger contact with the content, the blurred display of the soft keyboard is replaced with the display of the soft keyboard. The method according to claim 84, further comprising:

86. Displaying the blurred soft keyboard mentioned above means The method according to claim 84, comprising changing any one or more of the color, hue, saturation, brightness, and contrast of the soft keyboard based on the content of the electronic document.

87. Touchscreen display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, Displaying the content of an electronic document on the aforementioned touchscreen display, Displaying a focused soft keyboard on the aforementioned touchscreen display, Detecting two virtually simultaneous touch inputs on the software keyboard, An electronic device including a command to blur the soft keyboard in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

88. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touchscreen display, are stored on the device. The content of the electronic document is displayed on the aforementioned touchscreen display. A focused soft keyboard is displayed on the aforementioned touchscreen display. The software keyboard detects two substantially simultaneous touch inputs. A non-temporary computer-readable storage medium containing instructions for blurring the soft keyboard in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

89. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface is Displaying the content of an electronic document on the aforementioned touchscreen display, Displaying a focused soft keyboard on the aforementioned touchscreen display, To detect two substantially simultaneous touch inputs on the aforementioned soft keyboard, A graphical user interface that blurs the soft keyboard in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

90. Touchscreen display and means for displaying the content of an electronic document on the aforementioned touchscreen display, means for displaying a focused soft keyboard on the touchscreen display, Means for detecting two substantially simultaneous touch inputs on the aforementioned soft keyboard, In response to the detection of the two substantially simultaneous touch inputs on the soft keyboard, means for blurring the soft keyboard, Electronic devices, including those mentioned above.

91. Touchscreen display and One or more processors, Memory and An electronic device comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods according to claims 84 to 86.

92. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions that cause an electronic device having a touchscreen display to perform any of the methods according to claims 84 to 86 when executed by the device.

93. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 84 to 86.

94. Touchscreen display and Means for carrying out any of the methods described in claims 84 to 86, Electronic devices, including those mentioned above.

95. The contents of an electronic document and a display unit configured to display a cursor within the electronic document, A touch-sensitive surface unit configured to receive user contact, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: Two substantially simultaneous touch inputs are detected at any location on the touchscreen display. In response to the detection of the two substantially simultaneous touch inputs, Select the portion of the content in the document that is closest to the cursor, An electronic device configured to display a portion of the aforementioned content as selected content.

96. A display unit configured to display the content of an electronic document and the cursor at the current position within the content, A touch-sensitive surface unit configured to receive user contact, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: Two substantially simultaneous touch inputs are detected in the first area on the touchscreen display, When it is determined that the two substantially simultaneous touch inputs remain in contact with the touchscreen display, a series of touch gestures from the positions of the two substantially simultaneous touch inputs, traversing the touchscreen display from the first region to the second region, are detected. In response to the detection of the aforementioned continuous touch gestures, An electronic device configured to move the cursor from its current position to a new position in the direction of the continuous touch gesture.

97. A display unit configured to display text and a cursor on a line within the text, A touch-sensitive surface unit configured to receive user contact, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: A two-finger swipe gesture is detected on the touchscreen display, at least partially parallel to the aforementioned row and toward the edge of the touchscreen display. In response to the detection of the two-finger swipe gesture, An electronic device configured to move the cursor to the distal point of the text.

98. The contents of an electronic document and a display unit configured to display a cursor within the electronic document, A touch-sensitive surface unit configured to receive user contact, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: The system detects touch input on the touchscreen display, where the touch input is located on a word within the content. In response to the detection of the touch input, Select the aforementioned word, An electronic device configured to display a command display area adjacent to the selected word, wherein the second command display area includes an icon for cutting the selected word, an icon for copying the selected word, and an icon for pasting pre-selected content.

99. A display unit configured to display the content of an electronic document and a selection of the content within the electronic document, A touch-sensitive surface unit configured to receive user contact, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: At a position overlapping with the aforementioned selection, a single touch input is detected on the touchscreen display. In response to the detection of the single touch input at the aforementioned location, a set of options for the selection is displayed. It is determined whether there was a continuous touch gesture in which the single touch input remained at the position for a predetermined time, and then moved away from that position on the touchscreen display. An electronic device configured to move the selection to a different position in the direction of a series of touch gestures in response to detection that a single touch input remained in the position for a predetermined time, followed by a series of touch gestures that moved the selection away from the position.

100. A display unit configured to display the content of an electronic document and a selection of the content within the electronic document, A touch-sensitive surface unit configured to receive user contact, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: Three substantially simultaneous touch inputs are detected at any position on the touchscreen display. It is determined whether there are three consecutive touch gestures that move away from the aforementioned positions on the touchscreen display following the three substantially simultaneous touch inputs. An electronic device configured to move the selection to different positions in the direction of the three consecutive touch gestures in response to the detection of the three consecutive touch gestures.

101. A display unit configured to display content, which is the content of an electronic document and includes at least one line of text containing at least two words, A touch-sensitive surface unit configured to receive user contact, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: Detect touch input on the content, In response to the detection of the touch input, Determine the distance of the touch input relative to the nearest space between the two words in the electronic document. An electronic device configured to select the word closest to the touch input within the electronic document and display a marker indicating the selection, based on the determination that the distance is greater than a predetermined threshold distance.

102. A display unit configured to display the content of an electronic document and a soft keyboard, A touch-sensitive surface unit configured to receive user contact, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: Two substantially simultaneous touch inputs are detected on the aforementioned soft keyboard, An electronic device configured to display a blurred soft keyboard in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

103. An electronic device having one or more processors, memory, and a touch-sensitive display, The touch-sensitive display simultaneously displays an on-screen keyboard and a content display area that displays text input received from the on-screen keyboard. To detect touch input on the on-screen keyboard displayed on the touch-sensitive display, In response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, it is determined whether the touch input satisfies one or more criteria for entering text selection mode. In accordance with the determination that the touch input satisfies one or more of the criteria for entering the text selection mode, A method comprising simultaneously displaying a first cursor at a first position and a second cursor at a second position different from the first position within the content display area.

104. The method according to claim 103, wherein the one or more criteria for entering the text selection mode include touch input, including a two-finger drag gesture that overlaps the on-screen keyboard.

105. The device has one or more sensors for detecting the intensity of contact with the touch-sensitive display. The touch input on the touch-sensitive display includes input by touch on the on-screen keyboard. The method according to claim 103, wherein the one or more criteria for entering the text selection mode include the contact on the on-screen keyboard having an intensity exceeding a predetermined deep pressure threshold.

106. In accordance with the determination that the touch input satisfies one or more of the criteria for entering the text selection mode, The method according to any one of claims 103 to 105, comprising visually obscuring the keys on the on-screen keyboard.

107. The method according to claim 106, wherein visually obscuring the keys on the on-screen keyboard includes applying a blur effect to the on-screen keyboard.

108. The method according to claim 106, wherein visually obscuring the keys on the on-screen keyboard includes converting the on-screen keyboard into an on-screen touchpad.

109. The method according to claim 106, wherein visually obscuring the keys on the on-screen keyboard includes making the on-screen keyboard semi-transparent to partially reveal the content beneath the on-screen keyboard.

110. The second position is determined based on the initial contact position in the touch input. The method according to any one of claims 103 to 109, wherein the first position is an permitted insertion position within the content display area based on the second position.

111. The first position is the insertion position where the first cursor is located when it is determined that the touch input satisfies one or more of the criteria for entering the text selection mode. The method according to any one of claims 103 to 109, wherein the second position is displaced from the first position by a predetermined amount of displacement.

112. The method according to any one of claims 103 to 111, wherein one of the first and second cursors is already displayed in the content display area before both of the first and second cursors are simultaneously displayed in the content display area.

113. To detect the movement of one or more touch inputs, The second cursor is moved within the content display area in accordance with the movement of one or more touches of the touch input, The method according to any one of claims 103 to 112, including the method described in any one of claims 103 to 112.

114. The method according to claim 113, comprising moving the first cursor based on the movement of the second cursor, wherein the movement of the first cursor includes discontinuous movement between permitted insertion positions within the content display area.

115. After detecting the movement of one or more contacts of the touch input, the lift-off of the touch input is detected. In response to the detection of the lift-off of the touch input, To stop the display of the second cursor, The method according to claim 114, including the method described in claim 114.

116. The method according to claim 115, comprising, in response to the detection of the lift-off of the touch input, maintaining the display of the first cursor at a corresponding permitted insertion position to which the first cursor reaches after the discontinuous movement of the first cursor.

117. The method according to claim 115, further comprising stopping the display of the first cursor in response to the detection of the lift-off of the touch input.

118. In accordance with the determination that the touch input satisfies one or more criteria for entering the text selection mode, the on-screen keyboard becomes obscured, and the method The method according to any one of claims 115 to 117, comprising restoring the display of the on-screen keyboard in response to the detection of the lift-off of the touch input.

119. The device has one or more sensors for detecting the intensity of contact with the touch-sensitive display, and the method is In the text selection mode, it is detected that the intensity of the touch input exceeds a predetermined intensity threshold. After detecting that the intensity of the contact in the touch input exceeds the predetermined intensity threshold, the movement of the contact in the touch input is detected. In response to the detection of the movement of the contact in the touch input, after detecting that the intensity of the contact in the touch input exceeds the predetermined intensity threshold, Selecting a portion of the text input according to the movement of the contact in the touch input, The method according to any one of claims 103 to 118, including the method described in any one of claims 103 to 118.

120. The method according to claim 119, wherein if the detection intensity of the contact in the touch input exceeds the predetermined intensity threshold, the selection portion of the text input starts from the position of the first cursor.

121. After selecting a portion of the text input in accordance with the movement of the contact in the touch input, the lift-off of the contact in the touch input is detected. In response to the detection of the lift-off of the contact in the touch input, the selection of the part of the text input is confirmed, The method according to claim 119 or 120, including the method described in claim 119 or 120.

122. After selecting the portion of the text input, and while the portion of the text input is selected, the intensity of the touch input exceeding a predetermined threshold is detected. In response to the detection of the intensity of the touch input exceeding a predetermined threshold while the portion of the text input is selected, the selection of the portion of the text input is cleared. The method according to claim 119 or 120, including the method described in claim 119 or 120.

123. After selecting the portion of the text input, while the portion of the text input is selected, the intensity of the touch input is detected such that it exceeds the predetermined threshold and the lift-off of the contact continues without further movement of the contact. In response to the detection of the intensity of the contact in the touch input, where the intensity exceeds the predetermined threshold and the lift-off of the contact continues without further movement of the contact, the selection of the portion of the text input is confirmed. The method according to claim 119 or 120, including the method described in claim 119 or 120.

124. After selecting the portion of the text input, while the portion of the text input is selected, the intensity of the contact in the touch input is detected if it exceeds the predetermined threshold and the contact continues to move further. In response to the detection of the intensity of the contact in the touch input, which exceeds the predetermined threshold and the further movement of the contact continues, The method according to claim 119 or 120, comprising clearing the selection of the text input.

125. In response to the detection of the intensity of the contact in the touch input, which exceeds the predetermined threshold and the further movement of the contact continues, The method according to claim 124, comprising initiating the selection of a new portion of the text input in accordance with the further movement of the contact.

126. In response to the detection of the intensity of the contact in the touch input, which exceeds the predetermined threshold and the further movement of the contact continues, The method according to claim 124, further comprising moving the second cursor and the first cursor within the content display area in accordance with the further movement of the contact.

127. The device has one or more sensors for detecting the intensity of contact with the touch-sensitive display, and the method is In the text selection mode, a first local intensity peak in the touch input and a second local intensity peak in the subsequent touch input are detected, both exceeding a predetermined intensity threshold. In response to the detection of a first local intensity peak and a subsequent second local intensity peak that both exceed the predetermined intensity threshold, a first predetermined unit of text input is selected according to the current position of the first cursor. The method according to any one of claims 103 to 122, including the method described in any one of claims 103 to 122.

128. After detecting the first local intensity peak and the subsequent second local intensity peak, a third consecutive local intensity peak of the touch input that exceeds the predetermined intensity threshold is detected. In response to the detection of three consecutive local intensity peaks in the touch input, all of which exceed the predetermined deep pressure intensity threshold, a second predetermined unit of the text input is selected that is greater than the first predetermined unit of the text input and includes the first predetermined unit. The method according to claim 127, including the method described in claim 127.

129. Touch-sensitive display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, The touch-sensitive display simultaneously displays an on-screen keyboard and a content display area that displays text input received from the on-screen keyboard. To detect touch input on the on-screen keyboard displayed on the touch-sensitive display, In response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, it is determined whether the touch input satisfies one or more criteria for entering text selection mode. In accordance with the determination that the touch input satisfies one or more of the criteria for entering the text selection mode, An electronic device including a command for simultaneously displaying a first cursor at a first position and a second cursor at a second position different from the first position within the content display area.

130. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touch-sensitive display, are stored on the device. On the touch-sensitive display, an on-screen keyboard and a content display area that displays text input received from the on-screen keyboard are displayed simultaneously. The on-screen keyboard displayed on the touch-sensitive display is used to detect touch input. In response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, the system determines whether the touch input satisfies one or more criteria for entering text selection mode. In accordance with the determination that the touch input satisfies one or more of the criteria for entering the text selection mode, A non-temporary computer-readable storage medium that includes an instruction to simultaneously display a first cursor at a first position and a second cursor at a second position different from the first position within the content display area.

131. Touch-sensitive display and A means for simultaneously displaying an on-screen keyboard and a content display area, which displays text input received from the on-screen keyboard, on the touch-sensitive display, means for detecting touch input on the on-screen keyboard displayed on the touch-sensitive display, A means for determining whether the touch input on the on-screen keyboard displayed on the touch-sensitive display satisfies one or more criteria for entering text selection mode, In accordance with the determination that the touch input satisfies one or more of the criteria for entering the text selection mode, A means for simultaneously displaying a first cursor at a first position and a second cursor at a second position different from the first position within the content display area, Electronic devices, including those mentioned above.

132. Touch-sensitive display and One or more processors, Memory and An electronic device comprising one or more programs, the one or more programs being stored in the memory and configured to be executed by the one or more processors, and the one or more programs including instructions for performing any of the methods according to claims 103 to 128.

133. A non-temporary computer-readable storage medium for storing one or more programs, wherein, when executed by an electronic device having a touch-sensitive display, the program includes instructions causing the device to perform any of the methods according to claims 103 to 128.

134. A graphical user interface on an electronic device having a touch-sensitive display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 103 to 128.

135. Touch-sensitive display and Means for carrying out any of the methods described in claims 103 to 128, Electronic devices, including those mentioned above.

136. A display unit configured to simultaneously display an on-screen keyboard and a content display area, which displays text input received from the on-screen keyboard, on the touch-sensitive display, A touch-sensing surface unit configured to receive user touch input, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: The system detects touch input on the on-screen keyboard displayed on the touch-sensitive display, In response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, it is determined whether the touch input satisfies one or more criteria for entering text selection mode. In accordance with the determination that the touch input satisfies one or more of the criteria for entering the text selection mode, An electronic device configured to simultaneously display a first cursor at a first position and a second cursor at a second position different from the first position within the content display area.

137. The electronic device according to claim 136, wherein the one or more criteria for entering the text selection mode include touch input, including a two-finger drag gesture that overlaps the on-screen keyboard.

138. The device has one or more sensor units for detecting the intensity of contact with the touch-sensitive display. The touch input on the touch-sensitive display includes input by touch on the on-screen keyboard. The electronic device according to claim 136, wherein the one or more criteria for entering the text selection mode include the contact on the on-screen keyboard having an intensity exceeding a predetermined deep pressure threshold.

139. The aforementioned processing unit is In accordance with the determination that the touch input satisfies one or more of the criteria for entering the text selection mode, The electronic device according to any one of claims 136 to 138, configured to visually obscure the keys on the on-screen keyboard.

140. The electronic device according to claim 139, wherein visually obscuring the keys on the on-screen keyboard includes applying a blur effect to the on-screen keyboard.

141. The electronic device according to claim 139, wherein visually obscuring the keys on the on-screen keyboard includes converting the on-screen keyboard into an on-screen touchpad.

142. The electronic device according to claim 139, wherein visually obscuring the keys on the on-screen keyboard includes making the on-screen keyboard semi-transparent to partially reveal the content beneath the on-screen keyboard.

143. The second position is determined based on the initial contact position in the touch input. The electronic device according to any one of claims 136 to 142, wherein the first position is an permitted insertion position within the content display area based on the second position.

144. The first position is the insertion position where the first cursor is located when it is determined that the touch input satisfies one or more of the criteria for entering the text selection mode. The electronic device according to any one of claims 136 to 142, wherein the second position is displaced from the first position by a predetermined amount of displacement.

145. The electronic device according to any one of claims 136 to 144, wherein one of the first and second cursors is already displayed in the content display area before both of the first and second cursors are simultaneously displayed in the content display area.

146. The aforementioned processing unit is The movement of one or more touch inputs is detected, The electronic device according to any one of claims 136 to 145, further configured to move the second cursor within the content display area in accordance with the movement of one or more touches of the touch input.

147. The aforementioned processing unit is The electronic device according to claim 146, further configured to move the first cursor based on the movement of the second cursor, wherein the movement of the first cursor includes discontinuous movement between permitted insertion positions within the content display area.

148. The aforementioned processing unit is After detecting the movement of one or more touches of the touch input, the lift-off of the touch input is detected. In response to the detection of the lift-off of the touch input, The electronic device according to claim 147, further configured to stop the display of the second cursor.

149. The aforementioned processing unit is The electronic device according to claim 148, further configured to maintain the display of the first cursor at a corresponding permitted insertion position to which the first cursor reaches after the discontinuous movement of the first cursor, in response to the detection of the lift-off of the touch input.

150. The aforementioned processing unit is The electronic device according to claim 148, further configured to stop displaying the first cursor in response to detection of the lift-off of the touch input.

151. In accordance with the determination that the touch input satisfies one or more criteria for entering the text selection mode, the on-screen keyboard becomes obscured, and the processing unit, The electronic device according to any one of claims 148 to 150, further configured to restore the display of the on-screen keyboard in response to the detection of the lift-off of the touch input.

152. The device has one or more sensor units for detecting the intensity of contact with the touch-sensitive display, and the processing unit is In the text selection mode, it is detected that the intensity of the touch input exceeds a predetermined intensity threshold. After detecting that the intensity of the contact in the touch input exceeds the predetermined intensity threshold, the movement of the contact in the touch input is detected. In response to the detection of the movement of the contact in the touch input, after detecting that the intensity of the contact in the touch input exceeds the predetermined intensity threshold, The electronic device according to any one of claims 136 to 151, further configured to select a portion of the text input in accordance with the movement of the contact in the touch input.

153. The electronic device according to claim 152, wherein if the detection intensity of the contact in the touch input exceeds the predetermined intensity threshold, the selection portion of the text input starts from the position of the first cursor.

154. The aforementioned processing unit is After selecting a portion of the text input according to the movement of the contact in the touch input, the lift-off of the contact in the touch input is detected. The electronic device according to claim 152 or 153, further configured to confirm the selection of the portion of the text input in response to the detection of the lift-off of the contact in the touch input.

155. The aforementioned processing unit is After selecting the portion of the text input, while the portion of the text input is selected, the intensity of the touch input exceeding a predetermined threshold is detected. The electronic device according to claim 152 or 153, further configured to clear the selection of the portion of the text input in response to the detection of the intensity of the touch input exceeding a predetermined threshold while the portion of the text input is selected.

156. The aforementioned processing unit is After selecting the portion of the text input, while the portion of the text input is selected, the intensity of the touch input is detected such that it exceeds the predetermined threshold and the lift-off of the contact continues without further movement of the contact. The electronic device according to claim 152 or 153, further configured to confirm the selection of the portion of the text input in response to the detection of the intensity of the contact in the touch input, wherein the intensity of the contact exceeds the predetermined threshold and the lift-off of the contact continues without further movement of the contact.

157. The aforementioned processing unit is After selecting the portion of the text input, while the portion of the text input is selected, the intensity of the contact in the touch input is detected if it exceeds the predetermined threshold and the contact continues to move further. In response to the detection of the intensity of the contact in the touch input, which exceeds the predetermined threshold and the further movement of the contact continues, The electronic device according to claim 152 or 153, further configured to clear the selection of the text input.

158. The aforementioned processing unit is In response to the detection of the intensity of the contact in the touch input, which exceeds the predetermined threshold and the further movement of the contact continues, The electronic device according to claim 157, further configured to initiate the selection of a new portion of the text input in accordance with the further movement of the contact.

159. The aforementioned processing unit is In response to the detection of the intensity of the contact in the touch input, which exceeds the predetermined threshold and the further movement of the contact continues, The electronic device according to claim 157, further configured to move the second cursor and the first cursor within the content display area in accordance with the further movement of the contact.

160. The device has one or more sensors for detecting the intensity of contact with the touch-sensitive display, and the processing unit is In the text selection mode, a first local intensity peak in the touch input and a second local intensity peak in the subsequent touch input are detected, both exceeding a predetermined intensity threshold. The electronic device according to any one of claims 136 to 155, further configured to select a first predetermined unit of text input according to the current position of the first cursor in response to the detection of a first local intensity peak and a subsequent second local intensity peak that both exceed the predetermined intensity thresholds.

161. The aforementioned processing unit is After detecting the first local intensity peak and the subsequent second local intensity peak, a third consecutive local intensity peak of the touch input that exceeds the predetermined intensity threshold is detected. The electronic device according to claim 160, further configured to select a second predetermined unit of text input that is greater than the first predetermined unit of text input and includes the first predetermined unit, in response to the detection of three consecutive local intensity peaks in the touch input, all of which exceed the predetermined deep pressure intensity threshold.

162. An electronic device having one or more processors, memory, a touch-sensing surface, a display, and one or more sensors for detecting the intensity of contact with the touch-sensing surface, While contact is detected on the touch-sensing surface, on the display Content and To simultaneously display the text selection indicator at a first position within the content, To detect a first pressing input due to the contact and the subsequent movement of the contact across the touch-sensing surface, corresponding to the movement of at least a portion of the text selection indicator from the first position to the second position on the display, In response to the detection of the first pressing input due to the contact and the subsequent movement of the contact across the touch sensing surface, select content between the first position and the second position. While the content between the first position and the second position is selected, a second press input by contact is detected on the touch-sensing surface, A method comprising: detecting the second press input by contact on the touch-sensing surface, and performing a text selection operation related to the content between the first position and the second position in accordance with the second press input, wherein the contact of the first press input, the movement across the touch-sensing surface, and the second press input is a single continuous contact with the touch-sensing surface.

163. Detecting the first pressing input caused by the contact and the subsequent movement of the contact across the touch sensing surface is: The method according to claim 162, comprising detecting an increase in the intensity of the contact that exceeds a predetermined intensity threshold, and subsequently detecting a decrease in the intensity of the contact to an intensity that remains above a predetermined minimum intensity value.

164. In response to the detection of the first pressing input due to the contact and the subsequent movement of the contact across the touch sensing surface, The method according to claim 162 or 163, comprising displaying at least the portion of the text selection indicator at the second position within the content.

165. The aforementioned text selection operation involves stopping the selection of content at the second position, Maintaining the selection of the content between the first position and the second position, The method according to any one of claims 162 to 164, including the method described in any one of claims 162 to 164.

166. After detecting the second pressing input and while the content between the first and second positions remains selected, the lift-off of the contact is detected. In response to the detection of the lift-off of the contact, an operation menu relating to the selected content between the first position and the second position is displayed. The method according to claim 165, including the method described in claim 165.

167. The second press input due to the contact is detected on the touch sensing surface, and after the selection of the content is stopped at the second position, further movement of the contact is detected. In response to the detection of further movement of the contact, at least a portion of the text selection indicator is displayed at a third position within the content. The method according to claim 165, including the method described in claim 165.

168. The method according to claim 167, comprising, in response to the detection of the further movement of the contact, canceling the selection of content between the first position and the second position without selecting content between the second position and the third position.

169. The method according to any one of claims 162 to 164, wherein the text selection operation includes canceling the selection of content between the first position and the second position.

170. The second press input due to the contact is detected on the touch sensing surface, the selection of content between the first position and the second position is canceled, and further movement of the contact is detected. In response to the detection of the further movement of the contact, select content between the second position and the third position, The method according to claim 169, including the method described in claim 169.

171. While the content between the second position and the third position is selected, the lift-off of the contact is detected, In response to the detection of the lift-off of the contact while the content is selected between the second and third positions, the selection of the content is stopped at the third position and the selection of the content is maintained between the second and third positions. The method according to claim 170, including the method described in claim 170.

172. Before displaying the text selection indicator at the first position within the content, the initial press input due to contact on the touch-sensitive surface is detected, In response to the detection of the initial press input, the text selection indicator is displayed at an initial position within the content corresponding to the position of the initial press input on the touch sensing surface. The method according to any one of claims 162 to 171, including the method described in any one of claims 162 to 171.

173. The display is a touch-sensitive display including the touch-sensing surface, and the method is The method according to claim 172, comprising simultaneously displaying the content and an on-screen keyboard on the touch-sensitive display, wherein the initial press input is detected on the on-screen keyboard.

174. The method according to claim 172, wherein the initial press input is detected at a position on the touch sensing surface corresponding to the position of the content on the display.

175. The display is a touch-sensitive display including the touch-sensing surface, and the method is The content and the on-screen keyboard are displayed simultaneously on the touch-sensitive display, Before displaying the text selection indicator at the first position within the content, multi-touch drag input is detected on the on-screen keyboard, In response to the detection of the multi-contact drag input on the on-screen keyboard, the text selection indicator is displayed at the initial position within the content based on the position of the multi-contact drag input on the on-screen keyboard. The method according to any one of claims 162 to 171, including the method described in any one of claims 162 to 171.

176. The method according to any one of claims 162 to 175, wherein the content includes editable content and the text selection indicator includes a cursor.

177. The method according to claim 176, further comprising displaying an enlarged version of the cursor and a magnifying glass that displays the area surrounding the cursor.

178. Selecting the content between the first position and the second position is In response to the detection of the movement of the contact traversing the touch sensing surface, the cursor is moved at intervals of one character at a time. In accordance with the movement of the aforementioned cursor, one additional character is selected at a time, The method according to claim 176, including the method described in claim 176.

179. The method according to any one of claims 162 to 175, wherein the content includes read-only content, the text selection indicator includes a selection area, and displaying the text selection indicator at the first position includes displaying a first word located at the first position within the selection area.

180. The method according to claim 179, further comprising displaying a magnifying glass that shows an enlarged version of the selected area and the area surrounding the selected area.

181. Selecting the content between the first position and the second position is As the contact moves across the touch-sensing surface, the selected area is expanded by one word at a time. As the selection area expands, one more word can be selected at a time, The method according to claim 179, including the method described in claim 179.

182. The method according to any one of claims 162 to 181, comprising, in response to the detection of the second pressing input, determining that the second pressing input is accompanied by the simultaneous movement of the contact traversing the touch sensing surface, and therefore not performing the text selection operation.

183. If the text is editable text, the text selection indicator is a cursor, and selecting content between the first position and the second position includes expanding the selection character by character as the touch on the touch-sensitive surface moves. The method according to any one of claims 162 to 181, wherein, if the text is non-editable text, the text selection indicator is initially a selection area encompassing a single word, and selecting content between the first position and the second position includes expanding the selection word by word as the touch on the touch-sensitive surface moves.

184. Display and Touch-sensitive surface and One or more sensors for detecting the intensity of contact with the touch sensing surface, One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, While contact is detected on the touch-sensing surface, on the display Content and To simultaneously display the text selection indicator at a first position within the content, To detect a first pressing input due to the contact and the subsequent movement of the contact across the touch-sensing surface, corresponding to the movement of at least a portion of the text selection indicator from the first position to the second position on the display, In response to the detection of the first pressing input due to the contact and the subsequent movement of the contact across the touch sensing surface, select content between the first position and the second position. While the content between the first position and the second position is selected, a second press input by contact is detected on the touch-sensing surface, An electronic device comprising commands to perform a text selection operation relating to the content between the first position and the second position in accordance with the second press input, in response to the detection of the second press input by the contact on the touch sensing surface, wherein the contact of the first press input, the movement across the touch sensing surface, and the second press input is a single continuous contact with the touch sensing surface.

185. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touch-sensitive display, are stored on the device. While contact is detected on the touch-sensing surface, on the display Content and The text selection indicator at the first position within the content is displayed simultaneously. The system detects the first pressing input caused by the contact and the subsequent movement of the contact across the touch-sensing surface, corresponding to the movement of at least a portion of the text selection indicator from the first position to the second position on the display. In response to the first pressing input caused by the contact and the subsequent detection of the movement of the contact across the touch sensing surface, the content between the first position and the second position is selected. While the content between the first position and the second position is selected, a second press input is detected by contact on the touch-sensing surface. A non-temporary computer-readable storage medium, which includes a command to cause a text selection operation related to the content between the first position and the second position in accordance with the second press input, in response to the detection of the second press input by the contact on the touch-sensing surface, wherein the contact of the first press input, the movement across the touch-sensing surface, and the second press input is a single continuous contact with the touch-sensing surface.

186. Display and Touch-sensitive surface and One or more sensors for detecting the intensity of contact with the touch sensing surface, While contact is detected on the touch-sensing surface, on the display Content and A means for simultaneously displaying a text selection indicator at a first position within the content, Means for detecting a first pressing input due to the contact and the subsequent movement of the contact across the touch-sensing surface, corresponding to the movement of at least a portion of the text selection indicator from the first position to the second position on the display, A means for selecting content between a first position and a second position in response to the detection of the first pressing input by the contact and the subsequent movement of the contact across the touch sensing surface, Means for detecting a second press input by contact on the touch-sensing surface while the content between the first position and the second position is selected, An electronic device comprising means for performing a text selection operation related to the content between a first position and a second position in accordance with the second press input, in response to the detection of the second press input by the contact on the touch-sensing surface, wherein the contact of the first press input, the movement across the touch-sensing surface, and the second press input is a single continuous contact with the touch-sensing surface.

187. Display and Touch-sensitive surface and One or more sensors for detecting the intensity of contact with the touch sensing surface, One or more processors, Memory and An electronic device comprising one or more programs, the one or more programs being stored in the memory and configured to be executed by the one or more processors, and the one or more programs including instructions for performing any of the methods according to claims 162 to 183.

188. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a display, a touch-sensing surface, and one or more sensors for detecting the intensity of contact with the touch-sensing surface, include instructions causing the device to perform any of the methods according to claims 162 to 183.

189. A graphical user interface on an electronic device, comprising a display, a touch-sensing surface, one or more sensors for detecting the intensity of contact with the touch-sensing surface, a memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 162 to 183.

190. Display and Touch-sensitive surface and One or more sensors for detecting the intensity of contact with the touch sensing surface, Means for carrying out any of the methods described in claims 162 to 183, Electronic devices, including those mentioned above.

191. A touch-sensing surface unit configured to receive user touch input, A display unit, wherein while contact is detected on the touch sensing surface unit, on the display unit Content and A display unit configured to simultaneously display a text selection indicator at a first position within the content, One or more sensors for detecting the intensity of contact with the touch sensing surface unit, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: The system detects the movement of the contact across the touch-sensing surface unit, which corresponds to a first pressing input due to the contact and the subsequent movement of at least a portion of the text selection indicator from the first position to the second position on the display unit. In response to the detection of the first pressing input due to the contact and the subsequent movement of the contact across the touch sensing surface, select content between the first position and the second position. While the content between the first position and the second position is selected, a second press input by contact is detected on the touch sensing surface unit. An electronic device configured to perform a text selection operation related to the content between a first position and a second position in accordance with the second press input, in response to the detection of the second press input by the contact on the touch sensing surface, wherein the contact of the first press input, the movement across the touch sensing surface, and the second press input is a single continuous contact with the touch sensing surface.

192. Detecting the first pressing input caused by the contact and the subsequent movement of the contact across the touch sensing surface unit is: The electronic device according to claim 191, comprising detecting an increase in the intensity of the contact that exceeds a predetermined intensity threshold, and subsequently detecting a decrease in the intensity of the contact to an intensity that remains above a predetermined minimum intensity value.

193. The aforementioned processing unit In response to the first pressing input resulting from the contact and the subsequent detection of the movement of the contact across the touch sensing surface unit, The electronic device according to claim 191 or 192, configured to display at least the portion of the text selection indicator at the second position within the content.

194. The aforementioned text selection operation involves stopping the selection of content at the second position, Maintaining the selection of the content between the first position and the second position, An electronic device according to any one of claims 191 to 193, including the electronic device according to any one of claims 191 to 193.

195. The aforementioned processing unit After detecting the second pressing input and while the content between the first and second positions remains selected, the lift-off of the contact is detected. The electronic device according to claim 194, configured to display an operation menu relating to the selected content between the first position and the second position in response to the detection of the lift-off of the contact.

196. The aforementioned processing unit The touch sensing surface unit detects the second press input due to the contact, and after stopping the selection of the content at the second position, it detects further movement of the contact. The electronic device according to claim 194, configured to display at least a portion of the text selection indicator at a third position within the content in response to the detection of the further movement of the contact.

197. The aforementioned processing unit The electronic device according to claim 196, configured to cancel the selection of content between the first and second positions without selecting content between the second and third positions in response to the detection of the further movement of the contact.

198. The electronic device according to any one of claims 191 to 193, wherein the text selection operation includes canceling the selection of content between the first position and the second position.

199. The aforementioned processing unit The touch sensing surface unit detects the second press input due to the contact, cancels the selection of content between the first position and the second position, and then detects further movement of the contact. The electronic device according to claim 198, configured to select content between a second position and a third position in response to detection of the further movement of the contact.

200. The aforementioned processing unit While the content between the second position and the third position is selected, the lift-off of the contact is detected. The electronic device according to claim 199, configured to stop selecting the content at the third position and maintain the selection of the content between the second and third positions in response to detection of the lift-off of the contact while the content is selected between the second and third positions.

201. The aforementioned processing unit Before displaying the text selection indicator at the first position within the content, the initial press input due to contact on the touch sensing surface unit is detected. The electronic device according to any one of claims 191 to 200, configured to enable the display of the text selection indicator at an initial position in the content corresponding to the position of the initial press input on the touch sensing surface unit in response to the detection of the initial press input.

202. The display unit is a touch-sensitive display including the touch-sensing surface unit, and the processing unit is The electronic device according to claim 201, configured to simultaneously display the content and an on-screen keyboard on the touch-sensitive display, wherein the initial press input is detected on the on-screen keyboard.

203. The electronic device according to claim 201, wherein the initial press input is detected at a position on the touch sensing surface unit corresponding to the position of the content on the display.

204. The display unit is a touch-sensitive display including the touch-sensing surface unit, and the processing unit is This enables the simultaneous display of the content and the on-screen keyboard on the touch-sensitive display. Before displaying the text selection indicator at the first position within the content, multi-touch drag input is detected on the on-screen keyboard, The electronic device according to any one of claims 191 to 200, configured to enable the display of the text selection indicator at an initial position within the content based on the position of the multi-contact drag input on the on-screen keyboard, in response to the detection of the multi-contact drag input on the on-screen keyboard.

205. The electronic device according to any one of claims 191 to 204, wherein the content includes editable content and the text selection indicator includes a cursor.

206. The aforementioned processing unit The electronic device according to claim 205, configured to enable the display of an enlarged version of the cursor and a magnifying glass that displays the area surrounding the cursor.

207. Selecting the content between the first position and the second position is In response to the detection of the movement of the contact traversing the touch sensing surface unit, the cursor is moved at intervals of one character at a time. In accordance with the movement of the aforementioned cursor, one additional character is selected at a time, The electronic device according to claim 205, including the electronic device according to claim 205.

208. The electronic device according to any one of claims 191 to 204, wherein the content includes read-only content, the text selection indicator includes a selection area, and displaying the text selection indicator at the first position includes displaying a first word located at the first position within the selection area.

209. The aforementioned processing unit The electronic device according to claim 208, configured to enable the display of a magnified version of the selected area and a magnifying glass that displays the area surrounding the selected area.

210. Selecting the content between the first position and the second position is As the contact moves across the touch sensing surface unit, the selected area is expanded by one word at a time. As the selection area expands, one more word can be selected at a time, The electronic device according to claim 208, including the electronic device according to claim 208.

211. The aforementioned processing unit The electronic device according to any one of claims 191 to 210, configured to not perform the text selection operation in response to the detection of the second pressing input, based on the determination that the second pressing input is accompanied by the simultaneous movement of the contact traversing the touch sensing surface.

212. If the text is editable text, the text selection indicator is a cursor, and selecting content between the first position and the second position includes expanding the selection character by character as the touch on the touch-sensitive surface unit moves. If the text is non-editable text, the text selection indicator is initially a selection area encompassing a single word, and selecting content between the first position and the second position includes expanding the selection word by word as the contact moves on the touch-sensing surface unit, according to any one of claims 191 to 210.

213. An electronic device having one or more processors, memory, a touch-sensitive display, and one or more sensors for detecting the intensity of contact with the touch-sensitive display, The touch-sensitive display simultaneously displays an on-screen keyboard and a content display area that displays text input received from the on-screen keyboard. Detecting touch input on the on-screen keyboard displayed on the touch-sensitive display, including detecting the movement of contact and the lift-off of the contact, In response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, A determination that the touch input satisfies a text selection criterion, wherein the text selection criterion includes a criterion that is satisfied when the characteristic intensity of the contact increases above a text selection intensity threshold, and a text selection operation is performed based on the movement of the contact according to this determination. A determination that the touch input satisfies the text input criteria, wherein the text input criteria include a criterion that is satisfied when the feature intensity of the touch does not increase above the text selection intensity threshold, and text is entered into the content display area based on the touch input. Methods that include...

214. The method according to claim 213, wherein the text input criteria include criteria that are met when the lift-off of the contact is detected while the contact is at the position of a character key on the on-screen keyboard.

215. The method according to any one of claims 213 to 214, wherein the text input criteria include a criterion that is satisfied when the contact does not move outside the on-screen keyboard before the lift-off of the contact is detected.

216. The method according to any one of claims 213 to 215, wherein inputting the text into the content area includes inputting a character corresponding to a character key at the position where the touchdown of the contact is detected on the on-screen keyboard.

217. The method according to any one of claims 213 to 216, wherein entering the text into the content area includes entering a character corresponding to a character key at the position where the lift-off of the contact is detected on the on-screen keyboard.

218. The method according to any one of claims 213 to 217, wherein the text selection criterion includes a criterion that is satisfied if the contact does not move beyond a threshold distance before detecting an increase in the feature intensity of the contact that exceeds the text selection intensity threshold.

219. The method according to any one of claims 213 to 218, wherein the text selection operation includes either moving a cursor within the content area or selecting text within the content area.

220. The method according to any one of claims 213 to 219, comprising generating a tactile output that notifies the user to enter a text selection operation mode in response to the detection that the text selection criteria have been met.

221. The method according to any one of claims 213 to 220, comprising, in response to detection that the text selection criteria have been met, changing the appearance of the on-screen keyboard to indicate that the device is operating in a text selection operation mode, wherein the change in the appearance of the on-screen keyboard includes obscuring the appearance of the characters on the keys of the on-screen keyboard.

222. The method according to claim 221, comprising: ending the text selection operation mode; and, together with the termination of the text selection operation mode, restoring the changes to the appearance of the on-screen keyboard and displaying the characters on the keys of the on-screen keyboard.

223. When the touch input satisfies the text selection criteria, the movement of the contact after the touch input satisfies the text selection criteria is detected, and the cursor is moved within the content area according to the movement of the contact detected after the touch input satisfies the text selection criteria. The method according to any one of claims 213 to 222, including the method described in that claim.

224. When the touch input satisfies the text selection criteria, the touch-sensitive display detects a first subsequent change in the characteristic intensity of the contact and a subsequent further movement of the contact. In response to the detection of the first subsequent change in the characteristic intensity of the contact, A determination that the touch input satisfies the selection initiation criteria, wherein the selection initiation criteria include a criterion that is satisfied when the feature intensity of the contact increases above a selection initiation intensity threshold, and in accordance with the further movement of the contact, the selection of content within the content area is initiated at the cursor position. In accordance with the determination that the touch input does not satisfy the selection initiation criteria, the cursor is moved without initiating the selection of content within the content area, in accordance with the further movement of the contact. The method according to any one of claims 213 to 223, including the method described in any one of claims 213 to 223.

225. The method according to claim 224, comprising: detecting the lift-off of the contact from the touch-sensitive display after initiating the selection of content within the content area when the touch input satisfies the selection initiation criteria; and confirming the selection in response to the detection of the lift-off of the contact.

226. If the touch input satisfies the selection initiation criteria, after initiating the selection of content within the content area, a second subsequent change in the intensity of the contact is detected while the contact detection on the touch-sensitive display continues. In response to the detection of the second subsequent change in the characteristic intensity of the contact, A determination that the second subsequent change in the characteristic intensity of the contact satisfies the selection cancellation criterion, wherein the selection cancellation criterion includes a criterion that is satisfied when the characteristic intensity of the contact increases above a selection cancellation intensity threshold, and the selection is canceled according to this determination. The selection is maintained in accordance with the determination that the second subsequent change in the characteristic intensity of the contact does not satisfy the selection cancellation criterion. The method according to claim 224, including the method described in claim 224.

227. The method according to claim 226, wherein the selection cancellation criterion includes a criterion that is satisfied when the contact moves within a threshold time and within a threshold distance before the characteristic intensity of the contact increases above the selection cancellation intensity threshold.

228. The method according to claim 226 or 227, further comprising generating a tactile output that notifies the user to exit the text selection operation mode in response to the detection that the selection cancellation criteria have been met.

229. After canceling the selection, while the detection of the contact continues on the touch-sensitive display, a third subsequent change in the characteristic intensity of the contact is detected. In response to the detection of the third subsequent change in the characteristic intensity of the contact, In accordance with the determination that the touch input satisfies the selection start criteria, the selection of content within the content area is initiated at the cursor position. In accordance with the determination that the aforementioned touch input does not meet the selection initiation criteria, the selection of content within the content area will not be initiated. The method according to any one of claims 226 to 228, including the method described in any one of claims 226 to 228.

230. The method according to claim 229, wherein initiating content selection in response to detection of a third subsequent change in the feature intensity of the contact includes selecting a corresponding word at the position of the cursor.

231. The selected corresponding word is the first word, and the method is While the first word is selected, the first subsequent movement of the contact is detected, In response to the detection of the first subsequent movement of the contact while the first word is selected, According to a determination that the touch input satisfies a selection movement criterion, which includes a movement criterion that is satisfied when the contact moves beyond a corresponding threshold amount, Canceling the selection of the first word mentioned above, Following the first subsequent movement of the contact, a second word adjacent to the first word in the first direction is selected, and the selected corresponding word is made the second word. The method according to claim 230, including the method described in claim 230.

232. While the corresponding word is selected, the first subsequent movement of the contact is detected, In response to the detection of the first subsequent movement of the contact while the corresponding word is selected, The method according to claim 230, comprising: expanding the selection to include the corresponding word and adjacent words in a first direction, according to the first subsequent movement of the contact, in accordance with the determination that the touch input satisfies a selection expansion criterion which includes a movement criterion that is satisfied when the contact moves beyond a corresponding threshold amount.

233. While the corresponding word is selected, a fourth subsequent change in the characteristic intensity of the contact that exceeds the corresponding intensity threshold is detected. In response to the detection of the fourth subsequent change in the feature intensity of the contact, the selection of the corresponding word is canceled according to a determination that the touch input satisfies the selection cancellation criterion, wherein the selection cancellation criterion includes a criterion that is satisfied when the amount of time between the detection of the third subsequent change in the feature intensity of the contact and the detection of the fourth subsequent change in the feature intensity of the contact is greater than the delay threshold. The method according to any one of claims 230 to 232, including the method described in any one of claims 230 to 232.

234. While the corresponding word is selected, a fourth subsequent change in the characteristic intensity of the contact that exceeds the corresponding intensity threshold is detected. In response to the detection of the fourth subsequent change in the characteristic intensity of the contact, a determination is made that the touch input satisfies the text selection criteria, wherein the text selection criteria are: Before the fourth subsequent change in the intensity of the contact is detected, a movement criterion is met if the contact moves to less than a threshold amount within the threshold period, A determination including a time criterion that is satisfied when the amount of time between the detection of the third subsequent change in the characteristic intensity of the contact and the detection of the fourth subsequent change in the characteristic intensity of the contact is less than a delay threshold, The method according to any one of claims 230 to 233, comprising expanding the selection to include the corresponding sentences containing the corresponding words.

235. While the corresponding sentence is selected, the second subsequent movement of the contact is detected, In response to the detection of the second subsequent movement of the contact while the corresponding sentence is selected, In accordance with the determination that the touch input satisfies a selection expansion criterion, which includes a movement criterion that is satisfied when the contact moves beyond a corresponding threshold amount, the selection is expanded in accordance with the second subsequent movement of the contact to include sentences adjacent to the corresponding sentence in the first direction. The method according to claim 234, including the method described in claim 234.

236. The corresponding sentence is selected in accordance with the fourth subsequent change in the characteristic intensity of the contact, and the method is performed while the corresponding sentence is selected. To detect a fifth subsequent change in the characteristic intensity of the contact that exceeds the corresponding intensity threshold, In response to the detection of the fifth subsequent change in the characteristic intensity of the contact, the selection of the corresponding sentence is canceled according to a determination that the touch input satisfies the selection cancellation criterion, wherein the selection cancellation criterion includes a criterion that is satisfied when the amount of time between the detection of the fourth subsequent change in the characteristic intensity of the contact and the detection of the fifth subsequent change in the characteristic intensity of the contact is greater than the delay threshold. The method according to claim 234, including the method described in claim 234.

237. In response to the detection of the fifth subsequent change in the characteristic intensity of the contact, a determination is made that the touch input satisfies the paragraph selection criteria, wherein the paragraph selection criteria are: Before the fifth subsequent change in the intensity of the contact is detected, a movement criterion is met if the contact moves to less than the threshold amount within the threshold period, A determination including a time criterion that is satisfied when the amount of time between the detection of the fourth subsequent change in the characteristic intensity of the contact and the detection of the fifth subsequent change in the characteristic intensity of the contact is less than the delay threshold, The method according to claim 236, comprising expanding the selection to include the corresponding paragraph containing the corresponding text.

238. While the corresponding paragraph is selected, a third subsequent movement of the contact is detected, In response to the detection of the third subsequent movement of the contact while the corresponding paragraph is selected, In accordance with the determination that the touch input satisfies selection expansion criteria, which include movement criteria that are satisfied when the contact moves beyond a corresponding threshold amount, the selection is expanded to include paragraphs adjacent to the corresponding paragraph in a first direction, following the third subsequent movement of the contact. The method according to claim 237, including the method described in claim 237.

239. The corresponding paragraph is selected in accordance with the fifth subsequent change in the characteristic intensity of the contact, and the method is performed while the corresponding paragraph is selected. To detect a sixth subsequent change in the characteristic intensity of the contact that exceeds the corresponding intensity threshold, In response to the detection of the sixth subsequent change in the characteristic intensity of the contact, the selection of the corresponding paragraph is canceled according to a determination that the touch input satisfies a selection cancellation criterion, wherein the selection cancellation criterion includes a criterion that is satisfied when the amount of time between the detection of the fifth subsequent change in the characteristic intensity of the contact and the detection of the sixth subsequent change in the characteristic intensity of the contact is greater than the delay threshold. The method according to claim 238, including the method described in claim 238.

240. In response to the detection of the sixth subsequent change in the characteristic intensity of the contact, a determination is made that the touch input satisfies the document selection criteria, wherein the document selection criteria are: Before the sixth subsequent change in the intensity of the contact is detected, a movement criterion is met if the contact moves to less than the threshold amount within the threshold period, A time criterion that is satisfied when the amount of time between the detection of the fifth subsequent change in the characteristic intensity of the contact and the detection of the sixth subsequent change in the characteristic intensity of the contact is less than the delay threshold, According to the determination, The method of claim 239, comprising expanding the selection to include the corresponding document containing the corresponding paragraph.

241. Touch-sensitive display and One or more sensors for detecting the intensity of contact with the touch-sensitive display, One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, The touch-sensitive display simultaneously displays an on-screen keyboard and a content display area that displays text input received from the on-screen keyboard. Detecting touch input on the on-screen keyboard displayed on the touch-sensitive display, including detecting the movement of contact and the lift-off of the contact, In response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, A determination that the touch input satisfies a text selection criterion, wherein the text selection criterion includes a criterion that is satisfied when the characteristic intensity of the contact increases above a text selection intensity threshold, and a text selection operation is performed based on the movement of the contact according to this determination. An electronic device comprising a determination that the touch input satisfies a text input criterion, wherein the text input criterion includes a criterion that is satisfied when the feature intensity of the touch does not increase above the text selection intensity threshold, and an instruction to input text into the content display area based on the touch input.

242. A computer-readable storage medium for storing one or more programs, wherein the one or more programs are executed by an electronic device having a touch-sensitive display and one or more sensors for detecting the intensity of contact with the touch-sensitive display, On the touch-sensitive display, an on-screen keyboard and a content display area that displays text input received from the on-screen keyboard are displayed simultaneously. The detection of touch input on the on-screen keyboard displayed on the touch-sensitive display includes detecting the movement of contact and the lift-off of the contact, In response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, A determination that the touch input satisfies a text selection criterion, wherein the text selection criterion includes a criterion that is satisfied when the characteristic intensity of the contact increases above a text selection intensity threshold, and in accordance with this determination, a text selection operation is performed based on the movement of the contact. A computer-readable storage medium, comprising a command to input text into the content display area based on the touch input, according to a determination that the touch input satisfies a text input criterion, the text input criterion being satisfied when the feature intensity of the contact does not increase above a text selection intensity threshold.

243. Touch-sensitive display and One or more sensors for detecting the intensity of contact with the touch-sensitive display, A means for simultaneously displaying an on-screen keyboard and a content display area, which displays text input received from the on-screen keyboard, on the touch-sensitive display, means for detecting touch input on the on-screen keyboard displayed on the touch-sensitive display, including detection of contact movement and contact lift-off; This becomes active in response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display. A determination that the touch input satisfies a text selection criterion, wherein the text selection criterion includes a criterion that is satisfied when the characteristic intensity of the contact increases above a text selection intensity threshold, and in accordance with this determination, a text selection operation is performed based on the movement of the contact. A means for inputting text into the content display area based on the touch input, according to a determination that the touch input satisfies a text input criterion, wherein the text input criterion includes a criterion that is satisfied when the feature intensity of the contact does not increase above the text selection intensity threshold; Electronic devices, including those mentioned above.

244. Touch-sensitive display and One or more sensors for detecting the intensity of contact with the touch-sensitive display, One or more processors, Memory and An electronic device comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods according to claims 213 to 240.

245. A computer-readable storage medium for storing one or more programs, wherein, when executed by an electronic device having a touch-sensitive display and one or more sensors for detecting the intensity of contact with the touch-sensitive display, the computer-readable storage medium includes instructions causing the device to perform any of the methods according to claims 213 to 240.

246. A graphical user interface on an electronic device, comprising a touch-sensitive display, one or more sensors for detecting the intensity of contact with the touch-sensitive display, a memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 213 to 240.

247. Touch-sensitive display and One or more sensors for detecting the intensity of contact with the touch sensing surface, Means for carrying out any of the methods described in claims 213 to 240, Electronic devices, including those mentioned above.

248. A touch-sensing surface unit configured to receive user touch input, A display unit configured to simultaneously display an on-screen keyboard and a content display area that displays text input received from the on-screen keyboard, on a touch-sensitive display unit. One or more sensors for detecting the intensity of contact with the touch sensing surface unit, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: The detection of touch input on the on-screen keyboard displayed on the touch-sensitive display includes detecting the movement of contact and the lift-off of the contact, In response to the detection of touch input on the on-screen keyboard displayed on the touch-sensitive display, A determination that the touch input satisfies a text selection criterion, wherein the text selection criterion includes a criterion that is satisfied when the characteristic intensity of the contact increases above a text selection intensity threshold, and in accordance with this determination, a text selection operation is performed based on the movement of the contact. An electronic device configured to input text into the content display area based on the touch input, according to a determination that the touch input satisfies a text input criterion, the text input criterion being satisfied if the feature intensity of the touch does not increase above a text selection intensity threshold.

249. The electronic device according to claim 248, wherein the text input criteria include criteria that are satisfied when the lift-off of the contact is detected while the contact is at the position of a character key on the on-screen keyboard.

250. The electronic device according to any one of claims 248 to 249, wherein the text input criteria include a criterion that is satisfied when the contact does not move outside the on-screen keyboard before the lift-off of the contact is detected.

251. The electronic device according to any one of claims 248 to 250, wherein inputting the text into the content area includes inputting a character corresponding to a character key at the position where the touchdown of the contact is detected on the on-screen keyboard.

252. The electronic device according to any one of claims 248 to 251, wherein inputting the text into the content area includes inputting a character corresponding to a character key at the position where the lift-off of the contact is detected on the on-screen keyboard.

253. The electronic device according to any one of claims 248 to 252, wherein the text selection criterion includes a criterion that is satisfied if the contact does not move beyond a threshold distance before detecting an increase in the feature intensity of the contact that exceeds the text selection intensity threshold.

254. The electronic device according to any one of claims 248 to 253, wherein the text selection operation includes either moving a cursor within the content area or selecting text within the content area.

255. The electronic device according to any one of claims 248 to 254, wherein the processing unit is configured to generate a tactile output that notifies the user to enter a text selection operation mode in response to detection that the text selection criteria have been met.

256. The electronic device according to any one of claims 248 to 255, wherein the processing unit is configured to change the appearance of the on-screen keyboard in response to detection that the text selection criteria have been met, to indicate that the device is operating in a text selection operation mode, and the change in the appearance of the on-screen keyboard includes obscuring the appearance of the characters on the keys of the on-screen keyboard.

257. The electronic device according to claim 256, wherein the processing unit is configured to terminate the text selection operation mode, and, upon termination of the text selection operation mode, to revert the changes to the appearance of the on-screen keyboard and to display the characters on the keys of the on-screen keyboard.

258. The electronic device according to any one of claims 248 to 257, wherein the processing unit is configured to detect the movement of the contact after the touch input satisfies the text selection criteria when the touch input satisfies the text selection criteria, and to move the cursor within the content area according to the movement of the contact detected after the touch input satisfies the text selection criteria.

259. The aforementioned processing unit When the touch input satisfies the text selection criteria, a first subsequent change in the characteristic intensity of the contact and a subsequent further movement of the contact are detected on the touch-sensitive display. In response to the detection of the first subsequent change in the characteristic intensity of the contact, A determination that the touch input satisfies the selection initiation criteria, wherein the selection initiation criteria include a criterion that is satisfied when the feature intensity of the contact increases above a selection initiation intensity threshold, and in accordance with the further movement of the contact, a selection of content within the content area is initiated at the cursor position. The electronic device according to any one of claims 248 to 258, configured to move the cursor without initiating a selection of content within the content area, in accordance with the determination that the touch input does not satisfy the selection initiation criterion and the further movement of the contact.

260. The electronic device according to claim 259, wherein the processing unit is configured to, when the touch input satisfies the selection initiation criteria, initiate the selection of content within the content area, then detect the lift-off of the contact from the touch-sensing display, and confirm the selection in response to the detection of the lift-off of the contact.

261. The aforementioned processing unit If the touch input satisfies the selection initiation criteria, after initiating the selection of content within the content area, a second subsequent change in the intensity of the contact is detected while the contact detection on the touch-sensitive display continues. In response to the detection of the second subsequent change in the characteristic intensity of the contact, A determination that the second subsequent change in the characteristic intensity of the contact satisfies the selection cancellation criterion, wherein the selection cancellation criterion includes a criterion that is satisfied when the characteristic intensity of the contact increases above a selection cancellation intensity threshold, and the selection is canceled according to this determination. The electronic device according to claim 259, configured to maintain the selection in accordance with the determination that the second subsequent change in the characteristic intensity of the contact does not satisfy the selection cancellation criterion.

262. The electronic device according to claim 261, wherein the selection cancellation criterion includes a criterion that is satisfied when the contact moves within a threshold time and within a threshold distance before the characteristic intensity of the contact increases above the selection cancellation intensity threshold.

263. The electronic device according to claim 261 or 262, wherein the processing unit is configured to generate a tactile output that notifies the user to exit the text selection operation mode in response to detection that the selection cancellation criterion has been met.

264. The aforementioned processing unit After canceling the selection, while the detection of the contact continues on the touch-sensitive display, a third subsequent change in the characteristic intensity of the contact is detected. In response to the detection of the third subsequent change in the characteristic intensity of the contact, In accordance with the determination that the touch input satisfies the selection start criterion, the selection of content within the content area is started at the cursor position. The electronic device according to any one of claims 261 to 263, configured not to initiate the selection of content within the content area in accordance with the determination that the touch input does not satisfy the selection initiation criteria.

265. The electronic device according to claim 264, wherein initiating content selection in response to detection of a third subsequent change in the characteristic intensity of the contact includes selecting a corresponding word at the position of the cursor.

266. The selected corresponding word is the first word, and the processing unit, While the first word is selected, the first subsequent movement of the contact is detected, In response to the detection of the first subsequent movement of the contact while the first word is selected, According to a determination that the touch input satisfies a selection movement criterion, which includes a movement criterion that is satisfied when the contact moves beyond a corresponding threshold amount, Cancel the selection of the first word mentioned above, The electronic device according to claim 265, configured to select a second word adjacent to the first word in a first direction in accordance with the first subsequent movement of the contact, and to make the selected corresponding word the second word.

267. The aforementioned processing unit While the corresponding word is selected, the first subsequent movement of the contact is detected. In response to the detection of the first subsequent movement of the contact while the corresponding word is selected, The electronic device according to claim 265, configured to expand the selection to include the corresponding word and adjacent words in a first direction, according to a first subsequent movement of the contact, in accordance with a determination that the touch input satisfies a selection expansion criterion which includes a movement criterion that is satisfied when the contact moves beyond a corresponding threshold amount.

268. The aforementioned processing unit While the corresponding word is selected, a fourth subsequent change in the characteristic intensity of the contact that exceeds the corresponding intensity threshold is detected. The electronic device according to any one of claims 265 to 267, configured to cancel the selection of the corresponding word in response to the detection of a fourth subsequent change in the characteristic intensity of the contact, wherein the touch input satisfies the selection cancellation criterion, the selection cancellation criterion being satisfied when the amount of time between the detection of a third subsequent change in the characteristic intensity of the contact and the detection of a fourth subsequent change in the characteristic intensity of the contact is greater than the delay threshold.

269. The aforementioned processing unit While the corresponding word is selected, a fourth subsequent change in the characteristic intensity of the contact that exceeds the corresponding intensity threshold is detected. In response to the detection of the fourth subsequent change in the characteristic intensity of the contact, a determination is made that the touch input satisfies the text selection criteria, wherein the text selection criteria are: Before the fourth subsequent change in the intensity of the contact is detected, a movement criterion is met if the contact moves to less than a threshold amount within the threshold period, A determination including a time criterion that is satisfied when the amount of time between the detection of the third subsequent change in the characteristic intensity of the contact and the detection of the fourth subsequent change in the characteristic intensity of the contact is less than a delay threshold, The electronic device according to any one of claims 265 to 268, configured to expand the selection to include the corresponding sentence containing the corresponding word.

270. The aforementioned processing unit While the corresponding sentence is selected, the second subsequent movement of the contact is detected. In response to the detection of the second subsequent movement of the contact while the corresponding sentence is selected, The electronic device according to claim 269, configured to expand the selection to include sentences adjacent to the corresponding sentence in a first direction, according to a second subsequent movement of the contact, in accordance with a determination that the touch input satisfies a selection expansion criterion, which includes a movement criterion that is satisfied when the contact moves beyond a corresponding threshold amount.

271. The corresponding sentence is selected in accordance with the fourth subsequent change in the characteristic intensity of the contact, and the processing unit, while the corresponding sentence is selected, A fifth subsequent change in the characteristic intensity of the contact that exceeds the corresponding intensity threshold is detected. The electronic device according to claim 269, configured to cancel the selection of the corresponding sentence in response to the detection of a fifth subsequent change in the characteristic intensity of the contact, wherein the selection cancellation criterion includes a criterion that is satisfied when the amount of time between the detection of the fourth subsequent change in the characteristic intensity of the contact and the detection of the fifth subsequent change in the characteristic intensity of the contact is greater than the delay threshold.

272. The aforementioned processing unit In response to the detection of the fifth subsequent change in the characteristic intensity of the contact, a determination is made that the touch input satisfies the paragraph selection criteria, wherein the paragraph selection criteria are: Before the fifth subsequent change in the intensity of the contact is detected, a movement criterion is met if the contact moves to less than the threshold amount within the threshold period, A determination including a time criterion that is satisfied when the amount of time between the detection of the fourth subsequent change in the characteristic intensity of the contact and the detection of the fifth subsequent change in the characteristic intensity of the contact is less than the delay threshold, The electronic device according to claim 271, configured to expand the selection to include the corresponding paragraph containing the corresponding text.

273. The aforementioned processing unit While the corresponding paragraph is selected, a third subsequent movement of the contact is detected. In response to the detection of the third subsequent movement of the contact while the corresponding paragraph is selected, The electronic device according to claim 272, configured to expand the selection to include paragraphs adjacent to the corresponding paragraph in a first direction, according to a third subsequent movement of the contact, in accordance with a determination that the touch input satisfies a selection expansion criterion, which includes a movement criterion that is satisfied when the contact moves beyond a corresponding threshold amount.

274. The corresponding paragraph is selected in accordance with the fifth subsequent change in the characteristic intensity of the contact, and the processing unit, while the corresponding paragraph is selected, A sixth subsequent change in the characteristic intensity of the contact that exceeds the corresponding intensity threshold is detected. The electronic device according to claim 273, configured to cancel the selection of the corresponding paragraph in response to the detection of a sixth subsequent change in the characteristic intensity of the contact, wherein the selection cancellation criterion includes a criterion that is satisfied when the amount of time between the detection of the fifth subsequent change in the characteristic intensity of the contact and the detection of the sixth subsequent change in the characteristic intensity of the contact is greater than the delay threshold.

275. The aforementioned processing unit In response to the detection of the sixth subsequent change in the characteristic intensity of the contact, a determination is made that the touch input satisfies the document selection criteria, wherein the document selection criteria are: Before the sixth subsequent change in the intensity of the contact is detected, a movement criterion is met if the contact moves to less than the threshold amount within the threshold period, A determination including a time criterion that is satisfied when the amount of time between the detection of the fifth subsequent change in the characteristic intensity of the contact and the detection of the sixth subsequent change in the characteristic intensity of the contact is less than the delay threshold, The electronic device according to claim 274, configured to expand the selection to include the corresponding document containing the corresponding paragraph.

276. A portable multifunction device including one or more processors, memory, and a touchscreen display, The touchscreen display will display the content of an electronic document and a cursor within that content. The touchscreen display shows a soft keyboard having multiple keys, where each of the multiple keys has a corresponding alphanumeric character from a set of alphanumeric characters. To detect two substantially simultaneous touch inputs on the aforementioned soft keyboard, In response to the detection of the two substantially simultaneous touch inputs on the soft keyboard, the appearance of the soft keyboard is changed to a modified appearance. Content manipulation methods, including those mentioned above.

277. After the two substantially simultaneous touch inputs, a slide gesture is detected from the first position of the two substantially simultaneous touch inputs on the soft keyboard to the second position on the content without interruption of contact with the touchscreen display. In response to the detection of the slide gesture, the changed appearance of the soft keyboard is maintained. The method according to claim 276 or 84, further comprising:

278. Changing the appearance of the aforementioned soft keyboard is, The method according to claim 276 or 277, comprising removing the plurality of alphanumeric characters from the plurality of keys, or changing any one or more of the color, hue, saturation, brightness, or contrast of the soft keyboard based on the content of the electronic document.

279. To detect the continuous movement of two substantially simultaneous touch inputs from a first position on the soft keyboard to a second position at any location on the touchscreen display, without interrupting contact with the touchscreen display. In response to the detection of the continuous movement, the selected content is expanded to include further content beyond the portion in the direction toward the second position, The method according to claim 276 or 1, further comprising:

280. Expanding the selected content to include further content beyond the aforementioned portion in the direction toward the second position is: At each end of the aforementioned selection, the start object and end object are displayed, Moving either the starting object or the ending object according to the positions of the first and second positions, The method according to claim 279, including the method described in claim 279.

281. Expanding the selected content to include further content beyond the aforementioned portion in the direction toward the second position is: The method according to claim 279, comprising expanding the selection by one word at a time, in accordance with the determination that the speed of the continuous movement exceeds a predetermined threshold.

282. After detecting the two substantially simultaneous touch inputs, the following are detected: a lift-off, followed by two more substantially simultaneous touch inputs, and then a slide gesture to further locations of the two more substantially simultaneous touch inputs traversing the touchscreen display. Deselecting the aforementioned selected content, Selecting a word as the selected content closest to the cursor, Expanding the selected content in the direction toward the aforementioned further position to include further content beyond the selected content, The method according to claim 276 or 1, further comprising:

283. To detect two more substantially simultaneous touch inputs on the aforementioned soft keyboard, In response to the detection of two further substantially simultaneous touch inputs on the soft keyboard, In accordance with the determination that the selected content is a word, the selected content is expanded to include a sentence containing the word, The method according to claim 276 or 1, further comprising:

284. The method according to claim 283, further comprising displaying the cursor at the beginning of the selected content and deselecting the selected content in accordance with the determination that the selected content exceeds one word.

285. To detect two more substantially simultaneous touch inputs, In response to the detection of two further substantially simultaneous touch inputs, the selected content is expanded to include the text containing the portion thereof. Displaying a marker for the selected content, The method according to claim 276 or 1, further comprising:

286. Expanding the selected content to include a portion of the selected content is: The method of claim 285, comprising expanding the selected content to the text containing the portion thereof, based on a determination that the period between the two substantially simultaneous touch inputs and the two further substantially simultaneous touch inputs is less than a predetermined threshold.

287. To detect two more substantially simultaneous touch inputs, In response to the detection of two further substantially simultaneous touch inputs, the selected content is expanded to include the paragraph containing the portion thereof. Displaying a marker for the selected content, The method according to claim 276 or 1, further comprising:

288. Expanding the selected content to include the portion thereof into a paragraph is: The method of claim 287, comprising expanding the selected content to the paragraph containing the portion thereof, in accordance with the determination that the period between the two substantially simultaneous touch inputs and the two further substantially simultaneous touch inputs is less than a predetermined threshold.

289. Touchscreen display and One or more processors, Memory and A system comprising one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, The touchscreen display will display the content of an electronic document and a cursor within that content. The touchscreen display shows a soft keyboard having multiple keys, where each of the multiple keys has a corresponding alphanumeric character from a set of alphanumeric characters. To detect two substantially simultaneous touch inputs on the aforementioned soft keyboard, An electronic device including a command to change the appearance of the soft keyboard to a modified appearance in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

290. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by an electronic device having a touchscreen display, are stored on the device. The content of the electronic document and the cursor within the content are displayed on the touchscreen display. On the touchscreen display, a soft keyboard having multiple keys is displayed, where each of the multiple keys has a corresponding alphanumeric character from a set of alphanumeric characters. The software keyboard detects two substantially simultaneous touch inputs. A non-temporary computer-readable storage medium containing instructions for changing the appearance of the soft keyboard to a modified appearance in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

291. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface is The touchscreen display will display the content of an electronic document and a cursor within that content. The touchscreen display shows a soft keyboard having multiple keys, where each of the multiple keys has a corresponding alphanumeric character from a set of alphanumeric characters. To detect two substantially simultaneous touch inputs on the aforementioned soft keyboard, A graphical user interface that, in response to the detection of two substantially simultaneous touch inputs on the soft keyboard, changes the appearance of the soft keyboard to a modified appearance.

292. Touchscreen display and The touchscreen display includes the content of an electronic document and means for displaying a cursor within the content. The touchscreen display includes means for displaying a soft keyboard having a plurality of keys, each of which has a corresponding alphanumeric character from a plurality of alphanumeric characters. Means for detecting two substantially simultaneous touch inputs on the aforementioned soft keyboard, A means for changing the appearance of the soft keyboard to a modified appearance in response to the detection of two substantially simultaneous touch inputs on the soft keyboard, Electronic devices, including those mentioned above.

293. Touchscreen display and One or more processors, Memory and An electronic device comprising one or more programs, the one or more programs being stored in the memory and configured to be executed by the one or more processors, and the one or more programs including instructions for performing any of the methods according to claims 276 to 288.

294. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions that cause an electronic device having a touchscreen display to perform any of the methods described in claims 276 to 288 when executed by the device.

295. A graphical user interface on an electronic device having a touchscreen display, memory, and one or more processors for executing one or more programs stored in the memory, wherein the graphical user interface includes a user interface displayed according to any of the methods described in claims 276 to 288.

296. Touchscreen display and Means for carrying out any of the methods described in claims 276 to 288, Electronic devices, including those mentioned above.

297. The contents of an electronic document and a display unit configured to display a cursor within the electronic document, A touch-sensitive surface unit configured to receive user contact, The processing unit includes the display unit and the touch sensing surface unit, and the processing unit is: On the touch-sensitive surface display unit, a soft keyboard having a plurality of keys is displayed, where each of the plurality of keys has a corresponding alphanumeric character from a plurality of alphanumeric characters. Two substantially simultaneous touch inputs are detected on the aforementioned soft keyboard, An electronic device configured to change the appearance of the soft keyboard to a different appearance in response to the detection of two substantially simultaneous touch inputs on the soft keyboard.

298. The aforementioned processing unit After the two substantially simultaneous touch inputs, without interruption of contact with the touchscreen display, a slide gesture is detected from the first position of the two substantially simultaneous touch inputs on the soft keyboard to the second position on the content. The electronic device according to claim 297 or 102, configured to maintain the changed appearance of the soft keyboard in response to the detection of the slide gesture.

299. Changing the appearance of the aforementioned software keyboard is The electronic device according to claim 297 or 298, comprising removing alphanumeric characters from the plurality of keys, or changing any one or more of the color, hue, saturation, brightness, or contrast of the soft keyboard based on the content of the electronic document.

300. The aforementioned processing unit Without interrupting contact with the touchscreen display, the system detects the continuous movement of the two substantially simultaneous touch inputs from a first position on the soft keyboard to a second position at any location on the touchscreen display. The electronic device according to claim 297 or 94, configured to expand the selected content to include further content beyond the portion in the direction toward the second position in response to the detection of the continuous movement.

301. Expanding the selected content to include further content beyond the aforementioned portion in the direction toward the second position is: At each end of the aforementioned selection, the start object and end object are displayed, Moving either the starting object or the ending object according to the positions of the first and second positions, The electronic device according to claim 300, including the following.

302. Expanding the selected content to include further content beyond the aforementioned portion in the direction toward the second position is: The electronic device according to claim 300, comprising expanding the selection by one word at a time in accordance with the determination that the speed of the continuous movement exceeds a predetermined threshold.

303. The aforementioned processing unit After detecting the two substantially simultaneous touch inputs, a lift-off, followed by two more substantially simultaneous touch inputs, and then a slide gesture to further locations of the two more substantially simultaneous touch inputs across the touchscreen display are detected. Deselect the aforementioned selected content, Select a word as the selected content closest to the cursor, The electronic device according to claim 297 or 94, configured to expand the selected content to include further content beyond the selected content in the direction toward the further position.

304. The aforementioned processing unit Two further substantially simultaneous touch inputs are detected on the aforementioned soft keyboard, In response to the detection of two further substantially simultaneous touch inputs on the soft keyboard, The electronic device according to claim 297 or 94, configured to expand the selected content to include a sentence containing the word, in accordance with the determination that the selected content is a word.

305. The aforementioned processing unit The electronic device according to claim 304, configured to display the cursor at the beginning of the selected content and deselect the selected content in accordance with the determination that the selected content exceeds one word.

306. The aforementioned processing unit It detects two more virtually simultaneous touch inputs, In response to the detection of two further substantially simultaneous touch inputs, the selected content is expanded to include the text containing the portion thereof. The electronic device according to claim 297 or 94, configured to display a marker for the selected content.

307. Expanding the selected content to include a portion of the selected content is: The electronic device according to claim 306, comprising expanding the selected content to the text containing the portion thereof, based on a determination that the period between the two substantially simultaneous touch inputs and the two further substantially simultaneous touch inputs is less than a predetermined threshold.

308. The aforementioned processing unit It detects two more virtually simultaneous touch inputs, In response to the detection of two further substantially simultaneous touch inputs, the selected content is expanded to a paragraph containing the portion thereof. The electronic device according to claim 297 or 94, configured to display a marker for the selected content.

309. Expanding the selected content to include the portion thereof into a paragraph is: The electronic device according to claim 308, comprising expanding the selected content to the paragraph containing the portion thereof, based on a determination that the time between the two substantially simultaneous touch inputs and the two further substantially simultaneous touch inputs is less than a predetermined threshold.