Patent Description:
The present disclosure relates to the field of data processing technologies, and in particular, to the technology of controlling cursor controls.

TV games is a kind of games played through TV terminals. TV games are more and more popular among gamers because of the large size, bright color, and definite screens.

However, TV terminals cannot be operated through mouse or keyboard, or through a touch-screen operation, users have not good experiences of playing games through the TV terminal.

In the conventional art, game players often use a game controller as an input device to control a cursor control, to move a cursor or simulate finger touch and tap. However, in the conventional art, the control of the cursor control by the game controller is not flexible enough, which in turn affects the accuracy, resulting in poor game experience for players.

The patent application No. <CIT> discloses a method and an electronic apparatus for positioning a cursor on a display. A cursor (<NUM>) is positioned on a display (<NUM>) in response to a user input (<NUM>) on a pointing device (<NUM>). The user input, which represents a desired cursor movement (<NUM>) on the display, is converted to time varying magnitude and argument components in polar space. The magnitude component is processed so as to control a speed of movement of the cursor on the display. Separately from this, the argument component is processed so as to suppress rapid angular variations in the movement of the cursor on the display.

The patent application No. <CIT> discloses systems and methods for receiving a plurality of response speed profiles associated with an application, selecting a first response speed profile from the plurality of response speed profiles, causing rendering of an on-screen display based at least in part on the first response speed profile, determining that a response speed profile change condition exists, selecting a second response speed profile from the plurality of response speed profiles, and causing rendering of an on-screen display based at least in part on the second response speed profile.

The patent application No. <CIT> discloses a controller for improved computer pointing devices. Input force applied on a pointing device having outputs (XY, <FIG>) is related to the velocity of a cursor on a video screen according to a transfer function (<FIG>) substantially described by a parabolic sigmoid function (<FIG>), thus resulting in adapting the force/velocity relationship (<FIG>) to accommodate human perception and motor control limitations and task specific coordination problems.

Therefore, it is crucial for improving user experience by providing a method for flexibly controlling a cursor control through a game controller.

It is to be noted that the information disclosed in the foregoing background part is used only for enhancing the understanding of the background of the present disclosure, and therefore may include information in the conventional art that is known to a person of ordinary skill in the art.

The present invention provides a solution for the mentioned problems according to the independent claims. Preferred embodiments are provided by the dependent claims. A method and apparatus for controlling a cursor control, and a related device are provided according to embodiments of the present disclosure, which can precisely control a movement speed of a target cursor control through a target joystick of a target game controller, thereby improving the control accuracy.

Other features and advantages of the present disclosure will be apparent through the following detailed description, or partly learned through practice of the present disclosure.

The drawings herein, which are incorporated in the specification as a part of the specification, show embodiments in accordance with the present disclosure, and together with the specification are used to explain the principle of the present disclosure. The drawings in the following description are merely some embodiments of the present disclosure, and a person of ordinary skill in the art may still derive other drawings from these drawings without creative efforts.

At present, the exemplary embodiments are described comprehensively with reference to the drawings. However, the exemplary embodiments can be implemented in various forms and are not to be understood as limited to embodiments described herein; on the contrary, providing these embodiments will make the present disclosure more comprehensive and complete, and comprehensively convey a concept of the exemplary embodiments to a person skilled in the art. The same reference numeral in the drawings represents same or similar components, and therefore repeated descriptions of the components are appropriately omitted.

The features, structures, or characteristics described in the present disclosure may be combined in one or more implementations in any appropriate manner. In the following descriptions, a lot of specific details are provided to give a comprehensive understanding of the implementations of the present disclosure. However, a person skilled in the art should be aware that, the technical solutions in the present disclosure may be implemented without one or more of the particular details, or another method, component, apparatus, or step may be used. In other cases, well-known methods, apparatuses, implementations, or operations are not shown or described in detail, in order not to obscure the aspects of the present disclosure.

The drawings are merely exemplary illustrations of the present disclosure. The same reference numeral in the drawings represents same or similar components, and therefore repeated descriptions of the components are appropriately omitted. Some block diagrams shown in the drawings do not necessarily correspond to physically or logically independent entities. The functional entities may be implemented in the form of software, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and/or processor apparatuses and/or micro-controller apparatuses.

The flowcharts shown in the drawings are merely exemplary descriptions and do not necessarily include all of the content and steps, nor are the flowcharts necessarily performed in the order described. For example, some steps may further be decomposed, and some steps may be merged or partially merged. As a result, an actual execution order may be changed according to an actual situation.

In this specification, the terms "a", "an", "the", "said", and "at least one" are used to indicate the presence of one or more elements/components; the terms "comprising", "including", and "having" are used to indicate an open-ended inclusive meaning and mean that there may be additional elements/components in addition to the listed elements/components; and the terms "first", "second", "third", and the like are used only as labels and are not intended to limit the number of objects.

The following describes the exemplary implementations of the present disclosure in detail with reference to the drawings.

<FIG> is a schematic diagram of an exemplary system architecture of a method for controlling a cursor control or an apparatus for controlling a cursor control according to embodiments of the present disclosure.

As shown in <FIG>, a system architecture <NUM> may include: a game controller <NUM>, a computing device <NUM>, and a terminal device <NUM>. The game controller <NUM> may be in a network connection with the computing device <NUM> through a Bluetooth, a wireless receiver, a wired receiver, or the like. The computing device <NUM> may be in a network connection with the TV terminal <NUM> through a wired circuit, which is not limited in the present disclosure. The network may include various connection types such as a wired or wireless communication link, or an optical fiber cable.

A user may interact with the computing device <NUM> by using the game controller <NUM> through the network connection, to receive or send messages. The computing device <NUM> may be any electronic device for computing services, including but not limited to a TV box, a smart TV, a smartphone, a tablet computer, a laptop, a desktop computer, a wearable device, a VR device, a smart home, and the like. The terminal device <NUM> may be any display device that needs a game controller to control a cursor control, such as a TV, a computer, a smartphone, a notebook computer, a tablet computer, a laptop, a desktop computer, a wearable device, a VR device, a smart speaker, a smart watch, and a smart home.

In some embodiments, the computing device <NUM> and the terminal device <NUM> may be the same object, or may be different objects, which is not limited in the present disclosure. For example, because a smart TV can achieve both the computing function and the display function, the smart TV may be the computing device <NUM> or the terminal device <NUM>. This is not limited in the present disclosure.

The computing device <NUM> may be a server that provides various services, for example, a backend administration server supporting an apparatus operated by a user using the terminal device <NUM>. The backend administration server can process data such as a received request, and feed back processing results to the terminal device.

