Method and device for controlling the cursor control and associated device

DE602021033506T2Active Publication Date: 2025-07-02TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602021033506
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-06-05
Filing Date
2021-05-07
Publication Date
2025-07-02
Estimated Expiration
2041-05-07

AI Technical Summary

Technical Problem

Existing game controllers for TV terminals provide inflexible cursor control, leading to inaccurate and poor gaming experiences due to non-linear joystick movements and inconsistent signal reporting, which affects cursor movement speed and accuracy.

Method used

A method and apparatus that utilize interpolation and coordinate conversion to determine simulated offset values from actual joystick inputs, ensuring consistent and precise cursor control by correlating joystick movement speed with cursor movement speed and accuracy.

Benefits of technology

Enhances user experience by providing flexible and accurate cursor control through TV terminals, aligning joystick movement with cursor movement, and improving overall gaming precision.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese Patent Application No. 202010506388.8, entitled "METHOD AND APPARATUS FOR CONTROLLING CURSOR CONTROL, AND RELATED DEVICE" filed with the China National Intellectual Property Administration on June 5, 2020.FIELD

[0002] The present disclosure relates to the field of data processing technologies, and in particular, to the technology of controlling cursor controls.BACKGROUND

[0003] 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.

[0004] 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.

[0005] 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.

[0006] The patent application No. US 2002 / 047830 A1 discloses a method and an electronic apparatus for positioning a cursor on a display. A cursor (13) is positioned on a display (5) in response to a user input (12) on a pointing device (10). The user input, which represents a desired cursor movement (14) 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.

[0007] The patent application No. US9910512B1 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.

[0008] The patent application No. WO 92 / 09982 A1 discloses a controller for improved computer pointing devices. Input force applied on a pointing device having outputs (XY, fig. 5) is related to the velocity of a cursor on a video screen according to a transfer function (fig. 2) substantially described by a parabolic sigmoid function (fig. 1), thus resulting in adapting the force / velocity relationship (fig. 2) to accommodate human perception and motor control limitations and task specific coordination problems.

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

[0010] 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.SUMMARY

[0011] 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.

[0012] 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.BRIEF DESCRIPTION OF THE DRAWINGS

[0013] 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. FIG. 1 is a schematic diagram of an application scenario of a method for controlling a cursor control or an apparatus for controlling a cursor control according to embodiments of the present disclosure. FIG. 2 is a schematic structural diagram of a computer system applied to an apparatus for controlling a cursor control according to an exemplary embodiment. FIG. 3 is a schematic diagram of a target cursor control according to an exemplary embodiment. FIG. 4 is a schematic diagram of a target cursor control according to an exemplary embodiment. FIG. 5 is a flowchart of a method for controlling a cursor control according to an exemplary embodiment. FIG. 6 is a flowchart of a method for controlling a cursor control according to an exemplary embodiment. FIG. 7 is a flowchart of step S21 in FIG. 6 according to an exemplary embodiment. FIG. 8 is a flowchart of step S3 in FIG. 6 according to an exemplary embodiment. FIG. 9 is a flowchart of step S3 in FIG. 6 according to an exemplary embodiment. FIG. 10 is a flowchart of step S3 in FIG. 6 according to an exemplary embodiment. FIG. 11 is a flowchart of step S3 in FIG. 6 according to an exemplary embodiment. FIG. 12 is a flowchart of a method for controlling a cursor control according to an exemplary embodiment. FIG. 13 is a schematic diagram of a system for controlling a cursor control according to an exemplary embodiment. FIG. 14 is a block diagram of an apparatus for controlling a cursor control according to an exemplary embodiment. FIG. 15 is a block diagram of an apparatus for controlling a cursor control according to an exemplary embodiment. DESCRIPTION OF EMBODIMENTS

[0014] 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.

[0015] 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.

[0016] 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.

[0017] 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.

[0018] 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.

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

[0020] FIG. 1 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.

[0021] As shown in FIG. 1, a system architecture 100 may include: a game controller 101, a computing device 102, and a terminal device 103. The game controller 101 may be in a network connection with the computing device 102 through a Bluetooth, a wireless receiver, a wired receiver, or the like. The computing device 102 may be in a network connection with the TV terminal 103 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.

[0022] A user may interact with the computing device 102 by using the game controller 101 through the network connection, to receive or send messages. The computing device 102 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 103 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.

[0023] In some embodiments, the computing device 102 and the terminal device 103 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 102 or the terminal device 103. This is not limited in the present disclosure.

[0024] The computing device 102 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 103. The backend administration server can process data such as a received request, and feed back processing results to the terminal device.

[0025] The computing device 102 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 102 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 102 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 102 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.

[0026] It is to be understood that the quantities of terminal device, network, and server in FIG. 1 are merely exemplary. The computing device 102 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.

[0027] 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 102 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.

[0028] In the embodiments of the present disclosure, the computing device 102 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.

[0029] 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.

[0030] 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.

[0031] 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.

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

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

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

[0035] 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 209, and / or installed from the removable medium 211. The computer program, when executed by the CPU 201, performs the foregoing functions defined in the system of the present disclosure.

[0036] 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.

[0037] 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.

[0038] 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.

[0039] 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.

[0040] 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.

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

[0042] 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.

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

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

[0045] A cloud gaming application client is installed on the computing device 102 (such as a smart TV or a TV box) shown in FIG. 1. 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 101 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 101 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 301 shown in FIG. 3 or a customized cursor control 401 shown in FIG. 4 in the terminal device 103. In this case, the customized cursor control 301 or the customized cursor control 401 may be referred to as a target cursor control. A player may control the game controller 101 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 101, and the cursor control may be controlled to perform a click operation through a key A of the game controller 101. 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).

[0046] However, the control of the cursor control through the game controller in the conventional art generally has the following defects: 1. The movement of the joystick on the game controller is not linear (for example, the change of the movement speed is not linear), and the signal that triggers the game controller to upload data is not fixed (it may be that the game controller is triggered to upload data when the joystick reaches a specific position, or it may be that the game controller is randomly triggered to upload a change value, and in short, the game controller does not upload the change value of the joystick according to a fixed time or a fixed position). As a result, when the joystick is moved from a static position to a maximum position, the number of times the game controller reports the change value may be very small or very large, and the change value may be very rare or very intensive. In the end, the movement of the cursor does not coincide with the movement of the joystick of the game controller. 2. The joystick of the game controller reports the change value only when it is continuously moved, and the game controller does not report the change value when it is still at the maximum shift position. 3. The joystick of the game controller only has an operation of changing range, but has no operation of changing speed, which is not in line with the movement operation of mouse, resulting in a bad experience to users.

[0047] 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.

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

[0049] FIG. 5 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 102 and / or the terminal device 103 in the embodiment of FIG. 1. In the following embodiment, description is made by using the computing device 102 as an execution entity, but the present disclosure is not limited thereto.

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

[0051] 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.

[0052] In some embodiments, the target game controller may be a game controller shown in FIG. 1, 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 103 shown in FIG. 1.

[0053] 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.

[0054] 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.

[0055] 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.

[0056] 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.

[0057] 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. 1.

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

[0059] 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.

[0060] 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.

[0061] 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.

[0062] 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 -1.0 and 1.0 (including -1.0 and 1.0), and a large absolute value indicates a great shift of the target joystick.

[0063] 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, 0.005), it may be determined that the target joystick moved, and the actual offset value obtained this time is valid.

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

[0065] 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:

[0066] 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.

[0067] 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.

[0068] In some embodiments, the preset frequency may be set according to actual requirements, for example, the preset frequency may be preset to 50ms each time.

[0069] 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.

[0070] 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.

[0071] For example, assuming that the coordinate conversion coefficient is 30 pixels and the simulated offset value of the target joystick in the joystick coordinate system at the first moment is 0.5, the movement offset value of the target cursor control in the target device coordinate system may be set to 0.5*30 pixels, that is, the target cursor control may move 15 pixels in the target device coordinate system.

[0072] 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.

[0073] 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.

[0074] 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.

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

[0076] 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.

[0077] 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.

[0078] 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.

[0079] 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.

[0080] 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.

[0081] 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).

[0082] FIG. 7 is a flowchart of step S21 in FIG. 6 according to an exemplary embodiment. Referring to FIG. 7, step S21 may include the following steps S211 to S213.

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

[0084] In some embodiments, the first target actual offset value X i 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 1.

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

[0086] In some embodiments, the simulated offset value X' k-1 of the target joystick at the second moment may be obtained. If there is no simulated offset value at the second moment, X' k-1 may be set equal to the first target actual offset value X i .

[0087] 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.

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

[0089] 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.

[0090] 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.

[0091] 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.

[0092] FIG. 8 is a flowchart of step S3 in FIG. 6 according to an exemplary embodiment. Referring to FIG. 8, step S3 may include the following steps S31 and S32.

[0093] 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.

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

[0095] 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.

[0096] 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.

[0097] In some embodiments, assuming that the second position is loca k-1 the first position loca k of the target cursor control may be determined according to rx1 + loca (k-1) .

