Equipment detection method and device, electronic equipment, computer readable storage medium and computer program product

By providing equipment testing methods and devices in esports competitions, displaying a unified testing interface, and automatically generating reports, the problem of low testing efficiency for participating equipment has been solved, achieving an efficient and standardized testing process.

CN121560197APending Publication Date: 2026-02-24TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511795283.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-01
Publication Date
2026-02-24

AI Technical Summary

Technical Problem

In existing technologies, the detection efficiency of participating equipment in e-sports competitions is low and prone to false detections and missed detections.

Method used

A device testing method and apparatus are provided, which displays a testing entry aggregation interface, responds to trigger operations to display the device's testing interface, prompts users to trigger controls in a set order on the testing interface, and finally automatically generates a testing report.

Benefits of technology

It improves testing efficiency, ensures the standardization and accuracy of testing, reduces manual intervention, and enhances the automation and consistency of testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121560197A_ABST
    Figure CN121560197A_ABST
Patent Text Reader

Abstract

The invention provides an equipment detection method and device, electronic equipment, a computer readable storage medium and a computer program product. The method comprises the steps that a detection entrance aggregation interface is displayed, and the detection entrance aggregation interface comprises at least one detection entrance corresponding to at least one kind of to-be-detected equipment; in response to a trigger operation for any one of the detection entries, displaying a first detection interface of a first device, the first device being the to-be-detected device corresponding to the triggered detection entry; first prompt information is displayed in the first detection interface, and the first prompt information is used for prompting to sequentially trigger a plurality of controls included in the first equipment according to a set sequence; and displaying a first detection report aiming at the first equipment in a first detection interface after receiving a trigger operation aiming at a plurality of controls included in the first equipment. According to the invention, the method can help a player to quickly complete the detection of the to-be-detected equipment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technology, and in particular to a device testing method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Technology

[0002] Esports is a sport that has emerged in recent years. In esports competitions, participants use equipment (such as keyboards, mice, and gamepads) to engage in game battles. To ensure the smooth running of esports competitions and to guarantee fairness, the equipment needs to be tested before the competition begins. Currently, the equipment is typically tested manually by staff, which suffers from low efficiency and is prone to errors and omissions. Summary of the Invention

[0003] This application provides a device testing method, apparatus, electronic device, computer-readable storage medium, and computer program product, which can help test personnel quickly complete the testing of the device to be tested and can automatically generate a test report, thereby improving testing efficiency and ensuring the standardization of testing.

[0004] The technical solution of this application embodiment is implemented as follows: This application provides a device testing method, including: The display interface for aggregated detection entry points includes at least one detection entry point corresponding to at least one device to be detected. In response to a trigger operation for any of the detection entry points, a first detection interface of a first device is displayed, wherein the first device is the device to be detected corresponding to the triggered detection entry point; The first prompt message is displayed on the first detection interface, wherein the first prompt message is used to prompt the multiple controls included in the first device to be triggered in a set order; After receiving a trigger operation for multiple controls included in the first device, a first detection report for the first device is displayed on the first detection interface.

[0005] This application provides a device testing apparatus, including: The display module is used to display the detection entry aggregation interface, wherein the detection entry aggregation interface includes at least one detection entry corresponding to at least one device to be detected; The display module is further configured to display a first detection interface of the first device in response to a trigger operation for any of the detection entry points, wherein the first device is the device to be detected corresponding to the triggered detection entry point; The display module is further configured to display a first prompt message in the first detection interface, wherein the first prompt message is configured to prompt the triggering of multiple controls included in the first device in a set order; The display module is further configured to display a first detection report for the first device on the first detection interface after receiving a trigger operation for a plurality of controls included in the first device.

[0006] In the above scheme, the display module is further configured to display a detection entry aggregation interface when a communication connection is established with at least one device to be tested, and to display at least one detection entry corresponding to each of the at least one device to be tested in the detection entry aggregation interface.

[0007] In the above scheme, when the number of the at least one device to be tested is multiple, the display module is further configured to display multiple detection entrances corresponding to the multiple devices to be tested in any of the following order: the order of the time of establishing communication connection with the multiple devices to be tested from early to late, and the order of the usage frequency of the multiple devices to be tested from high to low.

[0008] In the above scheme, the detection entry aggregation interface includes multiple detection entries corresponding to multiple devices to be tested; the display module is also used to display the detection entry aggregation interface when a communication connection is established with at least one device to be tested, and to highlight at least one detection entry among the multiple detection entries corresponding to the at least one device to be tested in the detection entry aggregation interface.

[0009] In the above scheme, the display module is further configured to, when receiving a trigger operation for any of the detection entry points, jump from the detection entry point aggregation interface to the first detection interface of the first device, and display an information editing control in the first detection interface, wherein the information editing control is at least used to edit the identity information of the object to which the first device belongs.

[0010] In the above scheme, the display module is further configured to display the detection process for the first device in the first detection interface when a trigger operation is received for multiple controls included in the first device; and to display a first detection report for the first device in the first detection interface in response to the end of the detection.

[0011] In the above scheme, the first detection interface displays multiple control icons that correspond one-to-one with the multiple controls included in the first device; the display module is further configured to, in response to any control among the multiple controls included in the first device being triggered, highlight the control icon corresponding to the triggered control in the first detection interface, and display the actual output result corresponding to the triggered control in the first detection interface.

[0012] In the above scheme, the device further includes an acquisition module and a marking module. After the display module displays the actual output result corresponding to the triggered control in the first detection interface, the acquisition module is used to acquire the standard output result corresponding to the triggered control. The marking module is used to mark the control icon corresponding to the triggered control in the first detection interface when the actual output result is inconsistent with the standard output result.

[0013] In the above scheme, the display module is further configured to display a second prompt message in the first detection interface when the actual output result is inconsistent with the standard output result, wherein the second prompt message is used to indicate that the triggered control has an abnormality; the marking module is further configured to add marking information on the control icon corresponding to the triggered control in response to the marking trigger operation for the control icon corresponding to the triggered control in the first detection interface.

[0014] In the above scheme, when the number of the at least one device to be tested is multiple, the first test report includes an entry point for testing a new device. After the display module displays the first test report for the first device in the first test interface, it is also used to display a second test interface for the second device in response to a trigger operation for the entry point for testing the new device. The second device is any one of the multiple devices to be tested other than the first device. A third prompt message is displayed in the second test interface, which prompts the triggering of multiple controls included in the second device in a set order. After receiving a trigger operation for the multiple controls included in the second device, a second test report for the second device is displayed in the second test interface.

[0015] In the above scheme, the acquisition module is further configured to acquire the actual output sequence corresponding to the multiple controls when a trigger operation is received for the multiple controls included in the first device, wherein the actual output sequence is obtained by combining multiple actual output results corresponding to the multiple controls respectively; the acquisition module is further configured to acquire a pre-configured standard output sequence for the first device, wherein the standard output sequence is obtained by combining multiple standard output results corresponding to the multiple controls respectively; the device further includes a generation module, configured to generate a first detection report for the first device based on the actual output sequence and the standard output sequence; the display module is further configured to display the first detection report in the first detection interface.

[0016] In the above scheme, the generation module is further configured to generate a first detection report indicating that the first device is normal when the actual output sequence is consistent with the standard output sequence; and to generate a first detection report indicating that the first device is abnormal when the actual output sequence is inconsistent with the standard output sequence.

[0017] In the above scheme, when the first device is a keyboard or mouse, the acquisition module is further configured to add a hook procedure function to the hook chain corresponding to the first device; when any control among the multiple controls included in the first device is triggered, the module acquires the input message corresponding to the triggered control, and calls the hook procedure function corresponding to the hook chain according to the type of the input message, so that the hook procedure function acquires the actual output result corresponding to the triggered control; and combines the multiple actual output results corresponding to the multiple controls to obtain the actual output sequence corresponding to the multiple controls.

[0018] In the above scheme, the hook procedure function includes a first hook procedure function corresponding to the keyboard and a second hook procedure function corresponding to the mouse; the acquisition module is further configured to, when the input message is a keyboard-type message, call the first hook procedure function in the hook chain so that the first hook procedure function obtains the actual output result corresponding to the triggered control; when the input message is a mouse-type message, call the second hook procedure function in the hook chain so that the second hook procedure function obtains the actual output result corresponding to the triggered control.

[0019] In the above scheme, the acquisition module is further configured to call the first hook process function in the hook chain to perform the following processing: when the hook processing identifier carried by the keyboard message is greater than or equal to a set value, the virtual key code corresponding to the triggered control is obtained from the low-level structure of the keyboard hook corresponding to the keyboard message.

[0020] In the above scheme, the acquisition module is further used to call the second hook process function in the hook chain to perform the following processing: when the hook processing identifier carried by the mouse-type message is greater than or equal to a set value, the coordinate information corresponding to the triggered control is obtained from the low-level structure of the mouse hook corresponding to the mouse-type message.

[0021] In the above scheme, when the first device is a gamepad or an arcade keyboard, the acquisition module is further used to initialize a component object model library and create a top-level interface object in the component object model library; locate the first device based on the top-level interface object and create a device object corresponding to the first device; when any of the multiple controls included in the first device is triggered, obtain the actual output result corresponding to the triggered control through the device object; combine the multiple actual output results corresponding to the multiple controls respectively to obtain the actual output sequence corresponding to the multiple controls.

[0022] In the above scheme, the acquisition module is also used to call the top-level interface object to acquire control over the first device; when any of the multiple controls included in the first device is triggered, the device object is called to read the actual output result corresponding to the triggered control into the data structure corresponding to the first device.

[0023] In the above scheme, after the acquisition module combines the multiple actual output results corresponding to the multiple controls to obtain the actual output sequence corresponding to the multiple controls, it is also used to call the top-level interface object to release control over the first device and clean up the component object model library.

[0024] In the above scheme, the display module is further configured to, after receiving a trigger operation for multiple controls included in the first device, display a first detection report for the first device in the first detection interface, wherein the first detection report includes the identity information of the object to which the first device belongs, a download control, and a close control.

[0025] In the above scheme, the first test report is in a portable file format; before the display module displays the first test report for the first device in the first test interface, the generation module is further configured to create a document container object in a portable file format; add a page to the document container object and add the content of the first test report for the first device to the page; convert the document container object with the content of the first test report added to it into binary data, and write the binary data into a file in a portable file format.

[0026] This application provides an electronic device, including: Memory is used to store executable instructions for a computer; The processor, when executing computer-executable instructions stored in the memory, implements the device detection method provided in the embodiments of this application.

[0027] This application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the device detection method provided in this application.

[0028] This application provides a computer program product, including a computer program or computer executable instructions, which, when executed by a processor, implements the device detection method provided in this application.

[0029] The embodiments of this application have the following beneficial effects: When the test organizers want to test a certain device, they can trigger the corresponding test entry in the test entry aggregation interface to enter the test interface corresponding to the device. Then, when the test organizers trigger the multiple controls included in the device according to the prompts displayed in the test interface, a test report for the device can be automatically generated. In this way, the test organizers can quickly complete the test of the device, which not only improves the test efficiency but also ensures the standardization of the test. Attached Figure Description

[0030] Figure 1 This is a schematic diagram of the architecture of the device testing system 100 provided in an embodiment of this application; Figure 2 This is a schematic diagram of the structure of the electronic device 500 provided in the embodiments of this application; Figure 3 This is a schematic diagram of the first process of the device testing method provided in the embodiments of this application; Figure 4 This is a schematic diagram of the second process of the device testing method provided in the embodiments of this application; Figure 5 This is a schematic diagram of the third process of the device testing method provided in the embodiments of this application; Figure 6A This is a schematic diagram of a first application scenario of the device testing method provided in the embodiments of this application; Figure 6B This is a schematic diagram of a second application scenario of the device testing method provided in the embodiments of this application; Figure 6C This is a schematic diagram of a third application scenario of the device testing method provided in the embodiments of this application; Figure 6D This is a schematic diagram of the fourth application scenario of the device testing method provided in the embodiments of this application; Figure 7 This is a schematic diagram of the first process of the device testing method provided in the embodiments of this application; Figure 8 This is a schematic diagram of the second process of the device testing method provided in the embodiments of this application; Figure 9 This is a schematic diagram of the fifth application scenario of the device testing method provided in the embodiments of this application; Figure 10 This is a schematic diagram of the sixth application scenario of the device testing method provided in the embodiments of this application; Figure 11 This is a schematic diagram of the third process of the device testing method provided in the embodiments of this application. Detailed Implementation

[0031] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0032] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0033] It is understood that in the embodiments of this application, data such as user information are involved. When the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with relevant laws, regulations and standards.

