DevicesAll results

TestStockMediusResult
Native data reaching the PCWooting 60HE+An interface sends nothingNot clonedMedius
Interval the PC polls atFour mice with a 10 ms intervalIncluding a two-mouse device and a mouse with two configurations1 msNative intervalMediusStock defect
HID driver on the PC768-2,047 bytesDoesn't loadLoadsMediusStock defect
Reply the PC getsHID class descriptorSTALLNative replyMediusStock defect

PassthroughAll results

TestStockMediusResult
Mouse reports reaching the PC1 kHz mouseAll, once, in orderAll, once, in orderEqual
Report latency, p501 kHz mouse1.43-1.44 ms1.02-1.04 msMedius
Report latency, p50125 Hz mouseStock's clone declares 1 ms, the mouse 8 ms (see Poll interval)1.32-1.37 ms4.50-4.52 msStockStock defect
Reports read from a 1 kHz mouse in about 15.5 sInjecting 1,000 moves/s7,133-7,20115,540-15,584MediusStock defect
What reaches the real deviceSwitch to configuration 2, then backClone reconnects insteadPassed onMediusStock defect
What reaches the PCA STALL on its interrupt endpointReaches the PCReaches the PCEqual

Injected motionAll results

TestStockMediusResult
Default move latency, p50Still mouse, 1 count64.1 ms0.969-1.010 msMedius
Immediate move latency, p50Moving 125 Hz mouse, 1 count4.25-4.34 ms4.68-5.02 msStockStock defect
Default moves with their first count within 0.5 sMoving 125 Hz mouse, 1 count400/400400/400Equal
Reports carrying only injected motionMoving 1 kHz mouse2,617-2,6480Medius
Counts arriving within 1 s from three 10-count movesNo native report yet0/3030/30MediusStock defect

Buttons, keys and locksAll results

TestStockMediusResult
Native press after the injectionNative left held, box injects a left releaseStill heldStill heldEqual
Native input reaching the PCX locked, box injecting Y at 1 kHzNoneNoneEqual

RecoveryAll results

TestStockMediusResult
Left button 3 s after the program exitsPressed, then the port closedStill heldReleasedMediusStock defect
Replug timesUnplug to clone gone0.19 s0.45 sStock
First move after the clone is backPort off 3 s, then onSometimes held >1 sArrives at onceMediusStock defect
Real device while the PC sleepsMouseSuspendedSuspendedEqual

FeaturesAll results

TestStockMediusResult
Absolute move on a virtual screenMoveskm.movetoNoStock
Drive the pad state the PC getsPad commandskm.controller_stateNoStock
Scale motion, 0-255%Motion scalingNoLOCKMedius
Control transfer to the real deviceDevice commandsNoTRANSFERMedius

SoftwareAll results

TestStockMediusResult
KMBox Net programsProgram supportMove, wheel, three buttons and keys onlyToolkit Forwarding modeNoStock
Downloads of each box's packagesPyPI, last 30 daysmakcu, pymakcu and makxd against medius3,8541,106Stock
MembersDiscord28,413600Stock
Previous build kept as a fallbackUpdatesNoBootloader rollbackMedius

Defects

BoxDefectSection
StockReport descriptors >512 bytes aren't served, so the PC's HID driver doesn't load for that interface.Large report descriptors
StockThe PC's request for the HID class descriptor gets a STALL instead of the native reply.Endpoint 0 replies
StockWhile injecting, even at 10 moves/s, stock reads a 1 kHz mouse whose speed varies only ~430-500 times/s.Reads while injecting
StockA move or click sent to a new clone is lost until the real device sends its first report (0/3 tries arrived within 1 s).Move into a new clone
StockAfter the PC turns the clone's port off and on, the first injected move waits for the next native report: >1 s in 6/10 tries with a mouse reporting every 2 s.PC restart
StockIf a program closes the port while holding a button, the button stays held until another program releases it or the box restarts.Program exit
StockDefault moves at 1,000/s into a moving 1 kHz mouse lose counts: 10/15,000 and 13/15,000 in two runs.Counts arriving
StockWhen the PC switches the clone's configuration, stock reconnects the clone instead of relaying the switch to the real device (3/3 tries).PC to real device
StockNeither an injected move nor the real device's remote wakeup wakes a sleeping PC.PC sleep
StockMouse clones declare a 1 ms poll interval even when the mouse declares 2-10 ms (a 125 Hz mouse's clone is polled at 1 kHz). Stock's lower latency below 1 kHz comes from this.Poll interval
MediusNone found