Ever wondered how to be faster on your Mac? What if you had two physical mice, each with its own pointer?
DoubleMouse is an open-source macOS menu bar app for two pointing devices: two physical mice, or your MacBook's built-in trackpad plus one external mouse. Both pointers move simultaneously, and each can click, scroll, and drag. It is also handy in classrooms and support sessions, where teacher and student can each keep a hand on the computer without negotiating custody of the cursor.
The app requires two pointing devices: two physical mice, or the built-in MacBook trackpad plus one external mouse. The downloadable build supports Apple Silicon and Intel Macs running macOS 13 or later.
- Open the DMG and drag DoubleMouse to Applications.
- Launch DoubleMouse and grant Accessibility permission when macOS asks.
- If the blue pointer does not react, also enable DoubleMouse under System Settings > Privacy & Security > Input Monitoring.
- Use
Set Blue Pointer From Next Movementfrom the menu bar when you need to assign a different device.
Version 1.1.1 is ad-hoc signed but not notarized. macOS may require you to approve the first launch under System Settings > Privacy & Security.
- Truly simultaneous movement of the normal macOS cursor and the blue pointer.
- Independent clicks for both physical devices.
- Scroll-wheel support at the blue pointer location.
- Drag-and-drop with either pointer.
- External USB and Bluetooth mouse support.
- MacBook trackpad plus external mouse support when macOS exposes both HID devices.
- Compact menu bar device selection.
- No analytics, accounts, network access, or kernel extension.
DoubleMouse opens HID devices independently and takes exclusive user-space ownership of the selected blue-pointer device. macOS continues to own the normal cursor, while DoubleMouse draws the blue pointer and emits its actions at the correct screen coordinates.
The implementation uses public AppKit, IOKit, Accessibility, and CoreGraphics APIs. It does not install a driver or system extension.
- macOS still has one global mouse-button state, so two simultaneous drag operations are not supported.
- Some games, remote desktops, canvases, or custom controls may reject synthetic pointer events.
- The selected blue device is not persisted between launches yet.
- The public DMG is not notarized until a Developer ID certificate is available.
swift run DoubleMouseWhen running from Terminal, macOS assigns the relevant privacy permissions to Terminal. The packaged app requests them as DoubleMouse.
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer scripts/package-release.sh 1.1.1The script uses only native macOS tools and writes the DMG plus SHA-256 checksum to dist/.
Issues and pull requests are welcome. Include your macOS version, Mac model, pointing-device models, connection types, and whether the problem affects movement, clicks, scroll, or dragging.
MIT. See LICENSE.
