# US 2021/0240332 A1 · Cursor integration with a touch screen user interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0240332 A1
- Document ID: US20210240332A1
- Status: Published application
- Kind: A1
- Application number: 17/167,007
- Filed: 2021-02-03
- Published: 2021-08-05
- Earliest claimed: 2020-02-03
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Brandon M. WALKIN; Dylan Ross EDWARDS; Marcos ALONSO RUIZ; Wan Si Wan; Stephen O. LEMAY; Patrick L. COFFMAN
- Web page: https://patentgrep.com/patent/US20210240332A1

## CPC

- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/04883: for inputting data by handwriting, e.g. gesture or text
- G06F 3/04812: Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
- G06F 3/0485: Scrolling or panning
- G06F 3/0488: using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F 3/0489: using dedicated keyboard keys or combinations thereof
- G06F 2203/04801: Cursor retrieval aid, i.e. visual aspect modification, blinking, colour changes, enlargement or other visual cues, for helping user do find the cursor in graphical user interfaces
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In some embodiments, a cursor interacts with user interface objects on an electronic device. In some embodiments, an electronic device selectively displays a cursor in a user interface. In some embodiments, an electronic device displays a cursor while manipulating objects in the user interface. In some embodiments, an electronic device dismisses or switches applications using a cursor. In some embodiments, an electronic device displays user interface elements in response to requests to move a cursor beyond an edge of the display.

## Claims

### Claim 1

A method, comprising:
at an electronic device in communication with a display generation component and one or more input devices, including a touch-sensitive surface:
concurrently displaying, via the display generation component:
a cursor located at a first location in a user interface; and
a first user interface object located at a second location in the user interface;
while displaying the user interface with the first user interface object located at the second location and the cursor located at the first location, receiving, via the one or more input devices, a first input corresponding to a request to move the cursor away from the first location in the user interface to a location of the first user interface object;
in response to receiving the first input, moving the cursor in accordance with the first input from the first location toward the second location in the user interface and selecting the first user interface object for input;
while the first user interface object is selected for input, receiving, via the one or more input devices, a second input;
in response to receiving the second input, in accordance with a determination that the second input corresponds to a request to select a next object without regard to a magnitude and/or a direction of the second input, selecting a second user interface object in the user interface for input, wherein the second user interface object is located at a third location in the user interface;
while the second user interface object is selected for input, receiving, via the one or more input devices, a third input; and
in response to receiving the third input, in accordance with a determination that the third input corresponds to a request to move the cursor, moving the cursor in accordance with the third input starting from the third location.

### Claim 2 (depends on 1)

The method of claim 1, wherein after receiving the first input and before receiving the third input, no cursor movement input corresponding to a request to move the cursor from the second location to the third location is received.

### Claim 3 (depends on 1)

The method of claim 1, wherein selecting a respective user interface object for input includes:
in accordance with a determination that the cursor is within a threshold distance of the respective user interface object:
changing an appearance of the cursor based on the respective user interface object; and
causing the respective user interface object to have a current focus.

### Claim 4 (depends on 1)

The method of claim 1, wherein selecting a respective user interface object for input includes modifying one or more of a size or a location of the respective user interface object.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
while the respective user interface object is selected for input, receiving a fourth input, via the one or more input devices, corresponding to a request to move the cursor; and
in response to receiving the fourth input and while receiving the fourth input, in accordance with a determination that a movement of the fourth input is below a threshold movement, changing an appearance of the respective user interface object in accordance with the movement of the fourth input while maintaining the respective user interface object as being selected for input.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
while the respective user interface object is selected for input and after changing the appearance of the respective user interface object in accordance with the movement of the fourth input, detecting a termination of the fourth input; and
in response to detecting the termination of the fourth input, reverting the appearance of the respective user interface object to a predefined selected appearance.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
while the cursor is located at a fourth location in the user interface, receiving, via the one or more input devices, a sequence of inputs including a fourth input corresponding to a request to insert text at a fifth location in the user interface followed by a fifth input corresponding to a request to move the cursor, wherein the sequence of inputs does not include an input for moving the cursor to the fifth location based on a magnitude and/or direction of the input; and
in response to receiving the sequence of inputs:
inserting the text at the fifth location in the user interface; and
moving the cursor in accordance with the fifth input starting from the fifth location.