[0034] In the following description, the terms “first, second, ...” are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that “first, second, ...” may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0035] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0036] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.

[0037] 1) Responding to: used to indicate the conditions or states on which the operation is performed depends. When the conditions or states on which it depends are met, one or more operations can be performed in real time or with a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations are performed.

[0038] 2) Hook: A hook is a system mechanism that allows applications to intercept and process system events or specific messages. It acts like a "detector" or "filter" inserted into the message delivery path, capturing and processing specific messages before they reach the target window. In other words, a hook is a system message interception and processing mechanism that allows applications to register custom processing functions (i.e., hook procedures) and insert them into the system's message flow chain (i.e., the hook chain). When a specific event (such as a keyboard key press or mouse operation) occurs, the hook procedure is triggered first, enabling the application to capture, parse, process, or even intercept the message corresponding to that event, and then decide whether to allow the message to continue to be delivered to the target window.

[0039] 3) Application Programming Interface (API): It is a set of standardized interaction rules and communication protocols between different software components, between software and hardware, or between different systems. In essence, it is a collection of predefined functions, methods, data formats or communication specifications used to hide internal implementation details and provide developers with a concise entry point to call specific functions, so that function integration can be achieved without paying attention to the underlying logic.

[0040] 4) Component Object Model (COM) Library: This is a collection of low-level system APIs and services provided by Microsoft. It serves as the fundamental runtime environment for implementing COM technology specifications, primarily responsible for component creation, management, cross-process / network communication, and system integration. In other words, a COM library is a collection of software modules built upon COM technology standards, containing reusable binary components (such as COM components). Essentially, it's a binary code library (usually in .dll, .ocx, .exe, etc.) that encapsulates specific functionalities and conforms to COM interface specifications. Its core function is to provide a unified, cross-platform, and interactive component calling interface for software in different languages, processes, and even on different machines.

[0041] 5) Portable Document Format (PDF): This is a file format used to share and view documents in a way that is independent of applications, hardware, and operating systems. PDF documents can contain links and buttons, form fields, audio, video, and business logic, and the layout and formatting remain consistent across different devices and operating systems.

[0042] 6) PDF Library: Provides developers with the ability to create, view, parse and process PDF documents in applications. It is a very powerful tool that supports text, images, graphics, tables, fonts and encryption.

[0043] Taking esports competitions as an example, in esports competitions, participants need to use equipment (such as keyboards, mice, game controllers, etc.) to engage in esports games. To ensure the smooth running of esports competitions and guarantee fairness, the equipment used by the participants needs to be tested before the competition begins. Currently, the testing is usually done manually by the competition organizers, which suffers from low efficiency and the possibility of incorrect or missed detections.

[0044] In view of this, embodiments of this application provide a device testing method, apparatus, electronic device, computer-readable storage medium, and computer program product, which can help test personnel quickly complete the testing of the device to be tested and automatically generate a test report, thereby improving testing efficiency and ensuring the standardization of testing. The electronic device provided in the embodiments of this application will be described below. The electronic device provided in the embodiments of this application can be implemented as various types of terminal devices such as smartphones, tablets, laptops, desktop computers, smart speakers, smartwatches, and vehicle terminals.

[0045] In some embodiments, taking an esports competition scenario as an example, see [link to relevant documentation]. Figure 1 , Figure 1 This is a schematic diagram of the architecture of the equipment testing system 100 provided in this application embodiment. It aims to help competition organizers quickly complete the testing of the competition equipment (i.e., the equipment to be tested) used by the participants. Figure 1 As shown, the device testing system 100 provided in this application embodiment includes: the competition equipment 200 used by the contestants (e.g., keyboards, mice, game controllers, and arcade keyboards) and the electronic device 400 associated with the competition personnel (e.g., referees) for testing the competition equipment 200. A client 410 is installed on the electronic device 400. The client 410 can be a dedicated competition testing client, such as an e-sports competition tool.

[0046] For example, taking the keyboard used by the contestant as the competition device 200, a communication connection 300 can be established between the competition device 200 and the electronic device 400 used for testing before the competition begins. For example, the competition device 200 can be connected to the electronic device 400 via a data cable (or wirelessly). Then, the organizer can run the client 410 on the electronic device 400. For example, the human-computer interaction interface of the client 410 can display a detection entry aggregation interface (e.g., a pre-competition detection interface). The detection entry aggregation interface can display multiple detection entries corresponding to various devices to be tested, such as detection entries for keyboards, mice, game controllers, and arcade keyboards. Suppose the organizer needs to test the keyboard used by the contestant, they can click the detection entry corresponding to the keyboard in the pre-competition detection interface. When the organizer receives the click operation of the organizer on the detection entry corresponding to the keyboard in the pre-competition detection interface, the organizer can jump from the pre-competition detection interface to the keyboard detection interface. Subsequently, the test administrators can trigger multiple controls (such as keys) on the keyboard used by the contestant sequentially according to the prompts displayed on the keyboard testing interface. For example, they can manually trigger multiple keys on the keyboard in order from left to right and from top to bottom. After the test administrators have triggered all the keys on the keyboard, a test report for that keyboard can be displayed on the keyboard testing interface. This helps the test administrators quickly complete the testing of the contestant's equipment and automatically generates the corresponding test report, effectively improving testing efficiency.

[0047] It should be noted that the technical solutions provided in this application can be applied not only to e-sports competitions, but also to other scenarios, and this application does not specifically limit them.

[0048] In other embodiments, the terminal device may also implement the device detection method provided in this application by running various computer-executable instructions or computer programs. For example, computer-executable instructions may be microprogram-level commands, machine instructions, or software instructions. Computer programs may be native programs or software modules in an operating system; they may be native applications (APPs), i.e., programs that need to be installed in the operating system to run, such as device detection APPs; or they may be applets that can be embedded in any APP, i.e., programs that only need to be downloaded to a browser environment to run. In summary, the aforementioned computer-executable instructions may be any form of instruction, and the aforementioned computer programs may be any form of application, module, or plugin.

[0049] The structure of the electronic device provided in the embodiments of this application will be further described below. Taking the electronic device as a terminal device as an example, see... Figure 2 , Figure 2 This is a schematic diagram of the structure of the electronic device 500 provided in the embodiments of this application. Figure 2 The illustrated electronic device 500 includes at least one processor 510, a memory 550, at least one network interface 520, and a user interface 530. The various components in the electronic device 500 are coupled together via a bus system 540. It is understood that the bus system 540 is used to implement communication between these components. In addition to a data bus, the bus system 540 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 2 The general labeled all buses as Bus System 540.

[0050] The processor 510 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.

[0051] User interface 530 includes one or more output devices 531 that enable the presentation of media content, including one or more speakers and / or one or more visual displays. User interface 530 also includes one or more input devices 532, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

[0052] The memory 550 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The memory 550 may optionally include one or more storage devices physically located away from the processor 510.

[0053] The memory 550 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 550 described in this application embodiment is intended to include any suitable type of memory.

[0054] In some embodiments, memory 550 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.

[0055] Operating system 551 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks; The network communication module 552 is used to reach other computing devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc. Presentation module 553 is used to enable the presentation of information (e.g., user interface for operating peripheral devices and displaying content and information) via one or more output devices 531 (e.g., display screen, speaker, etc.) associated with user interface 530. The input processing module 554 is used to detect and translate one or more user inputs or interactions from one or more input devices 532.

[0056] In some embodiments, the apparatus provided in this application can be implemented in software. Figure 2 A device detection device 555 stored in memory 550 is shown. This device can be software in the form of programs and plug-ins, including the following software modules: a display module 5551, an acquisition module 5552, a marking module 5553, and a generation module 5554. These modules are logically linked and can therefore be arbitrarily combined or further separated according to the functions implemented. It should be noted that... Figure 2 For ease of explanation, all the above modules are shown at once, but this should not be interpreted as excluding the implementation of the device detection device 555 which may only include the display module 5551. The functions of each module will be explained below.

[0057] The device detection method provided in this application will be specifically described below with reference to exemplary applications and implementations of the terminal devices provided in the embodiments of this application.

[0058] For example, see Figure 3 , Figure 3 This is a schematic diagram of the first process of the device testing method provided in the embodiments of this application, which will be combined with... Figure 3 The steps shown are explained.

[0059] It should be noted that, Figure 3The method illustrated can be executed by various forms of computer programs running on the terminal device, and is not limited to a client. For example, it can also be the operating system, software module, script, and applet mentioned above. Therefore, the client-side examples used below should not be considered as limiting the embodiments of this application. Furthermore, for ease of description, no specific distinction will be made between the terminal device and the client running on the terminal device below.

[0060] In step 101, the detection entry aggregation interface is displayed.

[0061] Here, the detection entry aggregation interface can include at least one detection entry corresponding to at least one device to be tested. For example, if at least one device to be tested is a keyboard, mouse, game controller, and arcade keyboard, the detection entry corresponding to the keyboard, mouse, game controller, and arcade keyboard can be displayed in the detection entry aggregation interface. In other words, multiple detection entries corresponding to multiple devices to be tested can be integrated into the same interface, which can facilitate the subsequent detection process.

[0062] In some embodiments, step 101 can be implemented as follows: when a communication connection is established with at least one device to be tested, a detection entry aggregation interface is displayed, and at least one detection entry corresponding to each of the at least one device to be tested is displayed in the detection entry aggregation interface.

[0063] For example, taking at least one device to be tested as a keyboard used by a participant in an esports competition, before the competition begins, the keyboard can be connected to the laptop of the person in charge (e.g., a referee) via a data cable. A testing program (e.g., an esports testing tool) is installed on the referee's laptop. After connecting the keyboard, the referee can run the esports testing tool. At this point, a pre-match testing interface (i.e., a testing entry aggregation interface) will be displayed on the referee's laptop. This interface shows the testing entry corresponding to the currently connected keyboard. This achieves the effect of connection-based identification and identification-based provision of a testing channel, eliminating the need for the referee to manually configure device parameters or locate the testing module, reducing the referee's operational costs, and ensuring the consistency and repeatability of the testing process. Furthermore, the pre-competition testing interface only displays the testing entry point corresponding to the currently connected keyboard, rather than all supported testing options. This establishes a one-to-one association between the tested device and the testing function, preventing invalid test results due to personnel mistakenly selecting the testing entry point for another device, or program errors caused by incompatibility between the testing function and the device model, thus improving the accuracy and efficiency of the testing operation. Additionally, the pre-competition testing interface serves as an interactive platform, intuitively presenting key information such as the testing entry point and device connection status. This allows personnel to clearly understand the current testing progress (e.g., whether the device has been successfully connected, whether the corresponding testing module has been entered, etc.). Simultaneously, the visual interface can retain operation traces (e.g., testing start time, device identification information, etc.), providing data support for subsequent dispute resolution and enhancing the transparency of the testing process. Of course, participants can also intuitively understand the testing status of their own keyboards through the testing interface, clearly determining whether the test has passed. This avoids questions about device compliance from participants due to opaque testing procedures. Furthermore, the standardized testing process ensures that all participants' devices are tested according to the same standard, reflecting the fairness of the competition, reducing disputes caused by inconsistent testing standards, and improving participant satisfaction.

[0064] In other embodiments, following the above examples, when there are multiple types of at least one device to be tested, the above-mentioned display corresponding to at least one detection entry for each of the at least one device to be tested can be achieved in the following manner: multiple detection entries corresponding to multiple devices to be tested are displayed in any of the following orders: the order of the time of establishing communication connection with multiple devices to be tested from early to late, and the order of the usage frequency of multiple devices to be tested from high to low.

