A synchronous switching KVM system and method

By designing a synchronous switching KVM system, and utilizing an HDMI multi-select switch and wireless link identifier binding, synchronous switching between the computer screen and keyboard/mouse control is achieved when the computer is away from the console. This solves the problems of synchronous switching and BIOS use in existing technologies, and improves the system's stability and compatibility.

CN123047809APending Publication Date: 2026-11-06SHENZHEN AIXIESHENG TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611506588.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-27
Publication Date
2026-11-06

AI Technical Summary

Technical Problem

Existing KVM systems cannot switch between the screen and keyboard/mouse control objects synchronously with a single operation when the computer is far from the console. Furthermore, they cannot be used in BIOS and suffer from issues such as inconsistent keyboard/mouse control, poor composite HID enumeration, and frequency band interference.

Method used

A synchronous switching KVM system was designed, including a console and multiple receivers. The synchronous switching of the screen and keyboard and mouse control is achieved by binding the HDMI multi-select switch and the wireless link identifier. The console collects keyboard and mouse input and sends it to the target receiver through the wireless link. The receiver enumerates HID devices and reports them. The link status table manages frequency switching to ensure synchronization and stability.

Benefits of technology

It enables simultaneous switching between the display screen and keyboard/mouse control with a single operation when the computer is away from the console, reducing screen and input misalignment, improving the accuracy of the switching process and the smoothness of operation, and supports use under BIOS without additional drivers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123047809A_ABST
    Figure CN123047809A_ABST
Patent Text Reader

Abstract

This application relates to a synchronous switching KVM system and method. The system includes a console, an HDMI multi-select switch, and multiple receivers. The console includes a USB host acquisition module, a keyboard and mouse protocol processing module, a switching operation detection module, a wireless transmission module, a link status table, and an HDMI switch driver module. Each receiver is used to plug into the USB port of a corresponding computer and enumerates HID keyboards and / or HID mice to the plugged-in computer. In response to the same switching operation, the console switches the wireless link identifier of the wireless transmission module to the wireless link identifier of the receiver associated with the target computer, and drives the HDMI multi-select switch to select the HDMI video output of the target computer to the monitor. This application enables synchronous switching of the display screen and keyboard / mouse control objects without installing drivers on the computer.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer peripherals and multi-machine control technology, and in particular to a synchronous switching KVM system and method.

[0002] For ease of understanding, the following explanations are provided for some of the English abbreviations that appear in this application: KVM stands for Keyboard, Video, Mouse, i.e., a keyboard, video, and mouse switcher. HDMI stands for High Definition Multimedia Interface. HID stands for Human Interface Device. USB stands for Universal Serial Bus. ACK stands for Acknowledgement, which is an acknowledgment response. MAC stands for Media Access Control. GPIO stands for General Purpose Input / Output. BIOS stands for Basic Input / Output System. UEFI stands for Unified Extensible Firmware Interface. Background Technology

[0003] In existing KVM system technologies that include one or more computers with a keyboard, mouse, monitor, and monitor control, there are mainly four types of technical paths: The first type is the HDMI KVM switch: Each computer's HDMI and USB ports are connected to the same switching box via cables. The box uses an HDMI switch to change the display, and a USB switching chip sends keyboard and mouse data to the currently selected computer. In this solution, the keyboard and mouse path is a wired USB connection to the computer, requiring the computer to pull the USB cable back to the console. The distance between the computer and the console is limited by the USB cable length (usually several meters). If the user uses a 2.4G wireless keyboard and mouse, the manufacturer's receiver can only be plugged into the KVM's USB host port. Inexpensive switchers have poor compatibility with composite HID and proprietary protocol receivers, often resulting in keyboard and mouse malfunctions or unrecognized hotkeys after switching.

[0004] The second type, 2.4G keyboard and mouse synchronizer / one-to-many wireless control: After the control device collects the keyboard and mouse data, it transmits it via 2.4G to the receivers plugged into their respective computers. The controlled object is switched by switching which receiver it communicates with. This type of solution does not bind the HDMI 2-to-1 switch and the wireless link identifier to the same switch, making it easy for users to accidentally input to the computer that is not currently displaying data.

[0005] The third method is software-based keyboard and mouse sharing: This method forwards keyboard and mouse events over a local area network (LAN), and partially supports clipboard and file drag-and-drop, as well as cursor switching when the cursor slides off-screen. This solution requires the software to be installed on each computer, the operating system to be running, and a network connection to be available. It cannot be used in BIOS / UEFI, login interfaces, or environments where drivers are not installed, and it does not solve the HDMI signal selection issue when using a single monitor.

[0006] The fourth method is wired USB HID emulation to each computer: A wired HID emulator is connected to the USB interface of each computer. The console MCU sends keyboard and mouse data to the current computer via the USB hub. The keyboard and mouse still use wired connections, and the wiring is the same as the first method.

[0007] The technical problems with the existing solutions mentioned above include: the inability to switch the screen and switch the keyboard and mouse control objects simultaneously with a single operation, without requiring the computer to be far from the table and only needing to run an HDMI cable, and the keyboard and mouse side not relying on installing software on the computer. In addition, the following technical problems exist: (1) It is difficult for the console to simultaneously connect a wired keyboard and mouse and the user's own 2.4G receiver. Users often plug the wireless mouse receiver into one USB port of the console and the wired keyboard into another port; single USB hosts or some KVMs that only act as USB switches have poor enumeration of composite HID, and the two keyboard reports cannot be merged; (2) When switching to an unselected computer, the computer may still receive the keyboard and mouse, or the selected computer may not receive them. When the receiver software discards the broadcast without changing the physical layer access address, both receivers are demodulating, and the risk of interference and misdelivery is high; when switching video and wireless are out of sync, the screen and input will be misaligned; (3) The pairing process between the receiver and the console is cumbersome. After power failure, the link identifier is lost. A mechanism is needed: the receiver presses and holds the button to power on and enters pairing, the console uses a hotkey to specify that this is machine 1 / machine 2, the receiver writes the console identifier and access address into the memory, and then only receives the service frames of the console identifier; (4) 2.4G When the ISM band coexists with Wi-Fi and user-owned keyboard and mouse receivers, packet loss is likely. It is necessary to coordinate the change of working frequency when the link fails. Each receiver should independently remember the current frequency. When the console switches back to a computer, the frequency used by the receiver should be restored to avoid the two receivers being pulled to the same frequency or the two ends losing synchronization. (5) The composite HID mouse report format is not uniform. The 4 bytes of the Boot protocol coexist with the 12 / 16 bits of displacement in the report descriptor and the message with Report ID. Direct forwarding will cause the cursor to be abnormal. It is necessary to map it to a uniform relative displacement mouse report in the console and have the receiver report according to the standard HID descriptor.

[0008] In summary, there is an urgent need for a KVM system that can simultaneously switch between the screen and keyboard / mouse control objects in a single operation, allowing the computer to be located away from the console, and is available under the BIOS and driverless. Summary of the Invention

[0009] Therefore, it is necessary to provide a KVM system and method that can simultaneously switch between the screen and keyboard / mouse control objects in a single operation, allowing the computer to be located away from the console and available under the BIOS, and enabling driverless synchronous switching, in response to the aforementioned technical problems.

[0010] A synchronously switching KVM system, the system including a console, an HDMI multi-select switch and multiple receivers; The console includes a USB host acquisition module, a keyboard and mouse protocol processing module, a switching operation detection module, a wireless transmission module, a link status table, and an HDMI switch driver module. The USB host acquisition module has one or more USB host interfaces for connecting and acquiring input from a keyboard, mouse, and / or wireless mouse receiver. The keyboard and mouse protocol processing module generates an HID report. The switching operation detection module detects switching operations. The wireless transmission module sends service frames containing the HID report to the corresponding receiver via the wireless link using its currently used wireless link identifier. The link status table stores the wireless link identifiers of the receivers associated with each computer. The HDMI multi-select switch is used to connect multiple inputs of each computer's HDMI output, one output of the monitor, and to select the control terminal. Each receiver is used to be inserted into the USB port of a corresponding computer. The receiver includes a wireless receiving module, a USB device controller, and a memory. The wireless receiving module is used to receive service frames with a stored wireless link identifier. The USB device controller is used to enumerate HID keyboards and / or HID mice to the inserted computer and report HID reports to the computer based on the received service frames. The memory is used to store console identifiers and / or wireless link identifiers. The console is also configured to, in response to the same switching operation, switch the wireless link identifier of the wireless transmitting module to the wireless link identifier of the receiver associated with the target computer, and drive the HDMI multi-select switch through the HDMI switch driver module to select the HDMI video output of the target computer to the display.

