Architecture
The clone copies the mouse's USB identity.
| Part | Role |
|---|---|
| Host chip | Reads the mouse on USB3. Sets the mouse's four relative axes: how much injected motion they carry, and when it is emitted. |
| Device chip | Presents the clone to the PC and merges the host chip's axes into each report it emits. |
| Link | Host chip to device chip: each report and the motion riding with it. Device chip to host chip: the PC's requests for the mouse. |
real mouse game PC
| ^
| USB3 | USB1
v |
+-----------+ +-----------+
| host chip | ---- link ---> |device chip|
+-----------+ +-----------+
^
| USB2 (CH343 serial)
|
control PCThree connections:
| Port | Connects to |
|---|---|
USB3 | Real mouse. |
USB1 | PC receiving the mouse. |
USB2 | Program driving the box, over a CH343 serial link. |
The program sends movement, button, and scroll commands in the binary protocol.
PC output Real mouse plus injected input
The PC enumerates the same model of mouse, with the same buttons and capabilities. Injected input adds to native input (Injection model).
| Program | Box |
|---|---|
| Sends input | Layers injected motion, scroll, and button state onto native input. |
| Goes quiet | Returns to passthrough per the safety rule. |
Two computers Separate control PC
The program on USB2 runs on a different computer from the PC on USB1.
Port wiring, and the one pairing to avoid, on Hardware.