Mouser: Open-source alternative to Logitech Options+ for MX Master 3S

What Mouser does
Mouser is a lightweight, open-source alternative to Logitech Options+ for remapping every programmable button on the Logitech MX Master 3S mouse. It runs fully locally with no telemetry, no cloud services, and no Logitech account required.
Key features
- macOS support — full compatibility using CGEventTap for mouse hooking, Quartz CGEvent for key simulation, and NSWorkspace for app detection
- Remaps all 6 programmable buttons — middle click, gesture button, back, forward, horizontal scroll left/right
- Per-application profiles — automatically switches button mappings when you switch apps (e.g., different bindings for Chrome vs. VS Code)
- 22 built-in actions across navigation, browser, editing, and media categories
- DPI/pointer speed control — slider from 200–8000 DPI with quick presets, synced to the device via HID++
- Scroll direction inversion — independent toggles for vertical and horizontal scroll
- Gesture button support — full HID++ 2.0 divert on Bluetooth (no Logitech software needed)
- Battery monitor — reads battery level via HID++ on connect and refreshes every 5 minutes; displayed as a colour-coded badge (green above 70%, yellow 20–69%, red below 20%)
- Auto-reconnection — automatically detects when the mouse is turned off/on or disconnected/reconnected
- Live connection status — UI shows real-time "Connected" / "Not Connected" badge
- Modern Qt Quick UI — dark Material theme with interactive mouse diagram and per-button action picker
- System tray — runs in background, hides to tray on close
- Auto-detect foreground app — polls the active window and switches profiles instantly
- Zero external services — config is a local JSON file, all processing happens on your machine
Supported device
Device: Logitech MX Master 3S
Product ID: 0xB034
Protocol: HID++ 4.5 (Bluetooth)
Connection: Bluetooth (USB receiver also works for basic buttons)
The architecture is designed to be extensible to other Logitech HID++ mice, but only the MX Master 3S is tested.
Default mappings
- Back button: Alt + Tab (Switch Windows)
- Forward button: Alt + Tab (Switch Windows)
- Middle click: Pass-through
- Gesture button: Pass-through
- Horizontal scroll left: Browser Back
- Horizontal scroll right: Browser Forward
Available actions
- Navigation: Alt+Tab, Alt+Shift+Tab, Show Desktop (Win+D), Task View (Win+Tab)
- Browser: Back, Forward, Close Tab (Ctrl+W), New Tab (Ctrl+T)
- Editing: Copy, Paste, Cut, Undo, Select All, Save, Find
- Media: Volume Up, Volume Down, Volume Mute, Play/Pause, Next Track, Previous Track
- Other: Do Nothing (pass-through)
Download and run
No install required. Just download, extract, and double-click.
- Download Mouser.zip (45 MB)
- Extract the zip to any folder (Desktop, Documents, wherever you like)
- Run Mouser.exe
The app will open and start remapping your mouse buttons immediately. The settings window opens showing your mouse diagram, and a system tray icon appears near the clock. Button remapping is active immediately. Closing the window doesn't quit the app — it keeps running in the tray. To fully quit: right-click the tray icon → Quit Mouser.
First-time notes
- Windows SmartScreen may show a warning the first time → click More info → Run anyway
- Logitech Options+ must not be running (it conflicts with HID++ access)
- Config is saved automatically to %APPDATA%\Mouser
Installation from source
Prerequisites:
- Windows 10/11 or macOS 12+ (Monterey)
- Python 3.10+ (tested with 3.14)
- Logitech MX Master 3S paired via Bluetooth or USB receiver
📖 Read the full source: HN LLM Tools
👀 See Also

MoltPoker.xyz: Play-money Texas Hold'em for AI Agents
MoltPoker.xyz is a platform where AI agents can play No-Limit Texas Hold'em against each other using WebSocket connections, with replayable hands and visible agent reasoning during live games.

Claude Hindsight: Observability Tool for Claude Code Sessions
Claude Hindsight is an open-source observability layer for Claude Code that captures tool calls, tokens, and errors into an explorable dashboard. The creator used it to refactor an open-source project in a single 11-hour session with 733 tool calls and 692.8M cache tokens.

OpenClaw Multi-Agent Workflow Issues: Stalling, Context Loss, and Token Inefficiency
A developer reports OpenClaw multi-agent workflows frequently stall with agents hanging, experience context leakage despite custom documentation, and consume excessive tokens with no output. The setup used Gemini 3 Pro/Codex models with a COO orchestrator and specialized task agents.

Roost: A Single-Go-Binary Sidebar for Claude Code with Clickable Prompt History, File Tree, and Notifications
Roost is a single Go binary that adds a web-based sidebar to Claude Code: xterm.js terminal backed by tmux, file tree that follows your cd, clickable prompt history from ~/.claude/projects/*.jsonl, and push notifications via Claude Code's Stop hook. Run over SSH as single-user-per-instance; no build step on the frontend.