[0011] In one embodiment, the keyboard and mouse protocol processing module is used to enumerate HID devices, distinguish keyboards and mice according to interface protocols, merge keyboard reports from multiple USB host interfaces, and map mouse reports of different formats into a unified relative displacement mouse report.

[0012] In one embodiment, the handover operation detection module is used to identify the handover hotkey or pairing hotkey before the HID report enters the wireless transmission module, and remove the handover hotkey or pairing hotkey from the HID report sent to the computer after identification.

[0013] In one embodiment, each receiver further includes a pairing button; if the pairing button is pressed when the receiver is powered on, it enters pairing mode and listens for pairing data packets with a default wireless link identifier; the console responds to the pairing operation by sending a pairing data packet containing a console identifier and an assigned wireless link identifier to a designated receiver; the receiver is also configured to write the console identifier and the assigned wireless link identifier into a memory, and subsequently only receive service frames corresponding to the console identifier.

[0014] In one embodiment, the link status table stores at least one of the following for each computer: wireless link identifier, operating frequency, and link establishment status; the console and the receiver are configured to collaboratively change the operating frequency when the number of consecutive ACK failures reaches a preset threshold, and the change of operating frequency is performed after ACK confirmation; each receiver independently stores the current operating frequency, and the operating frequency of the corresponding receiver of the computer is restored when the console switches back to the computer.

[0015] In one embodiment, the wireless link is a 2.4G private wireless link, and the wireless link identifier includes at least one of access address, operating frequency, synchronization word, and network ID; the console switches the wireless link identifier to prevent unselected receivers from demodulating service frames, or to prevent unselected receivers from reporting HID reports to the inserted computer.

[0016] In one embodiment, the USB device controller enumerates composite HID devices, including a keyboard interface and a mouse interface; the keyboard interface reports an 8-byte Boot keyboard report via an interrupt IN endpoint, and the mouse interface reports a 6-byte report via an interrupt IN endpoint, the 6-byte report including a key field, a 16-bit X offset, a 16-bit Y offset, and a scroll wheel field.

[0017] In one embodiment, the HDMI multi-select switch is an HDMI 2-to-1 switch, and its selection control terminal includes a selection pin and a strobe pulse pin; the HDMI switch driver module provides a logic level to the selection pin and a strobe pulse to the strobe pulse pin; the HDMI video is not captured or compressed by the console; the USB host acquisition module includes a single USB host interface and a USB hub, or includes two or more USB host interfaces for simultaneously connecting at least two of the following: a wired keyboard, a wired mouse, and a user-provided 2.4G keyboard and mouse receiver.

[0018] A synchronous switching KVM method, the method comprising: The console collects keyboard and mouse input through one or more USB host interfaces of the USB host acquisition module and processes the keyboard and mouse input into HID reports; The console sends a service frame containing the HID report to the currently selected receiver via the wireless link, using the current wireless link identifier. The currently selected receiver receives service frames with the saved wireless link identifier, enumerates HID keyboards and / or HID mice to the inserted computer, and reports the corresponding HID report to the computer. When the console detects a switching operation, it responds to the same switching operation by simultaneously executing: switching the wireless link identifier of the wireless link to the wireless link identifier of the receiver associated with the target computer; and driving the HDMI multi-select switch to select the target computer's HDMI video output to the monitor.

[0019] In one embodiment, the method further includes: Before the HID report enters wireless transmission, the console identifies the switching or pairing hotkeys and removes the identified hotkeys from the HID report sent to the computer. The console enumerates HID devices, distinguishes between keyboards and mice according to the interface protocol, merges keyboard reports from multiple USB ports, and maps mouse reports of different formats into a unified relative displacement mouse report. When the receiver is powered on, if the pairing button is pressed, it enters pairing mode and listens with the default wireless link identifier. The console specifies the target computer number via a hotkey and sends a pairing data packet. The receiver saves the console identifier and the assigned wireless link identifier in the pairing data packet to its memory, and subsequently only receives service frames with the console identifier. When the number of consecutive ACK failures reaches a preset threshold, the console and the corresponding receiver work together to change the operating frequency. The change of operating frequency is performed after ACK confirmation. When the console switches back to a computer, the operating frequency saved by the receiver is restored.

[0020] The aforementioned synchronous switching KVM system and method include a control console, an HDMI multi-select switch, and multiple receivers. The control console includes a USB host acquisition module, a keyboard and mouse protocol processing module, a switching operation detection module, a wireless transmission module, a link status table, and an HDMI switch driver module. The USB host acquisition module has one or more USB host interfaces for connecting and acquiring input from a keyboard, mouse, and / or wireless mouse receiver. The keyboard and mouse protocol processing module generates HID reports. The switching operation detection module detects switching operations. The wireless transmission module sends service frames containing HID reports to multiple receivers via a wireless link. The link status table stores the wireless link identifiers of the receivers associated with each computer. The HDMI multi-select switch connects multiple HDMI inputs from each computer, one output to a monitor, and a selection control terminal. Each receiver is inserted into the USB port of its corresponding computer and includes a wireless receiving module. The system includes a block, a USB device controller, and a memory; a wireless receiving module for receiving service frames with a stored wireless link identifier; a USB device controller for enumerating HID keyboards and / or HID mice to the plugged-in computer and reporting HID reports to the computer based on the received service frames; a memory for storing a console identifier and / or a wireless link identifier; and a console configured to, in response to the same switching operation, switch the wireless link identifier of the wireless transmitting module to the wireless link identifier of the receiver associated with the target computer, and drive an HDMI multi-select switch via an HDMI switch driver module to select the HDMI video output of the target computer to the display. By synchronously switching the wireless link identifier and the HDMI switch in response to the same switching operation, the system can reduce the inconsistency between the screen display and the keyboard and mouse input control objects, which helps to achieve synchronous switching of HDMI video and wireless keyboard and mouse, reduce screen and input misalignment, and facilitates the placement of the computer away from the console without the need for additional drivers. Attached Figure Description

[0021] Figure 1 This is a block diagram of a synchronous switching KVM system according to an embodiment of this application; Figure 2 This is a flowchart illustrating a synchronous switching KVM method in one embodiment. Detailed Implementation

[0022] The technical solutions of this application will now be clearly and completely described with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this application, and not all embodiments. The components of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0023] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once a particular item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, the terms "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0024] Existing KVM systems primarily employ wired USB cables with HDMI switching boxes, software network sharing, or independent wireless control when switching between multiple computers. Wired USB connections are limited by cable length, preventing computers from being positioned far from the control console. Software sharing solutions rely on the operating system and network environment, failing to function during system boot or in driverless environments. Furthermore, existing wireless switching solutions do not link video path switching with the wireless input target, easily leading to misalignment between the displayed image and the input control object.

[0025] In this regard, such as Figure 1 As shown, this application proposes a synchronous switching KVM system, which includes a console, an HDMI multi-select switch, and multiple receivers.