[0065] For example, taking the keyboard and mouse used by esports players as examples, before the competition begins, the keyboard and mouse can be connected to the laptop of the person in charge (e.g., a referee) via a data cable. The referee's laptop can have esports management tools installed. After the connection is complete, the referee can run the esports management tools installed on the laptop. At this time, a pre-match testing interface will be displayed on the laptop screen. This interface will show detection entries corresponding to the keyboard and the mouse. For example, the display order of these two detection entries can be determined based on the connection order. If the referee first connects the player's keyboard to the laptop via a data cable, and then connects the player's mouse, the detection entry corresponding to the keyboard will be displayed first in the pre-match testing interface. Alternatively, the display order of the two detection entry points in the pre-competition detection interface can be determined based on the usage frequency of the devices. For example, assuming that the mouse is used more frequently than the keyboard, the detection entry point corresponding to the mouse can be displayed first in the pre-competition detection interface. In this way, through the direct connection of the data cable and the unified link of the e-sports competition tool, the connection and recognition of multiple competition devices such as keyboards and mice can be supported at the same time, avoiding compatibility issues caused by different devices using different connection methods. At the same time, the e-sports competition tool can automatically recognize the two connected devices and display the corresponding detection entry points respectively, realizing an integrated process of simultaneous access and separate detection of two devices. There is no need for the competition personnel to switch software or restart the tool, which improves the stability and operational consistency of multi-device detection. Furthermore, the technical solution provided in this application supports two flexible entry sorting logics: one is sorting by "device connection order" (i.e., first connected, first displayed), which conforms to the operational habits of the competition staff to perform connection tests on the contestants' devices one by one; the other is sorting by "device usage frequency" (i.e., high-frequency devices are displayed first), which adapts to the need for priority testing of core devices before the competition. This dynamic sorting design breaks through the limitations of the "fixed entry order" of traditional testing tools, making the testing process more in line with the actual competition scenario, and improving operational flexibility and personalized adaptation capabilities. In addition, the pre-competition testing interface simultaneously displays a "keyboard-specific testing entry" and a "mouse-specific testing entry." Through clear entry distinction, a one-to-one binding between the two devices and the corresponding testing functions is achieved, which can avoid confusion of testing objects caused by the simultaneous access of two devices by the competition staff (e.g., mistakenly using the keyboard testing process for the mouse), or verification failure caused by the mismatch between the testing module and the device type, ensuring the accuracy and independence of dual-device testing.

[0066] It should be noted that esports competitions have limited pre-match preparation time (usually 10-30 minutes). Players need to simultaneously test their keyboards and mice, while referees need to efficiently complete compliance checks on both types of devices. The technical solution provided in this application avoids the cumbersome process of connecting and testing each device one by one (e.g., no need to disconnect the keyboard and then reconnect the mouse) through "dual-device parallel access + dynamic sorting detection." It also prioritizes displaying the detection entry points for frequently used devices or those connected first, reducing unnecessary steps and ensuring that all players' devices are tested within the limited time, preventing the competition from being affected by excessively long testing times. Furthermore, the technical solution provided in this application can complete the testing of both devices based on a general-purpose laptop and a single esports competition tool, without requiring additional specialized hardware. The testing process can be completed independently by referees without technical assistance, reducing the manpower and resource investment required for event operation.

[0067] In some embodiments, the above-mentioned detection entry aggregation interface can display multiple detection entries corresponding to multiple devices under test. Then, the above-mentioned step 101 can also be implemented in the following way: when a communication connection is established with at least one device under test, the detection entry aggregation interface is displayed, and at least one detection entry corresponding to at least one device under test is highlighted in the detection entry aggregation interface.

[0068] For example, taking at least one device to be tested as a keyboard used by a participant in an esports competition, before the competition begins, the keyboard can be connected to the laptop of the person in charge (e.g., a referee) via a data cable. The referee's laptop has esports testing tools installed. After the connection is complete, the referee can run the esports testing tools installed on the laptop. At this time, a pre-match testing interface can be displayed on the laptop screen. This interface displays multiple testing entries corresponding to various commonly used esports peripherals, such as those for keyboards, mice, game controllers, and arcade keyboards. Since the esports peripheral currently connected to the referee's laptop is a keyboard, the testing entry corresponding to the keyboard can be highlighted. Thus, the esports testing tools integrate testing entries for various commonly used esports peripherals such as keyboards, mice, game controllers, and arcade keyboards in the pre-match testing interface, achieving "one-stop testing" functionality. Compared to traditional single-device testing tools, this tool eliminates the need to switch between dedicated software for different peripherals, reducing deployment costs. Its integrated design adapts to the needs of various esports projects, enhancing its versatility and reusability. Furthermore, the design of "highlighting only the testing entry point corresponding to currently connected peripherals" visually links device connection status with testing entry points. This eliminates the need for operators to manually check connected device types or search through multiple testing entry points, allowing for quick location of the target testing function. This avoids ineffective operations or program errors caused by mistakenly selecting the testing entry point for an unconnected device, significantly improving the accuracy and efficiency of testing operations. Additionally, the pre-match testing interface clearly identifies entry points and highlights differentiated displays, intuitively presenting the testing function entry points for various peripherals. Even operators unfamiliar with the tool can quickly understand the corresponding testing objects without consulting the manual, reducing the learning curve and usage threshold, and ensuring standardized execution of the testing process.

[0069] In step 102, in response to a trigger operation for any detection entry, the first detection interface of the first device is displayed.

[0070] Here, the first device is the device to be detected corresponding to the triggered detection entry point.

[0071] In some embodiments, step 102 can be implemented as follows: when a trigger operation is received for any detection entry, the user jumps from the detection entry aggregation interface to the first detection interface of the first device, and displays an information editing control in the first detection interface, wherein the information editing control can at least be used to edit the identity information of the object to which the first device belongs.

[0072] For example, taking an esports competition as an example, before the competition begins, the esports equipment (such as keyboards, mice, and game controllers) needed by the participants can be connected to the laptop of the officiant (e.g., a referee) via a data cable. After the connection is complete, the officiant can launch the esports officiating tool installed on the laptop. At this time, a pre-match detection interface will be displayed on the laptop screen, showing multiple detection entries corresponding to various commonly used esports peripherals. For instance, if the officiant wants to detect the keyboard used by a player, they can click the detection entry corresponding to the keyboard in the pre-match detection interface. When the operator clicks on the keyboard detection entry in the pre-match detection interface, the system can jump to the keyboard detection interface. A pop-up window will appear in the keyboard detection interface, where the operator can fill in the player's identity information (such as player ID, nationality, participating team, seat number, etc.). In this way, through the modular design of the pre-match detection interface (aggregating multiple device detection entry points) to the target device detection interface (such as the keyboard detection interface), the operation path from device selection to specialized detection is clearly defined. At the same time, clicking on the corresponding detection entry will trigger the interface jump without additional configuration or tool switching, achieving seamless connection of the detection process. This modular design not only reduces the development and maintenance costs of e-sports operation tools, but also ensures the consistency of operation logic and improves the reusability and scalability of the technical solution. Furthermore, the keyboard testing interface guides staff to fill in the identity information of the player to whom the keyboard belongs via a pop-up window. This achieves a unified binding of testing device, player identity, and testing results. Compared to the traditional discrete operation of recording identity first and then testing, or supplementing identity after testing, this technically eliminates the problem of device-identity mismatch caused by multiple players and multiple devices testing in parallel (e.g., mistakenly recording player A's keyboard testing report under player B's name). This ensures the accuracy and relevance of the testing data and provides technical support for subsequent data traceability. In other words, in e-sports competitions, device compliance testing results need to strictly correspond to player identities. As a core basis for the fairness of the competition, this application embodiment uses a pop-up window to forcibly bind identity information, ensuring that the testing report of each participating device can be accurately associated with the corresponding player, forming a complete traceability link of "device connection - identity entry - compliance testing - result archiving". This process eliminates situations such as "incorrect detection" and "missed detection", thus strengthening the defense of fair competition.

[0073] In step 103, a first prompt message is displayed on the first detection interface.

[0074] Here, the first prompt message can be used to prompt the user to trigger multiple controls included in the first device in a set order.

[0075] In some embodiments, taking the keyboard used by e-sports contestants as an example, when the organizer wants to test the keyboard used by the contestant, they can click the test entry corresponding to the keyboard in the pre-match test interface. When the organizer receives the click operation of the organizer on the test entry corresponding to the keyboard in the pre-match test interface, the system can jump from the pre-match test interface to the keyboard test interface and display a first prompt message in the keyboard test interface. The first prompt message can be used to prompt the organizer to trigger multiple keys on the keyboard used by the contestant in a set order (e.g., from left to right, from top to bottom). In this way, through the jump logic of "pre-match test interface → keyboard test interface", combined with the first prompt message displayed in the keyboard test interface (clearly stating the operation requirement of triggering multiple keys on the keyboard in a set order), the abstract test process is transformed into a concrete guide. Compared to traditional unguided testing methods or those relying solely on written instructions, the technical solution provided in this application standardizes the operational procedures of the test personnel from a technical perspective. This avoids inaccurate test results caused by human error such as disordered testing order or missed key presses, ensuring that all participating devices are tested according to a unified standard and improving the standardization and repeatability of the testing process. Furthermore, by guiding the test personnel to complete a full key scan verification through the initial prompt information, potential hardware problems with the keyboard can be accurately identified, resulting in more comprehensive testing coverage. This technically guarantees the reliability of the test report and prevents illegally modified keyboards from being brought into the competition due to incomplete testing.

[0076] In step 104, after receiving a trigger operation for multiple controls included in the first device, a first detection report for the first device is displayed on the first detection interface.

[0077] Here, the first detection report can be generated based on the actual output sequence corresponding to multiple controls and the standard output sequence pre-configured for the first device. For example, the actual output sequence can be compared with the standard output sequence. When the two are consistent, a first detection report indicating that the first device is normal is generated; when the two are inconsistent, a first detection report indicating that the first device is abnormal is generated.

[0078] In some embodiments, see Figure 4 , Figure 4 This is a schematic diagram of the second process of the device testing method provided in the embodiments of this application, as shown below. Figure 4 As shown, Figure 3 Step 104 shown can be achieved through Figure 4 The implementation of steps 1041 and 1042 shown will be combined with Figure 4 The steps shown are explained.

[0079] In step 1041, when a trigger operation is received for multiple controls included in the first device, the detection process for the first device is displayed on the first detection interface.

[0080] In some embodiments, the first detection interface may display multiple control icons that correspond one-to-one with the multiple controls included in the first device. Step 1041 can be implemented in the following way: In response to any control among the multiple controls included in the first device being triggered, the control icon corresponding to the triggered control is highlighted in the first detection interface, and the actual output result corresponding to the triggered control is displayed in the first detection interface.

[0081] For example, taking the keyboard used by a participant in an esports competition as the first device, before the competition begins, the keyboard can be connected to the laptop of the competition administrator via a data cable. The administrator can then click the corresponding detection entry for the keyboard on the pre-competition detection interface. When the administrator clicks the corresponding entry on the keyboard in the pre-competition detection interface, the system will redirect to the keyboard detection interface. After the administrator fills in the player's identification information on the keyboard detection interface, they can trigger multiple keys on the keyboard sequentially according to the prompts. For example, the administrator can manually trigger multiple keys on the keyboard in order from left to right and from top to bottom. The keyboard detection interface will display multiple key icons corresponding to the keys on the player's keyboard. When the keyboard operator detects that any button on the contestant's keyboard has been pressed, the corresponding key icon is highlighted in the keyboard detection interface. For example, if the operator presses the "A" key, the corresponding key icon is highlighted to indicate that the operator has pressed the "A" key. Simultaneously, the actual output result (e.g., the virtual keycode output when the key is pressed) is displayed in the keyboard detection interface. This visual design, with a one-to-one correspondence between keyboard keys and interface icons, combined with the real-time feedback mechanism of triggering a key and highlighting its corresponding icon, allows the operator to intuitively confirm whether the pressed key matches the expected one. This avoids issues such as missed or incorrect key presses due to memory errors in key positions or differences in keyboard layout. Furthermore, the simultaneous display of the actual output result of the triggered key achieves triple confirmation: "operation behavior - visual feedback - data verification," ensuring the accuracy of the detection operation and reducing the impact of human error on the results. In other words, this application embodiment, through a standardized process design of "identity filling - prompt information guiding key triggering - real-time visual feedback" and clear operation instructions, transforms the complex keyboard detection operation into a simple process of following prompts and confirming feedback. It does not require the contestants to have professional hardware detection knowledge or tool operation experience. Even contestants without a technical background can quickly get started, ensuring the standardized execution of the detection process and reducing detection interruptions or invalid results caused by unfamiliarity with the operation.

[0082] It should be noted that the keyboard, as the core input device in e-sports competitions, is directly affected by unauthorized modifications or hardware malfunctions such as abnormal key response, hidden macro keys, and custom trigger logic. This application's embodiments achieve comprehensive screening through three technical means: 1) The requirement for sequential triggering of all keys ensures thorough detection coverage, preventing the omission of hidden illegal keys; 2) Highlighted icon feedback ensures that the competition staff completes all key checks, eliminating loopholes caused by random checks; 3) Verification of actual output results, such as virtual key codes, can accurately identify abnormal key mapping (e.g., modifying ordinary keys into macro keys), preventing unauthorized devices from entering the competition at the source. It also allows for early detection of hardware malfunctions such as key failures and key jamming, preventing players from being affected by equipment problems during the competition and ensuring the fairness of the event.

[0083] In other embodiments, following the above examples, after displaying the actual output result corresponding to the triggered control in the first detection interface, the following processing can also be performed: obtaining the standard output result corresponding to the triggered control; when the actual output result is inconsistent with the standard output result, marking the control icon corresponding to the triggered control in the first detection interface.

