Keys and mouse checked against the target's own kernel, two KVMs
Claim. Keys and mouse sent through the GL.iNet Comet and through the Sipeed NanoKVM arrive at the target as sent. Both passed all 17 checks of the same script, judged by the target's own kernel input events and not by the KVM.
Method. scripts/kvm/live_input_check.py sends input through a driver and, at the same time, reads the target's kernel input events over ssh with a short Python program that installs nothing. The Comet was plugged into a Mini PC (Ubuntu, text console). The NanoKVM was plugged into a Raspberry Pi 5 (Ubuntu, text console). The script sends seven pointer positions, three button clicks, one wheel step, three relative moves, a modifier tap and a three-key chord. It never types text and never presses Enter.
Sample size. 17 checks per device, one run each.
Result.
| Check | GL.iNet Comet | Sipeed NanoKVM |
|---|---|---|
| Checks passed | 17 of 17 | 17 of 17 |
| Absolute pointer, seven positions | within 1 unit of 32767 (the middle reads 16383) | within 1 unit (the middle reads 16384, the far corner reads 32767) |
| Left, right and middle clicks | press then release of the right button | the same |
| Wheel step | +1 | +1 |
| Relative moves (10, 5), (-20, 15), (200, -130) | summed exactly | summed exactly |
| Modifier tap and Ctrl+Shift+F12 chord | right key-down and key-up events | the same |
| Anything left held afterwards | nothing | nothing |
Two things the first runs found and the driver fixed: the Comet driver had no wheel or relative moves (relative mode is switched on for the move and the absolute mouse put back afterwards), and the test chord first used F13, a key the Comet's interface does not have.
Limits.
- One unit of each device and one target each, both at a text console. This does not say where a cursor lands on a graphical screen; the earlier graphical result is in mouse accuracy.
- No BIOS run, no repeat runs, and no typed text through the kernel check.
- The 17 checks are the script's own list, not a standard.
Raw data. The script scripts/kvm/live_input_check.py and the two result files in docs/evidence/input-check-20261016/.