[0026] The console includes a USB host acquisition module, a keyboard and mouse protocol processing module, a switching operation detection module, a wireless transmission module, a link status table, and an HDMI switch driver module. The USB host acquisition module has one or more USB host interfaces for connecting and acquiring input from keyboard, mouse, and / or wireless mouse receivers. The keyboard and mouse protocol processing module generates HID reports. The switching operation detection module detects switching operations. The wireless transmission module sends service frames containing HID reports to multiple receivers via a wireless link. The link status table stores the wireless link identifiers of the receivers associated with each computer. The HDMI multi-select switch is used to connect multiple inputs to the HDMI output of each computer, one output to the monitor, and to select the control terminal. Each receiver is used to be inserted into the USB port of the corresponding computer. The receiver includes a wireless receiving module, a USB device controller, and a memory. The wireless receiving module is used to receive service frames with the stored wireless link identifier. The USB device controller is used to enumerate the HID keyboard and / or HID mouse to the inserted computer and report HID reports to the computer according to the received service frames. The memory is used to store the console identifier and / or wireless link identifier. The console is also configured to respond to the same switching operation by switching the wireless link identifier of the wireless transmitter module to the wireless link identifier of the receiver associated with the target computer, and by driving the HDMI multi-select switch through the HDMI switch driver module to select the HDMI video output of the target computer to the monitor.

[0027] For ease of understanding, the following explains some key terms in this embodiment: HID reports refer to data structures that conform to human-machine interface device specifications and are used to carry input information such as keyboard key status, mouse movement, and key actions.

[0028] Wireless link identification refers to the identification information used in wireless communication to distinguish different communication nodes or channels, and is used to ensure that a corresponding data transmission path is established between the console and the receiver.

[0029] A console identifier is a unique identifier assigned to a console, used by the receiver to verify the legitimacy of the data source.

[0030] A service frame refers to a data packet module that carries HID reports and related protocol control information on a wireless transmission link.

[0031] Specifically, the USB host acquisition module can be configured as a universal serial bus master control chip, which polls the connected input devices through physical interfaces to read raw input messages; as an optional implementation, the USB host acquisition module can also be configured as a multi-channel acquisition controller to perform time-division acquisition of input data from each interface.

[0032] After receiving the collected data, the keyboard and mouse protocol processing module converts the raw data packets into HID reports; for example, it encapsulates the detected keyboard scan codes or mouse movement data into HID reports and hands them over to the wireless transmission module for transmission.

[0033] The switching operation detection module can be configured as a physical button detection circuit, which generates a switching command by detecting the action of mechanical buttons set on the control panel; or it can be configured as a detection module that receives infrared remote control signals, which triggers the switching operation by decoding the remote control command.

[0034] The link status table can be stored internally in the console using a static configuration table that records a fixed correspondence between computer numbers and corresponding wireless link identifiers, or by establishing mapping entries using volatile memory.

[0035] A wireless communication connection is established between the wireless transmitting module and the wireless receiving module of the receiver. The wireless transmitting module can broadcast the generated service frames to the wireless channel, with the service frames carrying the target wireless link identifier; or it can configure the transmission parameters of the wireless transmitting module to the target wireless link identifier and then perform directional transmission.

[0036] An HDMI multi-select switch can be implemented using an electronic analog switch chip. Its selection control terminal receives a level control signal, enabling one of the multiple HDMI input signals to be connected to the display output interface. The HDMI switch driver module outputs the corresponding level signal to the selection control terminal of the HDMI multi-select switch through general-purpose input / output pins.

[0037] After each receiver is plugged into the corresponding computer's USB port, the USB device controller enumerates composite HID devices to the computer via hardware circuitry. Upon receiving a wireless service frame, it uploads the parsed HID report to the computer via endpoint interrupt transmission. The receiver's memory can use a non-volatile memory chip, pre-written with default wireless link identifiers and console identifiers at the factory, or written with the corresponding identifier data during initial configuration.

[0038] When the console detects a switching operation, it executes a coordinated operation within the same processing flow through control logic. On one hand, it updates the wireless link identifier currently used for transmission to the wireless transmission module, changing it to the identifier of the receiver associated with the target computer. On the other hand, it controls the HDMI multi-select switch through signal output to switch the target computer's HDMI channel to the monitor.

[0039] In summary, this system binds the switching of the wireless keyboard and mouse transmission link identifier with the physical selection of the HDMI video channel in the same switching operation. This allows the computer to switch between the display screen and keyboard and mouse control of the computer in a single operation, even when the computer is located away from the control console, without the need to install additional software on the computer. This reduces inconsistencies between the display screen and input control, and improves the accuracy and consistency of the switching process.

[0040] In some of the embodiments described above in this application, a keyboard and mouse protocol processing module is proposed to generate HID reports. However, in practical applications, users often use a wired keyboard, a wired mouse, and a built-in wireless keyboard and mouse receiver at the same time, and the report formats generated by different devices are different. If the reports are forwarded directly, some KVMs have poor enumeration of composite HIDs, or report conflicts may occur due to multiple inputs, which may lead to problems such as cursor abnormalities, keyboard and mouse failures, or hotkey recognition errors.

[0041] In this regard, this application further proposes that the keyboard and mouse protocol processing module is used to enumerate HID devices, distinguish keyboards and mice according to interface protocols, merge keyboard reports from multiple USB host interfaces, and map mouse reports of different formats into a unified relative displacement mouse report.

[0042] Specifically, the keyboard and mouse protocol processing module enumerates HID devices and distinguishes between keyboards and mice according to their interface protocols. Its function is to accurately identify the attributes of various peripherals connected to the USB host acquisition module from both the physical and protocol layers. In a specific implementation, the keyboard and mouse protocol processing module can quickly determine the type of device by reading the interface class (bInterfaceClass), subclass (bInterfaceSubClass), and protocol (bInterfaceProtocol) fields in the USB interface descriptor. Alternatively, the module can also accurately distinguish whether the interface belongs to a keyboard-type data source or a mouse-type data source by deeply analyzing the HID report descriptor of each endpoint and extracting the use case page and specific use case information.

[0043] The purpose of merging keyboard reports from multiple USB host interfaces is to support collaborative input when multiple keyboards or keyboard and mouse combined receivers are connected simultaneously, preventing multiple key values ​​from overwriting or conflicting. In a specific implementation, the keyboard and mouse protocol processing module can maintain a global key state bitmap, performing a logical OR aggregation operation on the pressed and released states of keys from different USB host interfaces to generate an aggregated report containing all keys currently in the pressed state. Alternatively, the keyboard and mouse protocol processing module can also use a key value queue combined with a timing state machine to merge and reorder keyboard events input from multiple USB host interfaces according to timestamps, generating a unified keyboard input sequence.

[0044] The purpose of mapping mouse reports of different formats to a unified relative displacement mouse report is to eliminate the proprietary differences and format incompatibility in message structures between different manufacturers and models of mice. In specific implementations, the keyboard and mouse protocol processing module can extract key masks, X-axis displacement, Y-axis displacement, and scroll wheel data from various mouse input messages. After sign expansion and data width normalization, it reassembles these data into a fixed-format relative displacement message. Alternatively, the keyboard and mouse protocol processing module can establish a format conversion lookup table and parsing engine to unpack composite mouse data with a report ID or standard Boot protocol mouse data, extract the core relative displacement and key actions, and then map them into a unified data frame format for output.

[0045] Through the above technical solutions, the console achieves standardized processing and unified encapsulation of multi-source heterogeneous peripheral inputs at the protocol layer. On the one hand, by accurately distinguishing device attributes and merging multiple keyboard inputs, it solves the problems of data loss and input preemption when multiple peripherals coexist, ensuring stability when user-provided wireless receivers and wired peripherals coexist. On the other hand, by uniformly mapping diverse mouse message formats to standard relative displacement reports, it reduces abnormal cursor movement, jumps, or drifts caused by differences in report descriptors, which is beneficial to improving the console's compatibility with composite HID peripherals and provides a reliable data foundation for subsequent accurate identification of hotkey switching and stable transmission of keyboard and mouse control commands via wireless links.

[0046] In some of the embodiments described above in this application, KVM switching is achieved by collecting keyboard and mouse input through the console and sending it to the receiver. However, in actual operation, users often need to trigger the switching operation or perform device pairing through specific hotkey commands. If these hotkey signals are directly transmitted to the target computer, the target computer may accidentally trigger the corresponding system functions or shortcut operations, thereby interfering with the user's normal user experience.

[0047] In response, this application further proposes a switching operation detection module, which is set between the keyboard and mouse protocol processing module and the wireless transmission module. This module is used to identify the switching hotkey or pairing hotkey before the HID report enters the wireless transmission module, and to remove the switching hotkey or pairing hotkey from the HID report sent to the computer after identification.

[0048] Specifically, the switching operation detection module is located in the data processing path inside the console, positioned between the keyboard and mouse protocol processing module and the wireless transmission module. Regarding the identification of switching or pairing hotkeys, a feasible implementation method is to perform timing matching analysis on continuously input HID key values ​​using a preset key state machine. For example, it can monitor the combination sequence of consecutive specific control keys (such as Scroll Lock, Ctrl, or Alt) with number or letter keys; or it can maintain a key sliding window buffer to compare the current key sequence with preset switching or pairing feature codes in real time. When a preset hotkey rule is matched, the switching operation detection module immediately generates the corresponding internal switching or pairing control signal, enabling the hotkey response to complete closed-loop determination locally on the console.

[0049] Based on this, as a feasible implementation, for the removal of the switching hotkey or pairing hotkey mentioned in the HID report sent to the computer, after the console determines that a hotkey has been hit, it can directly intercept and discard the entire packet of HID report containing the hotkey value, thereby not submitting the key event to the wireless transmission module; or, the console can dynamically modify the data fields of the HID report, clear the corresponding hotkey value mask to zero or reconstruct it into an empty HID report of the released key state, and then submit the purified report to the wireless transmission module for packaging and transmission.

[0050] Through the above technical solution, the console can intercept, identify, and strip hotkey signals at the data link layer before the original keyboard and mouse data is wirelessly transmitted. This mechanism not only ensures that the console can sensitively and accurately capture the user's switching and pairing intentions and quickly execute hardware responses, but also blocks the transmission of specific control commands to the target computer. This reduces the chances of the target computer accidentally triggering system shortcut functions, text garbling, or application conflicts due to receiving unexpected hotkeys. Thus, it decouples the console's control logic from the computer's input environment, improving the system's interactive purity and operational stability.

[0051] In some of the embodiments described above in this application, a scheme for communication between the console and the receiver via a wireless link is proposed. However, in its implementation, the pairing process between the receiver and the console is often cumbersome, and the link identifier is easily lost after the device loses power. This results in users having to perform complex reconfiguration every time they reconnect or replace the device. There is a lack of a convenient, reliable and memory-enabled automatic pairing and link binding mechanism.

[0052] In this regard, this application further proposes an implementation method, specifically: Each receiver also includes a pairing button; If the pairing button is pressed when the receiver is powered on, it enters pairing mode and listens for pairing data packets with the default wireless link identifier. The console responds to the pairing operation by sending a pairing packet containing the console identifier and the assigned radio link identifier to the designated receiver; The receiver is also used to write the console identifier and the assigned radio link identifier into the memory, and subsequently only receive service frames corresponding to the console identifier.

[0053] Specifically, the pairing button is a physical input trigger element located on the receiver itself. It can be implemented as a tactile button, a surface-mount microswitch, a DIP switch, or a Hall effect trigger element based on magnetic induction. The pairing button primarily provides a status determination signal to the receiver at the hardware level, offering a clear external input basis for distinguishing system initialization behavior.

[0054] When the receiver powers on, its microcontroller or main control chip determines whether it has entered pairing mode by detecting the level of the general-purpose input / output (GPIO) pins connected to the pairing button. If a low level (or high level, depending on the circuit design) is detected during power-on reset, it is determined that the button has been pressed, thereby triggering the firmware to load the factory-preset default wireless link identifier. The default wireless link identifier can be a public access address, a default frequency channel, or a dedicated broadcast synchronization identifier pre-programmed into the firmware, used to establish a temporary and universal wireless listening channel during the pairing phase.

[0055] Pairing in the console can be triggered by detecting a specific combination of hotkeys entered by the user on the keyboard, or by a dedicated pairing function key on the console panel. The pairing data packet generated by the console contains a console identifier (such as a console hardware unique identifier, MAC address, or randomly generated network ID) to uniquely identify the console device, as well as a dedicated wireless link identifier assigned by the console to the current target computer.

[0056] The receiver's internal memory preferably uses a non-volatile storage medium, such as on-chip flash memory, electrically erasable programmable read-only memory (EEPROM), or an external storage chip. After the receiver successfully receives and parses the paired data packet using the default radio link identifier, it writes the extracted console identifier and the assigned radio link identifier into the memory. In subsequent routine workflows, the receiver's RF front-end or data link layer controller automatically loads the assigned radio link identifier stored in the memory to establish a dedicated communication channel and performs verification filtering on the console identifier in received service frames. Service frames with mismatched identifiers are discarded, thereby achieving dedicated data interaction.

[0057] Through the above technical solutions, this application strictly distinguishes between the normal working mode and the pairing monitoring mode by combining physical buttons with a power-on timing determination mechanism, effectively preventing user misoperation during normal use; it quickly constructs a temporary pairing channel using a default wireless link identifier, ensuring that the console can accurately send pairing data packets containing the identity identifier and dedicated link parameters; by persistently writing the pairing parameters into non-volatile memory, the receiver is given the ability to remember the link parameters after power failure, avoiding the drawback of needing to repeatedly reconfigure after the device is powered off and restarted; on this basis, the receiver only receives and processes service frames with the specific console identifier in subsequent communications, isolating signal interference from unauthorized devices or nearby similar devices at the underlying protocol level, which is beneficial to improving the security isolation and connection reliability of the wireless control channel.

[0058] In some of the embodiments described above in this application, KVM switching is proposed to be achieved through a wireless link. However, in the complex electromagnetic environment where the 2.4G ISM band coexists with Wi-Fi and other wireless devices, the wireless link is easily interfered with, resulting in packet loss. Furthermore, if the console and receiver fail to maintain frequency synchronization during the switching process, it will lead to link establishment failure or communication interruption, thereby affecting the stability and reliability of the KVM system.

[0059] In response, this application further proposes an implementation scheme for maintaining and coordinating frequency hopping of the wireless link state. Specifically, the link state table stores at least one of the following for each computer: wireless link identifier, operating frequency, and link establishment status; the console and receiver are configured to coordinately change the operating frequency when the number of consecutive ACK failures reaches a preset threshold, and the change of operating frequency is performed after ACK confirmation; each receiver independently stores its current operating frequency, and the operating frequency of the corresponding receiver is restored when the console switches back to the computer.

[0060] Specifically, the link state table is a data structure within the console used to manage multiple wireless communication channels, providing fundamental support for the system to quickly switch communication parameters between multiple devices. Regarding the implementation of the link state table, one approach is to construct a static array of structures or a key-value mapping table in the console microcontroller's memory, indexed by the computer number, and storing the wireless link identifier bound to each computer, the current RF operating frequency index, and a Boolean status flag indicating whether the current link has been handshake-synchronized, in sequence by field. Another approach is to maintain it using a dynamic linked list or state machine context descriptor in the console's main control chip, dynamically updating the link attributes of the corresponding nodes when a new receiver is detected online or a frequency migration is detected.

[0061] The mechanism for the console and receiver to collaboratively change operating frequencies is used to proactively migrate to a clean frequency band when the current communication channel suffers from co-channel interference or a decrease in signal-to-noise ratio, thus ensuring the continuity of data transmission. One implementation of this mechanism involves the console maintaining a counter at the link layer of the wireless transmission module to track unreceived ACK responses. When the number of consecutive unreceived ACKs reaches a preset failure threshold, the console constructs and sends a channel migration command frame containing the new operating frequency number on the current operating frequency. Upon receiving the command frame, the receiver immediately sends an ACK confirmation frame back to the console. After successfully receiving the ACK confirmation frame, the console and receiver synchronously switch their respective radio frequency transceiver frequencies to the new operating frequency. Another implementation involves the console and receiver sharing a pre-defined list of frequency hopping sequences. When the number of consecutive ACK failures reaches a preset threshold, the console sends a frequency hopping request with a step sequence number to the receiver. After the receiver sends back an ACK confirmation frame, both parties synchronously step to the next candidate frequency according to preset rules and finally confirm normal communication on the new frequency through a handshake message.

[0062] Regarding the mechanism for receivers to independently save their current operating frequency and for the console to restore the operating frequency when switching back to the computer, the focus is on rapid reconnection and multi-channel isolation in the independent evolution of multiple receivers. One implementation of this feature is that after each receiver successfully completes a frequency change, it temporarily stores the current operating frequency value in its own microcontroller's global register or non-volatile storage medium. The console synchronously updates the corresponding computer's operating frequency field in the link state table after each successful frequency hopping. When the user triggers a switching operation to switch the console back to the computer, the console directly retrieves the operating frequency of the receiver corresponding to the computer recorded in the link state table and directly resets the transmitting frequency of the wireless transmission module, restoring directional communication with the receiver without needing to re-perform a channel handshake. Another implementation is that the receiver's wireless receiving module continuously listens on the current operating frequency of the last successful communication when there is no console signal. When the console switches back to the target computer, it reads the target operating frequency saved in the link state table and immediately restores communication on that frequency. If no response is received within a set time limit, a rapid retrieval is performed using a default fallback strategy.

[0063] Through the above technical solutions, the console centrally and structurally records the wireless communication context corresponding to each computer through a link status table, realizing the decoupling and independent tracking of the link status of multiple receivers; the cooperative frequency hopping mechanism triggered by the continuous ACK failure threshold can sensitively detect the deterioration of the current radio frequency environment and adaptively avoid interference frequency bands in a timely manner; furthermore, the change of operating frequency is strictly performed after ACK confirmation, which can reduce the risk of frequency disconnection and loss of synchronization between the console and receiver due to unilateral signaling loss; at the same time, each receiver independently saves its own operating frequency, so that each receiver can stay on the optimal channel according to the local electromagnetic environment of its location. When the console performs computer switching, it can accurately restore the operating frequency of the target receiver, eliminating the time overhead of full-band blind scanning and re-pairing, ensuring the instantaneous response and good communication stability of the KVM system during seamless switching of multiple machines.

[0064] In some of the embodiments described above in this application, keyboard and mouse signal transmission via wireless link is proposed. However, in the implementation process, in scenarios where multiple computers coexist, if the signal is transmitted solely by broadcasting, the unselected receivers will continue to demodulate service frames. This not only leads to unnecessary power consumption, but more seriously, the unselected computers may incorrectly receive keyboard and mouse commands, or the selected computers may be unable to accurately receive commands due to interference, thereby causing the risk of misdelivery of signals and link interference problems.

[0065] In this regard, this application further proposes an implementation method, specifically: The wireless link is a 2.4G private wireless link, and the wireless link identifier includes at least one of the following: access address, operating frequency, synchronization word, and network ID; The console can switch the wireless link identifier to prevent unselected receivers from demodulating service frames or to prevent unselected receivers from reporting HID reports to the inserted computer.

[0066] Specifically, regarding 2.4G private wireless links and their identifiers, a 2.4G private wireless link refers to a wireless transmission channel based on a custom communication protocol within the 2.4GHz ISM band. The wireless link identifier uniquely identifies the communication link attributes between the console and a specific receiver. In a concrete implementation, the access address can be a unique physical address of a preset byte length set at the RF chip hardware level; the RF hardware only triggers data packet reception when the address is matched. The synchronization word can be a specific bit sequence set after the data frame preamble, used by the receiver to perform frame synchronization detection after bit synchronization. The network ID can be a local area network identifier field encapsulated in the data link layer protocol header. The operating frequency can be different operating frequencies allocated within the 2.4GHz band.

[0067] Furthermore, regarding the console's control of unselected receivers by switching wireless link identifiers, this can be achieved through physical hardware layer filtering or link protocol layer filtering. For example, in one possible implementation, when the console performs a switching operation, it switches the hardware transmission access address or synchronization word of the wireless transmission module to the parameters corresponding to the target receiver. At this time, the unselected receiver, because its hardware RF chip's reception parameters do not match the transmitter's, cannot be matched at the RF physical layer through hardware address matching, thus directly ignoring the RF signal without performing baseband demodulation. In another possible implementation, the console carries the target receiver's network ID or specific link identifier in the wireless data frame. After receiving and demodulating the frame header, the unselected receiver detects that the identifier does not match the identifier stored in its own memory, and thus directly discards the service frame, no longer converting the keyboard and mouse data in the service frame into an HID report to report to the inserted computer.

[0068] Through the above technical solution, this application achieves precise signal isolation in a multi-device coexistence environment by introducing a 2.4G private wireless link and establishing a physical layer or link layer differentiation mechanism based on a specific wireless link identifier. When the control console switches, it dynamically changes the wireless link identifier used for communication, enabling non-target receivers to directly avoid demodulating the signal at the physical layer, or to accurately identify non-local data after demodulation and refuse to report HID reports to the connected computer. This mechanism not only reduces the demodulation power consumption and computational overhead of unselected receivers, but also avoids misdelivery and keyboard / mouse command crosstalk problems caused by signal broadcasting, ensuring that keyboard and mouse input data can be accurately and uniquely delivered to the target computer currently selected by the HDMI multi-select switch, effectively guaranteeing the determinism, stability, and reliability of the system under multi-device switching control.

[0069] In some of the embodiments described above in this application, a method is proposed to enumerate HID devices to a computer via a receiver to achieve keyboard and mouse control. However, in practical applications, different computers have different compatibility with USB devices, and the report formats of keyboards and mice in composite HID devices are diverse. If the raw data is forwarded directly, the computer will not be able to correctly identify the device type or parse the report content, which may lead to problems such as abnormal cursor, button failure or missing functions.

[0070] In some embodiments of this application, the USB device controller enumerates composite HID devices, including a keyboard interface and a mouse interface; the keyboard interface reports an 8-byte Boot keyboard report via an interrupt IN endpoint, and the mouse interface reports a 6-byte report via an interrupt IN endpoint, the 6-byte report including a key field, a 16-bit X offset, a 16-bit Y offset, and a scroll wheel field.

[0071] Specifically, the composite HID device refers to a USB device configuration containing multiple independent interface descriptors within the USB protocol framework, with each interface corresponding to a different human-machine interface function. In this embodiment, the USB device controller enumerates composite devices that simultaneously contain independent keyboard and mouse interfaces by sending preset device descriptors and configuration descriptors to the target computer. This enumeration can be achieved by configuring two independent interface numbers in the USB firmware and assigning them independent interrupt IN endpoint addresses, or by using a logical multi-interface topology managed by the underlying USB protocol stack. This allows the target computer's operating system to mount the device as a standard system-level keyboard driver and mouse driver, avoiding driver parsing conflicts caused by multi-function combined messages at both the physical and logical levels.

[0072] The 8-byte Boot keyboard report refers to a fixed-format data structure conforming to the Boot protocol standard in the USB HID specification. Its data length is fixed at 8 bytes, typically including a 1-byte modifier key status mask, a 1-byte reserved bit, and a 6-byte field for the key codes of simultaneously pressed ordinary keys. The keyboard interface actively pushes this 8-byte report to the target computer through the assigned interrupt IN endpoint at a preset polling period. The data structure can be implemented either by directly filling the standard key value array into the endpoint buffer within the hardware USB controller, or by reconstructing the key information received from the wireless link into a standard data frame conforming to the Boot protocol specification and then writing it into the endpoint transmission queue through the firmware protocol stack, thereby ensuring deep compatibility with various computer firmware environments.

[0073] The 6-byte mouse report is a fixed data structure that extends and standardizes mouse operations. The button field typically occupies 1 byte to represent the left, right, and middle button states. X and Y displacements each occupy 2 bytes and are represented as 16-bit signed integers indicating the relative coordinate movement. The scroll wheel field occupies 1 byte to represent the relative scale of the scroll wheel. The mouse interface also reports this 6-byte report to the computer via a separate interrupt IN endpoint. In terms of implementation, the USB device controller can pre-configure an HID report descriptor supporting 16-bit relative displacement, allowing the computer parser to extract button, high-precision X / Y axis displacement, and scroll wheel data according to fixed offsets. Alternatively, upon receiving a wireless service frame, the controller can extend the extracted displacement to 16 bits and encapsulate it in a 6-byte buffer to trigger an interrupt transmission, thereby providing a wide dynamic range displacement representation capability.

[0074] Through the above technical solution, this application establishes a standardized device identification model at the system driver layer by standardizing the enumeration of composite HID devices containing independent keyboard and mouse interfaces in the receiver's USB device controller. This eliminates the risk of the target computer failing to identify proprietary or heterogeneous keyboard and mouse devices. The keyboard interface uses a standard 8-byte Boot keyboard report for interrupt reporting, which is beneficial for ensuring stable and accurate response of keyboard input by the underlying firmware in BIOS / UEFI boot phases, system recovery interfaces, or basic operating environments without dedicated drivers. Simultaneously, the mouse interface reports key presses, 16-bit wide dynamic range X / Y relative displacement, and scroll wheel data in a unified 6-byte format. This effectively shields the diverse mouse descriptors and message format differences of front-end input devices, reducing cursor jumping, drifting, or key distortion that can easily occur when directly forwarding raw data. This achieves high compatibility and high stability control of the KVM system across different computer platforms and system states.

[0075] In some of the embodiments described above in this application, a KVM system for synchronous switching via a console is proposed. However, in practical application scenarios, the console often needs to be compatible with multiple types of input devices, such as wired keyboards, wired mice, and user-provided 2.4G keyboard and mouse receivers. Furthermore, existing inexpensive KVM devices have problems such as poor compatibility and inability to merge multiple keyboard reports when processing composite HID device enumeration. At the same time, there is a lack of specific hardware architecture support for the physical implementation of HDMI video switching, making it difficult for the system to guarantee the stability and compatibility of switching when facing diverse peripheral access and video signal selection.

[0076] In some embodiments of this application, the HDMI multi-select switch is an HDMI 2-to-1 switch, whose selection control terminal includes a selection pin and a strobe pulse pin; the HDMI switch driver module provides a logic level to the selection pin and a strobe pulse to the strobe pulse pin; the HDMI video is not captured or compressed by the console; the USB host acquisition module includes a single USB host interface and a USB hub, or includes two or more USB host interfaces for simultaneously connecting at least two of the following: a wired keyboard, a wired mouse, and a user-provided 2.4G keyboard and mouse receiver.

[0077] Specifically, the HDMI 2-to-1 switch, as a hardware-level dual-channel high-definition multimedia interface selection device, can receive HDMI differential signals from two computers and select one display device for output. Its selection control terminal is specifically divided into a selection pin for indicating channel flow and a strobe pulse pin for locking the switching state. In one specific implementation, the HDMI 2-to-1 switch can use a dedicated high-speed TMDS or FRL differential multiplexing chip. The selection pin receives a steady-state level to set the channel to be connected, while the strobe pulse pin receives pulse excitation during level transitions to update and latch the switching action, thereby effectively preventing signal mis-switching caused by control bus fluctuations. In another implementation, the selection control terminal can also be implemented using an analog switch array combined with a level-holding circuit, where the driver applies a strobe trigger pulse after a given logic to complete channel closure.

[0078] The HDMI switch driver module provides a logic level to the selection pin and a strobe pulse to the strobe pulse pin. Essentially, it coordinates the output of control signals through the microcontroller's general-purpose input / output pins according to a preset timing sequence. During video switching, the driver module first applies a high or low level corresponding to the target computer channel to the selection pin. After the logic level stabilizes, it outputs a narrow pulse of a set width (e.g., a rising edge pulse or a falling edge pulse) to the strobe pulse pin. This ensures that the switch chip precisely connects the video differential link at the pulse trigger moment, avoiding the introduction of transient noise during unstable level transitions.

[0079] The HDMI video is not captured or compressed by the console. This means that the original HDMI high-speed video signal output by the computer is routed and conducted only at the physical layer through a hardware switch. The main control processor in the console does not participate in any computationally intensive intermediate processing such as demodulation, pixel resampling, format conversion, and encoding / decoding compression of the video signal. The video data stream is directly transmitted to the display device.

[0080] The architecture of the USB host acquisition module is designed to address the physical access requirements of various peripheral devices. In one implementation, the USB host acquisition module consists of a USB host controller cascaded within a microcontroller and an external hardware USB hub chip, which expands multiple physical USB downstream interfaces. In another implementation, the console hardware directly integrates a processing chip with two or more independent USB host controllers, each with its corresponding physical USB host interface. Regardless of the interface layout, it can support simultaneous access to at least two different devices, such as a wired keyboard, wired mouse, integrated keyboard and mouse receiver, or a user-provided dedicated 2.4G keyboard and mouse adapter.

[0081] Through the above technical solutions, this application designs HDMI video switching as a pure physical bypass gating mode controlled by level and pulse coordination, eliminating the image quality loss and transmission delay introduced by the video signal encoding and decoding through the console, ensuring zero-latency presentation and high fidelity of the original video stream; at the same time, the gating pulse mechanism ensures the transient stability of physical video switching and eliminates false triggering; in addition, by providing a USB acquisition architecture with Hub expansion or multi-master terminal interfaces on the input side, the access conflict when multiple peripherals coexist is effectively solved, providing a stable and reliable physical access environment for the subsequent unified parsing of keyboard and mouse protocols and efficient extraction of composite reports.

[0082] Traditional KVM systems often suffer from misalignment between the displayed screen and the input control object when switching between multiple computers because the video switching and keyboard / mouse control switching are not synchronized. This problem is particularly pronounced in scenarios where computers are located far from the console and cannot rely on software installation, severely limiting the system's usability in BIOS / UEFI and other basic environments. In this regard, such as Figure 2 As shown, this application proposes a synchronous switching KVM method. In this embodiment, by physically binding the switching of the wireless link identifier with the selection of the HDMI video signal, it is ensured that a single switching operation can simultaneously change the video display source and the keyboard and mouse control target, thereby eliminating the risk of input misalignment caused by asynchronous switching in traditional solutions. Specifically, the console collects keyboard and mouse input through the USB host interface and processes the keyboard and mouse input into HID reports; the console sends a service frame containing HID reports to the currently selected receiver through the wireless link with the current wireless link identifier; the currently selected receiver receives the service frame with the saved wireless link identifier, enumerates the HID keyboard and / or HID mouse to the inserted computer, and reports the corresponding HID reports to the computer; when the console detects a switching operation, it synchronously executes the same switching operation: switching the wireless link identifier of the wireless link to the wireless link identifier of the receiver associated with the target computer; and driving the HDMI multi-select switch to select the HDMI video output of the target computer to the display.

[0083] The above technical solution enables a single operation to be synchronously switched without relying on computer software installation when the computer is located far from the console. This can be achieved during the system boot phase or when the operating system is not running, effectively avoiding interference from invalid keyboard and mouse signals received by the unselected computer, and improving the accuracy of the switching operation and the continuity of the user's operation.

[0084] In some of the embodiments described above in this application, a KVM system is proposed that synchronizes keyboard and mouse signal transmission with HDMI video switching via a wireless link. However, in its implementation, the lack of a filtering mechanism for hotkeys may lead to the switching command being mistakenly transmitted to the computer; the lack of unified processing for multiple USB inputs and different mouse protocols results in poor device compatibility; the lack of an automated pairing and link management mechanism makes user operation cumbersome and prone to connection loss; and the lack of frequency point collaborative management in complex wireless environments leads to insufficient link stability.

