Mouse trail test

Draw ten-odd even circles in the area below and watch whether the line comes out round. The page counts how many isolated spikes the trail holds — places where the distance between two neighbouring samples suddenly jumps while both sides stay normal — and checks whether the sensor produces counts of its own while the mouse sits completely still (static drift).

Mode
Once you start, draw even circles in this area
Click “Start drawing”, then draw ten-odd even circles here
Isolated spikes
—
After you finish, click “Stop” or release and the statistics appear here
Waiting to draw
Samples
—
Analysis span
—ms
the longest continuous movement
Over-threshold gaps
—
includes runs; denominator only
Median step
—px
the typical gap between two samples
Largest step
—px

How to read these numbers

MetricWhat to look atNotes
Isolated spikesthe shape of a dropped frameIt exceeds the threshold while neither neighbour does. One large step inserted into a run of even small ones is exactly what a dropped frame looks like. The first and last steps have a neighbour on one side only and take no part in the judgement.
Over-threshold gapsa denominator, not a conclusionThe total number of gaps over the threshold, counting runs along with the rest. When you flick evenly the normal gaps go over the threshold in whole runs, so on its own it proves nothing — read it against the isolated spikes: if the two are about equal, the over-threshold gaps are mostly spikes; if there are many gaps and 0 isolated spikes, you were simply drawing fast.
Median stepsmoothnessWhen you draw at a steady speed it is roughly “how far each sample travels”. The number is neither good nor bad in itself — it depends how fast you draw and how high the mouse’s polling rate is. Its use is as a baseline, which is the threshold above: the threshold is 5 times the median step and no lower than 20 pixels. Both conditions are needed: with only the multiplier, a slow move gives a median step of a fraction of a pixel and the slightest wobble floods the screen with “dropped frames”; with only the absolute value, the normal gaps of a fast flick all go over the threshold too.
Largest stepwhether there is a sudden changeCompare it with the threshold. If the largest step is only a little above the threshold it is mostly hand tremor; if it is several times higher, that one really was abnormal.

Static drift: test it on its own, hand off the mouse

A trail test only shows whether something is wrong “while you move”. Another common sensor fault is failing to sit still: the mouse is resting on the desk untouched and the cursor creeps along by itself. That has to be tested on its own, by leaving the mouse alone.

Once you start, shake the mouse once to confirm the signal, then stop
Samples while still
—
a good mouse should show 0
Total travel
—px
the total of the back-and-forth jitter
Jitter span
—px
the distance between the two furthest points
Verdict
—

The rule is blunt: if the mouse sends no reports, no events are dispatched, so a mouse with no self-oscillation should show 0 samples when it is completely still. If samples do arrive, the sensor is moving — either self-oscillating, or disturbed by the surface (glass, reflections, dust, desk resonance).

But “0 samples” is ambiguous in itself: if the pointer is not in the browser window at all, or the mouse is not plugged in, the page receives no events either — identical in the data to “a very quiet mouse”, and the opposite conclusion. So the flow adds one step: you shake the mouse once first, to confirm the page really receives a signal (those samples are then discarded and not counted), and only then wait for you to stop. Only after that does “0” really mean still. If no signal ever arrives, the page says “no signal” outright rather than judging it still for you.

One thing to be clear about: a hand on the mouse does not count. A heartbeat, breathing, even the desk being knocked, all move the mouse through your hand — and what you measure is your hand, not the mouse. So either take your hand right off, or rest one finger on it lightly without pressing.

What a trail test cannot tell you

Common questions

Is a “jump” just a dropped frame?

No — a jump the page catches has two possible causes, and the browser cannot tell them apart. One is that the sensor skipped a few counts, which really is a dropped frame; the other is that your hand really did flick fast, and that far apart is exactly how far two samples should be. Both look the same in the data: “the distance between two neighbouring samples is unusually large”, and no field can separate them. So this page says “jump”, never “dropped frame”.

So how do I tell which one it is?

Look at the shape, not the total. A dropped frame is “one isolated large gap inserted into a run of even small ones”, like a spike; a fast flick makes a whole run of gaps grow together, a single broad bump. That is exactly how the page works: the headline figure counts only “isolated spikes” (a sample over the threshold with neither neighbour over it), leaving the runs out. So the right way to use it is to draw a dozen-odd even circles — if isolated spikes keep appearing, that is a dropped frame; if there are many over-threshold gaps and 0 isolated spikes, you were drawing fast.

Why does the still-drift test ask me to take my hand off the mouse?

Because what it measures is “does the sensor produce counts of its own when the mouse is completely still”. With your hand on the mouse, the tiny movement from your heartbeat and breathing gets counted — and that is not the sensor, that is your hand moving. So either take your hand right off, or rest one finger on it lightly without pressing.

Why does the trail fade away on its own?

That is a deliberate fade, not the drawing being lost. At a high polling rate a mouse produces thousands of points a second, and after a dozen-odd seconds the whole area would be a smear of black that hides the shape of the trail. The fade keeps the most recent trail clearest, and the data used for analysis stays in the buffer, unaffected.

Mouse repair

QR codeWeChat
淘宝店铺二维码淘宝店铺

Mouse acting up? Get in touch.

Repair