CN116700547A - Cursor traversing method and device - Google Patents

Cursor traversing method and device Download PDF

Info

Publication number
CN116700547A
CN116700547A CN202211346051.0A CN202211346051A CN116700547A CN 116700547 A CN116700547 A CN 116700547A CN 202211346051 A CN202211346051 A CN 202211346051A CN 116700547 A CN116700547 A CN 116700547A
Authority
CN
China
Prior art keywords
slave device
cursor
slave
master
master device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211346051.0A
Other languages
Chinese (zh)
Inventor
付安岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211346051.0A priority Critical patent/CN116700547A/en
Publication of CN116700547A publication Critical patent/CN116700547A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

The application relates to the field of terminals and provides a cursor crossing method and device. The method comprises the following steps: the method comprises the steps that a master device determines the relative positions among devices in a system; the method comprises the steps that a main device determines the current position of a cursor; when the current position is positioned in the screen edge area of the first slave device, the master device determines whether a second slave device exists in the cursor moving direction of the first slave device according to the relative position of each device in the system, wherein the second slave device is a slave device adjacent to the first slave device in at least two slave devices; when the second slave device exists in the moving direction of the cursor, the master device sends a first crossing message to the second slave device, wherein the first crossing message comprises position information of an initial position of the cursor after crossing from the first slave device to the second slave device. The above method enables a cursor to traverse between three devices and more.

Description