The computing device <NUM> may, for example, obtain actual offset values of a target joystick in a joystick coordinate system from a target game controller, the target game controller is used for controlling a target cursor control in a target device. The computing device <NUM> may, for example, determine a simulated offset value of the target joystick in the joystick coordinate system at a first moment according to the actual offset values. The computing device <NUM> may, for example, determine a first position of the target cursor control in a target device coordinate system at the first moment according to the simulated offset value at the first moment. The computing device <NUM> may, for example, transmit the first position to the target device to control the target cursor control to move from a second position in the target device coordinate system at a second moment to the first position, the second moment being a moment before the first moment. A movement speed of the target cursor control from the second position to the first position is positively correlated with the simulated offset value at the first moment.

It is to be understood that the quantities of terminal device, network, and server in <FIG> are merely exemplary. The computing device <NUM> may be an entity server, or may include multiple servers. There may be any quantities of terminal device, network, and server according to actual requirements.

In some embodiments, a method for controlling a cursor control in the embodiments of the present disclosure may not only be implemented in the computing device <NUM> with an entity, but may also be implemented through the function of cloud computing provided by a cloud service, which is not limited in the present disclosure.

In the embodiments of the present disclosure, the computing device <NUM> may be an independent physical device (such as a TV box and a physical server), or may be a device cluster or a distributed system including multiple physical devices, or may be a cloud server that provides cloud computing services, which is not limited in the present disclosure.

Cloud computing refers to a computing mode, in which computing tasks are distributed on a resource pool formed by a large quantity of computers, so that various application systems can obtain computing power, storage space, and information services according to requirements. A network that provides resources is referred to as a "cloud". For a user, resources in a "cloud" may be infinitely expandable, and may be obtained readily, used on demand, expanded readily, and paid according to usage.

A basic capability provider of cloud computing may establish a cloud computing resource pool (referred to as cloud platform for short, generally called Infrastructure as a Service (laaS) platform), and deploy various types of virtual resources in the resource pool, for external customers to choose and use. The cloud computing resource pool mainly includes: a computing device (a virtualized machine including an operating system), a storage device, and a network device.

According to the division of logical functions, the Platform as a Service (PaaS) layer may be deployed on the laaS player, and the Software as a Service (SaaS) layer may be deployed on the PaaS layer, or the SaaS layer may be directly deployed on the laaS player. PaaS is a platform on which software runs, such as a database and a web container. SaaS is a variety of business software, such as a web portal and an SMS group sender. Generally, SaaS and PaaS are upper layers relative to laaS.

<FIG> is a schematic structural diagram of a computer system <NUM> applied to implement a terminal device according to an embodiment of the present disclosure. The terminal device shown in <FIG> is merely an example, and does not impose any limitation on the functions and scope of use of the embodiments of the present disclosure.

As shown in <FIG>, the computer system <NUM> includes a central processing unit (CPU) <NUM>, which may perform various appropriate actions and processing according to a program stored in a read-only memory (ROM) <NUM> or a program loaded into a random access memory (RAM) <NUM> from a storage part <NUM>. The RAM <NUM> further stores various programs and data required for operations of the system <NUM>. The CPU <NUM>, the ROM <NUM>, and the RAM <NUM> are connected to each other through a bus <NUM>. An input/output (I/O) interface <NUM> is also connected to the bus <NUM>.

The following components are connected to the I/O interface <NUM>: an input part <NUM> including a keyboard, a mouse, or the like; an output part <NUM> including a cathode ray tube (CRT), a liquid crystal display (LCD), a speaker, or the like; a storage part <NUM> including a hard disk or the like; and a communication part <NUM> of a network interface card, including a LAN card, a modem, or the like. The communication part <NUM> performs communication processing by using a network such as the Internet. A driver <NUM> is also connected to the I/O interface <NUM> as required. A removable medium <NUM>, such as a magnetic disk, an optical disc, a magneto-optical disk, or a semiconductor memory, is installed on the drive <NUM> as required, so that a computer program read from the removable medium is installed into the storage part <NUM> as required.

In particular, according to the embodiments of the present disclosure, the processes described above with reference to the flowchart may be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, including a computer program carried on a computer-readable medium. The computer program includes program code for performing the method shown in the flowchart. In such an embodiment, the computer program may be downloaded and installed from the network through the communication part <NUM>, and/or installed from the removable medium <NUM>. The computer program, when executed by the CPU <NUM>, performs the foregoing functions defined in the system of the present disclosure.

It is to be noted that the computer-readable storage medium according to the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination thereof. The computer-readable storage medium may be, for example, but is not limited to, an electric, magnetic, optical, electromagnetic, infrared, or semi-conductive system, apparatus, or component, or any combination thereof. A more specific example of the computer-readable storage medium may include, but is not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or a flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, the computer-readable storage medium may be any tangible medium containing or storing a program, and the program may be used by or used in combination with an instruction execution system, an apparatus, or a device. In the present disclosure, a computer-readable signal medium may include a data signal being in a baseband or propagated as a part of a carrier wave, the data signal carrying computer-readable program code. Such a propagated data signal may be in many forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination thereof. The computer-readable signal medium may alternatively be any computer-readable storage medium other than the computer-readable storage medium. The computer-readable storage medium may send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained in the computer-readable storage medium may be transmitted by using any appropriate medium, including but not limited to: a wireless medium, a wire, an optical cable, RF, any suitable combination thereof, or the like.

The flowcharts and block diagrams in the drawings illustrate possible system architectures, functions, and operations that may be implemented by a system, a method, and a computer program product according to various embodiments of the present disclosure. In this regard, each box in a flowchart or a block diagram may represent a module, a program segment, or a part of code. The module, the program segment, or the part of code includes one or more executable instructions used for implementing designated logic functions. In some implementations used as substitutes, functions annotated in boxes may alternatively occur in a sequence different from that annotated in a drawing. For example, two boxes shown in succession may actually be performed basically in parallel, and sometimes the two boxes may be performed in a reverse sequence. This is determined by a related function. It should also be noted that, each box in a block diagram and/or a flowchart and a combination of boxes in the block diagram and/or the flowchart may be implemented by using a dedicated hardware-based system configured to perform a specified function or operation, or may be implemented by using a combination of dedicated hardware and a computer instruction.

Related modules and/or submodules and/or units described in the embodiments of the present disclosure may be implemented in a software manner, or may be implemented in a hardware manner. The described modules and/or submodules and/or units may be set in a processor, which, for example, may be described as: a processor including a transmitting unit, an obtaining unit, a determining unit, and a first processing unit. Names of the modules and/or submodules and/or units do not constitute a limitation on the modules and/or submodules and/or units in a specific case.

According to another aspect, a computer-readable storage medium is further provided according to the present disclosure. The computer-readable storage medium may be included in the device described in the foregoing embodiments, or may exist alone and be not assembled in the device. The computer-readable storage medium carries one or more programs. When the one or more programs are executed by a device, the device can implement the functions including: obtaining actual offset values of a target joystick in a joystick coordinate system from a target game controller, the target game controller being used for controlling a target cursor control in a target device; determining, according to the actual offset values, a simulated offset value of the target joystick in the joystick coordinate system at a first moment; determining, according to the simulated offset value at the first moment, a first position of the target cursor control in a target device coordinate system at the first moment; and transmitting the first position to the target device to control the target cursor control to move from a second position in the target device coordinate system at a second moment to the first position, a movement speed of the target cursor control from the second position to the first position being positively correlated with the simulated offset value at the first moment.