[0084] For example, continuing with the example of a keyboard used by esports competitors, the competition staff can manually trigger multiple keys on the keyboard based on the prompts displayed on the keyboard detection interface. Each time a key is triggered, the trigger time and the corresponding actual output result are displayed on the keyboard detection interface. The actual output result can then be compared with the standard output result for that key. If they don't match, it indicates an anomaly, and the corresponding key icon can be marked on the keyboard detection interface (e.g., highlighted in red, flashing, or with added anomaly information). In this way, by recording multi-dimensional data of key trigger time and actual output result in real time, combined with the pre-binding of identity information and keyboard device, a complete data chain of "whose device - when triggered - trigger result" is constructed, enabling full-dimensional traceability of the detection process. If a dispute arises later, the original data such as trigger time and actual output result can be used to reconstruct the detection scenario, providing objective evidence for dispute resolution. Furthermore, the technical logic of automatically comparing actual output results with standard output results replaces traditional manual judgment, avoiding misjudgments caused by individual subjective differences or insufficient professional skills. Simultaneously, for abnormal keys with inconsistent comparisons, the keyboard detection interface uses key icon markings to achieve visual location of the abnormal position, allowing the competition staff to quickly identify abnormal keys without having to check data one by one, thus improving the accuracy and efficiency of anomaly detection. In addition, the technical solution provided in this application forms a closed-loop detection logic of "triggering key press - recording data - automatic comparison - anomaly marking." Each key operation corresponds to a complete "input-processing-output" process, ensuring no detection loopholes. At the same time, the recording of trigger times can indirectly verify whether the competition staff has completed all key checks as required, technically enforcing standardized detection procedures, avoiding violations such as "skipping checks" and "missing checks," and ensuring the comprehensiveness of the detection.

[0085] It should be noted that keyboard key anomalies (such as macro modification causing output results to differ from standard key codes, or key malfunctions causing multiple keys to be output simultaneously) are common violations in e-sports competitions. The technical solution provided in this application can accurately identify two types of violations through "automatic comparison of actual output results with standard output results": first, hardware modification violations, such as modifying ordinary keys into macro keys to output non-standard key codes; second, hardware malfunction violations, such as key malfunctions or trigger delays causing abnormal output results. This eliminates unfair competition caused by equipment violations or malfunctions at the source, and is more objective and authoritative than manual detection.

[0086] In some embodiments, following the above, the following method can be used to achieve the following: when the actual output result is inconsistent with the standard output result, the control icon corresponding to the triggered control is marked in the first detection interface: when the actual output result is inconsistent with the standard output result, a second prompt message is displayed in the first detection interface, wherein the second prompt message can be used to indicate that the triggered control has an abnormality; in response to the marking trigger operation of the control icon corresponding to the triggered control in the first detection interface, the marking information is added to the control icon corresponding to the triggered control.

[0087] For example, continuing with the example of a keyboard used by esports competitors, the competition staff can manually trigger multiple keys on the keyboard based on the first prompt displayed on the keyboard detection interface. Each time a key is triggered, the trigger time and the corresponding actual output result can be displayed on the keyboard detection interface. Then, the actual output result can be compared with the standard output result for that key. If they are inconsistent, it indicates an abnormality with the key, and a second prompt will be displayed on the keyboard detection interface to alert the staff that the key is abnormal. After seeing the second prompt message displayed on the keyboard detection interface, the test administrator can manually mark the key icon corresponding to that key in the keyboard detection interface. For example, the test administrator can mark the key by clicking the key icon corresponding to that key in the keyboard detection interface. In this way, through the layered feedback design of the first prompt message (operation guidance) + the second prompt message (abnormal alarm), a closed-loop interaction of "operation guidance - abnormal reminder - manual confirmation" is realized. This not only avoids the mismarking problem that may be caused by misjudgment due to automatic marking, but also ensures the accuracy of abnormal identification through manual review. This combination design of automatic comparison alarm + manual confirmation marking balances technical efficiency and the rigor of human judgment, and improves the reliability of the detection results. In other words, the technical solution provided in this application embodiment, through the combination design of "layered prompt guidance + automatic comparison alarm + manual marking confirmation", not only solves the misjudgment problem of pure automation solution, but also makes up for the efficiency shortcomings of pure manual solution, and realizes full-dimensional traceability of the detection process.

[0088] In step 1042, in response to the end of the detection, a first detection report for the first device is displayed on the first detection interface.

[0089] In some embodiments, taking the keyboard used by a contestant in an e-sports competition as an example, after the test is completed, a test report for the keyboard used by the contestant can be displayed in the keyboard test interface. When the keyboard used by the contestant has an abnormality, the test report may include the number of abnormal controls included in the keyboard used by the contestant, as well as each specific abnormal control.

[0090] In other embodiments, step 104 above can also be implemented in the following way: when a trigger operation is received for multiple controls included in the first device, an actual output sequence corresponding to the multiple controls is obtained, wherein the actual output sequence is obtained by combining multiple actual output results corresponding to the multiple controls respectively; a standard output sequence pre-configured for the first device is obtained, wherein the standard output sequence is obtained by combining multiple standard output results corresponding to the multiple controls respectively; based on the actual output sequence and the standard output sequence, a first detection report for the first device is generated, and the first detection report is displayed in the first detection interface.

[0091] For example, continuing with the example of a keyboard used by esports competitors, the operator can manually trigger multiple keys on the keyboard based on the first prompt displayed on the keyboard detection interface. For instance, the operator can manually trigger multiple keys in a left-to-right, top-to-bottom order. Next, the actual output sequence corresponding to each key can be obtained. For example, the actual output results corresponding to each key can be combined according to the trigger time from earliest to latest to obtain the actual output sequence. Subsequently, a pre-configured standard output sequence for the keyboard used by the competitor can be obtained. This standard output sequence can be obtained by combining multiple standard output results corresponding to each key. Finally, based on the actual output sequence and the standard output sequence, a detection report for the keyboard used by the contestant can be generated (for example, the actual output sequence can be compared with the standard output sequence, and a corresponding detection report can be generated based on the comparison results). This detection report is then displayed in a floating manner on the keyboard detection interface. Thus, by designing to "generate the actual output sequence by combining the actual output results according to the trigger time sequence," the scattered individual key detection data is transformed into structured sequence data, forming a whole-to-whole comparison logic with the pre-configured standard output sequence. Compared to the mode of comparing individual keys one by one, this approach is better able to identify sequence-level anomalies (such as disordered key trigger order, abnormal multi-key linkage output, and other problems that cannot be detected by individual key comparisons). Simultaneously, the structured sequence data facilitates subsequent algorithm analysis, improving the depth and breadth of the detection technology and ensuring the comprehensiveness of the detection results. Furthermore, this embodiment automatically generates a detection report based on the comparison results of the actual output sequence and the standard output sequence, and displays it in a floating manner on the keyboard detection interface. This eliminates the need for contestants to manually summarize data and compile reports, reducing manual operation costs and the probability of errors. In addition, the standard output sequence can be flexibly configured according to keyboard model, competition rules, and e-sports projects, adapting to different scenarios without modifying the core detection logic. At the same time, the standard output sequence can be dynamically expanded through cloud updates, local imports, etc., supporting the addition of new keyboard brands and models, and the addition of standard configurations corresponding to new competition rules, reducing the iteration and maintenance costs of e-sports competition tools and improving the scalability of the technical solution.

[0092] In other embodiments, following the examples above, the generation of a first detection report for the first device based on the actual output sequence and the standard output sequence can be achieved by: comparing the actual output sequence with the standard output sequence; generating a first detection report indicating that the first device is normal when the actual output sequence matches the standard output sequence; and generating a first detection report indicating that the first device is abnormal when the actual output sequence does not match the standard output sequence.

[0093] For example, continuing from the previous example, taking the keyboard used by e-sports contestants as the first device, after obtaining the actual output sequence corresponding to multiple keys and the pre-configured standard output sequence, the actual output sequence can be compared with the standard output sequence. When they match, a test report indicating that the keyboard used by the contestant is normal can be generated; when they do not match, a test report indicating that the keyboard used by the contestant is abnormal can be generated. This test report can include the number of abnormal keys and the specific abnormal keys. Thus, the technical solution provided by this application clearly defines the binary judgment logic of sequence consistency normal report and sequence inconsistency abnormal report, avoiding the interpretation disputes caused by the "fuzzy conclusions" in traditional testing. At the same time, the abnormal report includes core content such as the number of abnormal keys and the specific abnormal keys, transforming the abstract sequence inconsistency into a concrete problem list, making the test results more quantifiable and verifiable. This structured report design not only provides a clear basis for subsequent equipment rectification and dispute resolution, but also enhances the rigor and authority of the testing technology. Furthermore, based on the automatic comparison results between the actual output sequence and the standard output sequence, the corresponding test report can be generated without manual intervention, completely replacing the cumbersome process of manually summarizing data, manually judging results, and compiling reports. This reduces human error. At the same time, the report generation is seamlessly integrated with the testing process, achieving an efficient closed loop where results are available as soon as the test is completed. This improves the automation level and execution efficiency of the technical solution and lowers the barrier to entry for using the tool.

[0094] It should be noted that the technical solution provided in this application, through the core logic of sequence comparison, can accurately distinguish whether a device is compliant: a normal report directly proves that the keyboard has not been modified or is fault-free, ensuring that compliant devices pass the test quickly; an abnormal report clearly indicates "the number of abnormal keys + the specific abnormal key", allowing the competition organizers to quickly locate the violation or fault point, preventing non-compliant devices from entering the venue and affecting the fairness of the competition. In addition, the entire data, including the actual output sequence, standard output sequence, comparison log, and final report, is automatically retained during the testing process, supporting subsequent retrieval and verification. At the same time, the generated test report can be exported as an electronic document, facilitating the event organizer's archiving management, post-event review, or dispute tracing. This design, which allows for process traceability and result retention, not only meets the real-time testing requirements but also adapts to the long-term data management needs of event management.

[0095] In some embodiments, following the above example, when the first device is a keyboard or mouse, the above-mentioned method of obtaining the actual output sequence corresponding to the multiple controls when a trigger operation is received for the multiple controls included in the first device can be implemented in the following way: adding a hook procedure function to the hook chain corresponding to the first device; when any control among the multiple controls included in the first device is triggered, obtaining the input message corresponding to the triggered control, and calling the corresponding hook procedure function in the hook chain according to the type of the input message, so that the hook procedure function obtains the actual output result corresponding to the triggered control; combining the multiple actual output results corresponding to the multiple controls respectively to obtain the actual output sequence corresponding to the multiple controls.

[0096] In other embodiments, following the examples above, the hook procedure function may include a first hook procedure function corresponding to the keyboard and a second hook procedure function corresponding to the mouse. The above-mentioned method of calling the corresponding hook procedure function in the hook chain based on the type of input message, so that the hook procedure function obtains the actual output result corresponding to the triggered control, can be implemented in the following way: when the input message is a keyboard-type message, the first hook procedure function in the hook chain is called, so that the first hook procedure function obtains the actual output result corresponding to the triggered control; when the input message is a mouse-type message, the second hook procedure function in the hook chain is called, so that the second hook procedure function obtains the actual output result corresponding to the triggered control.

[0097] In some embodiments, following the above example, the above-mentioned invocation of the first hook procedure function in the hook chain can be implemented in the following way, so that the first hook procedure function obtains the actual output result corresponding to the triggered control: the first hook procedure function in the hook chain is invoked to perform the following processing: when the hook processing identifier carried by the keyboard message is greater than or equal to a set value (for example, assumed to be 0), the virtual key code corresponding to the triggered control is obtained from the low-level structure of the keyboard hook corresponding to the keyboard message; correspondingly, the above-mentioned invocation of the second hook procedure function in the hook chain can be implemented in the following way, so that the second hook procedure function obtains the actual output result corresponding to the triggered control: the second hook procedure function in the hook chain is invoked to perform the following processing: when the hook processing identifier carried by the mouse message is greater than or equal to a set value, the coordinate information corresponding to the triggered control is obtained from the low-level structure of the mouse hook corresponding to the mouse message.

