Mouse cursor shuttling method, electronic equipment and storage medium

Through the mouse cursor shuttle method between the server device and the client device, the display edge is used as the logical boundary, the problem of insufficient mouse between multiple devices is solved, and the cursor sharing operation without the real mouse is realized.

CN120276692APending Publication Date: 2025-07-08BOE TECHNOLOGY GROUP CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410022141.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-05
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

In case of multiple computer devices requiring mouse operation but insufficient mouse number or the device cannot use the mouse, the operation is inconvenient.

Method used

By implementing the method of shuttle between the server device and the client device on the server device side, the display edge of the server device is used as the logical boundary to realize the sharing of the mouse cursor between multiple devices, including connection establishment, position relationship determination and cursor shuttle operation.

Benefits of technology

It realizes the sharing of mouse cursor operation without adding real mouse between multiple computer devices, solving the problem of inconvenient operation of the device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120276692A_ABST
    Figure CN120276692A_ABST
Patent Text Reader

Abstract

The invention provides a method for enabling a mouse cursor to shuttle between server-side equipment and client-side equipment, electronic equipment and a computer readable storage medium, wherein the method is executed on the side of the server-side equipment and is used for enabling the mouse cursor to shuttle between the server-side equipment and the client-side equipment. The method comprises the following steps: according to a connection request, establishing connection between the server-side equipment and one client-side equipment in at least one client-side equipment; determining a logical relative position relationship between the server-side equipment and the client-side equipment; wherein a display of the server-side equipment comprises at least one edge, and each edge is logically occupied by one client-side equipment and is used as a boundary for enabling a mouse cursor to shuttle between the server-side equipment and the client-side equipment; different edges are occupied by different client devices; and moving a mouse of the server-side equipment to reach and be far away from an edge corresponding to the client-side equipment to realize shuttling of a mouse cursor between the server-side equipment and the client-side equipment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computers, and in particular, to a method for shuttling (moving) a mouse cursor between a server device and a client device, which is executed on the server device side, an electronic device for shuttling (moving) a mouse cursor between the server device and the client device, which is executed on the server device side, and a computer-readable storage medium. Background Art

[0002] A mouse is an external input device of a computer and also an indicator for positioning the horizontal and vertical coordinates of a computer display system. The use of a mouse is to make the operation of a computer more convenient and fast, replacing the cumbersome instructions of a keyboard.

[0003] However, in some cases, a computer device is not equipped with a mouse, it is inconvenient to use a mouse on a computer device, or the mouse of a computer device cannot be used, such as the following scenarios: when several computer devices all require mouse operations but the number of mice is insufficient; when projecting a screen during a meeting, a certain participant needs to go to the podium to speak, and it is not convenient to bring his own computer to the podium, or the data is very large and inconvenient to copy, or the computer on the podium is inconvenient to operate; when a self-service device in a hospital or a bank fails and needs to be repaired; when the interface of a computer device is damaged and cannot be connected to a mouse.

[0004] In these above exemplary cases, due to the inconvenient operation of the computer device, it will bring great inconvenience to users. Summary of the Invention

[0005] Therefore, the present disclosure aims to provide a method for shuttling (moving) a mouse cursor between a server device and a client device, which is executed on the server device side, an electronic device for shuttling (moving) a mouse cursor between the server device and the client device, which is executed on the server device side, and a computer-readable storage medium, so as to solve the above technical problems existing in the prior art.

[0006] In a first aspect, the present disclosure provides a method for shuttling a mouse cursor between a server device and a client device, which is executed on the server device side, including:

[0007] Establishing a connection between the server device and one client device among at least one client device according to a connection request;

[0008] Determine the logical relative position relationship between the server device and the client device; wherein, the display of the server device includes at least one edge, and each edge is logically occupied by a client device and serves as a boundary for the mouse cursor to shuttle between the server device and the client device; different edges are occupied by different client devices; and

[0009] By moving the mouse of the server device to and away from the edge corresponding to the client device, the mouse cursor shuttles between the server device and the client device.

[0010] In some embodiments of the present disclosure, establishing the connection between the server device and the client device includes:

[0011] Judge whether the number of client devices already connected to the server device has reached the maximum value; and

[0012] If the number of client devices already connected to the server device has not reached the maximum value, establish the connection between the server device and the client device and notify the client device that the connection is successfully established.

[0013] In some embodiments of the present disclosure, determining the logical relative position relationship between the server device and the client device includes:

[0014] Receive a position request from the client device; wherein, the position request is a request from the client device for the edge of the display of the server device that it expects to occupy;

[0015] Judge whether the edge that the client device requests to occupy is already occupied by other client devices;

[0016] If the edge that the client device requests to occupy is already occupied by other client devices, automatically allocate an unoccupied edge to the client device; and

[0017] If the edge that the client device requests to occupy is not occupied by other client devices, allocate the edge that the client device expects to occupy according to the position request from the client device.

[0018] In some embodiments of the present disclosure, at least one edge of the display of the server device includes 4 edges; the number of at least one client device is less than or equal to 4.

[0019] In some embodiments of the present disclosure, shuttling the mouse cursor between the server device and the client device includes: moving the mouse cursor from the server device to the client device and moving the mouse cursor from the client device to the server device.

[0020] In some embodiments of the present disclosure, for the client device that corresponds to any edge and has established a connection with the server device, moving the mouse cursor from the server device to the client device includes:

[0021] Obtaining the coordinate value of the mouse cursor currently displayed on the display of the server device;

[0022] Determining whether the mouse cursor has reached the edge of the display of the server device occupied by the client device;