### Claim 8 (depends on 1)

The method of claim 1, wherein the second input is a key selection input received on a keyboard device of the one or more input devices, the method further comprising:
in response to receiving the second input, in accordance with the determination that the second input corresponds to the request to select the next object without regard to the magnitude and/or the direction of the second input, moving the cursor to the third location.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
while a respective user interface object is selected for input, receiving a fourth input, via an external keyboard device; and
in response to receiving the fourth input, in accordance with a determination that the fourth input includes a selection of a respective key, performing a function associated with the respective user interface object.

### Claim 10 (depends on 1)

The method of claim 1, wherein:
the first user interface object is a user interface object of a first application; and
the second user interface object is a user interface object of a second application, wherein the second application and the first application are concurrently displayed in the user interface.

### Claim 11 (depends on 1)

The method of claim 1, wherein the user interface is a calendar user interface, the method further comprising:
receiving, via the one or more input devices, a fourth input corresponding to a request to move the cursor; and
in response to receiving the fourth input:
in accordance with a determination that the fourth input corresponds to a request to move the cursor across one or more predetermined times in the calendar user interface, moving the cursor across the one or more predetermined times, wherein moving the cursor across the one or more predetermined times includes aligning the cursor with, and selecting for input, respective predetermined times of the one or more predetermined times as the cursor moves across the respective predetermined times.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
while the cursor is aligned with a respective predetermined time and the respective predetermined time is selected for input, receiving, via the one or more input devices, a fifth input corresponding to a request to move the cursor to a representation of an event in the calendar user interface; and
in response to receiving the fifth input, aligning the cursor with the representation of the event, and selecting the representation of the event for input.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
while displaying a text entry region in the user interface, including a first row of text and a second row of text, and while the cursor is located at the first row of text, receiving a fourth input corresponding to a request to move the cursor; and
in response to the fourth input:
in accordance with a determination that the fourth input corresponds to a request to move the cursor within the first row of text, moving the cursor within the first row of text in accordance with the fourth input; and
in accordance with a determination that the fourth input corresponds to a request to move the cursor from the first row of text to the second row of text, aligning the cursor with the second row of text.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
while the cursor is displayed at a given location in the user interface, receiving, via the one or more input devices, a fourth input corresponding to a request to scroll a content of the user interface; and
in response to receiving the fourth input:
scrolling the content of the user interface in accordance with the fourth input, while maintaining the cursor at the given location in the user interface.

### Claim 15 (depends on 14)

The method of claim 14, wherein a first respective user interface object was selected for input by the cursor when the fourth input was received, and the method further comprises:
in response to receiving the fourth input:
in accordance with a determination that the scrolling of the content of the user interface causes the first respective user interface object to move away from the cursor, ceasing selection of the first respective user interface object for input; and
in accordance with a determination that the scrolling of the content of the user interface causes a second respective user interface object to move to the cursor, selecting the second respective user interface object for input.

### Claim 16 (depends on 1)

The method of claim 1, wherein selecting the first user interface object for input includes:
in accordance with a determination that a size of the first user interface object is above a threshold size, causing the first user interface object to have a current focus without changing an appearance of the cursor based on the first user interface object; and
in accordance with a determination that the size of the first user interface object is below the threshold size, causing the first user interface object to have the current focus, and changing the appearance of the cursor based on the first user interface object.

### Claim 17 (depends on 1)