[0098] In some embodiments, the second position may include a second horizontal position loca x(k-1) and a second vertical position loca y(k-1) , the first offset value rx1 may include a first target horizontal offset value r x1 and a first target vertical offset value r y1 , and a first horizontal position loca xk and a first vertical position loca yk may be determined through r x1 + loca x(k-1) and r y1 + loxc y (k-1).

[0099] 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.

[0100] FIG. 9 is a flowchart of step S3 in FIG. 6 according to an exemplary embodiment. Referring to FIG. 9, step S3 may include the following steps S33 and S34.

[0101] 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.

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

[0103] 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.

[0104] In some embodiments, the second position may include a second horizontal position loca x(k-1) and a second vertical position loca y(k-1) , the second offset value may include a second target horizontal offset value r x2 and a second target vertical offset value r y2 , and a first horizontal position loca xk and a second vertical position loca yk may be determined through rx 2 + loca x(k-1) and r y2 + loca y(k-1).

[0105] 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.

[0106] FIG. 10 is a flowchart of step S3 in FIG. 6 according to an exemplary embodiment.

[0107] 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 loca x(k-1) 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 loca xk of the target cursor control in the target device coordinate system. Referring to FIG. 10, step S3 may include the following steps S301 to S306.

[0108] 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.

[0109] 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 rx x1 through the formula coeffi1 * X' xi . The first threshold may be set to 0.6, and the first coordinate conversion coefficient coeffi1 may be set to 10 pixels.

[0110] 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.

[0111] In some embodiments, assuming that the second horizontal position is loca x(k-1) , the first horizontal position loca xk at the first moment may be determined through rx x1 + loca x(k-1) .

[0112] 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.

[0113] 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 rx x2 through the formula coeffi2 * X' xi .

[0114] In some embodiments, the second threshold may be set to 0.9, and the second coordinate conversion coefficient coeffi2 may be set to 20 pixels.

[0115] 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.

[0116] In some embodiments, the first horizontal position loca xk at the first moment may be determined through rx x2 + loca x(k-1) .

[0117] 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.

[0118] 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 rx x3 through the formula coeffi3 * X' xi .

[0119] In some embodiments, the third threshold may be set to 1, and the third coordinate conversion coefficient coeffi3 may be set to 30 pixels.

[0120] 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.

[0121] In some embodiments, the first horizontal position loca xk at the first moment may be determined through rx x3 + loca x(k-1) .

[0122] 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.

[0123] FIG. 11 is a flowchart of step S3 in FIG. 6 according to an exemplary embodiment.

[0124] 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 loca y(k-1) of the target cursor control in the target device coordinate system, and the first position includes a current vertical position loca yk of the target cursor control in the target device coordinate system. Referring to FIG. 11, step S3 may include the following steps S307 to S312.

[0125] 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.

[0126] 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 rx y1 through the formula coeffi1 * X' yi . The first threshold may be set to 0.6, and the first coordinate conversion coefficient coeffi1 may be set to 10 pixels.

[0127] 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.

[0128] In some embodiments, assuming that the second vertical position is loca y(k-1) , the first vertical position loca yk at the first moment may be determined through rx y1 + loca y(k-1) .

[0129] 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.

[0130] 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 rx y2 through the formula coeffi2 * X' yi .

[0131] In some embodiments, the second threshold may be set to 0.9, and the second coordinate conversion coefficient coeffi2 may be set to 20 pixels.

[0132] 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.

[0133] In some embodiments, the first vertical position loca yk at the first moment may be determined through rx y2 + loca y(k-1) .

[0134] 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.

[0135] 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 rx y3 through the formula coeffi3 * X' yi .

[0136] In some embodiments, the third threshold may be set to 1, and the third coordinate conversion coefficient coeffi3 may be set to 30 pixels.

[0137] 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.

[0138] In some embodiments, the first vertical position locayk at the first moment may be determined through rx y3 + loca y(k-1) .

[0139] 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.

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

[0141] In step S131, a target cursor control is displayed.

[0142] In some embodiments, the target cursor control may be displayed in the terminal device shown in FIG. 1.

[0143] 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.

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

[0145] 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.

[0146] 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.

[0147] 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.

[0148] 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.

[0149] FIG. 13 is a schematic diagram of a system for controlling a cursor control according to an exemplary embodiment. Referring to FIG. 13, the system for controlling a cursor control includes a target game controller 131, a computing device 132, and a terminal device 133. The target game controller 131 may be configured to control a target cursor control in the terminal device 132.