[0023] If the mouse cursor has reached the edge of the display of the server device occupied by the client device, then

[0024] According to the display resolution of the client device, converting the coordinate value of the mouse cursor displayed on the display of the server device into an initial coordinate value to be displayed on the display of the client device, recording the initial coordinate value, and sending the initial coordinate value to the client device to display the mouse cursor at the corresponding position on the display of the client device according to the initial coordinate value;

[0025] Hiding the mouse cursor at a first position within the central area of the display of the server device except for the edge;

[0026] Displaying the cursor departure flag on the display of the server device; wherein, the cursor departure flag indicates that the mouse cursor is not displayed on the display of the server device, and the mouse cursor is displayed on the display of the client device for operating the client device.

[0027] In some embodiments of the present disclosure, after displaying the cursor departure flag on the display of the server device, the method further includes:

[0028] Moving the mouse of the server device to obtain a new coordinate value of the mouse cursor at the server device;

[0029] Calculating the difference between the new coordinate value and the coordinate of the hidden mouse cursor at the first position, and obtaining a new coordinate value of the mouse cursor to be displayed on the display of the client device according to the difference;

[0030] Recording the new coordinate value of the mouse cursor displayed on the display of the client device, and sending the new coordinate value of the mouse cursor displayed on the display of the client device to the client device, so as to display the mouse cursor at a corresponding position on the display of the client device according to the new coordinate value of the mouse cursor displayed on the display of the client device;

[0031] The mouse cursor is hidden at the first position.

[0032] In some embodiments of the present disclosure, for the client device corresponding to any edge and having established a connection with the server device, moving a mouse cursor from the client device to the server device includes:

[0033] Move the mouse of the server device,

[0034] Acquire the coordinate value of the mouse cursor currently at the server device, calculate the coordinate value of the mouse cursor displayed on the display of the client device, and determine whether the obtained coordinate value of the mouse cursor displayed on the display of the client device is equal to a first threshold;

[0035] If the coordinate value is equal to the first threshold, the cursor leaving flag is cleared, and the coordinate value of the mouse cursor displayed on the display of the server device is calculated to display the mouse cursor on the server device, wherein the mouse cursor moves to the display of the server device through the edge of the display of the server device occupied by the client device.

[0036] In some embodiments of the present disclosure, before establishing the connection between the server device and the client device, the method further includes:

[0037] The client device initiates the connection request to the server device, or the server device initiates the connection request to the client device, so as to establish a connection between the client device and the server device.

[0038] In a second aspect, the present disclosure provides an electronic device executed on a server device side for enabling a mouse cursor to shuttle between the server device and a client device, comprising: a processor and a memory storing a computer program, wherein the computer program is executed by the processor to execute a method as described in any one of the embodiments of the first aspect.

[0039] In a third aspect, the present disclosure provides a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the method as described in any one of the embodiments of the first aspect is executed.

[0040] The present disclosure provides a method for implementing mouse cursor shuttling between multiple computer devices with the same or different operating systems. In the present disclosure, mouse cursor shuttling means that the mouse cursor can be repeatedly switched and moved between different computer devices. The mouse cursor shuttling solution provided by the present disclosure can realize sharing of a mouse between multiple computer devices with the same or different operating systems without adding a real mouse. This solves the problem of inconvenient operation caused by the need for mouse operations on multiple computer devices but the inability to actually operate the mouse. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] According to various disclosed embodiments, the following drawings are merely examples for illustrative purposes and are not intended to limit the scope of the present invention.

[0042] Figure 1 is a flowchart of a method for shuttling a mouse cursor between the server device and the client device executed on the server device side according to an embodiment of the present disclosure.

[0043] Figure 2 is a schematic diagram of the connection between the server device and the client device according to an embodiment of the present disclosure.

[0044] Figure 3 is a flowchart of moving the mouse cursor from the server device to the client device according to an embodiment of the present disclosure.

[0045] Figure 4 is a flowchart of moving the mouse cursor from the client device to the server device according to an embodiment of the present disclosure.

[0046] Figure 5 is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure.

[0047] Figure 6 is a schematic structural diagram of a computer-readable storage medium provided by an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0048] The present disclosure will now be described more specifically with reference to the following embodiments. It should be noted that the following description of some embodiments presented in this specification is for illustrative and descriptive purposes only. It is not exhaustive or limited to the exact forms disclosed.

[0049] In a first aspect, the present disclosure provides a method for shuttling (moving) a mouse cursor between a server device and a client device executed on the server device side. Figure 1 is a flowchart of a method for shuttling a mouse cursor between the server device and the client device executed on the server device side according to an embodiment of the present disclosure. As Figure 1As shown, the method includes the following steps:

[0050] S1 A connection request is initiated by one of at least one client device to the server device or by the server device to the client device to establish a connection between the client device and the server device;

[0051] S2 A connection between the server device and the client device is established according to the connection request;

[0052] S3 Determine the logical relative position relationship between the server device and the client device; wherein, the display of the server device includes at least one edge (which can also be referred to as a side or a border), and each edge is logically occupied by a client device and serves as the boundary for the mouse cursor to shuttle between the server device and this client device; different edges are occupied by different client devices;

[0053] S4 By controlling the mouse connected to the server device, the mouse cursor is shuttled between the server device and the client device.

[0054] In some embodiments of the present disclosure, the mouse cursor is shuttled between the server device and the client device by moving the mouse of the server device to reach and move away from the edge corresponding to the client device.

[0055] Figure 2 It is a schematic diagram of the connection between the server device and the client device according to an embodiment of the present disclosure.

[0056] In some embodiments of the present disclosure, a connection is established between the server device and the client device through a network (such as the Internet, local area network, wide area network, etc.). In some embodiments of the present disclosure, a connection is established between the server device and the client device in a wired or wireless form.

[0057] In some embodiments of the present disclosure, a client device supporting multiple forms and multiple operating systems is connected to a server device. The server device may be a desktop, an all-in-one computer, a laptop, or a tablet computer. The server device may be a device connected to an operable real mouse. The client device may be a desktop, an all-in-one computer, a laptop, a tablet computer, an Android all-in-one machine, or an Android large-size device. The operating system of the server device may be Huawei Hongmeng system, Microsoft Windows, macOS, Linux, Google Chrome OS, iOS, Android, kaios, ipad OS, fuchsia OS. The operating system of the client device may be Huawei Hongmeng system, Microsoft Windows, macOS, Linux, Google Chrome OS, iOS, Android, kaios, ipad OS, fuchsia OS.

[0058] In some embodiments of the present disclosure, the server device is connected to a real mouse and can receive and process all mouse operations, including movement, left-key events, right-key events, or wheel scrolling, etc. These operations can also be called physical operations of the mouse. The server device determines all mouse cursor operations based on the connection status of the client device and the movement range of the mouse cursor.

[0059] As known to those skilled in the art, the mouse also includes a multi-button mouse, such as a two-button mouse, a three-button mouse for AutoCAD software, and a five-button mouse commonly used in electronic games, etc. In some embodiments of the present disclosure, the server device can be connected to the above-mentioned various types of mice, and perform all operations of the connected mouse to realize all functions of the connected mouse.

[0060] In some embodiments of the present disclosure, a request for connection between a client device and a server device is initiated by the client device to the server device. Specifically, a connection request can be initiated on the client device side using a remote control or a touch screen, or by operating a mouse on the client device side. For example, when a conference screen is projected, a participant uses a mouse to operate his or her computer offstage to initiate a connection request, and then goes to the stage to speak after the connection between the client device and the server device is established. Alternatively, in other embodiments, an application can be automatically run when the client device is turned on, and a connection request is initiated by the server device to the client device. The connection is confirmed by the client device, and the confirmation result is fed back to the server device, and then the server device directly establishes a connection between the client device and the server device.

[0061] In some embodiments of the present disclosure, step S2 of establishing a connection between the server device and the client device includes the following steps:

[0062] S21 Determine whether the number of client devices already connected to the server device has reached the maximum value;

[0063] If the number of client devices already connected to the server device has not reached the maximum value, then S22 Establish a connection between the server device and the client device and notify the client device that the connection is successfully established.

[0064] If the number of client devices already connected to the server device has reached the maximum value, then a connection cannot be established with this client device. At the same time, the server device notifies the client device that the connection establishment fails, and the client device receives the notification of the connection establishment failure and stops running the relevant application program.

[0065] In some embodiments of the present disclosure, step S3 of determining the logical relative position relationship between the server device and the client device includes the following steps:

[0066] S31 Receive the display resolution and position request of the client device; wherein, the position request is: the request of the client device for the edge of the display of the server device that it expects to occupy;

[0067] S32 Determine whether the edge that the client device requests to occupy is already occupied by other client devices;

[0068] If the edge that the client device requests to occupy is already occupied by other client devices, then S34 Automatically allocate an unoccupied edge for the client device; if the edge that the client device requests to occupy is not occupied by other client devices, then S35 Allocate the edge that the client device requests to occupy according to the position request from the client device. The server device will save the information of the client device for subsequent use of the mouse cursor to shuttle.

[0069] In some embodiments of the present disclosure, the display of the server device includes multiple edges. Generally, since the display is rectangular, the display of the server device includes four edges. The number of client devices simultaneously connected to the server device is limited, and this number does not exceed the number of edges of the display of the server device. However, the present disclosure is not limited thereto, and other ways can also be used to limit the number of client devices simultaneously connected to the server device. For example, one edge corresponds to two client devices, and each client device corresponds to a part of an edge. For example, the upper half of the right edge corresponds to one client device, and the lower half corresponds to another client device. In the present disclosure, the example where the number of client devices simultaneously connected to the server device does not exceed the number of edges of the display of the server device is used for description.

[0070] In some embodiments of the present disclosure, each edge is logically occupied by one client device, and different edges are logically occupied by different client devices, which means that each client device corresponds to one edge, and different client devices correspond to different edges. For each client device, the server device only provides one edge of the display. This edge is used as the boundary for the mouse cursor to shuttle between the server device and the corresponding client device to represent the relative position between the server device and the corresponding client device.

[0071] In some embodiments of the present disclosure, the server device needs to determine the logical relative position relationship with the client device. In the present disclosure, preferably, the edge positions of the display of the server device (i.e., the upper, lower, left, and right edge positions of the display of the server device) are used as the relative position with the client device, and at the same time, this relative position is used as the boundary for the mouse cursor to shuttle in and out. That is, the corresponding edge of the display of the server device is used as the boundary for the mouse cursor to shuttle (from the server device into the client device and from the client device into the server device). The server device receives the movement event of the real mouse connected to the server device. After the server device determines that the mouse cursor moves to the edge of the display of the server device, if the mouse cursor continues to move outwards, the mouse cursor shuttle starts, the mouse cursor disappears on the display of the server device, and appears on the display of the client device.