Cursor traversing method and device
Technical Field
The application relates to the field of terminals, in particular to a cursor crossing method and device.
Background
A cursor (cursor) is an icon on a User Interface (UI) for indicating the focus of the user's current attention. In a multi-device collaboration scenario, a user needs to move a cursor from the screen of one terminal device to the screen of another terminal device, which is referred to as cursor traversal. For example, there is a communication connection between the terminal device a (the terminal device that receives the cursor displacement data) and the terminal device B, the user controls the cursor to move rightward on the screen of the terminal device a, when the cursor moves to the right boundary of the screen of the terminal device a, the terminal device a sends the position information of the cursor to the terminal device B, the terminal device B then displays the cursor, and the terminal device a no longer displays the cursor, thereby realizing the cursor crossing.
Since the prior art does not design a cursor crossing mechanism of three devices and more devices, even if the terminal device C exists near the terminal device B, the cursor cannot cross the terminal device C, and how to make the cursor cross between the three devices and more devices is a problem to be solved at present.
Disclosure of Invention
The embodiment of the application provides a cursor crossing method and a cursor crossing device, which can enable a cursor to pass through among three devices and more devices.
In a first aspect, there is provided a method of cursor traversal applied to a system comprising a master device and at least two slave devices, the master device being a device that receives displacement data of a cursor from an input device, the method comprising: the master device determining the relative positions between the devices in the system; the master device determines the current position of the cursor; when the current position is located in the screen edge area of a first slave device, the master device determines whether a second slave device exists in the cursor moving direction of the first slave device according to the relative position of each device in the system, wherein the first slave device is any one of the at least two slave devices, and the second slave device is a slave device adjacent to the first slave device in the at least two slave devices; when the second slave device exists in the cursor moving direction, the master device sends a first crossing message to the second slave device, wherein the first crossing message comprises position information of an initial position of the cursor after crossing from the first slave device to the second slave device.
When the current position of the cursor is located in the screen edge area of the first slave device, it is stated that the user may need the cursor to traverse to other devices, and the master device needs to determine whether the second slave device exists in the moving direction of the cursor so as to switch the display device of the cursor. If the second slave device exists, the system is provided with a cursor crossing condition, and the master device can send a first crossing message to the second slave device and switch the display device of the cursor, so that the cursor can be crossed among three devices and more devices. In addition, the cursor movement has continuity, when the user moves the cursor to the right edge area of the screen of the first slave device, the user generally hopes that the cursor passes through to the slave device adjacent to the right side of the first slave device, and the embodiment of the application determines the second slave device based on the cursor movement direction, so that the cursor display requirement of the user can be met under the condition that a plurality of slave devices exist around the first slave device.
Optionally, the determining, by the master device, a relative position between devices in the system includes: the master device receives a first wireless signal from the first slave device, the first wireless signal including an identification of the first slave device; the master device determining a first angle of arrival and a transmission delay of the first wireless signal; the master device processes the transmission delay of the first wireless signal through a ranging model, and determines a first distance between the master device and the first slave device; the master device receiving a second wireless signal from the second slave device, the second wireless signal including an identification of the second slave device; the master device determining a second angle of arrival and a transmission delay of the second wireless signal; the master device processes the transmission time delay of the second wireless signal through the ranging model, and determines a second distance between the master device and the second slave device; the master device determines the relative positions among the master device, the first slave device and the second slave device according to the identification of the first slave device, the identification of the second slave device, the first arrival angle, the second arrival angle, the first distance and the second distance.
By the identification of the first slave device and the identification of the second slave device, the master device is able to determine the devices (i.e., the first slave device and the second slave device) to which the first wireless signal and the second wireless signal correspond. The master device is capable of determining a direction of the first slave device and the second slave device relative to the master device by the first angle of arrival and the second angle of arrival. The master device is capable of determining a distance of the first slave device and the second slave device relative to the master device by the first distance and the second distance. After determining the direction and distance of the first slave device and the second slave device relative to the master device, the master device may determine the relative positions between the master device, the first slave device, and the second slave device.
Optionally, before the master device sends the first traversing message to the second slave device, the method further includes: the master device obtains the screen size of the first slave device and the screen size of the second slave device, wherein the screen size of the first slave device comprises a first side length, the screen size of the second slave device comprises a second side length, and the first side length and the second side length are the side lengths of adjacent sides of the first slave device and the second slave device respectively; the master device determines the initial position according to the first side length and the second side length, wherein the initial position is the product of the coordinate of the cursor at the crossing position of the first slave device and a first ratio, and the first ratio is the ratio of the first side length to the second side length.
The first ratio reflects a difference in screen sizes of the first slave device and the second slave device. The larger the difference between the screen sizes of the first slave device and the second slave device, the larger the first ratio, and the larger the difference between the initial position of the cursor on the second slave device and the crossing position of the cursor on the first slave device; the smaller the difference in screen sizes of the first and second slaves, the smaller the first ratio, and the smaller the difference in initial position of the cursor on the second slave and crossing position of the cursor on the first slave. Therefore, the embodiment can match the position change of the cursor before and after crossing with the proportion of the screen sizes of the first slave device and the second slave device, so that the crossing of the cursor is more coherent and smooth.
Optionally, the master device obtains a screen size of the first slave device and a screen size of the second slave device, including: the method comprises the steps that the master device obtains the screen size of a first slave device from a response message of a first connection request, wherein the first connection request is a connection request sent by the master device to the first slave device; the master device obtains the screen size of the second slave device from a response message of a second connection request, wherein the second connection request is a connection request sent by the master device to the second slave device.
The master device obtains the screen resolution of the slave device by using the message in the connection establishment process, and the screen resolution of the slave device is not required to be obtained by a special request, so that the signaling overhead can be reduced.
Optionally, before the master device sends the first traversing message to the second slave device, the method further includes: the master device obtains the screen resolution of the second slave device; the master device determines a cursor sensitivity conversion rate of the second slave device according to the screen resolution of the master device and the screen resolution of the second slave device, wherein the cursor sensitivity conversion rate is positively correlated with a second ratio, and the second ratio is a ratio of the screen resolution of the second slave device to the screen resolution of the master device; after the master device sends the first traverse message to the second slave device, the method further includes: the main device receives first displacement data of the cursor from the input device; the main equipment determines second displacement data according to the first displacement data and the cursor sensitivity conversion rate, wherein the second displacement data is equal to the product of the first displacement data and the cursor sensitivity conversion rate; the master device transmits the second displacement data to the second slave device.
The cursor sensitivity conversion rate reflects a difference between the screen resolution of the second slave device and the screen resolution of the master device. The larger the ratio of the screen resolution of the second slave device to the screen resolution of the master device, the larger the cursor sensitivity conversion rate, and the larger the difference between the second displacement data and the first displacement data when the mouse (or other input devices) moves the same distance; the smaller the ratio of the screen resolution of the second slave device to the screen resolution of the master device, the smaller the cursor sensitivity conversion rate, and the smaller the difference between the second displacement data and the first displacement data when the mouse (or other input device) moves the same distance. Therefore, the embodiment can match the front and rear positions of the cursor crossing with the screen sizes of the first slave device and the second slave device, so that the cursor crossing is more coherent and smooth.
Optionally, the determining, by the master device, the current position of the cursor includes: the master device sends third displacement data of the cursor to the first slave device, wherein the third displacement data is used for determining the current position by the first slave device; the master device receiving current location information from the first slave device, the current location information indicating the current location; and the master device determines the current position according to the current position information.
When the cursor is located in the first slave device, the first slave device can determine the current position of the cursor according to the third displacement data, and then the first slave device sends the current position information to the master device, so that the master device can determine the current position of the cursor based on the current position information, and further determine whether to execute the cursor traversing process according to the current position.
Optionally, the method further comprises: after the cursor traverses to the second slave device, the master device determines not to send displacement data of the cursor to the first slave device.
After the cursor passes through the second slave device, the transmission of the displacement data to the first slave device loses meaning, and the transmission of the displacement data to the first slave device is stopped, so that the expenditure of transmission resources can be reduced.
Optionally, the method further comprises: the master device sends fourth displacement data of the cursor to the second slave device, wherein the fourth displacement data is used for the first slave device to determine the position of the cursor on the second slave device; when the position of the cursor on the second slave device is positioned in the screen edge area of the second slave device, the master device determines whether adjacent slave devices exist in the cursor moving direction of the second slave device according to the relative positions of all devices in the system; when the first slave device exists in the cursor moving direction of the second slave device, and when the cursor reaches the boundary of the second slave device, the master device sends a second crossing message to the first slave device, wherein the second crossing message comprises position information of an initial position after the cursor crosses from the second slave device to the first slave device.
The first slave device can determine the initial position of the cursor after crossing based on the second crossing message, so as to realize the back crossing of the cursor.
In a second aspect, there is provided an apparatus for cursor traversal comprising means for performing any of the methods of the first aspect. The device can be a terminal device or a chip in the terminal device. The apparatus may include an input unit and a processing unit.
When the apparatus is a terminal device, the processing unit may be a processor, and the input unit may be a communication interface; the terminal device may further comprise a memory for storing computer program code which, when executed by the processor, causes the terminal device to perform any of the methods of the first aspect.
When the device is a chip in the terminal equipment, the processing unit may be a logic processing unit inside the chip, and the input unit may be an output interface, a pin, a circuit, or the like; the chip may also include memory, which may be memory within the chip (e.g., registers, caches, etc.), or memory external to the chip (e.g., read-only memory, random access memory, etc.); the memory is for storing computer program code which, when executed by the processor, causes the chip to perform any of the methods of the first aspect.
In a third aspect, there is provided a computer readable storage medium storing computer program code which, when run by an apparatus traversed by a cursor, causes the apparatus to perform any one of the methods of the first aspect.
In a fourth aspect, there is provided a computer program product comprising: computer program code which, when run by an apparatus traversed by a cursor, causes the apparatus to perform any of the methods of the first aspect.
Drawings
FIG. 1 is a schematic illustration of an application scenario suitable for use with the present application;
FIG. 2 is a schematic diagram of a hardware system of a master device or a slave device according to the present application;
FIG. 3 is a schematic diagram of a software system of a host device provided by the present application;
FIG. 4 is a schematic diagram of a software system of a slave device provided by the present application;
FIG. 5 is a schematic diagram of a method of cursor traversal provided by the present application;
FIG. 6 is a schematic view of a screen edge area provided by the present application;
FIG. 7 is a schematic diagram of an embodiment of cursor traversal provided by the present application;
FIG. 8 is a schematic diagram of another embodiment of cursor traversal provided by the present application;
FIG. 9 is a schematic diagram of a method of determining an initial position provided by the present application;
FIG. 10 is a schematic illustration of another method of determining an initial position provided by the present application;
FIG. 11 is a schematic diagram of a mouse sensitivity conversion method provided by the present application;
FIG. 12 is a schematic diagram of a cursor back-threading method provided by the present application;
fig. 13 is a schematic diagram of a method for ranging through bluetooth signals according to the present application;
fig. 14 is a schematic diagram of a method for ranging through WiFi signals according to the present application;
FIG. 15 is a schematic diagram of a method of ranging through UWB signals provided by the present application;
FIG. 16 is a schematic diagram of a cursor traversing preparation process according to the present application;
FIG. 17 is a schematic diagram of a cursor traversing process according to the present application;
fig. 18 is a schematic diagram of a cursor back-threading procedure provided by the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of an application scenario suitable for the present application.
The master device, the first slave device, and the second slave device may be a notebook computer, a tablet computer, a foldable electronic device, a desktop computer, a laptop computer, a handheld computer, a personal computer (personal computer, PC), a netbook, or the like.
A communication connection exists between the device and the first slave device and a communication connection also exists between the master device and the second slave device. The communication connection may be a bluetooth connection, a wireless fidelity (wireless fidelity, WIFI) connection, or an Ultra Wide Band (UWB) connection, and the specific form of the communication connection is not limited in the present application.
The user controls the cursor to interact with the main device through the input device, for example, the user can control the cursor to perform operations such as moving, clicking, double clicking or dragging on the interface of the main device through the input device. The input device may be a mouse, a touch pad or a touch screen, or other devices capable of controlling a cursor, such as Virtual Reality (VR) devices.
In some cases, the user needs to operate the first slave device with a cursor, the user can move the cursor to the right through the input device, and when the cursor moves to an edge region of the master device, the master device transfers displacement data of the cursor to the first slave device through a communication connection with the first slave device. The first slave device then displays the cursor, the master device no longer displays the cursor, and from the user's perspective the cursor traverses from the master device to the first slave device.
After the cursor passes through to the first slave device, if the user needs to operate the second slave device, the user hopes that the cursor can pass through to the second slave device, however, no communication connection exists between the second slave device and the first slave device, and the first slave device cannot inform the second slave device of information such as the passing-through position of the cursor, so that continuous passing through of the cursor cannot be achieved.
It should be appreciated that fig. 1 is an example and not limiting, and that a scenario applicable to the present application may also include more slave devices.
Embodiments of a method and apparatus for cursor traversal provided by the present application are described below. First, a hardware system and a software system suitable for the device of the present application will be described.
Fig. 2 shows a hardware system suitable for the device of the application. The apparatus 100 is one possible form of a master device or a slave device.
The apparatus 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (universal serial bus, USB) interface 130, a charge management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, keys 190, a motor 191, an indicator 192, a camera module 193, a display 194, and a subscriber identity module (subscriber identification module, SIM) card interface 195. Wherein the sensor module 180 may include a fingerprint sensor 180H, a touch sensor 180K, and the like.
The configuration shown in fig. 2 does not constitute a specific limitation on the apparatus 100. In other embodiments of the application, the apparatus 100 may include more or fewer components than those shown in FIG. 2, or the apparatus 100 may include a combination of some of the components shown in FIG. 2, or the apparatus 100 may include sub-components of some of the components shown in FIG. 2. The components shown in fig. 2 may be implemented in hardware, software, or a combination of software and hardware.
Processor 110 may include one or more processing units. For example, the processor 110 may include at least one of the following processing units: application processors (application processor, AP), modem processors, graphics processors (graphics processing unit, GPU), image signal processors (image signal processor, ISP), controllers, video codecs, digital signal processors (digital signal processor, DSP), baseband processors, neural-Network Processors (NPU). The different processing units may be separate devices or integrated devices.
The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution.
A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby improving the efficiency of the system.
In some embodiments, the processor 110 may include one or more interfaces. For example, the processor 110 may include at least one of the following interfaces: inter-integrated circuit, I2C) interfaces, inter-integrated circuit audio (inter-integrated circuit sound, I2S) interfaces, pulse code modulation (pulse code modulation, PCM) interfaces, universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) interfaces, mobile industry processor interfaces (mobile industry processor interface, MIPI), general-purpose input/output (GPIO) interfaces, SIM interfaces, USB interfaces.
The I2C interface is a bi-directional synchronous serial bus comprising a serial data line (SDA) and a serial clock line (derail clock line, SCL). In some embodiments, the processor 110 may contain multiple sets of I2C buses. The processor 110 may be coupled to the touch sensor 180K, charger, flash, camera module 193, etc., respectively, through different I2C bus interfaces. For example: the processor 110 may couple the touch sensor 180K through an I2C interface, causing the processor 110 to communicate with the touch sensor 180K through an I2C bus interface, implementing the touch functionality of the device 100.
The I2S interface may be used for audio communication. In some embodiments, the processor 110 may contain multiple sets of I2S buses. The processor 110 may be coupled to the audio module 170 via an I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 may transmit an audio signal to the wireless communication module 160 through the I2S interface, to implement a function of answering a call through the bluetooth headset.
PCM interfaces may also be used for audio communication to sample, quantize and encode analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 may be coupled through a PCM interface. In some embodiments, the audio module 170 may also transmit audio signals to the wireless communication module 160 through the PCM interface to implement a function of answering a call through the bluetooth headset. Both the I2S interface and the PCM interface may be used for audio communication.
The UART interface is a universal serial data bus for asynchronous communications. The bus may be a bi-directional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, a UART interface is typically used to connect the processor 110 with the wireless communication module 160. For example: the processor 110 communicates with a bluetooth module in the wireless communication module 160 through a UART interface to implement a bluetooth function. In some embodiments, the audio module 170 may transmit an audio signal to the wireless communication module 160 through a UART interface, to implement a function of playing music through a bluetooth headset.
The MIPI interface may be used to connect the processor 110 with peripheral devices such as the display 194 and camera module 193. The MIPI interfaces include camera serial interfaces (camera serial interface, CSI), display serial interfaces (display serial interface, DSI), and the like. In some embodiments, processor 110 and camera module 193 communicate through a CSI interface to implement the camera functions of apparatus 100. Processor 110 and display 194 communicate via a DSI interface to implement the display functions of apparatus 100.
The GPIO interface may be configured by software. The GPIO interface may be configured as a control signal interface as well as a data signal interface. In some embodiments, a GPIO interface may be used to connect the processor 110 with the camera module 193, the display 194, the wireless communication module 160, the audio module 170, and the sensor module 180. The GPIO interface may also be configured as an I2C interface, an I2S interface, a UART interface, or a MIPI interface.
The connection relationships between the modules shown in fig. 2 are merely illustrative, and do not constitute a limitation on the connection relationships between the modules of the apparatus 100. Alternatively, the modules of the apparatus 100 may be connected by interfaces different from those in the above embodiments, or the modules of the apparatus 100 may be connected by a combination of multiple connection manners in the above embodiments.
The USB interface 130 is an interface conforming to the USB standard specification, and may be, for example, a Mini (Mini) USB interface, a Micro (Micro) USB interface, or a C-type USB (USB Type C) interface. The USB interface 130 may be used to connect a charger to charge the device 100, to transfer data between the device 100 and a peripheral device, and to connect a headset to play audio through the headset. The USB interface 130 may also be used to connect other devices, such as AR equipment.
The charge management module 140 is used to receive power from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charge management module 140 may receive the current of the wired charger through the USB interface 130. In some wireless charging embodiments, the charge management module 140 may receive electromagnetic waves (current path shown in dashed lines) through the wireless charging coil of the device 100. The charging management module 140 may also provide power to the device 100 through the power management module 141 while charging the battery 142.
The power management module 141 is used for connecting the battery 142, the charge management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and/or the charge management module 140 to power the processor 110, the internal memory 121, the display 194, the camera module 193, and the wireless communication module 160. The power management module 141 may also be used to monitor parameters such as battery capacity, battery cycle times, and battery state of health (e.g., leakage, impedance). Alternatively, the power management module 141 may be provided in the processor 110, or the power management module 141 and the charge management module 140 may be provided in the same device.
The wireless communication function of the apparatus 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the apparatus 100 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed into a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution for wireless communication applied on the device 100, such as at least one of the following: second generation (2) th generation, 2G) mobile communication solutions, third generation (3 th generation, 3G) mobile communication solution, fourth generation (4 th generation, 5G) mobile communication solution, fifth generation (5 th generation, 5G) mobile communication solution. The mobile communication module 150 may include at least one filter, switch, power amplifier and low noise amplifier (low noise amplifier, LNA), etc. The mobile communication module 150 may receive electromagnetic waves from the antenna 1, perform processes such as filtering and amplifying the received electromagnetic waves, and then transmit the electromagnetic waves to a modem processor for demodulation. The mobile communication module 150 may further amplify the signal modulated by the modem processor, and the amplified signal is converted into electromagnetic waves by the antenna 1 and radiated. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be provided in the same device as at least some of the modules of the processor 110.
The modem processor may include a modulator and a demodulator. The modulator is used for modulating the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used for demodulating the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low frequency baseband signal to the baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and then transferred to the application processor. The application processor outputs sound signals through audio devices (e.g., speaker 170A and receiver 170B) or displays images or video through a display screen 194. In some embodiments, the modem processor may be a stand-alone device. In other embodiments, the modem processor may be provided in the same device as the mobile communication module 150 or other functional module, independent of the processor 110.
Similar to the mobile communication module 150, the wireless communication module 160 may also provide wireless communication solutions applied on the device 100, such as at least one of the following: wireless local area network (wireless local area networks, WLAN), bluetooth (BT), global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication (near field communication, NFC), infrared (IR). The wireless communication module 160 may be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency-modulates and filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, frequency modulate and amplify it, and convert the signal into electromagnetic waves to radiate via the antenna 2.
In some embodiments, antenna 1 of device 100 is coupled to mobile communication module 150 and antenna 2 of device 100 is coupled to wireless communication module 160.
The device 100 may implement display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, and is connected to the display 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
The display screen 194 may be used to display images or video. The display 194 includes a display panel. The display panel may employ a liquid crystal display (liquid crystal display, LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Mini light-emitting diode (Mini LED), a Micro light-emitting diode (Micro LED), a Micro OLED (Micro OLED), or a quantum dot LED (quantum dot light emitting diodes, QLED). In some embodiments, the apparatus 100 may include 1 or N display screens 194, N being a positive integer greater than 1.
The apparatus 100 may implement photographing functions through a camera module 193, an ISP, a DSP, a video codec, a GPU, a display screen 194, an application processor, and the like.
The camera module 193 is used to capture still images or video. The object generates an optical image through the lens and projects the optical image onto the photosensitive element. The photosensitive element may be a charge coupled device (charge coupled device, CCD) or a Complementary Metal Oxide Semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, which is then transferred to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into a standard Red Green Blue (RGB), YUV, etc. format image signal. In some embodiments, the apparatus 100 may include 1 or N camera modules 193, N being a positive integer greater than 1.
The ISP is used to process the data fed back by the camera module 193. For example, when photographing, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electric signal, and the camera photosensitive element transmits the electric signal to the ISP for processing and is converted into an image visible to naked eyes. The ISP can carry out algorithm optimization on noise, brightness and color of the image, and can optimize parameters such as exposure, color temperature and the like of a shooting scene. In some embodiments, the ISP may be disposed in the camera module 193.
The DSP is used to process digital signals, and may process other digital signals in addition to digital image signals. For example, when the apparatus 100 selects a frequency bin, the DSP is used to fourier transform the frequency bin energy, or the like.
Video codecs are used to compress or decompress digital video. The apparatus 100 may support one or more video codecs. In this way, the apparatus 100 may play or record video in a variety of encoding formats, such as: dynamic picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, and MPEG4.
The NPU is a processor which refers to the biological neural network structure, for example, refers to the transmission mode among human brain neurons to rapidly process input information, and can also be continuously self-learned. Intelligent awareness and other functions of the device 100 may be implemented by the NPU, for example: image recognition, face recognition, speech recognition, and text understanding.
In some embodiments, the camera module 193 may be composed of a color camera module and a 3D sensing module.
In some embodiments, the photosensitive element of the camera of the color camera module may be a CCD or CMOS phototransistor. The photosensitive element converts the optical signal into an electrical signal, which is then transferred to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV, or the like format.
In some embodiments, the 3D sensing module may be a time of flight (TOF) 3D sensing module or a structured light (3D) sensing module. The structured light 3D sensing is an active depth sensing technology, and basic components of the structured light 3D sensing module may include an IR emitter, an IR camera module, and the like. The working principle of the structured light 3D sensing module is that a light spot (pattern) with a specific pattern is emitted to a shot object, then a light spot pattern code (light coding) on the surface of the object is received, and the difference between the light spot and an original projected light spot is compared, and the three-dimensional coordinate of the object is calculated by utilizing the triangle principle. The three-dimensional coordinates include the distance of the device 100 from the object to be photographed. The TOF 3D sensing may be an active depth sensing technology, and the basic components of the TOF 3D sensing module may include an IR emitter, an IR camera module, and the like. The working principle of the TOF 3D sensing module is to calculate the distance (namely depth) between the TOF 3D sensing module and the shot object through the time of infrared ray turn-back so as to obtain a 3D depth map.
The structured light 3D sensing module can also be applied to the fields of face recognition, somatosensory game machines, industrial machine vision detection and the like. The TOF 3D sensing module can also be applied to the fields of game machines, AR/VR and the like.
In other embodiments, camera module 193 may also be comprised of two or more cameras. The two or more cameras may include a color camera that may be used to capture color image data of the object being photographed. The two or more cameras may employ stereoscopic vision (stereo) technology to acquire depth data of the photographed object. The stereoscopic vision technology is based on the principle of parallax of human eyes, and obtains distance information, i.e., depth information, between the device 100 and the object to be photographed by shooting images of the same object from different angles through two or more cameras under a natural light source and performing operations such as triangulation.
In some embodiments, the apparatus 100 may include 1 or more camera modules 193. For example, the apparatus 100 may include 1 front camera module 193 and 1 rear camera module 193. The front camera module 193 can be used to collect color image data and depth data of a photographer facing the display screen 194, and the rear camera module can be used to collect color image data and depth data of a photographed object (such as a person, a landscape, etc.) facing the photographer.
In some embodiments, a CPU, GPU or NPU in the processor 110 may process color image data and depth data acquired by the camera module 193. In some embodiments, the NPU may identify color image data acquired by the camera module 193 by a neural network algorithm, such as a convolutional neural network algorithm, based on which bone point identification techniques are based, to determine bone points of the captured person. The CPU or GPU may also be operable to run a neural network algorithm to effect determination of skeletal points of the captured person from the color image data. In some embodiments, the CPU, GPU or NPU may be further configured to confirm the stature (such as body proportion, weight of the body part between the skeletal points) of the photographed person based on the depth data collected by the camera module 193 (which may be a 3D sensing module) and the identified skeletal points, and further determine body beautification parameters for the photographed person, and finally process the photographed image of the photographed person according to the body beautification parameters, so that the body form of the photographed person in the photographed image is beautified.
The external memory interface 120 may be used to connect an external memory card, such as a Secure Digital (SD) card, to implement the memory capability of the expansion device 100. The external memory card communicates with the processor 110 through an external memory interface 120 to implement data storage functions. Files such as music and video are stored in an external memory card.
The internal memory 121 may be used to store computer executable program code including instructions. The internal memory 121 may include a storage program area and a storage data area. Wherein the storage program area may store application programs required for at least one function (e.g., a sound playing function and an image playing function) of the operating system. The storage data area may store data (e.g., audio data and phonebooks) created during use of the device 100. Further, the internal memory 121 may include a high-speed random access memory, and may also include a nonvolatile memory such as: at least one disk storage device, a flash memory device, and a universal flash memory (universal flash storage, UFS), etc. The processor 110 performs various processing methods of the apparatus 100 by executing instructions stored in the internal memory 121 and/or instructions stored in a memory provided in the processor.
The device 100 may implement audio functions, such as music playing and recording, through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, an application processor, and the like.
The audio module 170 is used to convert digital audio information into an analog audio signal output, and may also be used to convert an analog audio input into a digital audio signal. The audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 or a portion of the functional modules of the audio module 170 may be disposed in the processor 110.
The speaker 170A, also referred to as a horn, is used to convert audio electrical signals into sound signals. The device 100 may listen to music or hands-free conversation through the speaker 170A.
A receiver 170B, also referred to as an earpiece, converts the audio electrical signal into a sound signal. When a user uses the device 100 to answer a telephone call or voice message, the user can answer the voice by placing the receiver 170B close to the ear.
Microphone 170C, also known as a microphone or microphone, is used to convert sound signals into electrical signals. When a user makes a call or transmits voice information, a sound signal may be input to the microphone 170C by sounding near the microphone 170C. The apparatus 100 may be provided with at least one microphone 170C. In other embodiments, the apparatus 100 may be provided with two microphones 170C to achieve a noise reduction function. In other embodiments, the device 100 may also be provided with three, four or more microphones 170C to perform sound signal collection, noise reduction, sound source identification, and directional recording functions.
The earphone interface 170D is used to connect a wired earphone. The headset interface 170D may be a USB interface 130 or a 3.5mm open mobile device 100 platform (open mobile terminal platform, OMTP) standard interface, a american cellular telecommunications industry association (cellular telecommunications industry association of the USA, CTIA) standard interface.
The fingerprint sensor 180H is used to collect a fingerprint. The device 100 may utilize the collected fingerprint characteristics to perform unlocking, accessing an application lock, and the like.
The touch sensor 180K, also referred to as a touch device. The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a touch screen. The touch sensor 180K is for detecting a touch operation acting thereon or thereabout. The touch sensor 180K may communicate the detected touch operation to the application processor to determine the touch event type. Visual output related to touch operations may be provided through the display 194. In other embodiments, the touch sensor 180K may also be disposed on the surface of the device 100 and at a different location than the display 194.
The keys 190 include a power-on key and an volume key. The keys 190 may be mechanical keys or touch keys. The device 100 may receive a key input signal and implement a function associated with the key input signal.
The motor 191 may generate vibration. The motor 191 may be used for incoming call alerting as well as for touch feedback. The motor 191 may generate different vibration feedback effects for touch operations acting on different applications. The motor 191 may also produce different vibration feedback effects for touch operations acting on different areas of the display screen 194. Different application scenarios (e.g., time alert, receipt message, alarm clock, and game) may correspond to different vibration feedback effects. The touch vibration feedback effect may also support customization.
The indicator 192 may be an indicator light, which may be used to indicate a change in state of charge and charge, or may be used to indicate a message, missed call, and notification.
The SIM card interface 195 is used to connect a SIM card. The SIM card may be inserted into the SIM card interface 195 to make contact with the apparatus 100, or may be removed from the SIM card interface 195 to make separation from the apparatus 100. The device 100 may support 1 or N SIM card interfaces, N being a positive integer greater than 1. The same SIM card interface 195 may simultaneously insert multiple cards, which may be of the same type or of different types. The SIM card interface 195 may also be compatible with external memory cards. The device 100 interacts with the network through the SIM card to perform functions such as talking and data communication. In some embodiments, the device 100 employs an embedded SIM (eSIM) card, which may be embedded in the device 100 and not separable from the device 100.
The hardware system of the apparatus 100 is described in detail above, and the software system of the apparatus 100 is described below. The software system may employ a layered architecture, an event driven architecture, a microkernel architecture, a micro-service architecture, or a cloud architecture, and embodiments of the present application illustratively describe the software system of the apparatus 100.
Fig. 3 is a schematic diagram of a software system of a host device, the software system being divided into several layers using a hierarchical architecture, each layer having a distinct role and division of work, the layers communicating via software interfaces. In some embodiments, the software system may be divided into three layers, a business layer, a capability layer, and a driver layer, respectively, from top to bottom.
The application layer may include a series of application packages. The application package may include UI implementation, setup management, status management, main service, ranging management, discovery connection management, rule management, mouse management, and drag management. The main functions of the respective application packages are as follows.
UI implementation: mainly implementing the logic of the relevant UIs.
And (3) setting management: and displaying the setting capability and carrying out logic management.
State management: managing a device information table, a connection configuration table and state changes in the cursor traversing process.
Main service: and (5) a main service for self-starting the service.
Discovery connection management: traffic scheduling and discovery of communication connection capability invocation for a communication connection.
Rule management: and carrying out feasibility judgment on the communication connection and the direction change according to the equipment information table and the connection configuration table, and returning a result.
And (3) key mouse management: key mouse virtualization capability scheduling, triggering, and shutdown, etc.
Drag management: providing a drag-in-drag-out capability.
Distance measurement management: the distance measurement and calculation between the cooperative devices (the master device and the slave device) can also be used for realizing the direction-related business logic and calling the direction identification capability, including direction change monitoring, fence setting and the like.
The capability layer provides application programming interfaces (application programming interface, APIs) and like functions for applications of the application layer. The capability layer may contain the following modules.
Direction recognition capability: providing fencing capability, dynamic change callbacks, and the like.
Mouse virtualization capability: providing mouse virtualization capabilities including mouse message acquisition, mouse message transmission, and the like.
Device management middleware: providing inter-cooperative device data sharing capability, including inter-cooperative device service capability switching.
Magic link: providing the capability of cooperating inter-device connection channels, data transmission, and the like.
PC housekeeping frame: providing PC key basic capabilities including inter-process communication, multi-screen display capabilities, and drag capabilities (the ability to drag a file as a cursor traverses), etc.
Account system: providing account management functionality.
Trust ring: providing a security function.
Basic capability: providing socket, input manager, and transmission control protocol (transmission control protocol, TCP)/internet protocol (internet protocol, IP) functions.
The driver layer is a layer between hardware and software. The driver layer includes, for example, bluetooth drivers, wiFi drivers, user interaction device (human interface device, HID) drivers, and display drivers. The HID driver can be a mouse driver or a touch pad driver and is used for establishing a communication bridge between the mouse or the touch pad and the software system.
Fig. 4 is a schematic diagram of a software system of a slave device, the software system being divided into several layers using a hierarchical architecture, each layer having a distinct role and division of work, the layers communicating via software interfaces. In some embodiments, the software system may be divided into three layers, a business layer, a capability layer, and a driver layer, respectively, from top to bottom.
The application layer may include a series of application packages. The application package may include UI implementation, setup management, status management, main service, ranging management, connection management, mouse management, and drag management. The main functions of the respective application packages are as follows.
UI implementation: mainly implementing the logic of the relevant UIs.
And (3) setting management: and displaying the setting capability and carrying out logic management.
State management: state changes during cursor traversal are managed.
Main service: and (5) a main service when the key mouse service is started.
Connection management: and scheduling communication connection capacity and data communication in the key mouse service.
And (3) key mouse management: and (5) scheduling the virtualization capacity of the key mouse in the key mouse service.
Drag management: the drag-in-drag-out capability is implemented.
Distance measurement management: distance measurement between cooperating devices (master and slave).
The capability layer provides functions such as an API for application programs of the application program layer. The capability layer may contain the following modules.
Direction recognition capability: a direction recognition function is provided.
Mouse virtualization capability: providing a keyboard and mouse virtualization capability.
Device management middleware: providing collaborative inter-device data sharing capability.
Magic link: providing the capability of cooperating inter-device connection channels, data transmission, and the like.
Service framework: manage switching and registration of service capabilities.
Account system: providing account management functionality.
Trust ring: providing a security function.
Basic capability: providing socket, multi-screen framework, drag framework, TCP/IP, input manager, etc. The dragging frame is used for providing dragging capability when a cursor passes through, and the input management is used for providing a mouse event reporting function of the slave device.
The driver layer is a layer between hardware and software. The driver layer contains, for example, bluetooth drivers, wiFi drivers, user input drivers (UinputDriver), and display drivers. The UinputDriver is driven by an input event, and needs to be injected.
It should be understood that the hardware structures and software architectures illustrated in fig. 2-4 are merely exemplary illustrations of the apparatus 100, and are not limiting of the apparatus 100 in terms of hardware and software, as the apparatus 100 may have other types of hardware structures and software architectures.
The following describes an embodiment of a cursor crossing method provided by the application. As shown in fig. 5, the method is applied to a system (such as the system shown in fig. 1) including a master device and at least two slave devices, and includes the following.
S510, the master device determines the relative positions between the devices in the system.
The master device is a device that receives displacement data of a cursor from the input device, and the slave device is a device that receives displacement data of a cursor from the master device. The input device may be a mouse, a touch pad, or a VR device. When the input device is a mouse or VR device, the mouse or VR device may send displacement data to the host device through a wireless connection (such as a bluetooth connection or a WiFi connection), or may send displacement data to the host device through a wired connection (such as a USB connection). When the input device is a touch pad, the touch pad may be integrated on the host device, transmitting displacement data to the processor of the host device through the device bus of the host device; the touch pad may also be a stand alone device that transmits displacement data to the host device via a wireless or wired connection. The specific form of the input device corresponding to the cursor is not limited in the application.
The host device may determine the relative position between the devices in the system via a bluetooth connection, a WiFi connection, or a UWB connection for the purpose of providing for cursor traversal, as will be described in more detail below.
S520, the master device determines the current position of the cursor.
When the cursor is located in the main device, the main device may determine the current position of the cursor according to the previous position and displacement data of the cursor, for example, the mouse sends two displacement data to the main device sequentially at time a and time B, the main device updates the position of the cursor according to the displacement data at time a at time B, and at time B, the main device may determine the position (i.e., the current position) of the cursor at time B according to the position of the cursor at time a and the displacement data received at time B.
When the cursor is positioned on the slave device, the slave device can acquire displacement data from the master device, and the current position of the cursor is sent to the master device after the current position of the cursor is determined, so that the master device determines the position of the cursor on the slave device at the current moment.
And S530, when the current position is located in the screen edge area of the first slave device, the master device determines whether a second slave device exists in the cursor moving direction of the first slave device according to the relative position of each device in the system, wherein the first slave device is any one of the at least two slave devices, and the second slave device is the slave device adjacent to the first slave device in the at least two slave devices.
When the cursor is positioned in the screen edge area of the first slave device, the possibility of crossing of the cursor is high, and the master device can determine whether the second slave device exists in the moving direction of the cursor so as to switch the display device of the cursor. If the second slave device does not exist, the condition that the cursor crossing condition does not exist is indicated, the master device does not need to execute a preparation step of cursor crossing, and then if the displacement data of the cursor is received, the displacement data of the cursor is continuously transmitted to the first slave device. If there is a second slave device, indicating that a condition for cursor crossing exists, the master device may perform a preparation step for cursor crossing (S540), and if the cursor continues to move along the previous moving direction, the master device switches the target device from the first slave device to the second slave device, sends displacement data of the cursor to the second slave device, and no longer sends displacement data of the cursor to the first slave device.
The edge region of the screen may be a predetermined area, for example, an area having a distance from the boundary of the screen less than or equal to a predetermined length.
Fig. 6 is a schematic view of the edge area of the screen. The cursor starts to move rightwards from the central position of the first slave device, and the master device receives displacement data sent by the mouse and sends the displacement data to the first slave device; the first slave device determines the current position of the cursor according to the displacement data. When the cursor enters the right edge region of the screen (region outside the dotted line frame), the first slave device notifies the master device of an event that the cursor enters the right edge region of the screen, while the first slave device also notifies the master device of the moving direction of the cursor. After the master device obtains the two pieces of information, it is determined whether or not there is a neighboring slave device (i.e., a second slave device) on the right side of the first slave device, and then the following steps may be performed.
S540, when the second slave device exists in the cursor moving direction, and when the cursor reaches the boundary of the first slave device, the master device sends a first traversing message to the second slave device, where the first traversing message includes position information of an initial position of the cursor after traversing from the first slave device to the second slave device.
An example of cursor traversal is shown in fig. 7. After the master device determines that the cursor enters the right side edge area of the screen of the first slave device, the master device predicts that the cursor will reach the middle of the right side edge of the screen of the first slave device according to the movement track of the cursor, then the master device can determine that the initial position of the cursor after crossing to the second slave device is the middle of the left side edge of the screen of the second slave device, the master device can set the initial position according to the screen size of the second slave device acquired in advance, after the cursor moves to the right side edge of the screen of the first slave device, the position information (such as coordinate values) of the initial position is sent to the second slave device, and after the second slave device receives the position information, the cursor is displayed at the middle of the left side edge of the screen according to the position information, so that the cursor crossing is completed.
Another example of cursor traversal is shown in fig. 8. After the master device determines that the cursor enters the upper-screen side edge area of the first slave device, the master device determines whether an adjacent slave device exists in the moving direction of the cursor (the upper side of the first slave device), when the third slave device exists in the moving direction of the cursor, the master device predicts the crossing position of the cursor (for example, the middle of the upper-screen side edge of the first slave device) according to the moving track of the cursor, then the master device can determine that the initial position after the cursor crosses to the third slave device is the middle of the lower-screen side edge of the third slave device, the master device can set the initial position according to the screen size of the third slave device obtained in advance, after the cursor moves to the upper-screen side edge of the first slave device, the position information (for example, coordinate values) of the initial position is sent to the third slave device, and after the third slave device receives the position information, the cursor is displayed at the middle of the lower-screen side edge according to the position information, so that the cursor crossing is completed.
It can be seen that the embodiments of the present application allow a cursor to traverse between three devices and more. In addition, the cursor movement has continuity, when the user moves the cursor to the right edge area of the screen of the first slave device, the user generally hopes that the cursor passes through to the slave device adjacent to the right side of the first slave device, and the embodiment of the application determines the second slave device based on the cursor movement direction, so that the cursor display requirement of the user can be met under the condition that a plurality of slave devices exist around the first slave device.
Optionally, before the master device sends the first traversing message to the second slave device, the method shown in fig. 5 further includes:
the method comprises the steps that a master device obtains the screen size of a first slave device and the screen size of a second slave device, wherein the screen size of the first slave device comprises a first side length, the screen size of the second slave device comprises a second side length, and the first side length and the second side length are the side lengths of adjacent sides of the first slave device and the second slave device respectively; the primary device determines the initial position according to the first side length and the second side length, the initial position is the product of the coordinate of the cursor at the crossing position of the first secondary device and a first ratio, and the first ratio is the ratio of the first side length to the second side length.
After acquiring the screen size of the first slave device and the screen size of the second slave device, the master device may determine the first side length and the second side length according to the positional relationship of the first slave device and the second slave device. For example, if the master device determines that the first slave device and the second slave device have a positional relationship shown in fig. 7 through ranging and direction recognition, the master device may determine that the first edge is the width of the first slave device and the second edge is the width of the second slave device.
After determining the first side length and the second side length, the main device may determine the initial position of the cursor after crossing according to the crossing position of the cursor, alternatively, the main device may determine the initial position of the cursor after crossing according to the following formula:
Initial position = traverse position (second side length/first side length).
As shown in fig. 9, the first side length of the first slave device is 30cm, the second side length of the second slave device is 20cm, and then the first ratio=second side length/first side length=2/3. If the coordinate of the crossing position of the cursor on the first slave device is (4, 3), the abscissa of the initial position of the cursor crossing to the second slave device is 0, and the ordinate is 3×2/3=2.
As shown in fig. 10, the first side length of the first slave device is 30cm, and the second side length of the second slave device is also 30cm, and then the first ratio=second side length/first side length=1. If the coordinate of the crossing position of the cursor on the first slave device is (4, 3), the abscissa of the initial position of the cursor crossing to the second slave device is 0, and the ordinate is 3*1 =3.
As can be seen from fig. 9 and 10, the first ratio reflects the difference in screen sizes of the first slave device and the second slave device. The larger the difference between the screen sizes of the first slave device and the second slave device, the larger the first ratio, and the larger the difference between the initial position of the cursor on the second slave device and the crossing position of the cursor on the first slave device; the smaller the difference in screen sizes of the first and second slaves, the smaller the first ratio, and the smaller the difference in initial position of the cursor on the second slave and crossing position of the cursor on the first slave. Therefore, the embodiment can match the position change of the cursor before and after crossing with the proportion of the screen sizes of the first slave device and the second slave device, so that the crossing of the cursor is more coherent and smooth.
Alternatively, the master device may obtain the screen size of the first slave device from a response message of the first connection request, where the first connection request is a connection request sent by the master device to the first slave device. The master device may obtain a screen size of the second slave device from a response message of the second connection request, where the second connection request is a connection request sent by the master device to the second slave device.
The master device obtains the screen resolution of the slave device by using the message in the connection establishment process, and the screen resolution of the slave device is not required to be obtained by a special request, so that the signaling overhead can be reduced.
In some cases, the screen resolutions of the master and slave devices are different, resulting in different rates of movement of the cursor on the master and slave devices, thereby degrading the user experience. Therefore, the slave device can send its own screen resolution to the master device, and the master device processes the displacement data based on the screen resolution of the slave device and then sends the processed displacement data to the slave device, so that the cursor movement rate of each slave device is the same as the cursor movement rate of the master device, that is, the mouse sensitivity of each slave device is the same as the mouse sensitivity of the master device.
FIG. 11 is one embodiment of a mouse sensitivity conversion method. The method includes the following.
S1101, the master device requests to acquire the screen resolution of the slave device.
S1102, the slave device transmits the screen resolution of the slave device to the master device.
Optionally, the slave device may actively send the screen resolution to the master device, for example, after the slave device receives a connection request sent by the master device in a process of establishing a connection between the master device and the slave device, the slave device sends its own screen resolution to the master device through a response message of the connection request, so that the master device does not need to specifically request to obtain the screen resolution of the slave device, and signaling overhead can be reduced.
S1103, the master calculates the sensitivity conversion rate of the slave device from the screen resolution of the slave device.
The master device may determine a cursor sensitivity conversion rate of the second slave device according to the screen resolution of the master device and the screen resolution of the second slave device, the cursor sensitivity conversion rate being positively correlated with a second ratio, the second ratio being a ratio of the screen resolution of the second slave device to the screen resolution of the master device.
For example, the screen resolution of the master device is 3000×2000, the screen resolution of the second slave device is 2000×1000, the second ratio of the x-axis is 2000/3000=2/3, the second ratio of the y-axis is 1000/2000=1/2, the sensitivity conversion rate of the x-axis may be 2/3 or a multiple of 2/3, and the sensitivity conversion rate of the y-axis may be 1/2 or a multiple of 1/2.
S1104 generates second cursor displacement data by multiplying the first cursor displacement data by the sensitivity conversion rate.
The host device receives first displacement data of the cursor from the input device, and then the host device determines second displacement data from the first displacement data and the cursor sensitivity conversion rate, the second displacement data being equal to a product of the first displacement data and the cursor sensitivity conversion rate.
For example, the first displacement data is (3, 2), which indicates that the cursor is moved 3 units in the x-axis direction of the screen of the master device and the cursor is moved 2 units in the y-axis direction of the screen of the master device, and if the sensitivity conversion rate in the x-axis is 2/3 and the sensitivity conversion rate in the y-axis is 1/2, the second displacement data is (3*2/3, 2×1/2), that is, (2, 1), which indicates that the cursor is moved 2 units in the x-axis direction of the screen of the second slave device and the cursor is moved 1 unit in the y-axis direction of the screen of the master device.
After determining the second cursor displacement data, the host device may perform the following steps.
S1105, the master device transmits second cursor displacement data to the slave device.
The cursor sensitivity conversion rate reflects a difference between the screen resolution of the second slave device and the screen resolution of the master device. The larger the ratio of the screen resolution of the second slave device to the screen resolution of the master device, the larger the cursor sensitivity conversion rate, and the larger the difference between the second displacement data and the first displacement data when the mouse (or other input devices) moves the same distance; the smaller the ratio of the screen resolution of the second slave device to the screen resolution of the master device, the smaller the cursor sensitivity conversion rate, and the smaller the difference between the second displacement data and the first displacement data when the mouse (or other input device) moves the same distance. Therefore, the cursor moving speed of each slave device is the same as that of the master device, and user experience is improved.
Optionally, the method shown in fig. 5 further includes:
after the cursor traverses to the second slave device, the master device determines not to send displacement data of the cursor to the first slave device.
After the cursor passes through the second slave device, the meaning of transmitting the displacement data to the first slave device is lost, and the transmission of the displacement data to the first slave device is stopped, so that the expenditure of transmission resources can be reduced.
Optionally, the method shown in fig. 5 further includes: the master device sends fourth displacement data of the cursor to the second slave device, wherein the fourth displacement data is used for determining the position of the cursor on the second slave device by the first slave device; when the position of the cursor on the second slave device is positioned in the screen edge area of the second slave device, the master device determines whether adjacent slave devices exist in the cursor moving direction of the second slave device according to the relative positions of all devices in the system; when the cursor moving direction of the second slave device exists in the first slave device, and when the cursor reaches the boundary of the second slave device, the master device sends a second crossing message to the first slave device, wherein the second crossing message comprises position information of an initial position after the cursor crosses from the second slave device to the first slave device.
The first slave device can determine the initial position of the cursor after crossing based on the second crossing message, so as to realize the back crossing of the cursor.
Fig. 12 is a schematic diagram of a cursor back-threading method provided by the present application.
After the master device determines that the cursor enters the left edge area of the screen of the second slave device, the master device determines whether an adjacent slave device exists in the moving direction of the cursor (the left side of the second slave device), when the adjacent slave device exists in the moving direction of the cursor (namely, the first slave device), the master device predicts the crossing position of the cursor (such as the middle of the left edge of the screen of the second slave device) according to the moving track of the cursor, then the master device can determine that the initial position after the cursor crosses to the first slave device is the middle of the right edge of the screen of the first slave device, the master device can set the initial position according to the screen size of the first slave device acquired in advance, after the cursor moves to the left edge of the screen of the second slave device, the position information (such as coordinate values) of the initial position is sent to the first slave device, and after the first slave device receives the position information, the cursor is displayed at the middle of the right edge of the screen according to the position information, so that the cursor back-through is completed.
The method by which the master device determines the relative position between the devices in the system is described below. The method includes the following.
The master device receives a first wireless signal from a first slave device, the first wireless signal including an identification of the first slave device; the method comprises the steps that a master device determines a first arrival angle and transmission delay of a first wireless signal; the master device processes the transmission delay of the first wireless signal through a ranging model and determines a first distance between the master device and a first slave device; the master device receives a second wireless signal from a second slave device, the second wireless signal including an identification of the second slave device; the main equipment determines a second arrival angle and transmission delay of a second wireless signal; the master device processes the transmission delay of the second wireless signal through the ranging model, and determines a second distance between the master device and the second slave device; the master device determines the relative positions among the master device, the first slave device and the second slave device according to the identification of the first slave device, the identification of the second slave device, the first arrival angle, the second arrival angle, the first distance and the second distance.
By the identification of the first slave device and the identification of the second slave device, the master device is able to determine the devices (i.e., the first slave device and the second slave device) to which the first wireless signal and the second wireless signal correspond. The master device is capable of determining a direction of the first slave device and the second slave device relative to the master device by the first angle of arrival and the second angle of arrival. The master device is capable of determining a distance of the first slave device and the second slave device relative to the master device by the first distance and the second distance. After determining the direction and distance of the first slave device and the second slave device relative to the master device, the master device may determine the relative positions between the master device, the first slave device, and the second slave device.
Optionally, the first wireless signal and the second wireless signal are: bluetooth signals, wiFi signals, or UWB signals.
These three cases will be described below with reference to fig. 13 to 15, respectively.
Bluetooth is one of the most widely used short-range wireless communication technologies, the use scene is spread over intelligent terminal equipment, the stability, the power consumption and the transmission distance of the Bluetooth are greatly improved in recent years, and the Bluetooth is used as equipment carried by the intelligent terminal and has natural advantages in distance measurement and calculation. Fig. 13 is an example of a method of determining relative locations between devices in a system based on bluetooth signals. The method includes the following.
S1310, the master device establishes Bluetooth connection with the slave device.
The slave device may be any one of a plurality of slave devices in the system, such as a first slave device, a second slave device, or a third slave device. After the bluetooth connection is established, the master device may perform the following steps.
S1320, the master device records Bluetooth address information, initial Bluetooth signal strength and initial transmission delay of the slave device.
S1330, the master device reads the current bluetooth signal strength and the current transmission delay of the slave device.
S1340, the master device calculates the difference between the initial Bluetooth signal strength and the current Bluetooth signal strength, and the difference between the initial transmission delay and the current transmission delay.
S1350, the master device inputs the Bluetooth signal strength difference and the transmission delay difference into a fitting model, and determines the distance between the master device and the slave device.
The signal strength may be characterized by a received signal strength indication (received signal strength indicator, RSSI). The larger the distance between the master device and the slave device is, the smaller the RSSI is; the smaller the distance between the master and slave devices, the greater the RSSI, and thus the distance between the master and slave devices may be determined based on the RSSI. The distance between the master device and the slave device may also be determined based on other characteristics of the bluetooth signal, as the application is not limited in this regard.
WiFi is used as the most widely used wireless technology, and is used as a device naturally carried by an intelligent terminal, and plays a vital role in multi-device cooperation, so that a new device module is not needed to be added when the WiFi is used as a ranging module, and the WiFi is easy to realize. Fig. 14 is an example of a method of determining relative locations between devices in a system based on WiFi signals. The method includes the following.
S1410, the master device establishes a WiFi connection with the slave device.
S1420, the master device determines the time difference baseline of the WiFi signal of the slave device.
In S1430, the master device receives the current WiFi signal from the slave device, the current WiFi signal including the transmission time.
S1440, the master device determines a time difference according to the current sending time and receiving time of the WiFi signal.
S1450, the master device inputs the time difference baseline and the time difference into the fitting model, and determines the distance between the master device and the slave device.
The transmission time of the WiFi signal needs time, and the master device may determine the transmission time (i.e., time difference) of the WiFi signal according to the time information carried by the WiFi signal (indicating the transmission time of the WiFi signal) and the time of receiving the WiFi signal, so as to determine the distance between the master device and the slave device. The transmission time of the WiFi signal determined for the first time after the WiFi connection between the master device and the slave device is established can be used as a time difference base line, and then the time difference is increased when the distance between the master device and the slave device is increased; the distance between the master device and the slave device decreases, and thus the time difference decreases, and the current distance between the master device and the slave device may be determined based on the time difference baseline and the current time difference. The distance between the master device and the slave device may also be determined based on other characteristics of the WiFi signal, as the application is not limited in this regard.
The UWB technology is also called Impulse Radio (Impulse Radio) technology, the transmission power consumption is only tens of mu W, the frequency domain bandwidth is wide, the wireless power density is low, other wireless devices cannot be interfered, and the anti-interference performance of the UWB technology is enhanced. Thus ranging using UWB technology, its accuracy is high. Fig. 15 is an example of a method of determining relative locations between various devices in a system based on UWB signals. The method includes the following.
S1510, the master device establishes UWB connection with the slave device.
S1520, the master determines a time difference baseline of the UWB signal of the slave device.
S1530, the master device receives the current UWB signal from the slave device, the current UWB signal including the transmission time.
S1540, the master device determines a time difference according to the transmission time and the reception time of the current UWB signal.
S1550, the master device inputs the time difference base line and the time difference into a fitting model, and determines the distance between the master device and the slave device.
The transmission of the UWB signal requires time, and the master device may determine the transmission time (i.e., time difference) of the UWB signal according to time information carried by the UWB signal (indicating the transmission time of the UWB signal) and the time of receiving the UWB signal, thereby determining the distance between the master device and the slave device. The transmission time of the UWB signal which is determined for the first time after the master device and the slave device establish UWB connection can be used as a time difference base line, and then the distance between the master device and the slave device is increased, so that the time difference is increased; the distance between the master device and the slave device decreases, and thus the time difference decreases, and the current distance between the master device and the slave device may be determined based on the time difference baseline and the current time difference. The distance between the master device and the slave device may also be determined based on other characteristics of the UWB signal, as the application is not limited in this regard.
The embodiment of the cursor crossing method provided by the application is further described from the view of module interaction.
Fig. 16 is an example of a preparation flow before cursor crossing. The preparation flow includes the following.
S1601, the master service of the master device sends a first connection request to the first slave device.
Taking bluetooth connection as an example, the master service may send a first connection request to the first slave device through bluetooth driving, and after the bluetooth driving of the first slave device receives the first connection request, forward the first connection request to the master service of the first slave device.
S1602, the primary service of the primary device sends a ranging indication to the ranging management.
The master service may send a ranging indication to the ranging management after sending a connection request to the plurality of slave devices in order for the ranging management to prepare for ranging.
S1603, the master service of the first slave device acquires the screen resolution.
After the first slave device receives the first connection request, it is determined that the master device and the first slave device are about to perform cooperative work, wherein the cooperative work comprises cursor crossing, and the first slave device can read the screen resolution of the first slave device and send the screen resolution to the master device so that the sensitivity of the cursor before and after crossing is kept unchanged.
S1604, the master service of the first slave device instructs the input management to turn on the injection service.
S1605, the input management of the first slave device starts the injection service, waiting for data injection.
S1606, the primary service of the first slave device transmits the first connection response to the primary service of the master device.
The first connection response is a response message of the first connection request, and comprises the screen resolution of the first slave device and a device identifier, wherein the device identifier is used for uniquely identifying the first slave device, so that the master device can determine the slave device corresponding to the first connection response when receiving a plurality of response messages.
S1607, the ranging management of the master device transmits a first ranging signal to the first slave device.
After receiving the first connection response, the master service of the master device determines that the first slave device can perform cooperative work, and then the master service of the master device can inform the ranging management to measure the position relationship between the master device and the first slave device.
S1608, the ranging management of the first slave device sends a first ranging response to the master device.
S1609, the ranging management of the master device determines the distance and relative position of the first slave device from the first ranging response.
The first ranging response is a response signal of the first ranging signal. The master device and the first slave device may perform ranging by any one of the methods of fig. 13 to 15.
S1610, the ranging management of the master device transmits the distance and the relative position of the first slave device to the master service of the master device.
S1611, the master service of the master device transmits a second connection request to the second slave device.
The second connection request and the first connection request may be sent simultaneously or may not be sent simultaneously.
Taking bluetooth connection as an example, the master service may send a second connection request to the second slave device through bluetooth driving, and after the bluetooth driving of the second slave device receives the second connection request, forward the second connection request to the master service of the second slave device.
S1612, the master service of the second slave device acquires the screen resolution.
After the second slave device receives the second connection request, it is determined that the master device and the second slave device are about to perform cooperative work, wherein the cooperative work comprises cursor crossing, and the second slave device can read its screen resolution and send the screen resolution to the master device, so that the sensitivity of the cursor before and after crossing is kept unchanged.
S1613, the master service of the second slave device instructs the input management to start the injection service.
S1614, the input management of the second slave device starts the injection service, and waits for data injection.
S1615, the master service of the second slave device transmits the first connection response to the master service of the master device.
The second connection response is a response message of the second connection request, and includes a screen resolution of the second slave device and a device identifier, where the device identifier is used to uniquely identify the second slave device, so that the master device can determine a slave device corresponding to the second connection response when receiving the plurality of response messages.
S1616, the ranging management of the master device transmits a second ranging signal to the second slave device.
After receiving the second connection response, the master service of the master device determines that the second slave device can perform cooperative work, and then the master service of the master device can inform the ranging management to measure the position relationship between the master device and the second slave device.
S1617, the ranging management of the second slave device transmits a second ranging response to the master device.
The ranging management of the master device determines the range and relative position of the second slave device from the second ranging response S1618.
The second ranging response is a response signal of the second ranging signal. The master device and the second slave device may perform ranging by any one of the methods of fig. 13 to 15.
S1619, the ranging management of the master device transmits the distance and the relative position of the second slave device to the master service of the master device.
If there are more slaves in the system, the master can wait for ranging of all slaves to complete before implementing the cursor crossing procedure shown in fig. 17.
The cursor passing flow shown in fig. 17 includes the following.
S1701, the primary service of the primary device determines a target device.
The host service may perform the above steps when the cursor is located within the screen edge region of the host device. Taking fig. 1 as an example, when the cursor is located in the right screen edge area of the master device, the target device is the first slave device. After determining the target device, the host service may instruct the input management computing cursor to traverse to the initial position of the target device.
S1702, the host service of the host device instructs the input management of the host device to calculate the initial position.
The host service may send information such as the screen size of the target device to the input management. The master device may also send the device identifier of the target device to the input management, which obtains information such as the screen size of the target device based on the device identifier. After the screen size of the target device is acquired, the input management may calculate the initial position according to the example shown in fig. 9 or 10.
S1703, input management of the host device transmits initial position information to the host service of the host device.
The initial position information may be a coordinate value. When the cursor moves to the right screen boundary of the host device, the host service of the host device may perform the following steps.
S1704, the master service of the master device sends a pass-through message to the first slave device.
If the bluetooth connection is established between the master device and the first slave device, the master service of the master device may send the traversing message through the bluetooth driver, where the traversing message includes initial position information, and the initial position information indicates an initial position after the cursor traverses to the first slave device.
S1705, the master service of the first slave device transmits initial position information to the input management of the first slave device.
S1706, the input management of the first slave device sets the initial position of the cursor.
For example, if the initial position information is a coordinate value, the input management of the first slave device sets the initial position of the cursor according to the coordinate value.
S1707, input management of the host device transmits displacement data to the host service of the host device.
The displacement data is data received by the master device from the mouse after the cursor passes through to the first slave device.
S1708, the master service of the master device transmits the displacement data to the master service of the first slave device.
S1709, the master service of the first slave device transmits displacement data to the input management of the first slave device.
S1710, the input management of the first slave device sets the current position of the cursor according to the current displacement data.
The user controls the mouse to continuously move, and the master device continuously transmits displacement data to the first slave device. When the cursor moves to the screen edge region of the first slave device, the first slave device performs the following steps.
S1711, the input management of the first slave device sends a notification message to the master service of the first slave device.
S1712, the primary service of the first slave device sends a notification message to the primary service of the master device.
The notification message is used to notify the master that the cursor has moved to the screen edge region of the first slave device.
S1713, the master device switches the target device according to the notification message.
Taking fig. 7 as an example, when the cursor is located in the right screen edge region of the first slave device, the target device is the second slave device. After determining the target device, the host service may instruct the input management computing cursor to traverse to the initial position of the target device. The input management may calculate the initial position according to the example shown in fig. 9 or fig. 10.
S1714, the main service of the main device instructs the input management calculation initial position of the main device.
The host service may send information such as the screen size of the target device to the input management. The master device may also send the device identifier of the target device to the input management, which obtains information such as the screen size of the target device based on the device identifier. After the screen size of the target device is acquired, the input management may calculate the initial position according to the example shown in fig. 9 or 10.
S1715, the input management of the master device transmits the initial location information to the master service of the master device.
The initial position information may be a coordinate value. When the cursor moves to the right screen boundary of the first slave device, the master service of the master device may perform the following steps.
S1716, the master service of the master device sends the pass-through message to the second slave device.
If the bluetooth connection is established between the master device and the second slave device, the master service of the master device may send the traversing message through bluetooth driving, where the traversing message includes initial position information, and the initial position information indicates an initial position after the cursor traverses to the second slave device.
S1717, the master service of the second slave device transmits the initial position information to the input management of the second slave device.
S1718, the input management of the second slave device sets the initial position of the cursor.
For example, the initial position information is a coordinate value, and the input management of the second slave device sets the initial position of the cursor according to the coordinate value.
S1710, the input management of the host device transmits the displacement data to the host service of the host device.
The displacement data is data received by the master device from the mouse after the cursor passes through to the second slave device.
S1720, the master service of the master device transmits the displacement data to the master service of the second slave device.
S1721, the master service of the second slave device transmits the displacement data to the input management of the second slave device.
S1722, the input management of the second slave device sets the current position of the cursor according to the current displacement data.
The user controls the mouse to continuously move, and the master device continuously transmits displacement data to the second slave device.
The cursor threading procedure is described below. As shown in fig. 18, the reflow process includes the following.
S1801, the input management of the host device transmits the displacement data to the host service of the host device.
The displacement data is data received by the master device from the mouse after the cursor passes through to the second slave device.
S1802, the master service of the master device transmits displacement data to the master service of the second slave device.
S1803, the master service of the second slave device transmits the displacement data to the input management of the second slave device.
S1804, the input management of the second slave device sets the current position of the cursor according to the current displacement data.
The user controls the mouse to continuously move, and the master device continuously transmits displacement data to the second slave device. When the cursor moves to the screen edge region of the second slave device, the second slave device performs the following steps.
S1805, the input management of the second slave device transmits a notification message to the master service of the second slave device.
S1806, the master service of the second slave device transmits a notification message to the master service of the master device.
The notification message is used to notify the master that the cursor has moved to the screen edge region of the second slave device.
S1807, the master device switches the target device according to the notification message.
Taking fig. 12 as an example, when the cursor is located in the left screen edge region of the second slave device, the target device is the first slave device. After determining the target device, the host service may instruct the input management computing cursor to traverse to the initial position of the target device. The input management may calculate the initial position according to the example shown in fig. 9 or fig. 10.
S1808, the main service of the main device instructs the input management calculation initial position of the main device.
The host service may send information such as the screen size of the target device to the input management. The master device may also send the device identifier of the target device to the input management, which obtains information such as the screen size of the target device based on the device identifier. After the screen size of the target device is acquired, the input management may calculate the initial position according to the example shown in fig. 9 or 10.
S1809, the input management of the master device transmits initial position information to the master service of the master device.
The initial position information may be a coordinate value. When the cursor moves to the left screen boundary of the second slave device, the master service of the master device may perform the following steps.
S1810, the master service of the master device transmits a traverse message to the first slave device.
If the bluetooth connection is established between the master device and the first slave device, the master service of the master device may send the traversing message through the bluetooth driver, where the traversing message includes initial position information, and the initial position information indicates an initial position after the cursor traverses to the first slave device.
S1811, the master service of the first slave device transmits initial position information to input management of the first slave device.
S1812, the input management of the first slave device sets the initial position of the cursor.
For example, if the initial position information is a coordinate value, the input management of the first slave device sets the initial position of the cursor according to the coordinate value.
S1813, the input management of the host device transmits the displacement data to the host service of the host device.
The displacement data is data received by the master device from the mouse after the cursor passes from the second slave device to the first slave device.
S1814, the master service of the master device transmits the displacement data to the master service of the first slave device.
S1815, the master service of the first slave device transmits the displacement data to the input management of the first slave device.
S1816, the input management of the first slave device sets the current position of the cursor according to the current displacement data.
The user controls the mouse to continuously move, and the master device continuously transmits displacement data to the first slave device.
The application also provides a computer program product which, when executed by a processor, implements the method of any of the method embodiments of the application.
The computer program product may be stored in a memory and eventually converted to an executable object file that can be executed by a processor through preprocessing, compiling, assembling, and linking.
The computer program product may also cure code in the chip. The application is not limited to the specific form of computer program product.
The application also provides a computer readable storage medium having stored thereon a computer program which when executed by a computer implements the method according to any of the method embodiments of the application. The computer program may be a high-level language program or an executable object program.
The computer readable storage medium may be volatile memory or nonvolatile memory, or may include both volatile memory and nonvolatile memory. The nonvolatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. The volatile memory may be random access memory (random access memory, RAM) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous DRAM (SLDRAM), and direct memory bus RAM (DR RAM).
It will be clearly understood by those skilled in the art that, for convenience and brevity of description, specific working processes and technical effects of the apparatus and device described above may refer to corresponding processes and technical effects in the foregoing method embodiments, which are not described in detail herein.
In the several embodiments provided by the present application, the disclosed systems, devices, and methods may be implemented in other manners. For example, some features of the method embodiments described above may be omitted, or not performed. The above-described apparatus embodiments are merely illustrative, the division of units is merely a logical function division, and there may be additional divisions in actual implementation, and multiple units or components may be combined or integrated into another system. In addition, the coupling between the elements or the coupling between the elements may be direct or indirect, including electrical, mechanical, or other forms of connection.
It should be understood that, in various embodiments of the present application, the size of the sequence number of each process does not mean that the execution sequence of each process should be determined by its functions and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
In addition, the terms "system" and "network" are often used interchangeably herein. The term "and/or" herein is merely one association relationship describing the associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone. In addition, the character "/" herein generally indicates that the front and rear associated objects are an "or" relationship.
In summary, the foregoing description is only a preferred embodiment of the present application, and is not intended to limit the scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (11)

1. A method of cursor traversal applied to a system comprising a master device and at least two slave devices, the master device being a device that receives displacement data of a cursor from an input device, the method comprising:
the master device determining the relative positions between the devices in the system;
the master device determines the current position of the cursor;
when the current position is located in the screen edge area of a first slave device, the master device determines whether a second slave device exists in the cursor moving direction of the first slave device according to the relative position of each device in the system, wherein the first slave device is any one of the at least two slave devices, and the second slave device is a slave device adjacent to the first slave device in the at least two slave devices;
When the second slave device exists in the cursor moving direction, and when the cursor reaches the boundary of the first slave device, the master device sends a first crossing message to the second slave device, wherein the first crossing message comprises position information of an initial position of the cursor after crossing from the first slave device to the second slave device.
2. The method of claim 1, wherein the master device determining the relative location between the devices in the system comprises:
the master device receives a first wireless signal from the first slave device, the first wireless signal including an identification of the first slave device;
the master device determining a first angle of arrival and a transmission delay of the first wireless signal;
the master device processes the transmission delay of the first wireless signal through a ranging model, and determines a first distance between the master device and the first slave device;
the master device receiving a second wireless signal from the second slave device, the second wireless signal including an identification of the second slave device;
the master device determining a second angle of arrival and a transmission delay of the second wireless signal;
The master device processes the transmission time delay of the second wireless signal through the ranging model, and determines a second distance between the master device and the second slave device;
the master device determines the relative positions among the master device, the first slave device and the second slave device according to the identification of the first slave device, the identification of the second slave device, the first arrival angle, the second arrival angle, the first distance and the second distance.
3. The method of claim 1 or 2, wherein before the master device sends the first traverse message to the second slave device, the method further comprises:
the master device obtains the screen size of the first slave device and the screen size of the second slave device, wherein the screen size of the first slave device comprises a first side length, the screen size of the second slave device comprises a second side length, and the first side length and the second side length are the side lengths of adjacent sides of the first slave device and the second slave device respectively;
the master device determines the initial position according to the first side length and the second side length, wherein the initial position is the product of the coordinate of the cursor at the crossing position of the first slave device and a first ratio, and the first ratio is the ratio of the first side length to the second side length.
4. A method according to claim 3, wherein the master device obtaining the screen size of the first slave device and the screen size of the second slave device comprises:
the method comprises the steps that the master device obtains the screen size of a first slave device from a response message of a first connection request, wherein the first connection request is a connection request sent by the master device to the first slave device;
the master device obtains the screen size of the second slave device from a response message of a second connection request, wherein the second connection request is a connection request sent by the master device to the second slave device.
5. The method of any of claims 1-4, wherein prior to the master device sending a first pass-through message to the second slave device, the method further comprises:
the master device obtains the screen resolution of the second slave device;
the master device determines a cursor sensitivity conversion rate of the second slave device according to the screen resolution of the master device and the screen resolution of the second slave device, wherein the cursor sensitivity conversion rate is positively correlated with a second ratio, and the second ratio is a ratio of the screen resolution of the second slave device to the screen resolution of the master device;
After the master device sends the first traverse message to the second slave device, the method further includes:
the main device receives first displacement data of the cursor from the input device;
the main equipment determines second displacement data according to the first displacement data and the cursor sensitivity conversion rate, wherein the second displacement data is equal to the product of the first displacement data and the cursor sensitivity conversion rate;
the master device transmits the second displacement data to the second slave device.
6. The method of claim 5, wherein the master device obtaining a screen resolution of the second slave device comprises:
the master device obtains the screen size of the second slave device from a response message of a second connection request, wherein the second connection request is a connection request sent by the master device to the second slave device.
7. The method of any of claims 1 to 6, wherein the master device determining a current position of a cursor comprises:
the master device sends third displacement data of the cursor to the first slave device, wherein the third displacement data is used for determining the current position by the first slave device;
The master device receiving current location information from the first slave device, the current location information indicating the current location;
and the master device determines the current position according to the current position information.
8. The method according to any one of claims 1 to 7, further comprising:
after the cursor traverses to the second slave device, the master device determines not to send displacement data of the cursor to the first slave device.
9. The method according to any one of claims 1 to 8, further comprising:
the master device sends fourth displacement data of the cursor to the second slave device, wherein the fourth displacement data is used for the first slave device to determine the position of the cursor on the second slave device;
when the position of the cursor on the second slave device is positioned in the screen edge area of the second slave device, the master device determines whether adjacent slave devices exist in the cursor moving direction of the second slave device according to the relative positions of all devices in the system;
when the first slave device exists in the cursor moving direction of the second slave device, and when the cursor reaches the boundary of the second slave device, the master device sends a second crossing message to the first slave device, wherein the second crossing message comprises position information of an initial position after the cursor crosses from the second slave device to the first slave device.
10. An apparatus for cursor traversal, comprising a processor and a memory, the processor and the memory coupled, the memory for storing a computer program that, when executed by the processor, causes the apparatus to perform the method of any one of claims 1-9.
11. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program, which when executed by a processor causes an apparatus comprising the processor to perform the method of any one of claims 1 to 9.
CN202211346051.0A 2022-10-31 2022-10-31 Cursor traversing method and device Pending CN116700547A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211346051.0A CN116700547A (en) 2022-10-31 2022-10-31 Cursor traversing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211346051.0A CN116700547A (en) 2022-10-31 2022-10-31 Cursor traversing method and device

Publications (1)

Publication Number Publication Date
CN116700547A true CN116700547A (en) 2023-09-05

Family

ID=87822736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211346051.0A Pending CN116700547A (en) 2022-10-31 2022-10-31 Cursor traversing method and device

Country Status (1)

Country Link
CN (1) CN116700547A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083122A1 (en) * 2008-10-01 2010-04-01 International Business Machines Corporation Systems, methods and computer products for controlling multiple machines using a seamless user-interface to a multi-display
CN104252294A (en) * 2013-06-26 2014-12-31 原相科技股份有限公司 Computer system including mouse device with adjustable dpi based on screen size and operating method thereof
CN106325681A (en) * 2016-08-30 2017-01-11 乐视控股(北京)有限公司 Method and device for switching menu items
CN108196784A (en) * 2017-12-14 2018-06-22 威创集团股份有限公司 A kind of method and apparatus of key mouse seamless switching for position administration system
CN108255364A (en) * 2016-12-28 2018-07-06 深圳市巨烽显示科技有限公司 The method and apparatus that cursor is switched fast are realized in multihead display environment
CN109388257A (en) * 2018-09-30 2019-02-26 北京淳中科技股份有限公司 Control switching method, device and KVM switch

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083122A1 (en) * 2008-10-01 2010-04-01 International Business Machines Corporation Systems, methods and computer products for controlling multiple machines using a seamless user-interface to a multi-display
CN104252294A (en) * 2013-06-26 2014-12-31 原相科技股份有限公司 Computer system including mouse device with adjustable dpi based on screen size and operating method thereof
CN106325681A (en) * 2016-08-30 2017-01-11 乐视控股(北京)有限公司 Method and device for switching menu items
CN108255364A (en) * 2016-12-28 2018-07-06 深圳市巨烽显示科技有限公司 The method and apparatus that cursor is switched fast are realized in multihead display environment
CN108196784A (en) * 2017-12-14 2018-06-22 威创集团股份有限公司 A kind of method and apparatus of key mouse seamless switching for position administration system
CN109388257A (en) * 2018-09-30 2019-02-26 北京淳中科技股份有限公司 Control switching method, device and KVM switch

Similar Documents

Publication Publication Date Title
CN110381197B (en) Method, device and system for processing audio data in many-to-one screen projection
CN113885759B (en) Notification message processing method, device, system and computer readable storage medium
WO2021218707A1 (en) Method for determining operated object, and mobile device and gateway
WO2023284715A1 (en) Object reconstruction method and related device
CN114040242A (en) Screen projection method and electronic equipment
CN112860428A (en) High-energy-efficiency display processing method and equipment
CN114554000A (en) Camera calling method and system and electronic equipment
CN113170279B (en) Communication method based on low-power Bluetooth and related device
CN114356195A (en) File transmission method and related equipment
CN111886849B (en) Information transmission method and electronic equipment
CN114928900B (en) Method and apparatus for transmission over a WiFi direct connection
CN116700547A (en) Cursor traversing method and device
EP4258099A1 (en) Double-channel screen projection method and electronic device
WO2020062308A1 (en) Location information processing method and related device
CN113676902A (en) System and method for providing wireless internet access and electronic equipment
WO2022179364A1 (en) Spliced display method, electronic device and system
WO2022037412A1 (en) Method and apparatus for managing internet of things devices
CN115002939B (en) Method and device for joining WiFi group
CN114816187B (en) Control display method, device, computer equipment and medium
WO2022179371A1 (en) Tiled display method, electronic device, and system
WO2022179327A1 (en) Content storage method, electronic device, and system
WO2023024889A1 (en) First electronic device, second electronic device, and method for screen-casting
CN117666819A (en) Mouse operation method, electronic device, mouse and computer-readable storage medium
CN117762279A (en) Control method, electronic device, storage medium, and program product
CN115580541A (en) Information synchronization method and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination