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.

CheckGL.iNet CometSipeed NanoKVM
Checks passed17 of 1717 of 17
Absolute pointer, seven positionswithin 1 unit of 32767 (the middle reads 16383)within 1 unit (the middle reads 16384, the far corner reads 32767)
Left, right and middle clickspress then release of the right buttonthe same
Wheel step+1+1
Relative moves (10, 5), (-20, 15), (200, -130)summed exactlysummed exactly
Modifier tap and Ctrl+Shift+F12 chordright key-down and key-up eventsthe same
Anything left held afterwardsnothingnothing

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.

Raw data. The script scripts/kvm/live_input_check.py and the two result files in docs/evidence/input-check-20261016/.

Original record: read the Markdown source.