[0072] Common displays usually only have four edges, namely, upper, lower, left, and right. In one embodiment, the server device can be simultaneously connected to a maximum of 4 client devices. In the present disclosure, the example where the display has four edges, namely, upper, lower, left, and right, is used for description.

[0073] Such as Figure 2As shown, a server device SE includes four edges R1 to R4 (i.e., the four edges R1 to R4 of the display screen of the server device SE), corresponding to four client devices CL1 to CL4 connected to the server device SE respectively. The server device SE further includes a central area MA, which is used to position the mouse cursor originally at the server device SE at a position within the central area MA when the mouse cursor shuttles to the display of any client device. When the mouse cursor passes through edge R1, the mouse cursor will shuttle to the display of the corresponding client device CL1, that is, edge R1 is logically occupied by client device CL1. Similarly, when the mouse cursor passes through edge R2, the mouse cursor will shuttle to the display of the corresponding client device CL2, that is, edge R2 is logically occupied by client device CL2. When the mouse cursor passes through edge R3, the mouse cursor will shuttle to the display of the corresponding client device CL3, that is, edge R3 is logically occupied by client device CL3. When the mouse cursor passes through edge R4, the mouse cursor will shuttle to the display of the corresponding client device CL4, that is, edge R4 is logically occupied by client device CL4.

[0074] For the relative position relationship between the client device and the server device, it can be automatically assigned by the server device according to the current connection situation, or the client device can apply actively.

[0075] In one embodiment, for the case where there are more than 4 client devices, the connection between the client devices that do not need to be operated temporarily and the server device can be disconnected, and only the client devices that need to be operated are connected to the server device. When no client device is connected to the server device, all mouse operations take effect on the server device.

[0076] For example, there are more than five client devices that need to be operated, and the server device can connect to at most four client devices, that is, the number of client devices already connected to the server device has exceeded the maximum value. When the fifth or sixth client device needs to be operated, just disconnect the connection between one or several of the already connected client devices and the server device, and connect the client device to be operated to the server device. In the above situation, the user can select the relative position relationship between the client device to be replaced and the server device; alternatively, since the server device stores information about the previously connected client devices, when a previously connected client device is connected to the server device again, the relative position relationship between the client device and the server device is preferentially maintained as the relative position relationship during the previous connection, and at the same time, a position is automatically assigned to the newly connected client device.

[0077] In some embodiments of the present disclosure, shuttling the mouse cursor between the server device and the client device includes: moving the mouse cursor from the server device to the client device and moving the mouse cursor from the client device to the server device.

[0078] Figure 3 FIG. is a flowchart of a method for moving a mouse cursor from a server device to a client device according to an embodiment of the present disclosure. In some embodiments of the present disclosure, as Figure 3 shown, for a client device that corresponds to any edge and has established a connection with the server device, moving the mouse cursor from the server device to the client device includes the following steps:

[0079] S01 Obtain the coordinate value (first coordinate value) of the mouse cursor currently displayed on the display of the server device;

[0080] S02 Determine whether a cursor departure flag exists. The cursor departure flag indicates that the mouse is no longer used to implement operations on the server device, but the mouse cursor has shuttled to the client device to implement operations on the client device. It should be noted that regardless of whether the mouse cursor is displayed on the client device to implement operations on the client device or on the server device to implement operations on the server device, the physical operation of the mouse is performed at the server device by the user at the server device. In one embodiment, the cursor departure flag may be, for example, a specific pattern at a specific position (such as on the edge), such as a circle, a hollow circle, a star, etc. The specific edge may indicate that the physical operation of the mouse is implementing operations on its corresponding client device.

[0081] If the cursor departure flag does not exist at the server device, that is, it indicates that the mouse cursor is still on the display of the server device at this time, then execute S03: Determine whether the mouse cursor has reached the edge of the display of the server device occupied by the client device;

[0082] If the mouse cursor has not reached the edge of the display of the server device occupied by the client device, then do not perform the mouse cursor shuttle, as Figure 3 shown in step S032.

[0083] If the mouse cursor has reached the edge of the display of the server device occupied by the client device, then perform step S04, including:

[0084] S041 According to the display resolution of the client device, convert the coordinate value of the mouse cursor displayed on the display of the server device into the initial coordinate value to be displayed on the display of the client device, record the initial coordinate value, and send the initial coordinate value to the client device to display the mouse cursor at the corresponding position on the display of the client device according to the initial coordinate value;

[0085] S042 hides the mouse cursor displayed on the display of the server device. At this time, the hidden mouse cursor is located within the central area of the display of the server device, as Figure 2 shown in the central area MA. In some embodiments of the present disclosure, the hidden cursor is located at a position (e.g., the first position) within the central area of the display of the server device.

[0086] Figure 2 The central area MA shown is rectangular, and it can also be other shapes, such as a square, a circle, an ellipse, a rhombus, etc. that occupy the central position of the display of the server device. As long as the hidden mouse cursor on the display of the server device is located at a relatively central position of the display of the server device to provide sufficient space for the movement of the mouse cursor. Preferably, the hidden mouse cursor on the display of the server device is located at the central position of the display screen of the server device. At this time, the coordinate value of the mouse cursor at the server device is the central coordinate value.

[0087] S043 displays a cursor departure flag, and this cursor departure flag indicates that the mouse cursor is not displayed on the display of the server device, and the mouse cursor is displayed on the display of the client device;

[0088] If the cursor departure flag exists at the server device, it means that the current mouse cursor has shuttled to the client device, then execute S05: Convert the coordinate value of the mouse cursor at the server device into the coordinate value (the second coordinate value) of the mouse cursor displayed on the display of the client device, record this coordinate value, and send this coordinate value to the client device to display the mouse cursor at the corresponding position on the display of the client device according to this coordinate value.

[0089] In some embodiments of the present disclosure, the existence of the cursor departure flag at the server device means that the current mouse cursor has shuttled to the client. At this time, it is necessary to convert the coordinates of the mouse cursor of the server device into the coordinates of the mouse cursor to be displayed on the client device, and send the converted coordinate value to the client device for display.

[0090] In some embodiments of the present disclosure, step S05, converting the coordinate value of the mouse cursor at the server device into the coordinate value of the mouse cursor displayed on the display of the client device, recording this coordinate value, and sending this coordinate value to the client device to display the mouse cursor at the corresponding position on the display of the client device according to this coordinate value, includes:

[0091] When the mouse cursor at the server device has been hidden and is located within the central area of the display of the server device, move the mouse of the server device to obtain new coordinate values of the mouse cursor at the server device;

[0092] S052 Calculate the difference between the new coordinate values and the coordinates of the first position where the hidden mouse cursor is located within the central area of the display of the server device, and obtain the coordinate values of the mouse cursor newly displayed on the display of the client device based on this difference;

[0093] S053 Record the coordinate values of the mouse cursor newly displayed on the display of the client device, and send these coordinate values to the client device to display the mouse cursor at the corresponding position on the display of the client device according to these coordinate values;

[0094] S054 Return the mouse cursor at the server device to the first position within the central area of the display.

[0095] In the embodiments of the present disclosure, each step may be executed sequentially in the order shown in the drawings, may be executed in parallel, or may be executed in the reverse order of the order shown in the drawings. The present disclosure does not make any limitations in this regard.

[0096] As an example, the right edge of the display of the server device is used as the boundary for the mouse cursor to shuttle between the client device connected to the server device and the server device; the resolution of the display of the server device is: 3840×2160; the resolution of the display of the client device is: 1920×1080. Under the above conditions, the following exemplary description is made.

[0097] Combined with Figures 1 to 3 , the server device has established a connection with a client device, and the right edge of the display of the server device is the boundary for the mouse cursor to shuttle. Moving the mouse cursor from the server device to the client device includes the following steps:

[0098] S01 Obtain the coordinate values (first coordinate values) of the mouse cursor currently displayed on the display of the server device;

[0099] S02 Determine whether the cursor departure flag exists;

[0100] If the cursor departure flag of the server device does not exist, then execute S03: Determine whether the cursor reaches the edge of the display of the server device occupied by the client device, that is, the boundary where the mouse cursor shuttles between the server device and the client device, which is to determine whether the mouse cursor reaches the right edge of the display of the server device. For example, when the mouse cursor reaches the right edge of the display of the server device, the abscissa of the mouse cursor is x = 3840; if x < 3840, that is, it does not reach the right edge, all the movement and click events of the mouse cursor are processed on the server device, and there is no need for the mouse cursor to shuttle; if the mouse cursor has reached the right edge of the display of the server device, that is, x = 3840, it means that the mouse cursor of the server device will shuttle to the client device;

[0101] If the mouse cursor does not reach the edge of the display of the server device occupied by the client device, then the mouse cursor shuttle is not executed.

[0102] If the mouse cursor has reached the right edge of the display of the server device, then perform step S04, including:

[0103] S041 According to the display resolution of the client device, convert the coordinate value of the mouse cursor displayed on the display of the server device into the initial coordinate value displayed on the display of the client device, record the initial coordinate value, and send the initial coordinate value to the client device to display the mouse cursor at the corresponding position on the display of the client device according to the initial coordinate value;

[0104] S042 Hide the mouse cursor displayed on the display of the server device, where the hidden mouse cursor is located at, for example, the center position of the display of the server device, and the coordinate value of the hidden mouse cursor is the center coordinate value; the center coordinate value of the mouse cursor is: (1920, 1080);

[0105] S043 Display the cursor departure flag, which indicates that the mouse cursor is not displayed on the display of the server device and the mouse cursor is displayed on the display of the client device.

[0106] In an embodiment of the present disclosure, the client device corresponds to the right edge of the display of the server device. It can be considered that the client device is on the right side of the server device. That is, when the mouse cursor crosses the right edge of the display of the server device and enters the client device, it first appears at the left edge of the display of the client device. Therefore, the abscissa x of the initial coordinate value displayed on the display of the client device is 0. Therefore, it is only necessary to calculate the ordinate y of the initial coordinate value displayed on the display of the client device, and the calculation method is as follows: y = the ordinate of the coordinate value of the mouse cursor currently displayed on the display of the server device × (the height value of the resolution of the display of the client device / the height value of the resolution of the display of the server device).

[0107] Assume that the coordinate of the mouse cursor of the server device at this time is (3840, 1080). According to the above formula, the ordinate y of the initial coordinate value displayed on the display of the client device is:

[0108] y = 1080 × (1080 / 2160) = 540;

[0109] That is, the initial coordinate value displayed on the display of the client device is (0, 540).

[0110] If the cursor departure flag of the server device exists, then execute S05: Convert the coordinate value of the mouse cursor at the server device into the coordinate value of the mouse cursor displayed on the display of the client device (the second coordinate value), record the coordinate value, and send the coordinate value to the client device to display the mouse cursor at the corresponding position on the display of the client device according to the coordinate value.

[0111] Specifically, step S05 includes: When the mouse cursor at the server device has been hidden and it is moved to the center position of the display of the server device, that is, when the coordinate value of the mouse cursor at the server device is (1920, 1080), move the mouse of the server device to obtain a new coordinate value of the mouse cursor at the server device, such as (1921, 1081);

[0112] Alternatively, in other embodiments of the present disclosure, after the mouse cursor shuttles from the server device to the client device, the mouse cursor at the server device may not be hidden. However, preferably, the mouse cursor at the server device is hidden after the mouse cursor shuttles from the server device to the client device to prevent the user from mistakenly operating because they think the mouse cursor has not shuttled to the client device.

[0113] S052 calculates the difference between the new coordinate value and the center coordinate value, e.g., (1, 1), and adds this difference (1, 1) to the initial coordinate value (0, 540) displayed on the display of the client device, obtaining the new coordinate value (1, 541) of the mouse cursor displayed on the display of the client device;

[0114] S053 records the coordinate value of the new mouse cursor displayed on the display of the client device, and sends this coordinate value to the client device to display the mouse cursor at the corresponding position on the display of the client device according to this coordinate value;

[0115] S054 moves the mouse cursor at the server device to the center position of the display, i.e., the coordinate value of the mouse cursor at the server device is (1920, 1080). For each subsequent mouse movement, the difference between the new coordinate value of the mouse cursor at the server device and the center coordinate value is calculated, and this difference is added to the most recently recorded coordinate value of the mouse cursor displayed on the display of the client device as the new coordinate value of the mouse cursor displayed on the display of the client device, and this coordinate value is sent to the client device to display the mouse cursor at the corresponding position on the display of the client device according to this coordinate value. In this way, the movement of the mouse cursor on the display of the client device is achieved.

[0116] In the above manner, the effect of moving the mouse cursor from the server device to the client device and moving on the display of the client device is achieved.

[0117] In the embodiments of the present disclosure, the hiding of the mouse cursor can be achieved by calling the pre-set program code. In the embodiments of the present disclosure, when the mouse cursor has been displayed on the display of the client device, after each movement of the mouse, at the server device, the mouse cursor will return to the first position (e.g., the center position) within the central area of the display, which is also achieved by calling the pre-set program code.

[0118] Figure 4 is a flowchart for moving the mouse cursor from the client device to the server device according to an embodiment of the present disclosure. In some embodiments of the present disclosure, as Figure 4 shown, for a client device corresponding to any edge and having established a connection with the server device, moving the mouse cursor from the client device to the server device includes:

[0119] S001 moves the mouse of the server device,

[0120] S002 Obtain the coordinate value of the mouse cursor at the server device currently, calculate the coordinate value of the mouse cursor displayed on the display of the client device, and determine whether the obtained coordinate value of the mouse cursor displayed on the display of the client device is equal to the first threshold;

[0121] If the coordinate value is equal to the first threshold, then S003 clear the cursor departure flag, and calculate the coordinate value of the mouse cursor displayed on the display of the server device to display the mouse cursor on the server device, where the mouse cursor is close to the occupied edge of the display of the server device by the client device.

[0122] In some embodiments of the present disclosure, the mouse cursor moves to the display of the server device through the occupied edge of the display of the server device by the client device.

[0123] If the coordinate value is not equal to the first threshold, it indicates that the mouse cursor has not moved from the client device to the server device. At this time, the mouse cursor is still displayed on the display of the client device, as Figure 4 shown in S004.

[0124] In some embodiments of the present disclosure, there are no requirements for the resolution of the display of the server device and the resolution of the display of the client device. However, the resolution of the display of the server device is preferably greater than the resolution of the display of the client device to provide sufficient movement range for the mouse cursor displayed on the display of the client device.

[0125] For example, as shown in combination with Figures 1 to 4 a server device has established a connection with a client device, and the right edge of the display of the server device is the boundary for the mouse cursor to shuttle, enabling the mouse cursor to move from the client device to the server device, including the following steps:

[0126] S001 Move the mouse of the server device,

[0127] S002 Obtain the coordinate value of the mouse cursor at the server device currently, calculate the coordinate value of the mouse cursor displayed on the display of the client device, and determine whether the obtained coordinate value of the mouse cursor displayed on the display of the client device is equal to the first threshold; for example, the first threshold is usually the abscissa value of -1, and there is no requirement for the ordinate. Specifically, determining whether the obtained coordinate value of the mouse cursor displayed on the display of the client device is equal to the first threshold includes: determining whether the abscissa x of the coordinate value is equal to -1.

[0128] If x = -1, indicating that the mouse cursor needs to return to the server device at this time, then S003 clears the cursor departure flag and calculates the coordinate value of the mouse cursor displayed on the display of the server device to display the mouse cursor on the server device, where the mouse cursor is located at the edge occupied by the client device near the display of the server device.

[0129] If the coordinate value is not equal to -1, it indicates that the mouse cursor has not moved from the client device to the server device. At this time, the mouse cursor is still displayed on the display of the client device.

[0130] Since the shuttle boundary between the mouse cursor on the server device and the client device is the right edge of the display of the server device, when the mouse cursor returns to the server device, it should first appear at the rightmost side of the display of the server device. Therefore, the abscissa x is the maximum value of the resolution of the display of the server device, that is, x = 3840, and the ordinate y is calculated according to the coordinate value (specifically the ordinate value) of the mouse cursor displayed on the display of the client device when the mouse cursor is about to shuttle back to the server device. At this time, the ordinate y of the mouse cursor displayed on the display of the server device is calculated in the following way:

[0131] Assume that the coordinate value of the mouse cursor displayed on the display of the client device is (-1, 270). According to the display resolution of the server device and the display resolution of the client device, calculate the ordinate y = (the current ordinate value of the mouse cursor displayed on the display of the client device / the height value of the display resolution of the client device) × the height value of the display resolution of the server device;

[0132] That is, y = (270 / 1080) × 3840 = 960;

[0133] Finally, the coordinate value of the mouse cursor when it shuttles back to the server device and is initially displayed on the display of the server device is obtained as (3840, 960), that is, the mouse cursor should first appear at the position with the coordinate value (3840, 960) when it returns to the server device.

[0134] In the above example, the description is given by taking the right edge of the display of the server device as the boundary for the mouse cursor to shuttle between the client device connected to the server device and the server device. In a similar manner, the following methods for shuttling (moving) the mouse cursor between the server device and the client device can be obtained: taking the left edge of the display of the server device as the boundary for the mouse cursor to shuttle between the client device connected to the server device and the server device; taking the upper edge of the display of the server device as the boundary for the mouse cursor to shuttle between the client device connected to the server device and the server device; and taking the lower edge of the display of the server device as the boundary for the mouse cursor to shuttle between the client device connected to the server device and the server device. Details are not described herein.

[0135] In a second aspect, the present disclosure also provides an electronic device that executes on the server device side to shuttle the mouse cursor between the server device and the client device. The electronic device includes: a processor and a memory. The memory stores a computer program. When the computer program is run by the processor, it executes the method of shuttling the mouse cursor between the server device and the client device that is executed on the server device side in the embodiments of the first aspect of the present disclosure.

[0136] Figure 5 This is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure. As Figure 5 shown, an embodiment of the present disclosure provides an electronic device, including: a processor 801, a memory 802, and one or more I / O interfaces 803. One or more computer programs are stored on the memory 802. When the one or more computer programs are executed by the processor, the processor implements the method of shuttling the mouse cursor between the server device and the client device that is executed on the server device side in the embodiments of the first aspect of the present disclosure; one or more I / O interfaces 803 are connected between the processor 801 and the memory 802 and are configured to implement information interaction between the processor 801 and the memory 802.

[0137] Among them, the processor 801 is a device with data processing capabilities, including but not limited to a Central Processing Unit (CPU), etc.; the memory 802 is a device with data storage capabilities, including but not limited to a Random Access Memory (RAM), more specifically such as SDRAM, DDR, etc., a Read-Only Memory (ROM), a Programmable Read-Only Memory (EPROM), and a FLASH; the I / O interface (read / write interface) 803 is connected between the processor 801 and the memory 802 and can realize the information interaction between the processor 801 and the memory 802, including but not limited to a data bus (Bus), etc.

[0138] In some embodiments, the processor 801, the memory 802, and the I / O interface 803 are interconnected through a bus 804 and further connected to other components of the electronic device.

[0139] In a third aspect, the present disclosure also provides a computer-readable storage medium. Figure 6 It is a schematic structural diagram of a computer-readable storage medium provided by an embodiment of the present disclosure. As Figure 6 shown, a computer program is stored on the computer-readable storage medium, and when the computer program is run by a processor, it executes the method of making the mouse cursor shuttle between the server device and the client device as described in the embodiments of the first aspect of the present disclosure on the server device side.

[0140] Specifically, according to the embodiments of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments of the present disclosure include a computer-readable storage medium that includes a computer program carried on a machine-readable medium, and the computer program contains program codes for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part and / or installed from a removable medium. When the computer program is executed by a Central Processing Unit (CPU), it executes the above-mentioned functions defined in the system of the present disclosure.

[0141] It should be noted that the computer-readable storage medium shown in this disclosure can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are 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 flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program, which can be used by or in conjunction with an instruction execution system, apparatus, or device. In this disclosure, the computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries the computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable storage medium other than the computer-readable storage medium, which can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable storage medium can be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0142] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of electronic devices, methods, and computer-readable storage media according to various embodiments of this disclosure. In this regard, each block in the flowchart or block diagram can represent a module, a program segment, or a part of code, and the foregoing module, program segment, or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks may actually represent execution in substantially parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0143] The circuits or sub - circuits involved in the embodiments of the present disclosure can be implemented in software or in hardware. The described circuits or sub - circuits can also be provided in a processor. For example, it can be described as: a processor, including: a receiving circuit and a processing circuit, and the processing module includes a writing sub - circuit and a reading sub - circuit. Among them, the names of these circuits or sub - circuits do not, in some cases, constitute a limitation on the circuits or sub - circuits themselves. For example, the receiving circuit can also be described as "receiving a video signal".

[0144] It can be understood that the above - mentioned embodiments are merely exemplary embodiments adopted to illustrate the principles of the present disclosure. However, the present disclosure is not limited thereto. For those of ordinary skill in the art, various modifications and improvements can be made without departing from the spirit and essence of the present disclosure, and these modifications and improvements are also regarded as the protection scope of the present disclosure.

[0145] For purposes of illustration and description, the above description of the embodiments of the invention has been given. It is not exhaustive, nor is it intended to limit the invention to the precise forms or exemplary embodiments disclosed. Thus, the foregoing description should be considered illustrative rather than restrictive. Obviously, many modifications and variations will be apparent to those skilled in the art. The embodiments were chosen and described to explain the principles of the invention and its best mode of practical application, so that those skilled in the art can understand the various embodiments of the invention and the various modifications suitable for the particular use or implementation being considered. The scope of the invention is intended to be defined by the appended claims and their equivalents, where all terms are meant in their broadest reasonable sense unless otherwise indicated. Thus, terms such as "the invention" etc. do not necessarily limit the scope of the claims to a particular embodiment, and the reference to exemplary embodiments of the invention does not imply a limitation on the invention and should not be inferred as such. The invention is limited only by the spirit and scope of the appended claims. In addition, these claims may refer to the use of "first", "second", etc., followed by a noun or element. These terms should be understood as nomenclature and should not be construed as limiting the number of elements modified by these nomenclatures, unless a specific number has been given. Any advantages and benefits described may not apply to all embodiments of the invention. It should be understood that those skilled in the art can make changes to the described embodiments without departing from the scope of the invention defined by the appended claims. In addition, no element or component in the present disclosure is intended to be dedicated to the public, whether or not the element or component is expressly recited in the appended claims.

Claims

1. A method for enabling a mouse cursor to shuttle between a server device and a client device, which is executed on the server device side, includes: Establishing a connection between the server device and one of at least one client device according to a connection request; Determining a logical relative position relationship between the server device and the client device; wherein, the display of the server device includes at least one edge, and each edge is logically occupied by a client device and serves as a boundary for enabling the mouse cursor to shuttle between the server device and the client device; different edges are occupied by different client devices; And Realizing the shuttle of the mouse cursor between the server device and the client device by moving the mouse of the server device to and away from the edge corresponding to the client device.

2. The method according to claim 1, wherein The establishing of the connection between the server device and the client device includes: Judging whether the number of client devices already connected to the server device has reached the maximum value; and If the number of client devices already connected to the server device has not reached the maximum value, establishing the connection between the server device and the client device and notifying the client device that the connection is successfully established.

3. The method according to claim 2, wherein The determining of the logical relative position relationship between the server device and the client device includes: Receiving a position request from the client device; wherein, the position request is a request from the client device for an edge of the display of the server device that it expects to occupy; Judging whether the edge that the client device requests to occupy is already occupied by another client device; If the edge that the client device requests to occupy is already occupied by another client device, automatically allocating an unoccupied edge for the client device; and If the edge that the client device requests to occupy is not occupied by another client device, allocating the edge that the client device expects to occupy according to the position request from the client device.

4. The method according to any one of claims 1 to 3, wherein At least one edge of the display of the server device includes 4 edges; the number of at least one client device is less than or equal to 4.

5. The method according to claim 3, wherein Enabling the mouse cursor to shuttle between the server device and the client device includes: enabling the mouse cursor to move from the server device to the client device and enabling the mouse cursor to move from the client device to the server device.

6. The method according to claim 5, wherein, For the client device corresponding to any edge and already connected to the server device, enabling the mouse cursor to move from the server device to the client device includes: Obtaining the coordinate value of the mouse cursor currently displayed on the display of the server device; Judging whether the mouse cursor has reached the edge of the display of the server device occupied by the client device; If the mouse cursor has reached the edge of the display of the server device occupied by the client device, then: According to the display resolution of the client device, converting the coordinate values ​​of the mouse cursor displayed on the display of the server device into initial coordinate values ​​displayed on the display of the client device, recording the initial coordinate values, and sending the initial coordinate values ​​to the client device, so as to display the mouse cursor at a corresponding position on the display of the client device according to the initial coordinate values; Hiding the mouse cursor at a first position in a central area excluding an edge of the display of the server device; The cursor leaving mark is displayed on the display of the server device; wherein the cursor leaving mark indicates that the mouse cursor is not displayed on the display of the server device, and the mouse cursor is displayed on the display of the client device for operating the client device.

7. The method according to claim 6, wherein, After displaying the cursor leaving mark on the display of the server device, the method further includes: Moving the mouse of the server device to obtain new coordinate values ​​of the mouse cursor at the server device; Calculating the difference between the new coordinate value and the coordinate value of the hidden mouse cursor at the first position, and obtaining a new coordinate value of the mouse cursor displayed on the display of the client device according to the difference; Recording the new coordinate value of the mouse cursor displayed on the display of the client device, and sending the new coordinate value of the mouse cursor displayed on the display of the client device to the client device, so as to display the mouse cursor at a corresponding position on the display of the client device according to the new coordinate value of the mouse cursor displayed on the display of the client device; The mouse cursor is hidden at the first position.

8. The method according to claim 5, wherein For the client device corresponding to any edge and having established a connection with the server device, moving a mouse cursor from the client device to the server device includes: Move the mouse of the server device, Acquire the coordinate value of the mouse cursor currently at the server device, calculate the coordinate value of the mouse cursor displayed on the display of the client device, and determine whether the obtained coordinate value of the mouse cursor displayed on the display of the client device is equal to a first threshold; If the coordinate value is equal to the first threshold, the cursor leaving flag is cleared, and the coordinate value of the mouse cursor displayed on the display of the server device is calculated to display the mouse cursor on the server device, wherein the mouse cursor moves to the display of the server device through the edge of the display of the server device occupied by the client device.

9. The method according to claim 1, wherein Before establishing the connection between the server device and the client device, the method further includes: The client device initiates the connection request to the server device, or the server device initiates the connection request to the client device, so as to establish a connection between the client device and the server device.

10. An electronic device that executes on the server device side to shuttle the mouse cursor between the server device and the client device, comprising: A processor and a memory storing a computer program, wherein the computer program, when executed by the processor, performs the method according to any one of claims 1 to 9.

11. A computer-readable storage medium, wherein, A computer program is stored on the computer-readable storage medium, and when the computer program is run by a processor, it executes the method according to any one of claims 1 to 9.