[0085] In response, this application further proposes a synchronous switching KVM method, which further includes: Before the HID report enters wireless transmission, the console identifies the switching or pairing hotkeys and removes the identified hotkeys from the HID report sent to the computer. The console enumerates HID devices, distinguishes between keyboards and mice according to the interface protocol, merges keyboard reports from multiple USB ports, and maps mouse reports of different formats into a unified relative displacement mouse report. When the receiver is powered on, if the pairing button is pressed, it enters pairing mode and listens with the default wireless link identifier. The console specifies the target computer number via a hotkey and sends a pairing data packet. The receiver saves the console identifier and the assigned wireless link identifier in the pairing data packet to its memory, and subsequently only receives service frames with the console identifier. When the number of consecutive ACK failures reaches a preset threshold, the console and the corresponding receiver work together to change the operating frequency. The change of operating frequency is performed after ACK confirmation. When the console switches back to a computer, the operating frequency saved by the receiver is restored.

[0086] Specifically, the process of identifying and removing hotkeys before the HID report enters wireless transmission is mainly used to intercept triggering actions belonging to the KVM internal control layer, preventing control commands from penetrating into the operating computer and causing erroneous operations. In terms of implementation, the console can build a key state machine at the software layer to parse the continuously input key value sequence. When a preset hotkey combination is matched, the event is truncated and an internal switching command is generated; alternatively, by performing sliding window pattern matching on the input buffer queue, upon detecting a hotkey trigger, the corresponding modifier key or keycode in the current HID report is directly cleared to zero, and a regular report with hotkey components removed is output to the downstream wireless transmission module.

[0087] The process of enumerating HID devices, merging multiple keyboard reports, and mapping mouse reports in the console is designed to eliminate protocol format differences and interface contention issues when different peripherals are connected. Regarding enumeration and protocol differentiation, the console can classify devices by parsing the subclass code and protocol type field in the USB interface descriptor, or dynamically determine the purpose of input items defined in the HID report descriptor. For merging multiple keyboard reports, a bitwise OR operation of the key bitmap can be used to integrate modifier keys and key matrices from different physical interfaces, or a globally active key list can be maintained to deduplicate and concatenate key codes from each interface. For mouse report mapping, for messages containing Report IDs, standard Boot protocol messages, or extended high-precision displacement messages, the console extracts the key status, X-axis displacement, Y-axis displacement, and scroll wheel scroll amount, uniformly reconstructs and packages them into a standard format relative displacement HID mouse report.

[0088] Regarding the process of the receiver entering pairing mode upon power-up and completing parameter fixing, it establishes a one-to-one or one-to-many exclusive communication binding relationship for the system. In specific implementation, the receiver's microcontroller module detects the level status of the corresponding general-purpose input / output pins during the power-on reset phase. If the pairing button is detected to be in a closed conducting state, it jumps to the pairing monitoring program, configures the wireless RF chip to perform carrier monitoring using the factory-preset public access address and public frequency point; after the console captures the target computer number through the hotkey entered by the user, it generates a pairing data packet carrying its own globally unique identifier and a wireless link identifier exclusively assigned to the computer, and broadcasts it; after the receiver parses and verifies the pairing data packet, it writes the console identifier and the assigned wireless link identifier into the on-chip non-volatile memory (such as internal Flash or EEPROM), thereby establishing exclusive channel filtering rules between devices.

[0089] Regarding the collaborative switching of operating frequencies and frequency recovery process in the event of consecutive ACK failures, it provides dynamic channel adaptation capabilities under complex electromagnetic interference. In specific implementation, the wireless transmission module of the control console listens for the acknowledgment signal from the current receiver after each unicast service frame. If no acknowledgment is received within a timeout, a failure counter is incremented. When the counter reaches a preset threshold, the control console includes frequency hopping indication information in the retransmission frame. Upon receiving this, the receiver sends back an ACK confirmation frame. After completing this confirmation interaction, both parties synchronously switch to the next preset frequency to continue communication. Alternatively, based on a preset pseudo-random frequency hopping table, both parties sequentially step to the new frequency and establish a handshake lock after confirming the frequency hopping trigger condition. Simultaneously, each receiver saves its current effective operating frequency in its local storage space, and the control console also records the current frequency of the corresponding receiver on each computer in the link status table. When the control console switches back to the computer from another computer, it directly retrieves the frequency parameters from the computer's historical records to reset the wireless transmission module, achieving immediate recovery of the communication link.

[0090] Through the above technical solutions, this application decouples hotkey commands from regular keyboard and mouse data at the front end of the data link, eliminating the erroneous interference of KVM control commands on the controlled computer software environment; through unified device enumeration, keyboard merging, and mouse protocol reconstruction, it solves the compatibility problem when users mix and match multiple wired and wireless keyboard and mouse devices, ensuring smooth and stable cursor movement and character input; through dedicated identifier pairing and solidification assisted by hardware buttons, it ensures that multiple systems do not interfere with each other when physically coexisting and do not lose data when power is off; on this basis, in conjunction with the ACK-based cooperative frequency switching mechanism and independent frequency point status memory, the wireless link can quickly self-heal under sudden strong interference, and when switching back to the target computer, it does not need to go through the time-consuming channel negotiation process again, which is conducive to improving the real-time performance of switching and the overall stability of the communication link.

[0091] The following example will provide a more detailed explanation of the above technical solution: The system includes a control console, an HDMI 2-to-1 switch, a first receiver, and a second receiver, used to control a first computer and a second computer placed in a rack and to display the image on a single monitor.

[0092] The first and second receivers are respectively inserted into the USB ports of the first and second computers. The USB device controllers of the first and second receivers enumerate driverless standard composite HID devices, including an 8-byte Boot format keyboard interface and a 6-byte relative displacement format mouse interface, to the first and second computers respectively. The HDMI outputs of the first and second computers are connected to the first and second inputs of an HDMI 2-to-1 switch via HDMI cables, and the output of the HDMI 2-to-1 switch is connected to a monitor.

[0093] Users can simultaneously connect a wired keyboard and a wireless mouse receiver to the USB host interface of the console. The USB host acquisition module acquires the underlying data streams of the wired keyboard and wireless mouse receiver, while the keyboard and mouse protocol processing module parses the interface protocol, merges the keyboard key data from different interfaces into a unified keyboard report, and maps the absolute coordinates or non-standard displacement formats in the mouse messages into a unified format mouse report that includes key presses, 16-bit X-axis displacement, 16-bit Y-axis displacement, and scroll wheel data.

[0094] In the current state of controlling the first computer, the console wireless transmission module assembles and transmits service frames based on the first wireless link identifier (including the first operating frequency and the first access address) corresponding to the first computer in the link status table. The first receiver, having pre-stored the first wireless link identifier and the console identifier in its memory, demodulates the over-the-air radio frequency signal and, after verifying the console identifier matches, reports the HID report to the first computer via the USB device controller. At this time, the second receiver, configured with the second wireless link identifier, does not have a physical layer mismatch with the first access address and therefore does not demodulate the over-the-air service frame, thus blocking the path for sending erroneous data to the second computer.

[0095] When a user switches hotkeys via keyboard input, the switching operation detection module captures the hotkey combination before the HID report enters the wireless transmission queue and removes the hotkey key value from the HID report sent to the computer, preventing hotkey characters from being input into the current computer's text environment. The console responds to this single switching operation by simultaneously performing two operations: first, the console reads the second wireless link identifier (including the second operating frequency and the second access address) from the link status table of the second computer and switches the operating parameters of the wireless transmission module to the second wireless link identifier; second, the console's HDMI switch driver module outputs the corresponding logic level to the selection pin of the HDMI 2-to-1 switch and outputs a strobe pulse to the strobe pulse pin, switching the display input signal to the HDMI output of the second computer.

[0096] After completing the above single switching action, the service frame generated by the keyboard and mouse input is immediately transmitted with the second wireless link identifier. The second receiver receives and demodulates the service frame and reports the HID report to the second computer. The display shows the screen of the second computer, realizing the synchronous switching of input control and video screen.

