How Optical Mouse Sensors Work (And Why Moving Patterns Fool Them)
There is a camera in your mouse. It takes several thousand photographs per second of the few square millimetres of desk beneath it. Once you know that, everything else about optical mice - including why a moving pattern on a phone screen works - follows naturally.
Inside the sensor
An optical mouse contains four components working together:
- A light source. An LED, usually red, or in "laser" mice an infrared laser diode. It illuminates the surface at a shallow angle, which exaggerates the shadows of the surface texture.
- A lens that focuses the illuminated patch onto the sensor.
- An image sensor. A very small, very fast monochrome camera - historically something like 18×18 or 30×30 pixels. Tiny, but it does not need resolution; it needs speed.
- A digital signal processor that compares consecutive images and computes movement.
The whole assembly fits under a coin, and in a modern gaming mouse it runs at 12,000 frames per second or more.
The algorithm
The processor performs what image processing calls block matching, and it does it thousands of times a second:
- Capture a frame of the surface below the mouse.
- Capture the next frame, a fraction of a millisecond later.
- Search for the region of frame two that best matches a distinctive region of frame one.
- Measure how far that region shifted, in pixels, and in which direction.
- Convert that displacement into a movement report and send it over USB.
That is the entire principle. The sensor never knows where it is in absolute terms; it only ever knows how much the picture changed since a moment ago. Movement is inferred, frame by frame, from image displacement.
Why this makes the jiggler trick work
Look carefully at step three. The sensor is not asking "did I move?" It is asking "did the image shift?" - and it has no way to distinguish between the two, because from its point of view they are the same event.
If the mouse slides across a stationary desk, the image shifts. If the mouse stays still while the surface beneath it moves, the image shifts by exactly the same amount. The sensor reports movement in both cases, and it is not being fooled in any meaningful sense - relative motion between the sensor and the surface genuinely occurred.
A browser-based mouse jiggler displays a moving grid on a phone. Rest an optical mouse on it and the sensor sees a high-contrast pattern sliding underneath. It reports movement, the USB stack delivers it as an ordinary mouse event, and the operating system's idle timer resets - because a real mouse really did report real movement. No API is being called, no driver is being patched, nothing is being simulated.
Why surfaces matter
Block matching needs a distinctive image to match. This explains every "my mouse does not work on this surface" complaint you have ever had:
| Surface | Result | Why |
|---|---|---|
| Wood, fabric, paper, mouse mat | Excellent | Plenty of random texture to match against |
| Phone screen with a moving pattern | Good | Strong artificial contrast, constantly displaced |
| Plain glass | Poor or none | Transparent, with nothing at the focal plane to photograph |
| Mirror or high-gloss surface | Erratic | Reflects the illuminator instead of showing texture |
| Uniform white or black | Poor | Every region looks identical, so no match is distinctive |
| Repeating fine pattern | Erratic jumps | Multiple equally good matches; the processor picks wrong |
That last row is worth knowing when using a screen-based jiggler. A grid is a repeating pattern, and a sensor can occasionally lock onto the wrong intersection, producing a small jump. It makes no practical difference here - any movement resets the idle timer - but it is why the cursor sometimes hops rather than gliding.
LED versus laser
"Laser mice" use an infrared laser diode instead of an LED. The advantage is coherent light, which reveals much finer surface detail and lets the sensor track on smoother materials, including some glossy surfaces where an LED mouse gives up.
The disadvantage is that the extra sensitivity can pick up detail beneath a transparent layer. On a glass screen protector, a laser sensor may focus past the surface and track inconsistently, while a cheaper LED mouse works fine. If your jiggler setup is unreliable with a high-end mouse but works with an old one, this is usually why.
DPI, polling rate and jitter
Two specifications appear on every mouse box, and both relate directly to the above:
DPI (or CPI) is how many movement counts the sensor reports per inch travelled. Higher DPI means the same physical movement produces more counts, so the cursor travels further. It is a sensitivity setting, not a quality measure.
Polling rate is how often the mouse reports to the computer over USB - typically 125 Hz, rising to 1000 Hz or higher on gaming mice. This is separate from the sensor's internal frame rate, which is usually much faster.
Related: at very high DPI, tiny vibrations from your desk become visible as cursor jitter, because the sensor is faithfully reporting sub-millimetre movements. Modern sensors filter for this. Ironically, jitter is itself enough to keep an idle timer alive - which is why a mouse sitting on an unstable surface sometimes prevents a machine from ever sleeping.
Lift-off distance
One more specification that matters for jiggler setups: lift-off distance is the height at which the sensor stops reporting movement. It is typically 1-3 mm and is deliberately kept small so that repositioning the mouse does not drag the cursor.
This is exactly why a phone case with a raised lip breaks the setup. If the case holds the mouse two millimetres above the glass, you may be at or beyond the lift-off distance, and the sensor reports nothing at all. Removing the case fixes it instantly - a small detail with a completely disproportionate effect.
Summary
An optical mouse is a fast, tiny camera plus a matching algorithm. It measures relative displacement between itself and whatever is beneath it, with no concept of which one moved. Give it contrast, keep it within a millimetre or two of the surface, and it will report movement - whether that surface is your desk or a grid animating on a phone screen.