Cloud gaming, also known as gaming on demand, is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with limited graphics processing and data computing capabilities to run high-quality games. In a scenario of cloud gaming, a game is not run on a player game terminal, but is run on a cloud server, and a game scene is rendered into a video and audio stream by the cloud server and transmitted to the player game terminal through network. The player game terminal does not need to have powerful graphics computing and data processing capabilities, but only needs to have a basic streaming media playback capability and a capability of obtaining an input instruction from a player and transmitting the input instruction to the cloud server.

To improve gaming experience, game players usually choose TV terminals for cloud gaming.

In the conventional art, because a mouse or a keyboard cannot be used on a TV terminal, nor a touch-screen operation can be performed thereon, players usually use a game controller as an input device to control a cursor control in the TV terminal.

As shown in <FIG>, a player may connect the game controller <NUM> to the computing device <NUM> (for example, a TV box) through a Bluetooth or a universal serial bus (USB) wireless receiver for the computing device <NUM> to receive actual offset values of a target joystick uploaded by the game controller <NUM>. The TV box is a small computing terminal device that may play Internet content on a TV.

In some embodiments, a cursor control of cloud gaming in a terminal device may be controlled by a game controller through the following steps.

A cloud gaming application client is installed on the computing device <NUM> (such as a smart TV or a TV box) shown in <FIG>. A user enters an application lobby of the TV box, runs the cloud gaming client, and enters a cloud gaming scene to start a game. The game controller <NUM> is connected to a device monitoring module of the cloud gaming client through a Bluetooth or a USB wireless receiver. During the running of the target cloud game, that is, during the display of the scene of the target cloud game, a target operation key of the game controller <NUM> may be pressed and immediately released to switch the game mode, for example, the direct switch between a key mapping mode and a mouse mode may be controlled through a right joystick to display a customized cursor control <NUM> shown in <FIG> or a customized cursor control <NUM> shown in <FIG> in the terminal device <NUM>. In this case, the customized cursor control <NUM> or the customized cursor control <NUM> may be referred to as a target cursor control. A player may control the game controller <NUM> to control the customized cursor control, for example, a cursor control may be controlled to move through a right joystick (that is, a target joystick) of the game controller <NUM>, and the cursor control may be controlled to perform a click operation through a key A of the game controller <NUM>. It can be understood that the functions of the key A and the right joystick can be set by game developers in advance (in other words, which joystick controls the movement of the cursor control and which key controls the click of the cursor control can be set by game developers in advance).

However, the control of the cursor control through the game controller in the conventional art generally has the following defects:.

Therefore, in the conventional art, the control of the cursor control through the game controller can neither achieve the click on any position at any time like the control of a touch screen, nor make the movement speed and accuracy of the cursor control controllable like the control of a real mouse.

To resolve the foregoing problems, the embodiments of the present disclosure provide the following technical solutions.

<FIG> is a flowchart of a method for controlling a cursor control according to an exemplary embodiment. The method provided in this embodiment of the present disclosure may be processed by any electronic device with a computing and processing capability, such as the computing device <NUM> and/or the terminal device <NUM> in the embodiment of <FIG>. In the following embodiment, description is made by using the computing device <NUM> as an execution entity, but the present disclosure is not limited thereto.

Referring to <FIG>, the method for controlling a cursor control provided in this embodiment of the present disclosure may include the following steps S1 to S4.

In step S1, actual offset values of a target joystick in a joystick coordinate system is obtained from a target game controller, the target game controller is used for controlling a target cursor control in a target device.

In some embodiments, the target game controller may be a game controller shown in <FIG>, the game controller may be used as the target game controller, and the target game controller may include a left joystick, a right joystick, a key A, and the like. It can be understood that different game controllers may include different keys and joysticks, and different keys and joysticks may include different functions, which is not limited in the present disclosure. The target device is a device that displays the target cursor control, and may be the terminal device <NUM> shown in <FIG>.

In some embodiments, the target game controller may include multiple joysticks, where a joystick that may be used to control the target cursor control is the target joystick.

In this embodiment of the present disclosure, the target game controller may be a game controller that may control the target cursor control through the target joystick.

In some embodiments, the joystick coordinate system may be constructed with the center position of the target joystick as the origin and with any two mutually perpendicular directions as the X-axis and the Y-axis. For the convenience of operation, the up-down direction and the left-right direction are respectively used as the X-axis and the Y-axis, which is not limited in the present disclosure.

In some embodiments, a value of the target joystick offset from the origin is used as the actual offset value of the target joystick in the joystick coordinate system.

Generally, the actual offset value may be acquired by the target game controller and transmitted to the computing device (for example, a TV box) shown in <FIG>.

In some embodiments, the actual offset value uploaded by the target game controller is generally a normalized offset value with a change range of [-<NUM>, <NUM>], and this is not limited in the present disclosure.

It can be understood that, because the target game controller does not acquire the actual offset values of the target joystick according to a fixed frequency or a fixed position (for example, the target game controller acquires the actual offset value when the joystick moves to a certain position), the target cursor control can neither move consistently with the target joystick in real time, nor keep moving when the target joystick stops at a certain position, which is quite different from the movement of a cursor control controlled by a mouse, resulting in poor user experience.

In step S2, a simulated offset value of the target joystick in the joystick coordinate system at a first moment is determined according to the actual offset values.

In some embodiments, because a TV box computing device is usually installed with the Android system, how the computing device obtains the actual offset values is described in this embodiment by taking the Android system as an example.

When the target joystick of the target game controller moves, the target game controller receives an instruction inputted by a player, and transmits a MotionEvent instruction to the computing device. When the computing device receives the MotionEvent instruction, the Android system of the computing device obtains the axis change of the target joystick through the following program, and identify the change of the left-right direction (AXIS_X) and the up-down direction (AXIS_Y) of the target joystick of the target game controller by using AXIS, where a change range of a floating-point number is between -<NUM> and <NUM> (including -<NUM> and <NUM>), and a large absolute value indicates a great shift of the target joystick. <MAT> <MAT>.

If an actual offset value in the horizontal axis direction or an actual offset value in the vertical axis direction of the target joystick is greater than a target threshold (for example, <NUM>), it may be determined that the target joystick moved, and the actual offset value obtained this time is valid.

Whether an actual offset value of the horizontal/vertical axis is greater than the target threshold may be determined through the following steps.

The getFlat() function of the Android system is invoked to obtain a center position range of the target joystick, and whether an actual offset value of the horizontal/vertical axis is greater than the target threshold is determined through the following code. The pseudocode is shown as follows: <MAT> <MAT> <MAT> <MAT>.

In some embodiments, the time point that the target game controller uploads the actual offset value is unfixed. If the target cursor control is controlled to move according to the actual offset value uploaded by the target game controller, the following situations may occur. First, if the acquisition time interval between a current actual offset value and a previous actual offset value is large, the target cursor control will be out of control, the movement of the target cursor control and the movement of the target joystick cannot be consistent in real time. Second, when the target joystick stops at an offset position, the target game controller does not upload the actual offset value, and the target game controller cannot control the target cursor control during this period.

In some embodiments, after the actual offset values are obtained, interpolation may be performed on the actual offset values according to a preset frequency to obtain a simulated offset value, and the target cursor control may be controlled to move according to the simulated offset value obtained through interpolation, so that the movement of the target cursor control and the movement of the target joystick is consistent in real time, and the target cursor control can continue to move when the target joystick stops at a certain offset position. The simulated offset value may refer to a possible offset value of the target joystick relative to the center of the joystick at a target time point (an interpolation time point) after performing an interpolation operation on the actual offset values.

In some embodiments, the preset frequency may be set according to actual requirements, for example, the preset frequency may be preset to <NUM> each time.

In step S3, a first position of the target cursor control in a target device coordinate system at the first moment is determined according to the simulated offset value at the first moment.

In some embodiments, a coordinate conversion coefficient may be preset, and the simulated offset value of the target joystick in the joystick coordinate system may be converted into the target device coordinate system, to determine a movement offset value of the target cursor control in the target device coordinate system; and the first position of the target cursor control at the first moment is determined according to a second position of the target cursor control at a second moment and the movement offset value of the target cursor control in the target device coordinate system. The movement offset value of the target cursor control in the target device coordinate system may refer to an offset value of the target cursor control at the first position relative to the second position in the target device coordinate system.

For example, assuming that the coordinate conversion coefficient is <NUM> pixels and the simulated offset value of the target joystick in the joystick coordinate system at the first moment is <NUM>, the movement offset value of the target cursor control in the target device coordinate system may be set to <NUM>*<NUM> pixels, that is, the target cursor control may move <NUM> pixels in the target device coordinate system.

In some embodiments, to better simulate the movement effect of mouse, in this embodiment, different coordinate conversion coefficients may be set for different simulated offset values. For example, a large coordinate conversion coefficient is set for a large simulated offset value, and a small coordinate conversion coefficient is set for a small simulated offset value, in this way, it can be ensured that, within a fixed time, the faster the target joystick moves (the larger the movement distance is within a fixed time), the faster the target cursor control moves.

In step S4, the first position is transmitted to the target device to control the target cursor control to move from a second position in the target device coordinate system at a second moment to the first position, the second moment is a moment before the first moment, a movement speed of the target cursor control from the second position to the first position is positively correlated with the simulated offset value at the first moment.

With the technical solution in this embodiment, the simulated offset value of the target joystick is determined according to the actual offset values of the target joystick, and the target cursor control is controlled to move at different speeds according to different simulated offset values. With the method in this embodiment, it can be ensured that a movement speed of the target cursor control is positively correlated with a movement speed of the target joystick, and the movement speed of the target cursor control can be controlled through the target joystick, and the movement precision of the target cursor control can also be controlled through the target joystick, thereby improving the user experience.

<FIG> is a flowchart of a method for controlling a cursor control according to an exemplary embodiment. Referring to <FIG>, the method for controlling a cursor control may include the following steps S1 to S4.

In step S1, actual offset values of a target joystick in a joystick coordinate system are obtained from a target game controller. The target game controller is used for controlling a target cursor control in a target device.

In step S21, interpolation is performed on the actual offset values according to a preset frequency, and the simulated offset value of the target joystick in the joystick coordinate system at the first moment is determined.

In some embodiments, interpolation may be performed on the actual offset values by different interpolation methods such as one-dimensional interpolation and two-dimensional interpolation, which is not limited in the present disclosure.

In step S4, the first position is transmitted to the target device to control the target cursor control to move from a second position in the target device coordinate system at a second moment to the first position. A movement speed of the target cursor control from the second position to the first position is positively correlated with the simulated offset value at the first moment.

With the technical solution in this embodiment, interpolation may be performed on the actual offset values according to the preset frequency to obtain the simulated offset value, and the target cursor control is controlled based on the simulated offset value, so that it can be ensured that the target cursor control can move in real time according to the movement of the target joystick (that is, the target cursor control is controlled to move according to the simulated offset value at regular intervals), and the smoothness of the movement of the target cursor control cab also be ensured (that is, there is no large deviation between a speed at the first moment and a speed at the second moment).

<FIG> is a flowchart of step S21 in <FIG> according to an exemplary embodiment. Referring to <FIG>, step S21 may include the following steps S211 to S213.

In step S211, a first target actual offset value at a moment closest to the first moment is obtained from the actual offset value.

In some embodiments, the first target actual offset value Xi at a moment closest to the first moment k may be obtained from the actual offset values, i being a positive integer greater than or equal to <NUM>.

In step S212, a simulated offset value of the target joystick in the joystick coordinate system at the second moment is obtained.

In some embodiments, the simulated offset value X'k-<NUM> of the target joystick at the second moment may be obtained. If there is no simulated offset value at the second moment, X'k-<NUM> may be set equal to the first target actual offset value Xi.

In step S213, the simulated offset value of the target joystick in the joystick coordinate system at the first moment is determined according to the first target actual offset value and the simulated offset value at the second moment.

In some embodiments, the simulated offset value X'k-<NUM> of the target joystick at the second moment and the first target actual offset value Xi may be averaged to determine the simulated offset value X'k at the first moment (that is, X'k = (X'k-<NUM> + Xi)/<NUM>), or a median of the simulated offset value X' k-<NUM> of the target joystick at the second moment and the first target actual offset value Xi may be calculated to determine the simulated offset value X'k at the first moment, and this is not limited in the present disclosure.

It can be understood that interpolation may also be performed on the actual offset values by other methods (such as monomial interpolation and Lagrange interpolation), which is not limited in the present disclosure.

In the technical solution in this embodiment, interpolation may also be performed on the actual offset values according to the first target actual offset value and the simulated offset value at the second moment to obtain the simulated offset value at the first moment. It can be ensured that the simulated offset value at the first moment is not significantly offset from the simulated offset value at the second moment, and it also be ensured that there is no large error between the simulated offset value at the first moment and the first target actual offset value, which is more in line with the offset of the target joystick at the first moment.

In some embodiments, a second target actual offset value at a moment closest to the first moment may be obtained from the actual offset values, and the second target actual offset value may be directly used as the simulated offset value of the target joystick in the joystick coordinate system at the first moment.

<FIG> is a flowchart of step S3 in <FIG> according to an exemplary embodiment. Referring to <FIG>, step S3 may include the following steps S31 and S32.

In step S31, the simulated offset value at the first moment is processed according to a first coordinate conversion coefficient in a case that an absolute value of the simulated offset value at the first moment is less than a first threshold, to determine a first offset value of the target cursor control.

In some embodiments, because a value range of the simulated offset value X'i at the first moment is [-<NUM>,<NUM>], the first threshold may be set to <NUM>, the first coordinate conversion coefficient coeffi1 is set to <NUM> (pixels), and the first offset value rx1 of the target cursor control is determined according to coeffi1 * X'i.

In some embodiments, the unit in the target device coordinate system may be a pixel, that is, the movement unit of the first offset value rx1 is a pixel.

In step S32, the first position of the target cursor control in the target device coordinate system at the first moment is determined according to the second position and the first offset value of the target cursor control, the first coordinate conversion coefficient is negatively correlated with the preset frequency.

In some embodiments, assuming that the second position is locak-<NUM> the first position locak of the target cursor control may be determined according to rx1 + loca(k-<NUM>).

In some embodiments, the second position may include a second horizontal position locax(k-<NUM>) and a second vertical position locay(k-<NUM>), the first offset value rx1 may include a first target horizontal offset value rx1 and a first target vertical offset value ry1, and a first horizontal position locaxk and a first vertical position locayk may be determined through rx1 + locax(k-<NUM>) and ry1 + loxcy(k-<NUM>).

With the technical solution in this embodiment, the setting of the first threshold allows different simulated offset values to correspond to different coordinate conversion coefficients, so that a movement speed of the target cursor control is positively correlated with a movement speed of the target joystick.

<FIG> is a flowchart of step S3 in <FIG> according to an exemplary embodiment. Referring to <FIG>, step S3 may include the following steps S33 and S34.

In step S33, the simulated offset value at the first moment is processed according to a second coordinate conversion coefficient in a case that an absolute value of the simulated offset value at the first moment is greater than or equal to a first threshold and less than a second threshold to determine a second offset value of the target cursor control.

In some embodiments, the second threshold may be set to <NUM>, the second coordinate conversion coefficient coeffi2 may be set to <NUM> (pixels), and the second offset value rx2 of the target cursor control may be determined according to coeffi2 * X'i.

In step S34, the first position of the target cursor control in the target device coordinate system at the first moment is determined according to the second position and the second offset value of the target cursor control, the second coordinate conversion coefficient is negatively correlated with the preset frequency, and the second coordinate conversion coefficient is greater than the first coordinate conversion coefficient.

In some embodiments, the second position may include a second horizontal position locax(k-<NUM>) and a second vertical position locay(k-<NUM>), the second offset value may include a second target horizontal offset value rx2 and a second target vertical offset value ry2, and a first horizontal position locaxk and a second vertical position locayk may be determined through rx<NUM> + locax(k-<NUM>) and ry2 + locay(k-<NUM>).

With the technical solution in this embodiment, the setting of the first threshold and second threshold allows different simulated offset values to correspond to different coordinate conversion coefficients, so that a movement speed of the target cursor control is positively correlated with a movement speed of the target joystick.

<FIG> is a flowchart of step S3 in <FIG> according to an exemplary embodiment.

In some embodiments, the simulated offset value at the first moment may include a simulated horizontal offset value X'xi of the target joystick in the joystick coordinate system, the second position of the target cursor control includes the second horizontal position locax(k-<NUM>) of the target cursor control in the target device coordinate system, and the first position of the target cursor control includes the first horizontal position locaxk of the target cursor control in the target device coordinate system. Referring to <FIG>, step S3 may include the following steps S301 to S306.

In step S301, the simulated horizontal offset value is processed according to a first coordinate conversion coefficient in a case that an absolute value of the simulated horizontal offset value is less than a first threshold to determine a first horizontal offset value of the target cursor control.

In some embodiments, the simulated horizontal offset value X'xi may be processed according to the first coordinate conversion coefficient coeffi1 to determine the first horizontal offset value rxx1 through the formula coeffi1 * X'xi. The first threshold may be set to <NUM>, and the first coordinate conversion coefficient coeffi1 may be set to <NUM> pixels.

In step S302, the first horizontal position of the target cursor control in the target device coordinate system at the first moment is determined according to the second horizontal position and the first horizontal offset value of the target cursor control.

In some embodiments, assuming that the second horizontal position is locax(k-<NUM>), the first horizontal position locaxk at the first moment may be determined through rxx1 + locax(k-<NUM>).

In step S303, the simulated horizontal offset value is processed according to a second coordinate conversion coefficient in a case that an absolute value of the simulated horizontal offset value is greater than or equal to the first threshold and less than a second threshold to determine a second horizontal offset value of the target cursor control.

In some embodiments, the simulated horizontal offset value X'xi may be processed according to the second coordinate conversion coefficient coeffi2 to determine the second horizontal offset value rxx2 through the formula coeffi2 * X'xi.

In some embodiments, the second threshold may be set to <NUM>, and the second coordinate conversion coefficient coeffi2 may be set to <NUM> pixels.

In step S304, the first horizontal position of the target cursor control in the target device coordinate system at the first moment is determined according to the second horizontal position and the second horizontal offset value of the target cursor control.

In some embodiments, the first horizontal position locaxk at the first moment may be determined through rxx2 + locax(k-<NUM>).

In step S305, the simulated horizontal offset value is processed according to a third coordinate conversion coefficient in a case that an absolute value of the simulated horizontal offset value is greater than or equal to the second threshold and less than a third threshold to determine a third horizontal offset value of the target cursor control.

In some embodiments, the simulated horizontal offset value X'xi may be processed according to the third coordinate conversion coefficient coeffi3 to determine the third horizontal offset value rxx3 through the formula coeffi3 * X'xi.

In some embodiments, the third threshold may be set to <NUM>, and the third coordinate conversion coefficient coeffi3 may be set to <NUM> pixels.

In step S306, the first horizontal position of the target cursor control in the target device coordinate system at the first moment is determined according to the second horizontal position and the third horizontal offset value of the target cursor control, the first coordinate conversion coefficient is less than the second coordinate conversion coefficient, and the second coordinate conversion coefficient is less than the third coordinate conversion coefficient.

In some embodiments, the first horizontal position locaxk at the first moment may be determined through rxx3 + locax(k-<NUM>).

In the technical solution in this embodiment, the movement of the target cursor control in the horizontal coordinate direction of the target device coordinate system may be controlled according to the simulated horizontal offset value. As a result, a movement speed of the target cursor control in the horizontal coordinate direction of the target device coordinate system is positively correlated with a movement speed of the target joystick in the horizontal coordinate direction of the joystick coordinate system.

In some embodiments, the simulated offset value at the first moment includes a simulated vertical offset value X'yi of the target joystick in the joystick coordinate system, the second position includes a second vertical position locay(k-<NUM>) of the target cursor control in the target device coordinate system, and the first position includes a current vertical position locayk of the target cursor control in the target device coordinate system. Referring to <FIG>, step S3 may include the following steps S307 to S312.

In step S307, the simulated vertical offset value is processed according to a first coordinate conversion coefficient in a case that an absolute value of the simulated vertical offset value is less than a first threshold to determine a first vertical offset value of the target cursor control.