[0097] In terms of radio frequency interference suppression, the console's wireless transmission module listens for ACK responses after sending a service frame to the currently selected receiver. When the number of consecutive ACK responses not received reaches a preset threshold due to co-channel interference in the 2.4 GHz band, the console sends a frequency hopping command frame to the receiver. After the receiver returns an ACK confirmation frame, both parties synchronously update their operating frequencies to the backup frequency. Each receiver independently records its current operating frequency in its local memory. When the console subsequently switches between the two computers, it restores communication based on the frequency parameters recorded by the corresponding computer in the link status table, avoiding co-channel interference between the two receivers due to frequency configuration conflicts.

[0098] To replace the receiver, the user presses and holds the pairing button on the receiver while inserting it into the computer's USB port. The receiver powers on and enters pairing mode, listening with the default wireless link identifier. The console specifies the target computer's serial number via a specific pairing hotkey and broadcasts a pairing data packet containing the console identifier and the newly assigned wireless link identifier. The receiver in pairing mode receives the pairing data packet and writes the data to non-volatile memory, completing the link binding. In subsequent operations, only the service frames identified by the console identifier are demodulated.

[0099] Compared to existing technologies: Compared to purely wired KVM solutions that rely on long-distance USB cables to be pulled back to the console, this system uses a 2.4G wireless link for keyboard and mouse transmission. The computer end enumerates standard HID devices through receiver hardware, eliminating the distance limitation of the USB cable between the computer and the console. Moreover, it works entirely at the computer hardware protocol layer, supporting operation in the BIOS settings interface and in environments without operating system network drivers. Compared to software network keyboard and mouse sharing solutions, this system does not require background service programs to run on the computer, and does not consume computer network bandwidth or system computing power. Compared to solutions that separate screen switching from wireless control, this system uses internal console logic to bind the HDMI hardware switch action and the wireless link identifier change to be triggered in the same sequence, reducing the possibility of inconsistencies between the screen and the keyboard and mouse control objects.

[0100] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0101] The embodiments described above merely illustrate the implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A synchronous switching KVM system, characterized in that, The system includes a control console, an HDMI multi-select switch, and multiple receivers; The console includes a USB host acquisition module, a keyboard and mouse protocol processing module, a switching operation detection module, a wireless transmission module, a link status table, and an HDMI switch driver module. The USB host acquisition module has one or more USB host interfaces for connecting and acquiring input from a keyboard, mouse, and / or wireless mouse receiver. The keyboard and mouse protocol processing module generates an HID report. The switching operation detection module detects switching operations. The wireless transmission module sends service frames containing the HID report to the corresponding receiver via the wireless link using its currently used wireless link identifier. The link status table stores the wireless link identifiers of the receivers associated with each computer. The HDMI multi-select switch is used to connect multiple inputs of each computer's HDMI output and one output of the monitor, and has a selection control terminal. Each receiver is used to be inserted into the USB port of the corresponding computer, and the receiver includes a wireless receiving module, a USB device controller, and a memory; The wireless receiving module is used to receive service frames with the stored wireless link identifier; the USB device controller is used to enumerate HID keyboards and / or HID mice to the inserted computer and report HID reports to the inserted computer according to the received service frames; the memory is used to store console identifiers and / or wireless link identifiers. The console is used to respond to the same switching operation, switch the wireless link identifier used by the wireless transmitting module to the wireless link identifier of the receiver associated with the target computer, and drive the HDMI multi-select switch through the HDMI switch driver module to select the HDMI video output of the target computer to the display.

2. The synchronous switching KVM system according to claim 1, characterized in that, The keyboard and mouse protocol processing module is used to enumerate HID devices, distinguish keyboards and mice according to interface protocols, merge keyboard reports from multiple USB host interfaces, and map mouse reports of different formats into a unified relative displacement mouse report.

3. The sync-switched KVM system of claim 1, wherein, The switching operation detection module is used to identify the switching hotkey or pairing hotkey before the HID report enters the wireless transmission module, and remove the switching hotkey or pairing hotkey from the HID report sent to the computer after identification.

4. The synchronous switching KVM system according to claim 1, characterized in that, Each receiver also includes a pairing button; if the pairing button is pressed when the receiver is powered on, it enters pairing mode and listens for pairing data packets with the default wireless link identifier. The console responds to the pairing operation by sending a pairing data packet containing a console identifier and an assigned radio link identifier to a designated receiver; the receiver is also configured to write the console identifier and the assigned radio link identifier into a memory, and subsequently only receive service frames corresponding to the console identifier.

5. The synchronous switching KVM system according to claim 1, characterized in that, The link status table stores at least one of the following for each computer: wireless link identifier, operating frequency, and link establishment status; the console and the receiver are configured to collaboratively change the operating frequency when the number of consecutive ACK failures reaches a preset threshold, and the change of operating frequency is performed after ACK confirmation; each receiver independently stores its current operating frequency, and the operating frequency of the corresponding receiver of the computer is restored when the console switches back to the computer.

6. The synchronous switching KVM system according to claim 1, characterized in that, The wireless link is a 2.4G private wireless link, and the wireless link identifier includes at least one of the following: access address, operating frequency, synchronization word, and network ID; the console can switch the wireless link identifier to prevent unselected receivers from demodulating service frames, or prevent unselected receivers from reporting HID reports to the inserted computer.

7. The synchronous switching KVM system according to claim 1, characterized in that, The USB device controller enumerates composite HID devices, including a keyboard interface and a mouse interface; the keyboard interface reports an 8-byte Boot keyboard report via an interrupt IN endpoint, and the mouse interface reports a 6-byte report via an interrupt IN endpoint.

8. The synchronous switching KVM system according to claim 1, characterized in that, The HDMI multi-select switch is an HDMI 2-to-1 switch, and its selection control terminal includes a selection pin and a strobe pulse pin; the HDMI switch driver module provides a logic level to the selection pin and a strobe pulse to the strobe pulse pin; the HDMI video is not captured or compressed by the console; the USB host acquisition module includes a single USB host interface and a USB hub, or includes two or more USB host interfaces, for simultaneously connecting at least two of the following: a wired keyboard, a wired mouse, and a user-provided 2.4G keyboard and mouse receiver.

9. A synchronous switching KVM method, characterized in that, The method includes: The console collects keyboard and mouse input through one or more USB host interfaces of the USB host acquisition module and processes the keyboard and mouse input into HID reports; The console sends a service frame containing the HID report to the currently selected receiver via the wireless link, using the current wireless link identifier. The currently selected receiver receives service frames with the saved wireless link identifier, enumerates HID keyboards and / or HID mice to the inserted computer, and reports the corresponding HID report to the inserted computer. When the console detects a switching operation, it responds to the same switching operation by simultaneously executing: switching the wireless link identifier used by the wireless transmitting module to the wireless link identifier of the receiver associated with the target computer; and driving the HDMI multi-select switch to select the target computer's HDMI video output to the monitor.

10. The KVM method for synchronous switching according to claim 9, characterized in that, The method further includes: Before the HID report enters the wireless transmission module, the console identifies the switching hotkey or pairing hotkey and removes the identified hotkey from the HID report sent to the computer; the console enumerates HID devices, distinguishes between keyboards and mice according to the interface protocol, merges keyboard reports from multiple USB ports, and maps mouse reports of different formats into a unified relative displacement mouse report. When the receiver is powered on, if the pairing button is pressed, it enters pairing mode and listens with the default wireless link identifier. The console specifies the target computer number via a hotkey and sends a pairing data packet. The receiver saves the console identifier and the assigned wireless link identifier in the pairing data packet to its memory, and subsequently only receives service frames with the console identifier. When the number of consecutive ACK failures reaches a preset threshold, the console and the corresponding receiver work together to change the operating frequency. The change of operating frequency is performed after ACK confirmation. When the console switches back to a computer, the operating frequency saved by the receiver is restored.