[0098] For example, when the first device is the keyboard or mouse used by the esports contestant, the esports execution tool running on the contestant's laptop can call the system-provided hook installation function (e.g., the SetWindowsHookEx() function), explicitly passing in four key parameters to ensure the system accurately identifies the hook configuration: 1) Hook type identifier: Specifies the type of event the hook targets (e.g., low-level keyboard hook, low-level mouse hook), clearly informing the system of the scope of input events to be detected; 2) Hook process callback function pointer: Points to the predefined hook processing function of the esports execution tool (e.g., including the KeyboardProc keyboard processing function, MouseProc mouse processing function), serving as the processing entry point when subsequent events are triggered; 3) Module handle containing the hook process: Identifies the application module where the hook process is located (e.g., it can be the .exe or .dll file of the esports execution tool), allowing the system to locate the specific storage location of the hook processing function; 4) Target thread identifier: Specifies the target thread that the hook needs to detect (set to 0 if it is a global hook). For example, in esports scenarios, it is necessary to detect the keyboard / mouse operations of the entire system to ensure that input events of all participating devices are captured. After receiving a registration request, the system first verifies the validity of the parameters (e.g., whether the hook type is supported, whether the module handle is valid, and whether the callback function is accessible). If the verification is successful, the system performs the following two core operations: First, hook chain insertion: the hook procedure functions are added to the corresponding hook chain in the registration order (the system can maintain an ordered hook chain for each hook type, and multiple hook procedure functions are sorted according to their registration time). Second, returning the hook handle: the system generates a unique hook handle and returns it to the esports management tool. This handle serves as the core identifier for subsequent hook management (e.g., uninstalling hooks, querying hook status). Next, when the management personnel trigger the keyboard or mouse keys used by the contestant according to the prompts, the keyboard or mouse transmits the operation signal to the operating system. After receiving the signal, the system kernel converts it into standardized input messages (e.g., keyboard key message WM_KEYDOWN, mouse movement message WM_MOUSEMOVE) and prepares to pass the input message to the target window (e.g., the currently active game client). Before an input message is passed to the target window, the system checks whether a corresponding hook chain exists for that type of message (e.g., keyboard messages correspond to a keyboard hook chain, and mouse messages correspond to a mouse hook chain). If a hook chain exists, the corresponding hook procedure functions are called sequentially, starting from the first hook, according to the registration order of the hook chain. The event type is automatically matched during the call. For example, if it is a keyboard event, the KeyboardProc callback function specified when the hook is registered (i.e., the first hook procedure function) is called; if it is a mouse event, the MouseProc callback function (i.e., the second hook procedure function) is called, ensuring that the event type and the handling function correspond precisely.

[0099] For example, continuing from the previous text, when a hook procedure function is called by the system, it receives three core parameters: hook processing identifier (nCode), message identifier parameter (wParam), and event details parameter (lParam). First, the nCode parameter can be used to determine whether the system has the authority to process the message. If nCode < 0, it means that the message is an internal system message or a special message that does not require hook processing, and the hook procedure function skips the subsequent processing and prepares to pass the message to the next hook. If nCode ≥ 0, it means that the message can be processed by the current hook, and the hook procedure function enters the subsequent data extraction and logic execution stage. For example, based on the event type (keyboard / mouse), specific event details can be parsed from the lParam parameter (IParam is essentially a pointer to a data structure, with different data structures corresponding to different event types). Specifically, for keyboard event handling: IParam points to the low-level structure of the keyboard hook (i.e., the KBDLLHOOKSTRUCT structure), and the hook procedure function extracts key information through this structure, such as the virtual key code of the key (e.g., the virtual key code corresponding to the "A" key is VK_A), scan code, etc.; for mouse event handling: lParam points to the low-level structure of the mouse hook (i.e., the MSLLHOOKSTRUCT structure), and the hook procedure function extracts core data such as the current mouse coordinates, mouse button status (whether the left, right, and middle buttons are pressed), and scroll wheel scroll amount from it. After extracting the event data (i.e., the actual output result) corresponding to each key, the hook process function can combine the event data corresponding to multiple keys to obtain the actual output sequence corresponding to multiple keys. In this embodiment, the hook process function is automatically matched according to the input event type, realizing a one-to-one binding relationship between the event type and the processing function. This makes the processing of each event more professional, avoids inefficiency or data extraction errors caused by confusion in processing logic, and improves the accuracy and reliability of event processing.

[0100] It should be noted that after extracting event data, the hook process function can also store the extracted virtual key codes, mouse coordinates, event trigger times, and other information in a local cache or database to form a complete operation log. In addition, the extracted data can be verified in real time, such as determining whether the virtual key codes of keyboard keys meet the standards, providing raw data for the generation of subsequent detection reports. At the same time, the event processing status can be synchronized to the interface of the e-sports competition tool (for example, the key icon corresponding to the currently triggered key can be highlighted in the keyboard detection interface), realizing the visualization of the detection process. After processing the received message, the hook procedure function can control the message flow logic by whether or not to call the hook message passing function (such as the CallNextHookEx() function). For example, when message passing is allowed, the hook procedure function can call the CallNextHookEx() function, passing in the previously saved hook handle, nCode, wParam, lParam, and other parameters. After receiving the message, the system will pass it to the next hook procedure function in the hook chain until all hooks have been processed, and then pass the message to the original target window. If the hook procedure function does not call the CallNextHookEx() function, and the business logic requires intercepting the message, the message will terminate after the current hook is processed and will not be passed to subsequent hooks or target windows.

[0101] In other embodiments, when the first device is a gamepad or arcade keyboard, the above-mentioned method of obtaining the actual output sequence corresponding to the multiple controls when a trigger operation is received for the multiple controls included in the first device can also be achieved in the following way: initializing the component object model library and creating a top-level interface object in the component object model library; finding the first device based on the top-level interface object and creating a device object corresponding to the first device; when any control among the multiple controls included in the first device is triggered, obtaining the actual output result corresponding to the triggered control through the device object; and combining the multiple actual output results corresponding to the multiple controls respectively to obtain the actual output sequence corresponding to the multiple controls.

[0102] In some embodiments, following the above example, the above-mentioned method of obtaining the actual output result corresponding to the triggered control through the device object when any one of the multiple controls included in the first device is triggered can be achieved in the following way: calling the top-level interface object to obtain control over the first device; when any one of the multiple controls included in the first device is triggered, calling the device object to read the actual output result corresponding to the triggered control into the data structure corresponding to the first device.

[0103] In other embodiments, following the above examples, after combining the multiple actual output results corresponding to the multiple controls to obtain the actual output sequence corresponding to the multiple controls, the following processing can also be performed: calling the top-level interface object to release control over the first device and cleaning up the component object model library.

[0104] For example, when the first device is a game controller or arcade keyboard used by esports competitors, the esports event management tool running on the competitor's laptop can first call the `CoInitialize(NULL)` function to initialize the COM library. This step starts the COM system services, allocates necessary system resources, and ensures that the creation of subsequent DirectInput-related components and interface calls can proceed normally. If the COM library is not initialized, all subsequent DirectInput operations will fail because the components cannot be loaded. After the COM library is initialized, the DirectInput core object (i.e., the top-level interface object) can be created using the `DirectInput8Create` function, and the `IDirectInput8` interface can be obtained. This interface is the "main entry point" for all DirectInput functions; subsequent operations such as device enumeration and device instance creation must be initiated through the methods provided by this interface. When creating the object, the correct DirectInput version number and application-related information must be specified to ensure that the interface is compatible with the system environment and avoid functional abnormalities caused by version incompatibility. Next, based on the device type to be read, the IDirectInput8::EnumDevices method can be used to enumerate the connected input devices in the system. The core logic is as follows: If the first device is a game controller, and the device type is specified as a game controller class (DI8DEVCLASS_GAMECTRL), the system will iterate through all connected game controllers, joysticks, and other devices, returning a unique identifier (GUID), device name, device status, and other information for each device, which can be filtered by the application (i.e., esports competition tools). If the first device is a keyboard or mouse, there is no need to enumerate; the system's predefined GUID can be used directly, skipping the enumeration step to improve initialization efficiency, because these types of devices are natively supported by the system and do not require additional filtering. Subsequently, the GUID of the first device obtained through enumeration can be used to call the IDirectInput8::CreateDevice method to create a specific device instance (i.e., a device object) and obtain the IDirectInputDevice8 interface. This interface is the entry point for operations on a single device. Subsequent operations such as device configuration, data reading, and resource release are all performed through this interface for the specific device. For example, after creating a device instance of a game controller, all operations will only apply to that game controller and will not affect other input devices.In addition, the `IDirectInputDevice8::SetDataFormat` method can be called to specify a standard data format for the device. The core purpose is to allow DirectInput to return device data in a fixed structure, making it easier for esports application tools to parse. For example, the common formats for game controllers are `c_dfDIJoystick` (basic version, including buttons and basic axes) or `c_dfDIJoystick2` (enhanced version, supporting more axes, more buttons, and POV arrow keys). Furthermore, the `IDirectInputDevice8::SetCooperativeLevel` method can be used to set rules for sharing the device between the esports application tool, the system, and other programs. The core parameter combinations and their meanings are as follows: Exclusive: When the esports application tool is active in the foreground, it has exclusive control of the device, and other programs cannot read the device data; Non-exclusive in the background: The esports application tool can also read device data when running in the background without affecting the use of other programs. Meanwhile, for devices with analog axes (such as joysticks), such as game controllers, personalized properties can be configured using the `IDirectInputDevice8::SetProperty` method to ensure that the input data meets expectations: 1) Axis range setting: The `DIPROPRANGE` structure can be used to define the input range of the axes (for example, the X and Y axis ranges of the joystick can be set to -10000~10000), making the data output more accurate and facilitating subsequent numerical comparison; 2) Dead zone setting: The dead zone of the axes can be configured through relevant properties (for example, small offsets near the center of the joystick are not recognized as valid input), avoiding false triggers caused by device hardware offsets and improving the stability of data reading. Finally, the `IDirectInputDevice8::Acquire` method can be called to request and acquire control of the device from the system. This step is the activation switch for data reading. Only after successfully acquiring control can the e-sports tool read the device status through subsequent methods; if acquisition fails (e.g., the device is monopolized by another program), the exception needs to be handled and retried to ensure that the device is in a readable state.

[0105] For example, following the previous text, after gaining control of the device, for some game controllers and other devices, the data will not be automatically synchronized. It is necessary to actively poll the device by calling the IDirectInputDevice8::Poll method before each read. The core function of polling is to allow the device to synchronize the latest input state (such as whether the button is pressed or the current position of the joystick) to the DirectInput cache, ensuring that the data read later is real-time and avoiding parsing errors caused by data lag. In the main loop of the e-sports game execution tool, the IDirectInputDevice8::GetDeviceState method can be called to read the current complete state of the device into a preset structure. For example, the game controller data can be stored in the DIJOYSTATE or DIJOYSTATE2 structure, including: the rgbButtons array (each element corresponds to a button, and the highest bit is 1 to indicate that the button is pressed), lX / lY / lZ fields (corresponding to the current values ​​of each axis of the joystick), and the rgdwPOV[0] field (POV the angle of the directional keys, such as 0° for up and 90° for right). The e-sports competition tool can perform targeted analysis on the read structure data and extract core information related to business needs (i.e., actual output results). For example, it can traverse the rgbButtons array (handheld) or the key array of the arcade keyboard structure to determine whether each key is pressed and record the key number and trigger time. Alternatively, it can read the lX / lY axis values ​​and combine them with the previously set axis range to determine the offset direction and offset amount of the joystick (such as whether it has reached the maximum offset or is within the dead zone). Or, it can determine the current direction of the directional keys (such as 180° for down and 270° for left) through the angle value of rgdwPOV[0]. After obtaining the actual output results corresponding to each key, the actual output results corresponding to multiple keys can be combined to obtain the actual output sequence corresponding to multiple keys. In this way, the device data can be read through the interface call at the software level without hardware modification or firmware modification of the competition equipment, without affecting the original performance of the equipment, and avoiding the decline in the user experience of the contestants due to the detection tool. In addition, automated data reading reduces human intervention. The competition organizers only need to confirm the test results and do not need to pay attention to details such as data acquisition, which improves the efficiency of parallel testing of multiple devices and is suitable for the tight preparation time before esports competitions.

[0106] It's important to note that if the `GetDeviceState` or `Poll` method calls fail and return error codes such as `DIERR_INPUTLOST`, it indicates a loss of device control (potentially due to the device being preempted by another program, a physical disconnection, or the application switching to the background). In this case, exception handling logic must be executed. Specifically, `IDirectInputDevice8::Unacquire` can be called first to release the currently invalid control. After a short wait, the `Acquire` method can be called again to attempt to regain control. If multiple attempts fail, the esports competition tool interface can prompt the competition personnel to check the device connection (e.g., "The controller has been disconnected, please reconnect"). This mechanism ensures the continuity of data reading and prevents the entire testing process from being interrupted due to temporary device malfunctions.

