Mouse button / wheel / hold / double-click test
Press any button on the mouse diagram below and its part lights up live; roll the wheel and it lights up and shows the direction. Which button you pressed, how long you held it, the gap in milliseconds between two clicks of the same button, how many notches the wheel turned — all four are on this page, and the readings are coarse enough to answer "does this button respond at all". It also flags faults in passing: when a button chatters or the wheel looks like it skipped, the matching part turns from green to red, and the "Faults" cell in the readout says which one it was.
How to read the results
- A button does not light up when pressed — the switch or its ribbon cable may already be damaged. Press it a few more times to rule out a one-off.
- It only responds to a hard press — the classic sign of a tired switch spring, usually a precursor to failure.
- A button’s count turns red — two clicks of the same button landed closer together than a human hand can manage, which means the switch is chattering (double-clicking). If it goes red without you clicking twice, that switch has started to wear out. This stays until you reset, and it shows on the diagram too: the next time you press that button its part is red, not green.
- One button pressed, several parts lit — crosstalk or a sticking switch. Be careful to tell it apart from a chord you pressed yourself: pressing left and right together lights both parts, and that is normal. The test is to lift your fingers one at a time and watch whether each part goes out with its own finger.
- Only one direction lights up on the wheel, or the notch count looks wrong — the direction is reliable; the notch count is an estimate, because how many pixels a notch is differs between browsers and devices and only an empirical value can be used. For the raw numbers, use the "Wheel" page.
- The "Faults" cell in the readout has a value — this page worked it out itself, and the small print says which one. It judges only two things, using exactly the same implementation as the detail pages:
- Suspected chatter: two clicks of the same button less than 90ms apart. A human hand cannot mechanically go that fast, so the gap is almost certainly the switch chattering.
- Suspected skipped notch: rolling steadily one way, a single notch flips the other way and immediately back. A real change of direction is a run of the opposite way, and does not count.
For the detail, go to these three pages
This page is a summary: all four give only a coarse figure. To read each one properly, every measurement has its own page:
- Hold & drag test — hold a button down and drag a distance, and it judges whether the signal cut out part-way (a suspected dropout). That needs a full drag to show its shape, which this page cannot give.
- Double-click test — it records and classifies every gap, and reports the median. This page keeps only the last two.
- Wheel test — the direction strip, raw delta, a per-event notch estimate, and the "backward glitch" verdict.
Chorded buttons
Pressing several buttons at once is supported: hold the left button and press the right, and the two parts light up independently, each going out as you release it. That is useful for telling whether a switch is stuck — a genuinely stuck switch is "you are not pressing it, and it is lit anyway".
One implementation wrinkle worth explaining: the pointer events spec says only the first button pressed fires pointerdown; pressing a second button does not dispatch that event again, and instead updates a button bitmask through pointermove. Likewise pointerup fires once, when the last button is released. Button state therefore has to be derived by diffing the bitmask, not from the button number on pointerdown / pointerup — written that way, chords are essentially untestable.
Notes
The middle button starts autoscroll by default, the right button opens a menu, the side buttons trigger back/forward, and rolling the wheel scrolls the page — all of which this page blocks (except on the page’s own links and buttons, where right-click "Open in new tab" is a normal operation), so you can press your way through them without worry. Touch devices have none of these physical buttons; please use a computer.
One thing this page cannot block: Edge’s built-in "mouse gestures" reads holding the right button and dragging as drawing a gesture — it draws a blue line on screen as you go, and once the shape is complete the browser performs the action outright (go back, close a tab) and the whole page jumps away. This is not something a web page can turn off, and Microsoft has confirmed there is no in-page switch for it. It is on by default in Edge in China, so to use the right-button row, first go to edge://settings/mouseGesture and turn it off, or add this site to the block list under "Configure mouse gestures".
One more thing to state plainly: the side-button row showing a dash, or not lighting up, only means "the page received nothing" — it does not mean "pressed 0 times". On some mice the side buttons are not reported as mouse buttons at all: the vendor driver sends them as keyboard events or a macro, and the browser receives no mouse event. A web page cannot tell in that case; only the driver software can map them back to ordinary buttons.
