# US 2014/0152559 A1 · Method for controlling cursor

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

- Number: US 2014/0152559 A1
- Document ID: US20140152559A1
- Status: Published application
- Kind: A1
- Application number: 14/070,392
- Filed: 2013-11-01
- Published: 2014-06-05
- Earliest claimed: 2012-12-04
- Assignees: Wistron Corporation
- Applicants: Wistron Corp.
- Inventors: Shao-Fong Chen
- Web page: https://patentgrep.com/patent/US20140152559A1

## CPC

- G06F 1/1626: {with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]}
- G06F 1/1694: {the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer}
- G06F 3/0346: with detection of the device orientation or free movement in a three-dimensional [3D] space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
- G06F 2203/04805: Virtual magnifying lens, i.e. window or frame movable on top of displayed information to enlarge it for better reading or selection
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for controlling a cursor of a portable electronic apparatus having a display screen and a motion sensor is provided. The motion sensor detects a first-axis rotation angle and a second-axis rotation angle of the apparatus. A first-axis coordinate of a cursor is determined according to the first-axis rotation angle, a-first axis maximum rotation angle and a length of a short side of the display screen. A second-axis coordinate of the cursor is determined according to the second-axis rotation angle, a maximum second-axis rotation angle and a length of a long side of the display screen. The cursor is moved according to the first-axis coordinate and the second-axis coordinate.

## Claims

### Claim 1

A method for controlling a cursor, applied to a portable electronic device which comprises a display screen and a motion sensor, the display screen having a short side and a long side and displaying the cursor, wherein the portable electronic device is defined as having a first axis and a second axis, the first axis being parallel to the short side of the display screen, the second axis being parallel to the long side of the display screen, and the first axis and the second axis perpendicularly intersecting at a center point of the display screen, the method comprising:
setting a maximum first-axis rotation angle of the portable electronic device around the first axis and a maximum second-axis rotation angle of the portable electronic device around the second axis;
detecting a first-axis rotation angle of the portable electronic device around the first axis and a second-axis rotation angle of the portable electronic device around the second axis by the motion sensor;
determining a second-axis coordinate of the cursor according to a first proportion of the first-axis rotation angle to the maximum first-axis rotation angle and a relationship between the first proportion and a length of the long side;
determining a first-axis coordinate of the cursor according to a second proportion of the second-axis rotation angle to the maximum second-axis rotation angle and a relationship between the second proportion and a length of the short side; and
moving the cursor on the displaying screen according to the first-axis coordinate and the second-axis coordinate of the cursor.

### Claim 2 (depends on 1)

The method as claimed in claim 1, wherein an initial position of the cursor is the center point.

### Claim 3 (depends on 1)

The method as claimed in claim 1, wherein the first-axis rotation angle is a difference between a current rotation angle and an initial rotation angle of the portable electronic device around the first axis, and the second-axis rotation angle is a difference between a current rotation angle and an initial rotation angle of the portable electronic device around the second axis.

### Claim 4 (depends on 1)

The method as claimed in claim 1, wherein the short side and the long side are located at an upper side and a left side of the display screen in a portrait mode, respectively, a length of the short side is W, a length of the long side is L, and a first-axis coordinate and a second-axis coordinate of an intersection point of the short side and the long side are 0, a first-axis coordinate and a second-axis coordinate of the center point are
W
2


and


L
2
,
respectively, the method further comprising:
determining the first-axis coordinate X′ of the cursor according to
X
′
=
(
Δ


S
Y
Y
M
×
W
2
)
+
X
;
and
determining the second-axis coordinate X′ of the cursor according to
Y
′
=
(
Δ


S
X
X
M
×
L
2
)
+
Y
,
wherein ΔSX is the first-axis rotation angle, ΔSY is the second-axis rotation angle, XM is the maximum first-axis rotation angle, YM is the maximum second-axis rotation angle, X and Y are a previous first-axis coordinate and a previous second-axis coordinate of the cursor before rotation, respectively, and a clockwise rotation angle and a counterclockwise rotation angle are positive and negative, respectively.

### Claim 5 (depends on 4)

