Skip to content

pablopunk/mousetrap

Repository files navigation

Mousetrap

Get it? It kills the mouse.

icon

Touch your screen. But not really. explain

mousetrap.mp4

Install

brew install pablopunk/brew/mousetrap

Or grab the latest release from the releases page.

Features

  • ⚡ Native, lightweight, fast. Lives in your menu bar.
  • 💅 Custom keyboard shortcuts.
  • 🌐 Real keys, read from your current keyboard layout.
  • 🎯 Three-step nested grid for fast, precise targeting.
  • ✨ Multi-key chord targeting: press adjacent keys like zx or aszx to aim between cells or at shared corners.
  • 🖱️ Free mouse mode. Use your arrow keys to move the cursor, click, double-click, right-click, and drag with as much precision as you want.
  • 👀 Optional pulse reveal mode to fade the grid and better see what's underneath.
  • 👨‍💻 Free and open source.

Usage

  • Use your keyboard shortcut to trigger the fullscreen grid.
  • The grid follows your real keyboard layout.
  • There are 3 nested grids to quickly narrow down the target.
  • Press a key to focus that cell and continue refining.
  • You can also press adjacent keys together, like zx or aszx, to target the midpoint or corner between cells.
  • Chords work on every grid level: on earlier grids they recenter the next refinement, and on the final grid they click that exact point.
  • At any point you can hit any arrow key to move the mouse freely, hit Enter to click, hit Enter twice to double-click, use Shift+Enter to right-click, or use Shift+arrow keys to drag.

Development

make build
make run

Releases

One-time setup: store notarization credentials in your keychain:

  1. Generate an app-specific password at appleid.apple.com (Sign-In and Security → App-Specific Passwords)
  2. Run:
xcrun notarytool store-credentials "Mousetrap" --apple-id YOUR_APPLE_ID --team-id YOUR_TEAM_ID

It will prompt you for the app-specific password.

Then release from main with a single command:

make release VERSION=0.1.0

Acknowledgements

Other apps I've used that haven't worked for me, but have definitely pushed me to create this app:

  • Mouseless. Probably my favorite one, I was subscribed for a few months. Issues: not free, not open source. I'm happy to pay but it just adds friction for new setups. Also the config was quite complex. I did achieve a good enough workflow with it but I've never liked it as much as I like Mousetrap now.
  • NoMouse. How on earth is it not possible to edit the default shortcut? Especially it being something so popular, for example, on code editors. Not to mention neither of the other settings can be customized. I still want to mention that it's a very nice app if you don't care about those.
  • Shortcat. Lovely idea! I was really excited to use it, and I did for a while. But it does not match as many items on screen as I would like it to and found myself still using the mouse a ton.
  • Superkey. Just like Shortcat, but paid and closed source.