[0107] Furthermore, it's important to note that when the esports application exits or the device is no longer needed, all occupied system resources should be released systematically to prevent resource leaks. Specifically, the `IDirectInputDevice8::Unacquire` method can be called first to release control of the device, allowing other programs to access it normally and preventing resource locking caused by prolonged device occupation. Next, the `IDirectInputDevice8::Release` method can be called to release the previously created device instance and reclaim the memory resources it occupies. Failure to do so will lead to memory leaks, potentially impacting system performance over time. Subsequently, the `IDirectInput8::Release` method can be called to release the DirectInput core object and reclaim system resources related to COM components. Finally, the `CoUninitialize()` function can be called to close the COM library, releasing resources allocated by the COM system, completing the entire resource cleanup loop. This ensures that all resources are properly reclaimed, preventing system stability issues caused by resource leaks.

[0108] In some embodiments, step 104 above can also be implemented in the following way: after receiving a trigger operation for multiple controls included in the first device, a first detection report for the first device is displayed in a floating manner in the first detection interface, wherein the first detection report may include the identity information of the object to which the first device belongs, download control, and close control, etc.

[0109] For example, continuing with the example of a keyboard used by an esports competitor, when the inspector triggers multiple keys on the keyboard in sequence according to the initial prompt displayed on the keyboard detection interface, a detection report for that keyboard will be displayed floating in the interface. This report may include the competitor's identification information (e.g., competitor ID, team affiliation, nationality, etc.). Furthermore, the inspector can download the report by clicking the download button displayed on it. Of course, when the inspector needs to test other devices belonging to the competitor, they can close the current report and proceed with testing those other devices by clicking the close button displayed on it.

[0110] In other embodiments, following the examples above, the first test report may be in a portable file format. Before the first test report for the first device is displayed in the first test interface, the following processes may be performed: creating a document container object in a portable file format; adding a page to the document container object and adding the content of the first test report for the first device to the page; converting the document container object with the content of the first test report into binary data and writing the binary data into a file in a portable file format.

[0111] For example, taking the keyboard used by esports competitors as the first device, when the esports competition tool running on the competitor's laptop wants to use a PDF library to generate PDFs, the first step is to configure the relevant dependencies in the Flutter project to ensure that the library file can be recognized and called by the project. Specifically, you can first open the pubspec.yaml file in the project's root directory (i.e., the dependency configuration file for the Flutter project), and then add the PDF library dependency declaration under the dependencies node (specifying a compatible version number). If you need to implement PDF printing, sharing, and other functions later, you also need to add the printing: ^5.12.0 dependency. After saving the file, execute the flutterpubget command to let the Flutter tool automatically download and install the specified version of the library file, completing the dependency integration. At this point, the project can call the classes (such as Document, Page, Text) and methods (such as save()) provided by the PDF library. After configuring the dependencies, you can first create a PDF document instance to serve as the container for all subsequent content (such as text, images, tables, etc.). Specifically, in the code file that needs to generate the PDF, you can first import the core namespace of the PDF library. To simplify code writing, you can usually alias it as pw. Then, you can create a document object using the pw.Document() constructor. This object will automatically initialize the basic structure of the PDF document (such as document metadata and page collection). Subsequently added pages and content will be stored in this object until the final file is generated. After the document container is created, you can populate the PDF with content by "adding pages and building components within the pages". The core of this step is to use the pw.Widget component provided by the PDF library to assemble elements such as text, images, and tables as needed. Specifically, you can add a new page to the document by calling the pdf.addPage() method. This method requires a pw.Page object as a parameter, where pw.Page is the carrier of the PDF page, and its build parameter is a callback function. All page content needs to be built in this callback function.In the `build` callback function, content is assembled using the `pw.Widget` component. The text component (`pw.Text`) displays text content and allows setting attributes such as font size, color, bold, and alignment. The image component (`pw.Image`) inserts images; the image file must first be converted to a format supported by the PDF library. The table component (`pw.Table`) displays structured data; simple tables can be quickly created using `pw.Table.fromTextArray()`, or by using `pw.Table(children:[pw.TableRow(children:[pw.Text...]`). (“Button”, pw.Text(“Status”))) Customize table rows, columns and content, supporting settings for borders, cell alignment, row height and column width, etc.; Layout components (pw.Column / pw.Row / pw.Padding): used to adjust the layout of content, for example, use pw.Column(children:[component1,component2]) to achieve vertical arrangement, use pw.Padding(padding:pw.EdgeInsets.all(10),child:component) to add inner margins to the content, and use pw.SizedBox(height:10) to control the spacing between components. All components can be assembled according to the parent-child hierarchy to form a complete page layout, and return it to the pw.Page object through the build callback function to complete the creation of page content.

[0112] It's important to note that the PDF library only supports basic ASCII characters such as English by default. If the PDF content contains Chinese, Japanese, Korean, or other non-English characters, an external font file needs to be loaded. Otherwise, issues such as garbled text, blank spaces, or boxes may occur. Specifically, you can obtain a font file that supports the target language. Then, create an assets / fonts / folder in the root directory of your Flutter project (or use it directly if it already exists), copy the font file into this folder, open the pubspec.yaml file, add a font resource declaration under the Flutter node, and finally load the font file in your code using the pw.Font.ttf() method, converting it into a font object supported by the PDF library. In this way, when using the pw.Text component, you can specify the loaded font through the font parameter to ensure that non-English fonts can be displayed correctly.

[0113] For example, continuing from the previous text, once the page content and font configuration are complete, you can generate PDF data using the `save()` method of the PDF library, and then save, share, or print it as needed. Specifically, you can first call the `awaitpdf.save()` method to generate binary data. This method will compile all page, content, and font information in the PDF document object into binary data in PDF format. This step is the core conversion process, and you need to use the `await` keyword to wait for the asynchronous operation to complete. After that, if you need to save the PDF file to the device's local storage, you can combine it with the `File` class of the `dart:io` library to write the binary data to the file. For example, you can first get the device's storage path, then create a file object, and finally write the data. After completion, you can find the generated PDF file in the specified path.

[0114] In some embodiments, when the number of the at least one device to be tested is multiple, the first test report may also display an entry point for testing a new device. See [link to relevant documentation]. Figure 5 , Figure 5 This is a schematic diagram of the third process of the device testing method provided in the embodiments of this application, as shown below. Figure 5 As shown, after execution Figure 3 After step 104 shown, you can also execute... Figure 5 Steps 105 to 107 shown will combine Figure 5 The steps shown are explained.

[0115] In step 105, in response to a trigger operation for detecting the entry of the new device, the second detection interface of the second device is displayed.

[0116] Here, the second device can be any one of the multiple devices to be tested, except for the first device.

[0117] In some embodiments, taking the keyboards and mice used by esports competitors as an example, before the competition begins, the keyboards and mice used by the competitors can be connected to the laptop of the competition organizer (e.g., a referee) via a data cable. After the connection is established, the organizer can run an esports competition tool on the laptop, which will display a pre-match testing interface on the laptop screen. This interface will show testing entries for the keyboard and mouse. If the organizer wants to test the keyboard first, they can click the corresponding testing entry in the pre-match testing interface. When the organizer clicks the corresponding entry in the pre-match testing interface, the system will redirect to the keyboard testing interface. The organizer can then manually trigger multiple keys on the keyboard based on the first prompt displayed in the keyboard testing interface. After triggering, a testing report for that keyboard will be displayed in the keyboard testing interface. An entry for testing new devices will be displayed in the lower right corner of this report. If the organizers want to test the mouse used by the contestants, they can click the "Test New Device" entry. When the organizers click the "Test New Device" entry, they can jump directly from the keyboard testing interface to the mouse testing interface. In this way, the "Test New Device" entry in the testing report can achieve seamless switching from one device to another without having to return to the main interface or reconnect the device, which greatly shortens the connection time for multi-device testing.

[0118] In step 106, a third prompt message is displayed on the second detection interface.

[0119] Here, the third prompt message can be used to prompt the triggering of multiple controls included in the second device in a set order.

[0120] In some embodiments, following the above example, the second device is a mouse used by e-sports contestants. When a click operation is received from the competition organizer targeting the entry point for detecting a new device, the system can directly jump from the keyboard detection interface to the mouse detection interface. In the mouse detection interface, a third prompt message can be displayed, prompting the organizer to trigger multiple mouse buttons in a set order (e.g., from left to right).

[0121] In step 107, after receiving a trigger operation for multiple controls included in the second device, a second detection report for the second device is displayed on the second detection interface.

[0122] In some embodiments, continuing with the above example and taking the mouse used by an e-sports competitor as the second device, the competition administrator can manually trigger multiple buttons on the mouse used by the competitor based on the third prompt information displayed in the mouse detection interface. After the administrator completes the triggering, a detection report for the mouse used by that competitor can be displayed in a floating window in the mouse detection interface.

[0123] The following uses an e-sports competition scenario as an example to illustrate an exemplary application of the embodiments of this application in a real-world application scenario.

[0124] This application provides a device testing method that can be used to test peripherals commonly used in e-sports competitions, such as mice, keyboards, gamepads, and arcade keyboards. Before the competition begins, the peripherals can be connected to the testing computer via a USB Type-C data cable. The computer initiates the corresponding testing logic based on the peripheral type. The competition organizers execute hardware operations in a specified sequence. If the operation output is found to be inconsistent with the predetermined sequence, an abnormality in device testing can be detected. This enables the digitization of device testing and improves testing efficiency.

[0125] The device testing method provided in the embodiments of this application will be described in detail below.

[0126] In some embodiments, see Figure 6A , Figure 6A This is a schematic diagram of a first application scenario of the device testing method provided in the embodiments of this application, such as... Figure 6AAs shown, after connecting the device to be tested (such as a keyboard, mouse, gamepad, arcade keyboard, etc.) to the testing computer via a data cable, the corresponding testing logic can be activated. For example, a pre-match testing interface 601 can be displayed on the computer. This interface 601 displays testing entry points 602 (for the mouse), 603 (for the keyboard), 604 (for the gamepad), and 605 (for the arcade keyboard). If the test administrator wants to test a player's keyboard, they can click on the corresponding testing entry point 603. When the test administrator clicks on the keyboard-related testing entry point 603 in the pre-match testing interface 601, the system will redirect from the pre-match testing interface 601 to the keyboard testing interface 606. A pop-up window 607 will then appear in the keyboard testing interface 606, where the test administrator can annotate the player's information and begin the testing. For example, the test administrator can manually trigger multiple keys on the contestant's keyboard sequentially from left to right and top to bottom, and compare the output sequence of the manually triggered keys with the pre-configured detection sequence for that keyboard. If the two are inconsistent, it can be determined that the keyboard is abnormal, and the test administrator can manually mark the abnormal keys on the keyboard in pop-up window 608. After the test is completed, the test report 609 for that keyboard can be displayed floating in the keyboard test interface 606, and the test report 609 can also be submitted to the server for backup.

[0127] It should be noted that if the competition staff wants to test the player's mouse, they can click the detection entry 602 corresponding to the mouse in the pre-competition testing interface 601. When the competition staff receives the click operation on the detection entry 602 corresponding to the mouse in the pre-competition testing interface 601, they can jump from the pre-competition testing interface 601 to... Figure 6B The mouse detection interface 610 shown is used to detect the player's mouse. Similarly, if the organizer wants to detect the player's gamepad, they can click the detection entry 604 corresponding to the gamepad in the pre-match detection interface 601. When the organizer receives a click operation from the organizer on the detection entry 604 corresponding to the gamepad in the pre-match detection interface 601, the system can jump from the pre-match detection interface 601 to... Figure 6C The gamepad detection interface 611 shown is used to detect the player's gamepad. If the organizer wants to detect the player's arcade keyboard, they can click the detection entry 605 corresponding to the arcade keyboard in the pre-match detection interface 601. When the organizer receives the click operation of the detection entry 605 corresponding to the arcade keyboard in the pre-match detection interface 601, the system can jump from the pre-match detection interface 601 to the gamepad detection interface 605. Figure 6DThe arcade keyboard detection interface 612 shown is used to detect the player's arcade keyboard.

[0128] The process of collecting peripheral operation events will be explained below.

[0129] In some embodiments, see Figure 7 , Figure 7 This is a schematic diagram of the first process of the device testing method provided in the embodiments of this application, as shown below. Figure 7 As shown, the collection of keyboard and mouse operation events mainly includes the following four stages: hook installation and registration, event capture and processing, internal processing of the hook process, and continued message flow. The following is a detailed explanation of each of the above four stages.

[0130] Phase 1: Hook Installation and Registration In some embodiments, an application (such as an e-sports competition tool) can call the SetWindowsHookEx() function, passing in key parameters, such as: hook type identifier, hook procedure callback function pointer, module handle containing hook procedure, and target thread. Then, the specified hook procedure function can be added to the corresponding hook chain, and the hook handle is returned for subsequent management.