The method as claimed in claim 4, wherein:
if X′ is smaller than 0, the first-axis coordinate of the cursor is 0;
if X′ is larger than W, the first-axis coordinate of the cursor is W;
if X′ is not smaller than 0 and not larger than W, the first-axis coordinate of the cursor is X′;
if Y′ is smaller than 0, the second-axis coordinate of the cursor is 0;
if Y′ is larger than L, the second-axis coordinate of the cursor is L; and
if Y′ is not smaller than 0 and not larger than L, the second-axis coordinate of the cursor is Y′.

### Claim 6 (depends on 1)

The method as claimed in claim 1, wherein the display screen is a touch display screen, the method further comprising:
when the cursor is moved to an position of an object displayed on the touch display screen, determining whether the portable electronic device detects a touch motion performed on the touch display screen, and if so, performing an operation corresponding to the touch motion on the object based on the touch motion.

### Claim 7 (depends on 6)

The method as claimed in claim 6, wherein if the touch motion is touching and then quickly leaving the touch displaying screen, the operation is a click operation on the object.

### Claim 8 (depends on 6)

The method as claimed in claim 6, wherein if the touch motion is keeping touching the touch display screen, the operation is a select operation on the object.

### Claim 9 (depends on 8)

The method as claimed in claim 8, wherein if the touch motion is leaving the touch display screen after the select operation being performed, the operation is a selection cancel operation on the object.

### Claim 10 (depends on 6)

The method as claimed in claim 6, wherein if the touch motion is keeping touching the touch display screen and rotating the portable electronic device simultaneously, the operation is a drag operation on the object.

### Claim 11 (depends on 1)

The method as claimed in claim 1, wherein the portable electronic device further comprises a button, the method further comprising:
when the cursor is moved to a position of an object displayed on the display screen, determining whether the portable electronic device detects a press motion performed on the button, and if so, performing an operation corresponding to the press motion on the object based on the press motion.

### Claim 12 (depends on 11)

The method as claimed in claim 11, wherein if the press motion is pressing and then quickly releasing the button, the operation is a click operation on the object.

### Claim 13 (depends on 11)

The method as claimed in claim 11, wherein if the press motion is keeping pressing the button, the operation is a select operation on the object.

### Claim 14 (depends on 13)

The method as claimed in claim 13, wherein if the press motion is releasing the pressed button after the select operation being performed, the operation is a selection cancel operation on the object.

### Claim 15 (depends on 11)

The method as claimed in claim 11, wherein if the press motion is keeping pressing the button and rotating the portable electronic device simultaneously, the operation is a drag operation on the object.

### Claim 16 (depends on 1)

The method as claimed in claim 1, further comprising:
when the cursor is moved to a position of an object displayed on the display screen, determining whether the portable electronic device detects a movement motion of the portable electronic device along a predefined direction, and if so, performing an operation corresponding to the movement motion on the object based on the movement motion.

### Claim 17 (depends on 16)

The method as claimed in claim 16, wherein if the movement motion is moving the portable electronic device downward and having no other movement motion along any other direction for a predefined time period, the operation is a select operation on the object.

### Claim 18 (depends on 17)

The method as claimed in claim 17, wherein if the movement motion is moving the portable electronic device upward after the select operation being performed, the operation is a selection cancel operation on the object.

### Claim 19 (depends on 16)

The method as claimed in claim 16, wherein if the movement motion is moving the portable electronic device downward and then rotating the portable electronic device, the operation is a drag operation on the object.

### Claim 20 (depends on 16)

The method as claimed in claim 16, wherein if the movement motion is moving the portable electronic device downward and then moving the portable electronic device upward, the operation is turning on or tuning off a magnifier function.

### Claim 21 (depends on 20)

The method as claimed in claim 20, wherein if the magnifier function is turned on, a size of the cursor is enlarged and display content within a range of the cursor is magnified.

### Claim 22 (depends on 1)

The method as claimed in claim 1, wherein the cursor is displayed as a bubble.

### Claim 23 (depends on 1)

The method as claimed in claim 1, wherein the first-axis maximum angle and the second-axis maximum angle are maximum rotation angles of the portable electronic device around the first axis and the second axis, respectively, when a user operates the portable electronic device.

### Claim 24