In some embodiments, the simulated vertical offset value X'yi may be processed according to the first coordinate conversion coefficient coeffi1 to determine the first vertical offset value rxy1 through the formula coeffi1 * X'yi. The first threshold may be set to <NUM>, and the first coordinate conversion coefficient coeffi1 may be set to <NUM> pixels.

In step S308, the first vertical position of the target cursor control in the target device coordinate system at the first moment is determined according to the second vertical position and the first vertical offset value of the target cursor control.

In some embodiments, assuming that the second vertical position is locay(k-<NUM>), the first vertical position locayk at the first moment may be determined through rxy1 + locay(k-<NUM>).

In step S309, the simulated vertical offset value is processed according to a second coordinate conversion coefficient in a case that an absolute value of the simulated vertical offset value is greater than or equal to the first threshold and less than a second threshold to determine a second vertical offset value of the target cursor control.

In some embodiments, the simulated vertical offset value X'yi may be processed according to the second coordinate conversion coefficient coeffi2 to determine the second vertical offset value rxy2 through the formula coeffi2 * X'yi.

In step S310, the first vertical position of the target cursor control in the target device coordinate system at the first moment is determined according to the second vertical position and the second vertical offset value of the target cursor control.

In some embodiments, the first vertical position locayk at the first moment may be determined through rxy2 + locay(k-<NUM>).

In step S311, the simulated vertical offset value is processed according to a third coordinate conversion coefficient in a case that an absolute value of the simulated vertical offset value is greater than or equal to the second threshold and less than a third threshold to determine a third vertical offset value of the target cursor control.

In some embodiments, the simulated vertical offset value X'yi may be processed according to the third coordinate conversion coefficient coeffi3 to determine the third vertical offset value rxy3 through the formula coeffi3 * X'yi.

In step S312, the first vertical position of the target cursor control in the target device coordinate system at the first moment is determined according to the second vertical position and the third vertical offset value of the target cursor control, the first coordinate conversion coefficient is less than the second coordinate conversion coefficient, and the second coordinate conversion coefficient is less than the third coordinate conversion coefficient.

In some embodiments, the first vertical position locayk at the first moment may be determined through rxy3 + locay(k-<NUM>).

With the technical solution in this embodiment, the movement of the target cursor control in the vertical coordinate direction of the target device coordinate system may be controlled according to the simulated vertical offset value. As a result, a movement speed of the target cursor control in the vertical coordinate direction of the target device coordinate system is positively correlated with a movement speed of the target joystick in the vertical coordinate direction of the joystick coordinate system.

<FIG> is a flowchart of a method for controlling a cursor control according to an exemplary embodiment. Referring to <FIG>, the method for controlling a cursor control may include the following steps S131 to S134.

In step S131, a target cursor control is displayed.

In some embodiments, the target cursor control may be displayed in the terminal device shown in <FIG>.

In step S132, a first position of the target cursor control in a target device coordinate system at a first moment is obtained, the first position is determined according to a simulated offset value of the target joystick in the joystick coordinate system at the first moment and an actual offset value of a target joystick of a target game controller in a joystick coordinate system, and the simulated offset value at the first moment is determined according to the actual offset value.

In step S133, a second position of the target cursor control in the target device coordinate system at a second moment is obtained.

In step S134, the target cursor control is controlled to move from the second position to the first position, a movement speed of the target cursor control from the second position to the first position is positively correlated with the simulated offset value at the first moment.

In the technical solution in the embodiment of the present disclosure, the first position of the target cursor control is determined according to the simulated offset value of the target joystick in the joystick coordinate system, and the target cursor control is controlled to move from the second position at the second moment to the first position, so that the movement speed of the target cursor control from the second position to the first position is positively correlated with the simulated offset value at the first moment, that is, the movement speed of the target cursor control is positively correlated with the shift speed of the target joystick.

In some embodiments, the actual offset value of the target joystick of the target game controller in the joystick coordinate system is an actual offset value at a moment closest to the first moment.

In some embodiments, if the target joystick always maintains at the maximum offset, that is, the simulated offset value of the target joystick in the joystick coordinate system is a maximum simulated offset value (that is, a current shifting range of the target joystick is a maximum shifting range), and the actual offset value at the moment closest to the first moment is a maximum actual offset value, the target cursor control may be controlled to move from the second position to the first position at a maximum movement speed through the technical solution provided in this embodiment. It can be understood that, in this embodiment, the maximum simulated offset value, the maximum actual offset value, and the maximum speed may be preset, which is not limited in the present disclosure.

<FIG> is a schematic diagram of a system for controlling a cursor control according to an exemplary embodiment. Referring to <FIG>, the system for controlling a cursor control includes a target game controller <NUM>, a computing device <NUM>, and a terminal device <NUM>. The target game controller <NUM> may be configured to control a target cursor control in the terminal device <NUM>.

In some embodiments, the system for controlling a cursor control may control the target cursor control by the following steps. The target game controller <NUM> is connected to the computing device <NUM> through a Bluetooth or a USB receiver, and transmits signals through the connection. The computing device <NUM> may receive an input event (such as a shifting time of a target joystick or a press instruction of a key A, which is not limited in the present disclosure) transmitted by the target game controller. When the input event of the target game controller is that the target joystick is shifted, the computing device <NUM> determines an actual offset value of the target joystick according to data transmitted by the target game controller. The computing device <NUM> performs interpolation on the actual offset value according to a preset frequency to determine a simulated offset value of the target joystick at a first moment. The computing device <NUM> determines a target coordinate conversion coefficient according to the simulated offset value (for example, when the simulated offset value is less than or equal to <NUM>, the target coordinate conversion coefficient is <NUM> pixels; when the simulated offset value is greater than <NUM> and less than or equal to <NUM>, the target coordinate conversion coefficient is <NUM> pixels; and when the simulated offset value is greater than <NUM> and less than or equal to <NUM>, the target coordinate conversion coefficient is <NUM> pixels). The computing device <NUM> determines a first position of the target cursor control at the first moment according to the target coordinate conversion coefficient, and transmits the first position of the target cursor control at the first moment to the terminal device <NUM>. The terminal device <NUM> controls the target cursor control to move from a second position at a second moment to the first position at the first moment, and a movement speed of the target cursor control from the second position to the first position is positively correlated with the simulated offset value at the first moment.

When the input event of the target game controller is an event of pressing the key A, the computing device <NUM> converts the received press instruction into a click instruction, and transmits the click instruction to the terminal device <NUM>, for the terminal device <NUM> to control the target cursor control to perform a click operation.

With the system for controlling a cursor control in this embodiment, the simulated offset value of the target joystick is determined according to the actual offset value of the target joystick, and the target cursor control is controlled to move at different speeds according to different simulated offset values. With the system provided in this embodiment, it can be ensured that a movement speed of the target cursor control is positively correlated with a movement speed of the target joystick, and the movement speed of the target cursor control through the target joystick can be controlled, and the movement precision of the target cursor control through the target joystick can also be controlled, thereby improving the user experience.

