Program exit

A program pressed the left button through each box, then closed the port without releasing it.

Left button 3 s after the program exits

Stock km.leftMedius INJECT

CaseStockkm.leftMediusINJECTResult
Pressed, then the port closedStill heldReleasedMediusStock defect

Replug

The real device was unplugged and plugged back in, 10 times a run, two runs.

Replug times
IntervalStockMediusResult
Unplug to clone gone0.19 s0.45 sStock
Replug to clone back0.86 s0.86-0.87 sEqual
Replug to first report0.92-0.93 s0.92-0.93 sEqual

PC restart

The PC turned the clone's port off for 3 s (as a restart does) or unconfigured the clone for 3 s, then sent a move once the clone was back.

Time until the clone is back, min to max
PC actionStockMediusResult
Port off 3 s, then on0.601-0.693 s0.591-0.669 sEqual
Unconfigured 3 s, then configured0.086-0.136 s0.092-0.106 sEqual
First move after the clone is back

Stock km.move_nowMedius MOVE(NOW)

PC actionStockkm.move_nowMediusMOVE(NOW)Result
Port off 3 s, then onSometimes held >1 sArrives at onceMediusStock defect
Unconfigured 3 s, then configuredArrives at onceArrives at onceEqual
First move after the clone is back, device reporting every 8 ms, min to max

Stock km.move_nowMedius MOVE(NOW)

PC actionStockkm.move_nowMediusMOVE(NOW)Result
Port off 3 s, then on2.22-6.37 ms1.08-1.66 msMedius
Unconfigured 3 s, then configured3.44-8.12 ms0.74-1.52 msMedius

PC sleep

The PC put each clone to sleep 3 times.

Real device while the PC sleeps
DeviceStockMediusResult
MouseSuspendedSuspendedEqual
PC while asleep
CaseStockMediusResult
Nothing sent for 2 sAsleepAsleepEqual
Waking the sleeping PC
WakeupStockMediusResult
Injected movePC stays asleepWakes the PCMedius
The real device's remote wakeupPC stays asleepWakes the PCMediusStock defect