The method of claim 1, further comprising:
while the first user interface object is selected for input, receiving, via the one or more input devices, a fourth input corresponding to a request to move the cursor away from the second location in the user interface to a location of a third user interface object; and
in response to receiving the fourth input:
in accordance with a determination that a distance between the first user interface object and the third user interface object is less than a threshold distance:
moving the cursor from the second location to the location of the third user interface object; and
changing an appearance of the cursor from having a first size and a first shape based on the first user interface object to having a second size and a second shape based on the third user interface object, without displaying the cursor as having a default size and default shape while moving the cursor from the second location to the location of the third user interface object; and
in accordance with a determination that the distance between the first user interface object and the third user interface object is greater than the threshold distance, moving the cursor from the second location to the location of the third user interface object, including:
displaying the cursor as having the default size and default shape while moving the cursor from the second location to the location of the third user interface object; and
when the cursor is at the location of the third user interface object, displaying the cursor as having the second size and the second shape based on the third user interface object.

### Claim 18 (depends on 1)

The method of claim 1, further comprising:
while displaying, in the user interface, a scroll bar user interface element for scrolling a content of the user interface at a fourth location, receiving, via the one or more input devices, a fourth input corresponding to a request to move the cursor to the fourth location; and
in response to receiving the fourth input:
moving the cursor to the fourth location; and
selecting the scroll bar user interface element for input, including changing an appearance of the cursor based on the scroll bar user interface element.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
while the scroll bar is selected for input, receiving, via the one or more input devices, a fifth input; and
in response to receiving the fifth input:
in accordance with a determination that the fifth input is a gesture for scrolling the content of the user interface that does not include a selection of the scroll bar user interface element while the scroll bar user interface element is selected for input:
scrolling the content of the user interface,
while maintaining the cursor at the fourth location in the user interface, wherein subsequent input for moving the cursor causes the cursor to move starting from the fourth location.

### Claim 20

An electronic device, comprising:
one or more processors;
memory; and
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, the one or more programs including instructions for:
concurrently displaying, via a display generation component:
a cursor located at a first location in a user interface; and
a first user interface object located at a second location in the user interface;
while displaying the user interface with the first user interface object located at the second location and the cursor located at the first location, receiving, via one or more input devices, a first input corresponding to a request to move the cursor away from the first location in the user interface to a location of the first user interface object;
in response to receiving the first input, moving the cursor in accordance with the first input from the first location toward the second location in the user interface and selecting the first user interface object for input;
while the first user interface object is selected for input, receiving, via the one or more input devices, a second input;
in response to receiving the second input, in accordance with a determination that the second input corresponds to a request to select a next object without regard to a magnitude and/or a direction of the second input, selecting a second user interface object in the user interface for input, wherein the second user interface object is located at a third location in the user interface;
while the second user interface object is selected for input, receiving, via the one or more input devices, a third input; and
in response to receiving the third input, in accordance with a determination that the third input corresponds to a request to move the cursor, moving the cursor in accordance with the third input starting from the third location.

### Claim 21

A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device, cause the electronic device to perform a method comprising:
concurrently displaying, via a display generation component:
a cursor located at a first location in a user interface; and
a first user interface object located at a second location in the user interface;
while displaying the user interface with the first user interface object located at the second location and the cursor located at the first location, receiving, via one or more input devices, a first input corresponding to a request to move the cursor away from the first location in the user interface to a location of the first user interface object;
in response to receiving the first input, moving the cursor in accordance with the first input from the first location toward the second location in the user interface and selecting the first user interface object for input;
while the first user interface object is selected for input, receiving, via the one or more input devices, a second input;
in response to receiving the second input, in accordance with a determination that the second input corresponds to a request to select a next object without regard to a magnitude and/or a direction of the second input, selecting a second user interface object in the user interface for input, wherein the second user interface object is located at a third location in the user interface;
while the second user interface object is selected for input, receiving, via the one or more input devices, a third input; and
in response to receiving the third input, in accordance with a determination that the third input corresponds to a request to move the cursor, moving the cursor in accordance with the third input starting from the third location.
