Mouse Button Test

Click, scroll, and move inside the test area to see every button and wheel event — and catch a switch that skips a press or double-fires on its own.

Latest event
Button
Buttons held
Position
Wheel
Interval
Held for
Pointer

Click, right-click, middle-click, press the side buttons, and scroll anywhere inside this panel. The pointer position updates as you move.

This tool is built for a mouse or trackpad. Taps still register here as touch events, but button and wheel checks need a real mouse.

Click or scroll in the test area to begin

Mouse input is read only by this page to show event details and the on-page log. Nothing is stored or uploaded — clearing the log or leaving the page erases it.

FAQ

My mouse double-clicks when I press once — can this confirm it?

Yes. Press the suspect button in single, deliberate clicks: each press should log exactly one Down and one Up. An extra press landing inside the flag window (40 ms by default) is marked as a double-fire and counted — press after press, that pattern means a worn switch, not software. A healthy button almost never fires twice that fast by hand, so only widen the window if you click unusually fast on purpose.

Why don’t my side buttons register?

Many browsers claim the Back and Forward buttons for history navigation, and some grab them before the page can see the press — this test area suppresses that where the browser allows it, but not everywhere. Firefox on Linux may not report side buttons at all. If they never register here but work in other apps, the browser intercepted them; that is not a broken mouse.

Why doesn’t the right-click menu open in the test area?

The area suppresses the context menu so right clicks can be counted like any other button; outside the area the menu works as usual. Two exceptions the page cannot override: in Firefox, Shift + right-click always opens the menu and is not counted, and on a Mac, Ctrl + click registers as a right click by design.

Why does the same scroll show different delta numbers in another browser?

Scroll amounts arrive in pixels, lines, or pages depending on the browser and platform, and the readout labels which unit each event used. A pixel value is always much larger than a line value for the same notch. Compare scroll direction and step counts between browsers, not the raw delta numbers.

Diagnosing Hardware Issues with the Mouse Button Test

Mechanical mouse switches rely on physical metal contacts to register presses. Over time, these contacts wear down, lose their tension, or accumulate microscopic debris. This physical degradation leads to contact bouncing, also known as switch chattering, where a single physical press registers as multiple rapid electrical signals. The Mouse Button Test provides a dedicated environment to capture, log, and analyze these hardware events in real time.

By interacting with the designated test area, you can verify whether every button and scroll wheel action registers correctly. The tool helps diagnose hardware issues, such as a worn switch that skips presses entirely or double-fires on its own. As you click, scroll, or move your pointer, the page displays real-time event details, button codes, coordinates, wheel direction, and click timing in an on-page log.

All mouse input is read locally by the web page to display event details and update the on-page log. No data is stored or uploaded to external servers. Clearing the log or leaving the page permanently erases all recorded event data.

How the Test Area Captures Input

The test area is designed to intercept and log hardware events that are normally claimed by the operating system or browser. To allow comprehensive testing, specific rules and overrides are applied within this boundary:

  • Context Menu Suppression: The standard right-click context menu is suppressed inside the test area so right clicks can be counted normally. Outside the test area, the menu behaves as usual.
  • Side Button Interception: The tool attempts to suppress default browser navigation shortcuts, such as Back and Forward, inside the test area. However, some browsers or operating systems, such as Firefox on Linux, may intercept these presses entirely, preventing them from registering on the page.
  • Right-Click Exceptions: In Firefox, pressing Shift + right-click always opens the browser's context menu and is not counted by the tool. On macOS, Ctrl + click registers as a right click by design.
  • Touch Input: Taps on touchscreens register as touch events, but button and wheel checks require a physical mouse or trackpad.

Switch Chattering and Double-Fire Detection

When a mouse switch suffers from contact bouncing, it sends multiple signals in a fraction of a millisecond. Humans cannot physically click a button twice within this timeframe. The tool utilizes a customizable time window, set to 40 ms by default, to flag rapid consecutive presses of the same button.

Two consecutive presses of the same button that occur closer together than the configured threshold are flagged as a double-fire and counted. A healthy button rarely fires this quickly by hand. If the interval between two presses falls below this threshold, the event is marked with the Double-fired badge in the event log and incremented in the statistics panel.

The table below outlines how different hardware states and user actions register during testing:

Physical Action Expected Event Sequence Double-Fire Status
Clean Single Click One Down event followed by one Up event Not flagged
Deliberate Double Click Two Down and Up sequences spaced > 40 ms apart Not flagged
Chattering Switch Press Multiple Down and Up sequences spaced < 40 ms apart Flagged as Double-fired
Missed Click (Worn Contact) No events registered in the log Not flagged

Understanding Scroll Wheel Deltas and Pointer APIs

Scroll wheels do not send uniform distance measurements to a computer. Instead, the operating system and the browser translate physical wheel notches into scroll delta values. These values are reported in pixels, lines, or pages depending on the browser and platform.

Because of these differences, you should compare scroll direction and step counts rather than raw delta numbers when switching browsers. For example, scrolling one notch might return a delta of 3 lines in one browser but 100 pixels in another.

The tool also tracks pointer event APIs to differentiate between input types. The log details show the specific pointer type, which registers as mouse, pen, or touch. This helps web developers and software testers verify how different platforms handle input device translation.

Interpreting the Event Log and Statistics

As you interact with the test area, the tool updates several panels to provide a complete diagnostic breakdown:

  • Latest event: A readout section showing the details of the most recent mouse action.
  • Status Indicators: Displays Click or scroll in the test area to begin or Listening for mouse input depending on activity.
  • Visual Legend: Highlights buttons as Held, Tested, or Double-fired.
  • Statistics Panel: Tracks cumulative metrics including Buttons tested, Total presses, Double-fires, and Wheel steps.
  • Double-fire check Table: Displays the Button name, total Presses, and the Min gap recorded between consecutive presses.
  • Event Log Table: A chronological history containing the Time, Event type (Down, Up, Double-click, or Wheel), Button identity (Left, Right, Middle, Back, Forward, Wheel, or Button {number} for unknown buttons), and specific Details.

The Details column exposes the underlying properties of each event, including the active Button code, the list of Buttons held (or None), the pointer Position coordinates, the Wheel direction, the timing Interval between events, the duration the button was Held for, and the Pointer type. If no events have occurred, the log displays the state: No mouse events yet — click or scroll in the test area..

Frequently Asked Questions

My mouse double-clicks when I press once — can this confirm it?

Yes. Press the suspect button in single, deliberate clicks: each press should log exactly one Down and one Up. An extra press landing inside the flag window (40 ms by default) is marked as a double-fire and counted. Press after press, that pattern means a worn switch, not software. A healthy button almost never fires twice that fast by hand, so only widen the window if you click unusually fast on purpose.

Why don’t my side buttons register?

Many browsers claim the Back and Forward buttons for history navigation, and some grab them before the page can see the press. This test area suppresses that where the browser allows it, but not everywhere. Firefox on Linux may not report side buttons at all. If they never register here but work in other apps, the browser intercepted them; that is not a broken mouse.

Why doesn’t the right-click menu open in the test area?

The area suppresses the context menu so right clicks can be counted like any other button; outside the area the menu works as usual. Two exceptions the page cannot override: in Firefox, Shift + right-click always opens the menu and is not counted, and on a Mac, Ctrl + click registers as a right click by design.

Why does the same scroll show different delta numbers in another browser?

Scroll amounts arrive in pixels, lines, or pages depending on the browser and platform, and the readout labels which unit each event used. A pixel value is always much larger than a line value for the same notch. Compare scroll direction and step counts between browsers, not the raw delta numbers.