IP Library Granted Patent US 12663885
Granted Patent B2
US 12663885 · App. 18/755,711 · Granted Jun 23, 2026

Method for providing input event to virtual object, host, and computer readable storage medium

Inventor: Sheng-Yang Pan (Taoyuan City, TW)
Assignee: HTC Corporation
G06F3/038G06F3/0202G06F3/0338
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12663885
App. No.
18/755,711
Granted
Jun 23, 2026
Kind
B2
Abstract

The embodiments of the disclosure provide a method for providing an input event to a virtual object, a host, and a computer readable storage medium. The method includes: displaying a first virtual object in a virtual world, wherein the first virtual object includes a plurality of coordinates; obtaining at least one mapping relationship between control events of an input object and the plurality of coordinates on the first virtual object; receiving a control event from the input object; determining a first target coordinate, among the plurality of coordinates, corresponding to the control event based on the at least one mapping relationship, and providing a first input event to the first virtual object based on the first target coordinate, wherein the first input event corresponds to the control event from the input object.

Claims (53)

1 . A method for providing an input event to a virtual object, applied to a host, comprising:

displaying, by the host, a first virtual object in a virtual world, wherein the first virtual object comprises a plurality of coordinates;

establishing, by the host, at least one mapping relationship between control events of an input object and the plurality of coordinates on the first virtual object, wherein the process of establishing the at least one mapping relationship includes detecting a control event generated by a user using the input object on the first virtual object, detecting a first target coordinate among the plurality of coordinates, and establishing the at least one mapping relationship between the control event of the input object and the first target coordinate;

receiving, by the host, the control event from the input object;

in response to receiving the control event of the input object, determining, by the host, the first target coordinate mapped to the control event, among the plurality of coordinates, based on the at least one mapping relationship; and

providing a first input event to the first virtual object based on the first target coordinate, wherein the first input event corresponds to the control event from the input object.

2 . The method according to claim 1 , wherein the input object comprises a handheld controller having a physical button, and the at least one mapping relationship comprises a first mapping relationship between the physical button and a first coordinate among the plurality of coordinates, and the method comprises:

in response to determining that the control event indicates that the physical button has been triggered, determining the first coordinate as the first target coordinate, and accordingly providing the first input event to the first virtual object, wherein the first input event is a triggering event on the first coordinate.

3 . The method according to claim 1 , wherein the input object comprises a handheld controller having a physical button, and the at least one mapping relationship comprises a first mapping relationship between the physical button and a first coordinate among the plurality of coordinates, and the method comprises:

in response to determining that the control event indicates that a body of the handheld controller has been moved toward a first direction while the physical button is being pressed and held, determining the first coordinate as the first target coordinate, and accordingly providing the first input event to the first virtual object, wherein the first input event is a dragging event originates from the first coordinate, and a dragging direction of the dragging event corresponds to the first direction.

4 . The method according to claim 3 , further comprising:

in response to determining that the dragging event ends at a second target coordinate corresponding to a function, accordingly providing a second input event to the first virtual object, wherein the second input event triggers the function.

5 . The method according to claim 1 , wherein the input object comprises a handheld controller having a joystick, the joystick has a default position on the handheld controller, and the at least one mapping relationship comprises a second mapping relationship between the default position of the joystick and a second coordinate among the plurality of coordinates, and the method comprises:

in response to determining that the control event indicates that the joystick has been pushed toward a second direction, determining the second coordinate as the first target coordinate, and accordingly providing the first input event to the first virtual object, wherein the first input event is a dragging event originates from the second coordinate, and a dragging direction of the dragging event corresponds to the second direction.

6 . The method according to claim 1 , wherein the input object comprises a hand, and the at least one mapping relationship comprises a third mapping relationship between a first hand gesture and a third coordinate among the plurality of coordinates, and the method comprises:

in response to determining that the control event indicates that the hand has been changed to the first hand gesture, determining the third coordinate as the first target coordinate, and accordingly providing the first input event to the first virtual object, wherein the first input event is a triggering event on the third coordinate.

7 . The method according to claim 1 , wherein the input object comprises a hand, and the at least one mapping relationship comprises a third mapping relationship between a first hand gesture and a third coordinate among the plurality of coordinates, and the method comprises:

in response to determining that the control event indicates that the hand has been moved toward a first direction while maintaining the first hand gesture, determining the third coordinate as the first target coordinate, and accordingly providing the first input event to the first virtual object, wherein the first input event is a dragging event originates from the third coordinate, and a dragging direction of the dragging event corresponds to the first direction.

8 . The method according to claim 7 , further comprising:

in response to determining that the dragging event ends at a second target coordinate corresponding to a function, accordingly providing a second input event to the first virtual object, wherein the second input event triggers the function.

9 . The method according to claim 1 , further comprising:

displaying a second virtual object in the virtual world, wherein the second virtual object provides a management function associated with the first virtual object;

displaying an indicator corresponding to the input object;

in response to determining that the control event is received in a first case where the indicator does not indicate the second virtual object, determining the first target coordinate corresponding to the control event based on the at least one mapping relationship, and providing the first input event to the first virtual object based on the first target coordinate.

10 . The method according to claim 9 , further comprising:

in response to determining that the control event is received in a second case where the indicator is indicating the second virtual object, performing the management function associated with the first virtual object without providing any input event to the first virtual object.

11 . The method according to claim 1 , wherein the virtual world is a 3D virtual environment of a reality service provided by the host.

12 . The method according to claim 1 , wherein the first virtual object is a 2D window.

13 . The method according to claim 12 , further comprising:

receiving a screen stream from an electronic device running an application and rendering a 2D visual content according to the screen stream; and

displaying the 2D visual content within the 2D window.

14 . The method according to claim 12 , wherein the plurality of coordinates of the first virtual object comprise a plurality of 2D coordinates within the 2D window.

15 . The method according to claim 14 , wherein the 2D window shows an application comprising at least one controllable object, and the at least one mapping relationship between the input object and the plurality of coordinates on the first virtual object are determined based on a 2D position of each of the at least one controllable object in the 2D window.

16 . A host, comprising:

a non-transitory storage circuit, storing a program code; and

a processor, coupled to the non-transitory storage circuit and accessing the program code to perform:

displaying a first virtual object in a virtual world, wherein the first virtual object comprises a plurality of coordinates;

establishing at least one mapping relationship between control events of an input object and the plurality of coordinates on the first virtual object, wherein the process of establishing the at least one mapping relationship includes detecting a control event generated by a user using the input object on the first virtual object, detecting a first target coordinate among the plurality of coordinates, and establishing the at least one mapping relationship between the control event and the first target coordinate;

receiving the control event from the input object;

in response to receiving the control event of the input object, determining the first target coordinate mapped to the control event, among the plurality of coordinates, based on the at least one mapping relationship; and

providing a first input event to the first virtual object based on the first target coordinate, wherein the first input event corresponds to the control event from the input object.

17 . The host according to claim 16 , wherein the input object comprises a handheld controller having a physical button, and the at least one mapping relationship comprises a first mapping relationship between the physical button and a first coordinate among the plurality of coordinates, and the processor is configured to perform:

in response to determining that the control event indicates that the physical button has been triggered, determining the first coordinate as the first target coordinate, and accordingly providing the first input event to the first virtual object, wherein the first input event is a triggering event on the first coordinate.

18 . The host according to claim 16 , wherein the input object comprises a handheld controller having a physical button, and the at least one mapping relationship comprises a first mapping relationship between the physical button and a first coordinate among the plurality of coordinates, and the processor is configured to perform:

in response to determining that the control event indicates that a body of the handheld controller has been moved toward a first direction while the physical button is being pressed and held, determining the first coordinate as the first target coordinate, and accordingly providing the first input event to the first virtual object, wherein the first input event is a dragging event originates from the first coordinate, and a dragging direction of the dragging event corresponds to the first direction; and

in response to determining that the dragging event ends at a second target coordinate among the plurality of coordinates, accordingly providing a second input event to the first virtual object, wherein the second input event is a triggering event on the second coordinate.

19 . The host according to claim 16 , wherein the input object comprises a handheld controller having a joystick, the joystick has a default position on the handheld controller, and the at least one mapping relationship comprises a second mapping relationship between the default position of the joystick and a second coordinate among the plurality of coordinates, and the processor is configured to perform:

in response to determining that the control event indicates that the joystick has been pushed toward a second direction, determining the second coordinate as the first target coordinate, and accordingly providing the first input event to the first virtual object, wherein the first input event is a dragging event originates from the second coordinate, and a dragging direction of the dragging event corresponds to the second direction.

20 . A non-transitory computer readable storage medium, the computer readable storage medium recording an executable computer program, the executable computer program being loaded by a host to perform steps of:

displaying a first virtual object in a virtual world, wherein the first virtual object comprises a plurality of coordinates;

establishing at least one mapping relationship between control events of an input object and the plurality of coordinates on the first virtual object, wherein the process of establishing the at least one mapping relationship includes detecting a control event generated by a user using the input object on the first virtual object, detecting a first target coordinate among the plurality of coordinates, and establishing the at least one mapping relationship between the control event and the first target coordinate;

receiving the control event from the input object; and

in response to receiving the control event of the input object, determining the first target coordinate mapped to the control event, among the plurality of coordinates, based on the at least one mapping relationship, and providing a first input event to the first virtual object based on the first target coordinate, wherein the first input event corresponds to the control event from the input object.