Button and key latency

Injected left button and 'a' key, timed on the PC's USB bus from the command to the clone's report. The mouse was still, moving every millisecond, or moving while the box also injected a move every millisecond.

Left button latency, p50

Stock km.leftMedius INJECT

Load and edgeStockkm.leftMediusINJECTResult
Mouse still, press0.723 ms0.803 msStock
Mouse still, release0.867 ms0.725 msMedius
Mouse moving, press8.56 ms1.39 msMedius
Mouse moving, release8.59 ms1.31 msMedius
Mouse moving, box injecting, press8.63 ms1.02 msMedius
Mouse moving, box injecting, release8.68 ms0.867 msMedius
Key latency, p50

Stock km.downMedius INJECT

Load and edgeStockkm.downMediusINJECTResult
Mouse still, down1.24 ms0.862 msMedius
Mouse still, up1.23 ms0.867 msMedius
Mouse moving, down1.26 ms0.974 msMedius
Mouse moving, up1.3 ms0.978 msMedius
Mouse moving, box injecting, down1.67 ms0.972 msMedius
Mouse moving, box injecting, up1.86 ms0.783 msMedius

Native and injected presses

A native key or button held while each box injected another key, or injected a release or click of that same button.

Native press after the injection
CaseStockMediusResult
Native Q held, box injects AStill heldStill heldEqual
Native left held, box injects a left releaseStill heldStill heldEqual
Native left held, box injects a left clickStill heldStill heldEqual

Locks

Each box held a lock for 10 s against native motion and clicks. On the PC's USB bus, a lock is timed from the command to the last native input through, an unlock to the first one back.

Native input reaching the PC
LockStockMediusResult
X locked, box idleNoneNoneEqual
X locked, box injecting Y at 1 kHzNoneNoneEqual
X locked, box injecting Y at 125 HzNoneNoneEqual
X locked, box injecting -1 X at 1 kHzNoneNoneEqual
Left button locked, box idleNoneNoneEqual
Left button locked, box injecting Y at 1 kHzNoneNoneEqual
Injected press reaching the PC
LockStockMediusResult
Left button lockedArrivesArrivesEqual
Lock on X taking effect, p50

Stock km.lock_mxMedius LOCK

LockStockkm.lock_mxMediusLOCKResult
Native X motion every millisecond3.33-5.62 ms0.333-0.471 msMedius
Lock on X lifting, p50

Stock km.lock_mxMedius LOCK

LockStockkm.lock_mxMediusLOCKResult
Native X motion every millisecond4.33-6.41 ms1.20-1.29 msMedius
Native input still reaching the PC after the lock, p50
LockStockMediusResult
Y, moving every millisecond6.45 ms0.336 msMedius
Positive Y only, moving +1 and -15.9 ms0.363 msMedius
Wheel, every 10 ms0 ms0 msEqual
Right button, 50 ms clicksMedius lets a press already under way finish before the lock blocks the button. The PC never gets a release the real device didn't report0 ms99.3 msStock
Key 'a', 50 ms taps0 ms0 msEqual
Right button, heldMedius lets a press already under way finish before the lock blocks the button. The PC never gets a release the real device didn't report7.38 ms99.4 msStock
Key 'a', held1.01 ms0 msMedius
Native input back after the unlock, p50
LockStockMediusResult
Y, moving every millisecond7.21 ms1.51 msMedius
Positive Y only, moving +1 and -17.61 ms1.5 msMedius
Wheel, every 10 ms2.89 ms8.02 msStock
Right button, 50 ms clicks14.9 ms0.729 msMedius
Key 'a', 50 ms taps37.1 ms0.818 msMedius
Right button, held8.78 ms0.586 msMedius
Key 'a', held1.96 ms1.32 msMedius
Injected counts arriving while a lock is held

Stock km.moveMedius MOVE

Lock and injectionStockkm.moveMediusMOVEResult
X locked, Y injected at 1 kHz9,999/10,00010,000/10,000Medius
X locked, Y injected at 125 Hz1,242/1,2501,250/1,250Medius
X locked, -1 X injected at 1 kHz9,994/10,00010,000/10,000Medius
Left button locked, Y injected at 1 kHz9,989/10,00010,000/10,000Medius

Clicks and typing timed by the box

Ten 50 ms clicks and a 30-character string timed by the box (stock's km.click and km.string, a Medius clip), against the same clicks timed by the PC. Read off the PC's USB bus, five runs each.

Shortest 50 ms click hold

Stock km.clickMedius CLIP

Timed byStockkm.clickMediusCLIP
The box50 ms49.7-50.0 ms
The PC50 ms49.9-50.0 ms
Longest 50 ms click hold

Stock km.clickMedius CLIP

Timed byStockkm.clickMediusCLIP
The box50.0-50.1 ms50.0-50.1 ms
The PC50.0-50.1 ms50.0-50.1 ms
30 characters the box typed

Stock km.stringMedius CLIP

StringStockkm.stringMediusCLIPResult
the quick brown fox 0123456789, 5 runsExactExactEqual
Time to type 30 characters

Stock km.stringMedius CLIP

StringStockkm.stringMediusCLIP
First key down to last key up2,813-2,982 ms57.9-59.0 ms
30 characters sent by the PC as key presses back to back

Stock km.down, km.upMedius INJECT

StringStockkm.down, km.upMediusINJECTResult
the quick brown fox 0123456789Characters lostExactMedius