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.

Left
Primary
0
Middle
Wheel click
0
Right
Secondary
0
Side 4
Back
0
Side 5
Forward
0
Presses
—
all buttons combined
Held now
—
cleared on release
Double-click gap
—ms
between two clicks of the same button
Hold
—s
how long this hold has lasted
Notches
—
wheel, an estimate
Faults
—
nothing measured yet to judge from

How to read the results

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:

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.

Mouse repair

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

Mouse acting up? Get in touch.

Repair