[0150] In some embodiments, the system for controlling a cursor control may control the target cursor control by the following steps. The target game controller 131 is connected to the computing device 132 through a Bluetooth or a USB receiver, and transmits signals through the connection. The computing device 132 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 132 determines an actual offset value of the target joystick according to data transmitted by the target game controller. The computing device 132 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 132 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 0.6, the target coordinate conversion coefficient is 10 pixels; when the simulated offset value is greater than 0.6 and less than or equal to 0.9, the target coordinate conversion coefficient is 20 pixels; and when the simulated offset value is greater than 0.9 and less than or equal to 1, the target coordinate conversion coefficient is 30 pixels). The computing device 132 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 133. The terminal device 133 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.

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

[0152] 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.

[0153] In some embodiments, the computing device 132 in the embodiment of FIG. 13 may be a device where a target cloud gaming client is located.

[0154] 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 132. 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 131 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 131 to control the target cursor control in the target cloud game. The computing device 132 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 132 determines an actual offset value of the target joystick according to data transmitted by the target game controller. The computing device 132 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 132 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 0.6, the target coordinate conversion coefficient is 10 pixels; when the simulated offset value is greater than 0.6 and less than or equal to 0.9, the target coordinate conversion coefficient is 20 pixels; and when the simulated offset value is greater than 0.9 and less than or equal to 1, the target coordinate conversion coefficient is 30 pixels). The computing device 132 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 133. The terminal device 133 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.

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

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

[0157] FIG. 14 is a block diagram of an apparatus for controlling a cursor control according to an exemplary embodiment. Referring to FIG. 14, an apparatus 1400 for controlling a cursor control in this embodiment of the present disclosure may include: an actual offset value obtaining module 1401, a simulated offset value obtaining module 1402, a position determining module 1403, and a movement module 1404. The actual offset value obtaining module 1401 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 1402 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 1403 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 1404 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.

[0158] In some embodiments, the simulated offset value obtaining module 1402 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.

[0159] 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.

[0160] 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.

[0161] In some embodiments, the position determining module 1403 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.

[0162] In some embodiments, the position determining module 1403 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.

[0163] 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.

[0164] In some embodiments, the position determining module 1403 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.

[0165] 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.

[0166] In some embodiments, the position determining module 1403 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.

[0167] Because the functional modules of the apparatus 1400 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.

[0168] FIG. 15 is a block diagram of an apparatus for controlling a cursor control according to an exemplary embodiment. Referring to FIG. 15, an apparatus 1500 for controlling a cursor control in this embodiment of the present disclosure may include: a target cursor control display module 1501, a first position obtaining module 1502, a second position obtaining module 1503, and a movement control module 1504. The target cursor control display module 1501 may be configured to display a target cursor control. The first position obtaining module 1502 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 1503 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 1504 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.

[0169] 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.

[0170] 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.

[0171] In some embodiments, the movement control module 1504 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.

[0172] Because the functional modules of the apparatus 1500 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.

[0173] 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. 5.

[0174] 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.

[0175] It is to be understood that, the present disclosure is not limited to the detailed structures, drawings, or implementation methods described herein.

Claims

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.

2. The method according to claim 1, wherein the 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 comprises: processing (S31) 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 determining a first offset value of the target cursor control; and determining (S32), according to the second position and the first offset value, the first position of the target cursor control in the target device coordinate system at the first moment, wherein the first coordinate conversion coefficient is negatively correlated with the preset frequency.

3. The method according to claim 1, wherein the 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 further comprises: processing (S33) 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 determining a second offset value of the target cursor control; and determining (S34), according to the second position and the second offset value, the first position of the target cursor control in the target device coordinate system at the first moment, wherein 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.

4. An apparatus for controlling a cursor control, comprising: an actual offset value obtaining module (1401), configured to obtain, from a target game controller, actual offset values of a target joystick in a joystick coordinate system, the target game controller being configured for controlling a target cursor control in a target device; a simulated offset value obtaining module (1402), configured to determine, according to the actual offset values, a simulated offset value of the target joystick in the joystick coordinate system at a first moment; a position determining module (1403), configured to determine, 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 a movement module (1404), 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 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 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, from the actual offset values, a first target actual offset value at a moment closest to the first moment; obtaining a simulated offset value of the target joystick in the joystick coordinate system at the second moment; and determining 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.

5. An electronic device, comprising: one or more processors; and a storage apparatus, configured to store one or more programs, the one or more programs, when executed by the one or more processors, causing the one or more processors to implement the method according to any one of claims 1 to 3.

6. A computer-readable storage medium, storing a computer program, the program, when executed by a processor, implementing the method according to any one of claims 1 to 3.

7. A computer program product, the computer program product, when executed, being configured to implement the method according to any one of claims 1 to 3.