A computer program product embodied in a non-transitory device readable medium, wherein when the computer program product is loaded into and executed by a portable electronic device which comprises a display screen and a motion sensor, the portable electronic device practices a method for controlling a cursor, the display screen having a short side and a long side and displaying the cursor, wherein the portable electronic device is defined as having a first axis and a second axis, the first axis being parallel to the short side of the display screen, the second axis being parallel to the long side of the display screen, and the first axis and the second axis perpendicularly intersecting at a center point of the display screen, the computer program product comprising:
a first program code for setting a maximum first-axis rotation angle of the portable electronic device around the first axis and a maximum second-axis rotation angle of the portable electronic device around the second axis;
a second program code for detecting a first-axis rotation angle of the portable electronic device around the first axis and a second-axis rotation angle of the portable electronic device around the second axis by the motion sensor;
a third program code for determining a second-axis coordinate of the cursor according to a first proportion of the first-axis rotation angle to the maximum first-axis rotation angle and a relationship between the first proportion and a length of the long side;
a fourth program code for determining a first-axis coordinate of the cursor according to a second proportion of the second-axis rotation angle to the maximum second-axis rotation angle and a relationship between the second proportion and a length of the short side; and
a fifth program code for moving the cursor on the displaying screen according to the first-axis coordinate and the second-axis coordinate of the cursor.

### Claim 25 (depends on 24)

The computer program product as claimed in claim 24, wherein an initial position of the cursor is the center point.

### Claim 26 (depends on 24)

The computer program product as claimed in claim 24, wherein the first-axis rotation angle is a difference between a current rotation angle and an initial rotation angle of the portable electronic device around the first axis, and the second-axis rotation angle is a difference between a current rotation angle and an initial rotation angle of the portable electronic device around the second axis.

### Claim 27 (depends on 24)

The computer program product as claimed in claim 24, wherein the short side and the long side are located at an upper side and a left side of the display screen in a portrait mode, respectively, a length of the short side is W, a length of the long side is L, a first-axis coordinate and a second-axis coordinate of an intersection point of the short side and the long side are 0, and a first-axis coordinate and a second-axis coordinate of the center point are
W
2


and


L
2
,
respectively, the computer program product further comprising:
a sixth program code for determining the first-axis coordinate X′ of the cursor according to
X
′
=
(
Δ


S
Y
Y
M
×
W
2
)
+
X
;
and
a seventh program code for determining the second-axis coordinate X′ of the cursor according to
Y
′
=
(
Δ


S
X
X
M
×
L
2
)
+
Y
,
wherein ΔSX is the first-axis rotation angle, ΔSY is the second-axis rotation angle, XM is the maximum first-axis rotation angle, YM is the maximum second-axis rotation angle, X and Y are a previous first-axis coordinate and a previous second-axis coordinate of the cursor before rotation, respectively, and a clockwise rotation angle and a counterclockwise rotation angle are positive and negative, respectively.

### Claim 28 (depends on 27)

The computer program product as claimed in claim 27, wherein:
if X′ is smaller than 0, the first-axis coordinate of the cursor is 0;
if X′ is larger than W, the first-axis coordinate of the cursor is W;
if X′ is not smaller than 0 and not larger than W, the first-axis coordinate of the cursor is X′;
if Y′ is smaller than 0, the second-axis coordinate of the cursor is 0;
if Y′ is larger than L, the second-axis coordinate of the cursor is L; and
if Y′ is not smaller than 0 and not larger than L, the second-axis coordinate of the cursor is Y′.

### Claim 29 (depends on 24)

The computer program product as claimed in claim 24, wherein the display screen is a touch display screen, the computer program product further comprising:
an eighth program code for determining whether the portable electronic device detects a touch motion performed on the touch display screen when the cursor is moved to a position of an object displayed on the touch display screen, and if so, performing an operation corresponding to the touch motion on the object based on the touch motion.

### Claim 30 (depends on 24)

The computer program product as claimed in claim 24, wherein the portable electronic device further comprises a button, the computer program product further comprising:
a ninth program code for determining whether the portable electronic device detects a press motion performed on the button when the cursor is moved to a position of an object displayed on the display screen, and if so, performing an operation corresponding to the press motion on the object based on the press motion.

### Claim 31 (depends on 24)

The computer program product as claimed in claim 24, further comprising:
a tenth program code for determining whether the portable electronic device detects a movement motion of the portable electronic device along a predefined direction when the cursor is moved to a position of an object displayed on the display screen, and if so, performing an operation corresponding to the movement motion on the object based on the movement motion.