In some embodiments, the computing device <NUM> in the embodiment of <FIG> may be a device where a target cloud gaming client is located.

In some embodiments, the system for controlling a cursor control may control the target cursor control by the following steps. An application client of a target cloud game is installed on the computing device <NUM>. A user enters an application lobby, runs the client of the target cloud game, and enters a scene of the target cloud game to start the target cloud game. The target game controller <NUM> is connected to a device monitoring module of the client of the cloud game through a Bluetooth or a USB wireless receiver. During the running of the target cloud game, that is, during the display of the scene of the target cloud game, a target operation key of the game controller may be pressed and immediately released to switch the game mode for the target game controller <NUM> to control the target cursor control in the target cloud game. The computing device <NUM> may receive an input event (such as a shifting time of a target joystick or a press instruction of a key A, which is not limited in the present disclosure) transmitted by the target game controller. When the input event of the target game controller is that the target joystick is shifted, the computing device <NUM> determines an actual offset value of the target joystick according to data transmitted by the target game controller. The computing device <NUM> samples the actual offset value according to a fixed time to determine a simulated offset value of the target joystick at a first moment. The computing device <NUM> determines a target coordinate conversion coefficient according to the simulated offset value (for example, when the simulated offset value is less than or equal to <NUM>, the target coordinate conversion coefficient is <NUM> pixels; when the simulated offset value is greater than <NUM> and less than or equal to <NUM>, the target coordinate conversion coefficient is <NUM> pixels; and when the simulated offset value is greater than <NUM> and less than or equal to <NUM>, the target coordinate conversion coefficient is <NUM> pixels). The computing device <NUM> determines a first position of the target cursor control at the first moment according to the target coordinate conversion coefficient, and transmits the first position of the target cursor control at the first moment to the terminal device <NUM>. The terminal device <NUM> controls the target cursor control to move from a second position at a second moment to the first position at the first moment, a movement speed of the target cursor control from the second position to the first position being positively correlated with the simulated offset value at the first moment.

The target cursor control in the target cloud game can be controlled by the foregoing steps.

<FIG> is a block diagram of an apparatus for controlling a cursor control according to an exemplary embodiment. Referring to <FIG>, an apparatus <NUM> for controlling a cursor control in this embodiment of the present disclosure may include: an actual offset value obtaining module <NUM>, a simulated offset value obtaining module <NUM>, a position determining module <NUM>, and a movement module <NUM>. The actual offset value obtaining module <NUM> may be configured to obtain actual offset values of a target joystick in a joystick coordinate system from a target game controller, the target game controller is used for controlling a target cursor control in a target device. The simulated offset value obtaining module <NUM> may be configured to determine a simulated offset value of the target joystick in the joystick coordinate system at a first moment according to the actual offset values. The position determining module <NUM> may be configured to determine a first position of the target cursor control in a target device coordinate system at the first moment according to the simulated offset value at the first moment. The movement module <NUM> may be configured to transmit the first position to the target device to control the target cursor control to move from a second position in the target device coordinate system at a second moment to the first position, the second moment is a moment before the first moment, a movement speed of the target cursor control from the second position to the first position is positively correlated with the simulated offset value at the first moment.

In some embodiments, the simulated offset value obtaining module <NUM> may include: an interpolation submodule. The interpolation submodule may be configured to perform interpolation on the actual offset values according to a preset frequency to determine the simulated offset value of the target joystick in the joystick coordinate system at the first moment.

In some embodiments, the interpolation submodule may include: a first target actual offset value obtaining unit, a simulated offset value obtaining unit, and a first interpolation unit. The first target actual offset value obtaining unit may be configured to obtain a first target actual offset value at a moment closest to the first moment from the actual offset values. The simulated offset value obtaining unit may be configured to obtain a simulated offset value of the target joystick in the joystick coordinate system at the second moment. The first interpolation unit may be configured to determine the simulated offset value of the target joystick in the joystick coordinate system at the first moment according to the first target actual offset value and the simulated offset value at the second moment.

In some embodiments, the interpolation submodule may include: a second interpolation unit. The second interpolation unit may be configured to obtain a second target actual offset value at a moment closest to the first moment from the actual offset values as the simulated offset value of the target joystick in the joystick coordinate system at the first moment.

In some embodiments, the position determining module <NUM> may include: a first determining submodule and a first position determining submodule. The first determining submodule may be configured to process the simulated offset value at the first moment according to a first coordinate conversion coefficient in a case that an absolute value of the simulated offset value at the first moment is less than a first threshold, and determine a first offset value of the target cursor control. The first position determining submodule may be configured to determine the first position of the target cursor control in the target device coordinate system at the first moment according to the second position and the first offset value of the target cursor control. The first coordinate conversion coefficient is negatively correlated with the preset frequency.

In some embodiments, the position determining module <NUM> may further include: a second determining submodule and a second position determining submodule. The second determining submodule may be configured to process the simulated offset value at the first moment according to a second coordinate conversion coefficient in a case that an absolute value of the simulated offset value at the first moment is greater than or equal to a first threshold and less than a second threshold, and determine a second offset value of the target cursor control. The second position determining submodule may be configured to determine the first position of the target cursor control in the target device coordinate system at the first moment according to the second position and the second offset value. The second coordinate conversion coefficient is negatively correlated with the preset frequency, the second coordinate conversion coefficient is greater than a first coordinate conversion coefficient, and the first coordinate conversion coefficient is a coordinate conversion coefficient used in a case that the absolute value of the simulated offset value at the first moment is less than the first threshold.

In some embodiments, the simulated offset value includes a simulated horizontal offset value of the target joystick in the joystick coordinate system, the second position includes a second horizontal position of the target cursor control in the target device coordinate system, and the first position includes a first horizontal position of the target cursor control in the target device coordinate system.

In some embodiments, the position determining module <NUM> may include: a third determining submodule, a third position determining submodule, a fourth determining submodule, a fourth position determining submodule, a fifth determining submodule, and a fifth position determining submodule. The third determining submodule may be configured to process the simulated horizontal offset value according to a first coordinate conversion coefficient in a case that an absolute value of the simulated horizontal offset value is less than a first threshold to determine a first horizontal offset value of the target cursor control. The third determining submodule may be configured to process the simulated horizontal offset value according to a first coordinate conversion coefficient in a case that an absolute value of the simulated horizontal offset value is less than a first threshold, and determine a first horizontal offset value of the target cursor control. The third position determining submodule may be configured to determine the first horizontal position of the target cursor control in the target device coordinate system at the first moment according to the second horizontal position and the first horizontal offset value of the target cursor control. The fourth determining submodule may be configured to process the simulated horizontal offset value according to a second coordinate conversion coefficient in a case that an absolute value of the simulated horizontal offset value is greater than or equal to the first threshold and less than a second threshold to determine a second horizontal offset value of the target cursor control. The fourth position determining submodule may be configured to determine the first horizontal position of the target cursor control in the target device coordinate system at the first moment according to the second horizontal position and the second horizontal offset value of the target cursor control. The fifth determining submodule may be configured to process the simulated horizontal offset value according to a third coordinate conversion coefficient in a case that an absolute value of the simulated horizontal offset value is greater than or equal to the second threshold and less than a third threshold, and determine a third horizontal offset value of the target cursor control. The fifth position determining submodule may be configured to determine the first horizontal position of the target cursor control in the target device coordinate system at the first moment according to the second horizontal position and the third horizontal offset value of the target cursor control. The first coordinate conversion coefficient is less than the second coordinate conversion coefficient, and the second coordinate conversion coefficient is less than the third coordinate conversion coefficient.