[0131] Phase Two: Event Capture and Handling In some embodiments, when the system detects that a participant is performing operations such as pressing keys on the keyboard or moving the mouse, it can generate corresponding input messages. Then, it can call the corresponding hook procedure function according to the event type. For example, the KeyboardProc function can be called for keyboard messages, and the MouseProc function can be called for mouse messages.

[0132] Phase 3: Internal processing of the hook process In some embodiments, the nCode parameter can be checked first to determine whether to process the message or pass it directly to the next hook. For keyboard messages, the virtual key code can be obtained from the KBDLLHOOKSTRUCT pointed to by lParam; for mouse messages, coordinates and other information can be obtained from the MSLLHOOKSTRUCT pointed to by lParam. Then, key / mouse operations can be recorded.

[0133] Phase Four: The message continues to circulate In some embodiments, if the CallNextHookEx function is called, the message continues to be passed in the hook chain; if the message is intercepted, the message stops being passed and will not reach the target window.

[0134] The following will continue to combine Figure 8 The process of collecting operation events from gamepads and arcade keyboards is explained.

[0135] In some embodiments, see Figure 8 , Figure 8 This is a schematic diagram of the second process of the device detection method provided in the embodiments of this application, as shown below. Figure 8 As shown, the collection of gamepad and arcade keyboard operation events mainly includes three stages: initialization and device settings, data reading and processing loop, and resource cleanup. The following is a detailed explanation of each of the three stages.

[0136] Phase 1: Initialization and Device Setup In some embodiments, the COM library can be initialized first. Since DirectInput is based on the COM library, it is usually necessary to call CoInitialize(NULL) to initialize the COM library before use. Next, the IDirectInput8 interface pointer can be obtained through the DirectInput8Create function, which is the starting point for all operations. Then, IDirectInput8::EnumDevices can be used, specifying the device type as DI8DEVCLASS_GAMECTRL, to find the gamepad connected to the system. For the system mouse or keyboard, the predefined GUID_SysMouse or GUID_SysKeyboard can be used to skip the enumeration. Afterwards, the specific gamepad device object (i.e., IDirectInputDevice8) can be created by calling IDirectInput8::CreateDevice with the found device GUID (or a predefined GUID), and IDirectInputDevice8::SetDataFormat can be called, specifying c_dfDIJoystick or c_dfDIJoystick2, to tell DirectInput the data structure to be read. In addition, the method by which the application shares the device with the system can be set using `IDirectInputDevice8::SetCooperativeLevel`, such as exclusive (DISCL_FOREGROUND|DISCL_EXCLUSIVE) or non-exclusive. Furthermore, for gamepad joysticks, it's typically necessary to set the axis range and dead zone to ensure the input data matches expectations. For example, the axis range can be set using the `DIPROPRANGE` structure and applied via the `IDirectInputDevice8::SetProperty` method. Finally, control of the device can be acquired by calling the `IDirectInputDevice8::Acquire` method.

[0137] Phase Two: Data Reading and Processing Loop In some embodiments, some devices may need to call IDirectInputDevice8::Poll to update the state before reading it. In the main game loop, IDirectInputDevice8::GetDeviceState can be called to read the data into the DIJOYSTATE or DIJOYSTATE2 structure, which contains the current state of all buttons, axes, POV arrow keys, etc. Then, the corresponding fields in the DIJOYSTATE structure can be checked. For example, the rgbButtons array represents the button state (the highest bit is 1 to indicate that it is pressed), lX, lY, lZ, etc. represent the state of each axis, and rgdwPOV[0] represents the angle of the arrow key (POV). It should be noted that if the GetDeviceState or Poll call fails (such as returning DIERR_INPUTLOST), it usually means that the device is lost (such as being preempted by other programs or physically disconnected), and you need to try to call Acquire again to regain control.

[0138] Phase 3: Resource Cleanup In some embodiments, when the program exits or the device is no longer needed, IDirectInputDevice8::Unacquire can be called to release control of the device, and then the Release method can be called to release the device object and the DirectInput object. If the COM library was initialized, it also needs to be cleaned up accordingly.

[0139] In other embodiments, following the above, after obtaining the peripheral's operation data through the aforementioned steps, the corresponding peripheral's operation sequence can be retrieved from the background based on the device type and model. The peripheral is then operated according to the specified sequence. If the operation output does not match the specified sequence, it indicates a problem with the peripheral. For example, taking a keyboard as an example... Figure 9 As shown, assuming the specified operation sequence is from left to right and from top to bottom, i.e.: Esc->F1->F2->F3->F4->F5->F6->F7->F8->F9->F10->F11->F12->1->2->3->4->5->6->7->8->9->0->Backspace, if the output result is not in the above order after performing the operation in sequence, it can be determined that there is a problem with the keyboard. After the operation is completed, a function can be generated based on the detected content, such as... Figure 10 The test report 609 is shown below. In the lower right corner of test report 609, there is also an entry point 613 for testing new equipment. The competition organizers can click on entry point 613 to test other peripherals of the competitors.

[0140] The following will continue to combine Figure 11 The process of generating the test report is explained.

[0141] In some embodiments, see Figure 11 , Figure 11 This is a schematic diagram of the third process of the device testing method provided in the embodiments of this application, as shown below. Figure 11 As shown, the process of generating the test report mainly includes the following steps: 1) Adding dependencies: This embodiment of the application can use a PDF library; 2) Initializing the document: A pw.Document() object can be created as a container for the PDF content; 3) Adding pages and building content: Pages can be added using pdf.addPage(pw.Page(build:(context){...)) and content can be built using pw.Widget (e.g., pw.Text, pw.Image, pw.Table, etc.) in the build method. Its syntax is similar to Flutter's native Widget, but the namespace is different (usually aliased as pw). All text, images, and tables need to be assembled here using pw.Widget; 4) Handling fonts: If the PDF content contains non-English fonts (such as Chinese, Japanese, Korean, etc.), external font files can be loaded; otherwise, garbled characters or blank spaces will appear. Afterwards, the font files (such as .ttf or .otf) can be placed in the project directory (such as assets / fonts / ); 5) Generating and saving: The awaitpdf.save() method can be called to generate binary data (such as Uint8List) from the document. Then, the binary data can be written to a file, or shared or printed directly using the printing library.

[0142] In summary, the technical solutions provided by the embodiments of this application have the following beneficial effects: The technical solutions provided in this application can help competition organizers quickly complete the testing of contestants' equipment (such as keyboards, mice, game controllers, etc.) and automatically generate test reports, which improves testing efficiency and ensures the standardization of testing.

[0143] The following description continues to illustrate the exemplary structure of the device detection apparatus 555 provided in the embodiments of this application as a software module. In some embodiments, such as... Figure 2 As shown, the software modules stored in the device detection device 555 in the memory 550 may include: a display module 5551.

[0144] Display module 5551 is used to display a detection entry aggregation interface, wherein the detection entry aggregation interface includes at least one detection entry corresponding to at least one device under test; display module 5551 is also used to display a first detection interface of a first device in response to a trigger operation for any detection entry, wherein the first device is a device under test corresponding to the triggered detection entry; display module 5551 is also used to display a first prompt message in the first detection interface, wherein the first prompt message is used to prompt that multiple controls included in the first device are triggered sequentially in a set order; display module 5551 is also used to display a first detection report for the first device in the first detection interface after receiving a trigger operation for multiple controls included in the first device.

[0145] In some embodiments, the display module 5551 is further configured to display a detection entry aggregation interface when a communication connection is established with at least one device to be tested, and to display at least one detection entry corresponding to each of the at least one device to be tested in the detection entry aggregation interface.

[0146] In some embodiments, when the number of at least one device under test is multiple, the display module 5551 is further configured to sequentially display multiple detection entries corresponding to the multiple devices under test in any of the following orders: the order of the time of establishing communication connection with the multiple devices under test from early to late, and the order of the usage frequency of the multiple devices under test from high to low.

[0147] In some embodiments, the detection entry aggregation interface includes multiple detection entries corresponding to multiple devices under test; the display module 5551 is further configured to display the detection entry aggregation interface when a communication connection is established with at least one device under test, and to highlight at least one detection entry among the multiple detection entries corresponding to at least one device under test in the detection entry aggregation interface.

[0148] In some embodiments, the display module 5551 is further configured to, when receiving a trigger operation for any detection entry, jump from the detection entry aggregation interface to the first detection interface of the first device, and display an information editing control in the first detection interface, wherein the information editing control is at least used to edit the identity information of the object to which the first device belongs.

[0149] In some embodiments, the display module 5551 is further configured to display the detection process for the first device in the first detection interface when a trigger operation is received for a plurality of controls included in the first device; and to display a first detection report for the first device in the first detection interface in response to the end of detection.

[0150] In some embodiments, the first detection interface displays multiple control icons that correspond one-to-one with the multiple controls included in the first device; the display module 5551 is further configured to, when any control among the multiple controls included in the first device is triggered, highlight the control icon corresponding to the triggered control in the first detection interface, and display the actual output result corresponding to the triggered control in the first detection interface.

[0151] In some embodiments, the device detection apparatus 555 further includes an acquisition module 5552 and a marking module 5553. After the display module 5551 displays the actual output result corresponding to the triggered control in the first detection interface, the acquisition module 5552 is used to acquire the standard output result corresponding to the triggered control. The marking module 5553 is used to mark the control icon corresponding to the triggered control in the first detection interface when the actual output result is inconsistent with the standard output result.

[0152] In some embodiments, the display module 5551 is further configured to display a second prompt message in the first detection interface when the actual output result is inconsistent with the standard output result, wherein the second prompt message is used to indicate that the triggered control has an abnormality; the marking module 5553 is further configured to add marking information on the control icon corresponding to the triggered control in the first detection interface in response to the marking trigger operation for the control icon corresponding to the triggered control.

[0153] In some embodiments, when the number of at least one device to be tested is multiple, the first test report includes an entry point for testing a new device. After displaying the first test report for the first device in the first test interface, the display module 5551 is further configured to display a second test interface for the second device in response to a trigger operation for the entry point for testing a new device, wherein the second device is any one of the multiple devices to be tested other than the first device; a third prompt message is displayed in the second test interface, wherein the third prompt message is used to prompt the multiple controls included in the second device to be triggered sequentially in a set order; after receiving a trigger operation for the multiple controls included in the second device, a second test report for the second device is displayed in the second test interface.

[0154] In some embodiments, the acquisition module 5552 is further configured to acquire an actual output sequence corresponding to the multiple controls when a trigger operation is received for the multiple controls included in the first device, wherein the actual output sequence is obtained by combining multiple actual output results corresponding to the multiple controls respectively; the acquisition module 5552 is further configured to acquire a pre-configured standard output sequence for the first device, wherein the standard output sequence is obtained by combining multiple standard output results corresponding to the multiple controls respectively; the device detection device 555 further includes a generation module 5554, configured to generate a first detection report for the first device based on the actual output sequence and the standard output sequence; the display module 5551 is further configured to display the first detection report in the first detection interface.

[0155] In some embodiments, the generation module 5554 is further configured to generate a first detection report indicating that the first device is normal when the actual output sequence is consistent with the standard output sequence; and to generate a first detection report indicating that the first device is abnormal when the actual output sequence is inconsistent with the standard output sequence.

[0156] In some embodiments, when the first device is a keyboard or a mouse, the acquisition module 5552 is further configured to add a hook procedure function to the hook chain corresponding to the first device; when any control among the multiple controls included in the first device is triggered, the module acquires the input message corresponding to the triggered control, and calls the hook procedure function corresponding to the hook chain according to the type of the input message, so that the hook procedure function acquires the actual output result corresponding to the triggered control; and combines the multiple actual output results corresponding to the multiple controls respectively to obtain the actual output sequence corresponding to the multiple controls.

[0157] In some embodiments, the hook procedure function includes a first hook procedure function corresponding to the keyboard and a second hook procedure function corresponding to the mouse; the acquisition module 5552 is further configured to, when the input message is a keyboard-type message, call the first hook procedure function in the hook chain so that the first hook procedure function obtains the actual output result corresponding to the triggered control; when the input message is a mouse-type message, call the second hook procedure function in the hook chain so that the second hook procedure function obtains the actual output result corresponding to the triggered control.

[0158] In some embodiments, the acquisition module 5552 is further configured to call the first hook procedure function in the hook chain to perform the following processing: when the hook processing identifier carried by the keyboard message is greater than or equal to a set value, the virtual key code corresponding to the triggered control is obtained from the low-level structure of the keyboard hook corresponding to the keyboard message.

[0159] In some embodiments, the acquisition module 5552 is further configured to call the second hook procedure function in the hook chain to perform the following processing: when the hook processing identifier carried by the mouse class message is greater than or equal to a set value, obtain the coordinate information corresponding to the triggered control from the low-level structure of the mouse hook corresponding to the mouse class message.

[0160] In some embodiments, when the first device is a gamepad or an arcade keyboard, the acquisition module 5552 is further configured to initialize a component object model library and create a top-level interface object in the component object model library; locate the first device based on the top-level interface object and create a device object corresponding to the first device; when any of the multiple controls included in the first device is triggered, obtain the actual output result corresponding to the triggered control through the device object; combine the multiple actual output results corresponding to the multiple controls respectively to obtain the actual output sequence corresponding to the multiple controls.

[0161] In some embodiments, the acquisition module 5552 is further configured to call the top-level interface object to acquire control over the first device; when any of the multiple controls included in the first device is triggered, the device object is called to read the actual output result corresponding to the triggered control into the data structure corresponding to the first device.

[0162] In some embodiments, after combining multiple actual output results corresponding to multiple controls to obtain an actual output sequence corresponding to multiple controls, the acquisition module 5552 is also used to call the top-level interface object to release control over the first device and clean up the component object model library.

[0163] In some embodiments, the display module 5551 is further configured to, after receiving a trigger operation for a plurality of controls included in the first device, display a first detection report for the first device in a floating manner on the first detection interface, wherein the first detection report includes the identity information of the object to which the first device belongs, a download control, and a close control.

[0164] In some embodiments, the first test report is in a portable file format; before the display module 5551 displays the first test report for the first device in the first test interface, the generation module 5554 is further configured to create a document container object in a portable file format; add a page to the document container object and add the content of the first test report for the first device to the page; convert the document container object with the content of the first test report added to it into binary data and write the binary data into a file in a portable file format.

[0165] It should be noted that the description of the apparatus in this application is similar to the description of the method embodiments described above, and has similar beneficial effects as the method embodiments; therefore, it will not be repeated. For any technical details not covered in the device testing apparatus provided in this application, please refer to... Figure 3 , Figure 4 ,or Figure 5 The meaning is understood in accordance with the description of any of the accompanying drawings.

[0166] This application provides a computer program product, which includes a computer program or computer-executable instructions. The processor of an electronic device reads the computer-executable instructions from a computer-readable storage medium, and executes the computer-executable instructions, causing the electronic device to perform the device detection method described in this application.

[0167] This application provides a computer-readable storage medium storing computer-executable instructions. When these computer-executable instructions are executed by a processor, they cause the processor to execute the device detection method provided in this application. For example, ... Figure 3 , Figure 4 ,or Figure 5 The equipment testing method is shown.

[0168] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.

[0169] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0170] As an example, executable instructions can be deployed to execute on a single electronic device, or on multiple electronic devices located in one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.

