Mouse Signal Lab

Browser-level mouse / trackball button diagnostics. Designed for phantom clicks, duplicate downs, missing releases, and buttons that become stuck as soon as a USB device is connected.
LOCAL-ONLY LOGGING NO INSTALL ANY STANDARD MOUSE
MANUAL TEST
00:00.000
Events
0
Anomalies
0
Active
0
Focus gaps
0
Possible stuck button:
Controlsv1.0
While armed, mouse-driven controls are locked so a phantom click cannot erase evidence. Use Esc to stop and F9 to insert a “USB connected” marker.
For Nape Pro: keep the tab focused, arm the watch, then connect USB without touching the trackball/buttons. If M1/M2 are remapped, temporarily restore them to normal Left/Right for the cleanest evidence.
USB hot-plug protocolmacOS / Windows / Linux
  1. Keep this tab focused and the pointer somewhere inside the page.
  2. Press F8 or click Arm hands-off watch. Do not touch any pointing device after it arms.
  3. Unplug/replug the mouse or trackball by USB. Press F9 on the computer keyboard immediately after insertion to timestamp it.
  4. Leave the device untouched. Any mouse-button down while armed is flagged as anomalous.
  5. If a button remains down, the live hold timer continues even without movement. Press Esc to stop, then export JSON/CSV.
Capture model
The page observes what the OS/browser reports. It does not open WebHID/WebUSB, does not identify which physical mouse generated an event, and cannot see electrical bounce filtered below the HID/browser layer. Cursor coordinates are intentionally not recorded.
State reconciliation uses the browser MouseEvent.buttons bitmask. This can detect a held state observed after the original mousedown was missed, for example after a focus transition.
Event log
#ElapsedEventButton / keyOS stateSeverityNote
No events yet. Click a mouse button, or arm the hands-off watch.
Privacy: all diagnostics are kept in this tab's memory and exported locally through your browser. The deployed page has no analytics, API calls, cookies, or server-side log endpoint. Refreshing the tab clears the session.