In some embodiments, the simulated offset value includes a simulated vertical offset value of the target joystick in the joystick coordinate system, the second position includes a second vertical position of the target cursor control in the target device coordinate system, and the first position includes a first vertical position of the target cursor control in the target device coordinate system.

In some embodiments, the position determining module <NUM> may further include: a sixth determining submodule, a sixth position determining submodule, a seventh determining submodule, a seventh position determining submodule, an eighth determining submodule, and an eighth position determining submodule. The sixth determining submodule may be configured to process the simulated vertical offset value according to a first coordinate conversion coefficient in a case that an absolute value of the simulated vertical offset value is less than a first threshold to determine a first vertical offset value of the target cursor control. The sixth determining submodule may be configured to process the simulated vertical offset value according to a first coordinate conversion coefficient in a case that an absolute value of the simulated vertical offset value is less than a first threshold, and determine a first vertical offset value of the target cursor control. The sixth position determining submodule may be configured to determine the first vertical position of the target cursor control in the target device coordinate system at the first moment according to the second vertical position and the first vertical offset value of the target cursor control. The seventh determining submodule may be configured to process the simulated vertical offset value according to a second coordinate conversion coefficient in a case that an absolute value of the simulated vertical offset value is greater than or equal to the first threshold and less than a second threshold, and determine a second vertical offset value of the target cursor control. The seventh position determining submodule may be configured to determine the first vertical position of the target cursor control in the target device coordinate system at the first moment according to the second vertical position and the second vertical offset value of the target cursor control. The eighth determining submodule may be configured to process the simulated vertical offset value according to a third coordinate conversion coefficient in a case that an absolute value of the simulated vertical offset value is greater than or equal to the second threshold and less than a third threshold, and determine a third vertical offset value of the target cursor control. The eighth position determining submodule may be configured to determine the first vertical position of the target cursor control in the target device coordinate system at the first moment according to the second vertical position and the third vertical offset value of the target cursor control. The first coordinate conversion coefficient is less than the second coordinate conversion coefficient, and the second coordinate conversion coefficient is less than the third coordinate conversion coefficient.

Because the functional modules of the apparatus <NUM> for controlling a cursor control in the exemplary embodiment of the present disclosure correspond to the steps of the method for controlling a cursor control in the foregoing exemplary embodiment, details are not described herein again.

<FIG> is a block diagram of an apparatus for controlling a cursor control according to an exemplary embodiment. Referring to <FIG>, an apparatus <NUM> for controlling a cursor control in this embodiment of the present disclosure may include: a target cursor control display module <NUM>, a first position obtaining module <NUM>, a second position obtaining module <NUM>, and a movement control module <NUM>. The target cursor control display module <NUM> may be configured to display a target cursor control. The first position obtaining module <NUM> may be configured to obtain a first position of the target cursor control in a target device coordinate system at a first moment, the first position is determined according to a simulated offset value of the target joystick in the joystick coordinate system at the first moment and an actual offset value of a target joystick of a target game controller in a joystick coordinate system, and the simulated offset value at the first moment is determined according to the actual offset value. The second position obtaining module <NUM> may be configured to obtain a second position of the target cursor control in the target device coordinate system at a second moment. The movement control module <NUM> may be configured to control the target cursor control to move from the second position to the first position, a movement speed of the target cursor control from the second position to the first position being positively correlated with the simulated offset value at the first moment.

In some embodiments, the simulated offset value of the target joystick in the joystick coordinate system is a maximum simulated offset value, and the actual offset value at the moment closest to the first moment is a maximum actual offset value.

In some embodiments, the movement control module <NUM> may further be configured to control the target cursor control to move from the second position to the first position at a maximum movement speed.

According to the foregoing descriptions of the implementations, a person skilled in the art may readily understand that the exemplary implementations described herein may be implemented by using software, or may be implemented by combining software and necessary hardware. Therefore, the technical solution of the embodiments of the present disclosure may be embodied in the form of a software product. The software product may be stored in a non-volatile storage medium (which may be a CD-ROM, a USB flash drive, a removable hard disk, and the like), including several instructions to enable a computing device (which may be a personal computer, a server, a mobile terminal, a smart device, or the like) to perform the method according to the embodiments of the present disclosure, for example, one or more steps shown in <FIG>.

In addition, the foregoing drawings are only schematic illustrations of the processes included in the method according to exemplary embodiments of the present disclosure, and are not intended to be limiting. It is easily understood that the processes illustrated in the foregoing drawings do not indicate or define the chronological order of these processes. In addition, it is also easily understood that these processes may be performed, for example, synchronously or asynchronously in multiple modules.

Claim 1:
A method for controlling a cursor control, performed by an electronic device, the method comprising:
obtaining (S1), from a target game controller, actual offset values of a target joystick in a joystick coordinate system, the target game controller being used for controlling a target cursor control in a target device;
determining (S2), according to the actual offset values, a simulated offset value of the target joystick in the joystick coordinate system at a first moment;
determining (S3), according to the simulated offset value at the first moment, a first position of the target cursor control in a target device coordinate system at the first moment; and
transmitting (S4) the first position to the target device to control the target cursor control to move from a second position in the target device coordinate system at a second moment to the first position, the second moment being a moment before the first moment,
a movement speed of the target cursor control from the second position to the first position being positively correlated with the simulated offset value at the first moment;
wherein the determining, according to the actual offset values, a simulated offset value of the target joystick in the joystick coordinate system at a first moment comprises:
performing (S21) interpolation on the actual offset values according to a preset frequency, and determining the simulated offset value of the target joystick in the joystick coordinate system at the first moment, wherein the preset frequency is configured to represent a time interval for performing interpolation;
characterised in that:
performing interpolation on the actual offset values according to a preset frequency, and determining the simulated offset value of the target joystick in the joystick coordinate system at the first moment comprises:
obtaining (S211), from the actual offset values, a first target actual offset value at a moment closest to the first moment;
obtaining (S212) a simulated offset value of the target joystick in the joystick coordinate system at the second moment; and
determining (S213) the simulated offset value of the target joystick in the joystick coordinate system at the first moment according to the simulated offset value at the second moment and the first target actual offset value.