[0171] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. A method for testing equipment, characterized in that, The method includes: The display interface for aggregated detection entry points includes at least one detection entry point corresponding to at least one device to be detected. In response to a trigger operation for any of the detection entry points, a first detection interface of a first device is displayed, wherein the first device is the device to be detected corresponding to the triggered detection entry point; The first prompt message is displayed on the first detection interface, wherein the first prompt message is used to prompt the multiple controls included in the first device to be triggered in a set order; After receiving a trigger operation for multiple controls included in the first device, a first detection report for the first device is displayed on the first detection interface.

2. The method according to claim 1, characterized in that, The display detection entry aggregation interface includes: When a communication connection is established with at least one device to be tested, a detection entry aggregation interface is displayed, and at least one detection entry corresponding to each of the at least one device to be tested is displayed in the detection entry aggregation interface.

3. The method according to claim 2, characterized in that, When the number of the at least one device to be tested is multiple, the display of at least one detection entry corresponding to each of the at least one device to be tested includes: Multiple detection entry points corresponding to the various devices under test will be displayed in any of the following orders: the order in which the communication connection with the various devices under test is established from earliest to latest, and the order in which the usage frequency of the various devices under test is from highest to lowest.

4. The method according to claim 1, characterized in that, The detection entry aggregation interface includes multiple detection entries corresponding to various devices to be detected. The display detection entry aggregation interface includes: When a communication connection is established with at least one device to be tested, a detection entry aggregation interface is displayed, and at least one detection entry corresponding to the at least one device to be tested is highlighted in the detection entry aggregation interface.

5. The method according to claim 1, characterized in that, The response to a trigger operation for any of the detection entry points, displaying a first detection interface of the first device, includes: Upon receiving a trigger operation for any of the detection entry points, the system jumps from the detection entry point aggregation interface to the first detection interface of the first device, and displays an information editing control in the first detection interface, wherein the information editing control is at least used to edit the identity information of the object to which the first device belongs.

6. The method according to claim 1, characterized in that, The step of displaying a first detection report for the first device on the first detection interface after receiving a trigger operation for multiple controls included in the first device includes: When a trigger operation is received for multiple controls included in the first device, the detection process for the first device is displayed on the first detection interface; Upon completion of the test, a first test report for the first device is displayed on the first test interface.

7. The method according to claim 6, characterized in that, The first detection interface displays multiple control icons that correspond one-to-one with the multiple controls included in the first device; The step of displaying the detection process for the first device on the first detection interface when a trigger operation is received for multiple controls included in the first device includes: In response to the triggering of any one of the multiple controls included in the first device, the control icon corresponding to the triggered control is highlighted in the first detection interface, and the actual output result corresponding to the triggered control is displayed in the first detection interface.

8. The method according to claim 7, characterized in that, After displaying the actual output result corresponding to the triggered control in the first detection interface, the method further includes: Obtain the standard output result corresponding to the triggered control; When the actual output result is inconsistent with the standard output result, the control icon corresponding to the triggered control is marked in the first detection interface.

9. The method according to claim 8, characterized in that, When the actual output result is inconsistent with the standard output result, the control icon corresponding to the triggered control is marked in the first detection interface, including: When the actual output result is inconsistent with the standard output result, a second prompt message is displayed on the first detection interface, wherein the second prompt message is used to indicate that the triggered control has an abnormality; In response to a marking trigger operation on the control icon corresponding to the triggered control in the first detection interface, marking information is added to the control icon corresponding to the triggered control.

10. The method according to claim 1, characterized in that, When the number of the at least one device to be tested is multiple, the first test report includes an entry point for testing new devices. After displaying the first test report for the first device in the first test interface, the method further includes: In response to a trigger operation for the entry of the new detection device, a second detection interface for the second device is displayed, wherein the second device is any one of the multiple devices to be detected other than the first device; A third prompt message is displayed on the second detection interface, wherein the third prompt message is used to prompt the triggering of multiple controls included in the second device in a set order; After receiving a trigger operation for multiple controls included in the second device, a second detection report for the second device is displayed on the second detection interface.

11. The method according to claim 1, characterized in that, The step of displaying a first detection report for the first device on the first detection interface after receiving a trigger operation for multiple controls included in the first device includes: When a trigger operation is received for multiple controls included in the first device, the actual output sequence corresponding to the multiple controls is obtained, wherein the actual output sequence is obtained by combining multiple actual output results corresponding to the multiple controls respectively; Obtain a pre-configured standard output sequence for the first device, wherein the standard output sequence is obtained by combining multiple standard output results corresponding to the multiple controls respectively; Based on the actual output sequence and the standard output sequence, a first test report is generated for the first device, and the first test report is displayed in the first test interface.

12. The method according to claim 11, characterized in that, The step of generating a first test report for the first device based on the actual output sequence and the standard output sequence includes: When the actual output sequence matches the standard output sequence, a first test report is generated indicating that the first device is functioning normally. When the actual output sequence is inconsistent with the standard output sequence, a first detection report is generated indicating that the first device has an anomaly.

13. The method according to claim 11, characterized in that, When the first device is a keyboard or mouse, the step of obtaining the actual output sequence corresponding to the multiple controls when a trigger operation is received for the first device includes: Add a hook process function to the hook chain corresponding to the first device; When any one of the multiple controls included in the first device is triggered, an input message corresponding to the triggered control is obtained, and the hook procedure function corresponding to the hook chain is called according to the type of the input message, so that the hook procedure function obtains the actual output result corresponding to the triggered control; The actual output results corresponding to the multiple controls are combined to obtain the actual output sequence corresponding to the multiple controls.

14. The method according to claim 13, characterized in that, The hook procedure function includes a first hook procedure function corresponding to the keyboard and a second hook procedure function corresponding to the mouse; The step of calling the corresponding hook procedure function in the hook chain according to the type of the input message, so that the hook procedure function obtains the actual output result corresponding to the triggered control, includes: When the input message is a keyboard message, the first hook procedure function in the hook chain is called so that the first hook procedure function can obtain the actual output result corresponding to the triggered control; When the input message is a mouse-type message, the second hook procedure function in the hook chain is called so that the second hook procedure function can obtain the actual output result corresponding to the triggered control.

15. The method according to claim 14, characterized in that, The step of calling the first hook procedure function in the hook chain, so that the first hook procedure function obtains the actual output result corresponding to the triggered control, includes: The first hook procedure function in the hook chain is invoked to perform the following processing: when the hook processing identifier carried by the keyboard message is greater than or equal to a set value, the virtual key code corresponding to the triggered control is obtained from the low-level structure of the keyboard hook corresponding to the keyboard message.

16. The method according to claim 14, characterized in that, The step of calling the second hook procedure function in the hook chain, so that the second hook procedure function obtains the actual output result corresponding to the triggered control, includes: The second hook procedure function in the hook chain is called to perform the following processing: when the hook processing identifier carried by the mouse-type message is greater than or equal to a set value, the coordinate information corresponding to the triggered control is obtained from the low-level structure of the mouse hook corresponding to the mouse-type message.

17. The method according to claim 11, characterized in that, When the first device is a gamepad or arcade keyboard, the step of obtaining the actual output sequence corresponding to the multiple controls when a trigger operation is received for the multiple controls included in the first device includes: Initialize the component object model library and create a top-level interface object in the component object model library; The first device is located based on the top-level interface object, and a device object corresponding to the first device is created. When any one of the multiple controls included in the first device is triggered, the actual output result corresponding to the triggered control is obtained through the device object; The actual output results corresponding to the multiple controls are combined to obtain the actual output sequence corresponding to the multiple controls.

18. The method according to claim 17, characterized in that, When any one of the multiple controls included in the first device is triggered, obtaining the actual output result corresponding to the triggered control through the device object includes: Invoke the top-level interface object to obtain control over the first device; When any of the multiple controls included in the first device is triggered, the device object is invoked to read the actual output result corresponding to the triggered control into the data structure corresponding to the first device.

19. The method according to claim 18, characterized in that, After combining the multiple actual output results corresponding to the multiple controls to obtain the actual output sequence corresponding to the multiple controls, the method further includes: The top-level interface object is invoked to release control over the first device and to clean up the component object model library.

20. The method according to any one of claims 1 to 19, characterized in that, The step of displaying a first detection report for the first device on the first detection interface after receiving a trigger operation for multiple controls included in the first device includes: After receiving a trigger operation for multiple controls included in the first device, a first detection report for the first device is displayed floating in the first detection interface. The first detection report includes the identity information of the object to which the first device belongs, the download control, and the close control.

21. The method according to claim 20, characterized in that, The first test report is in a portable file format; Before displaying the first test report for the first device in the first test interface, the method further includes: Create a document container object with a portable file format; Add a page to the document container object, and add the content of the first detection report for the first device to the page; The document container object containing the content of the first detection report is converted into binary data, and the binary data is written into a file in a portable file format.

22. A device for testing equipment, characterized in that, The device includes: The display module is used to display the detection entry aggregation interface, wherein the detection entry aggregation interface includes at least one detection entry corresponding to at least one device to be detected; The display module is further configured to display a first detection interface of the first device in response to a trigger operation for any of the detection entry points, wherein the first device is the device to be detected corresponding to the triggered detection entry point; The display module is further configured to display a first prompt message in the first detection interface, wherein the first prompt message is configured to prompt the triggering of multiple controls included in the first device in a set order; The display module is further configured to display a first detection report for the first device on the first detection interface after receiving a trigger operation for a plurality of controls included in the first device.

23. An electronic device, characterized in that, include: Memory is used to store executable instructions for a computer; A processor, when executing computer-executable instructions stored in the memory, implements the device detection method according to any one of claims 1 to 21.

24. A computer-readable storage medium storing computer-executable instructions, characterized in that, When the computer-executable instructions are executed by the processor, they implement the device detection method according to any one of claims 1 to 21.

25. A computer program product comprising a computer program or computer-executable instructions, characterized in that, When the computer program or computer-executable instructions are executed by the processor, the device detection method according to any one of claims 1 to 21 is implemented.