Troubleshooting
Common issues and their solutions.
Mappings Not Working
Symptoms: Button presses are detected but actions don’t execute.
Solutions:
Check action compatibility: Some actions only work in specific modules
Verify module context: Context-sensitive bindings may override defaults
Check Slicer console: Look for error messages prefixed with
[MouseMaster]Test with simple action: Try mapping to “Undo” which works universally
Presets Not Saving
Symptoms: Changes don’t persist after restarting Slicer.
Solutions:
Check write permissions: Ensure you can write to Slicer settings:
Windows:
%LOCALAPPDATA%/NA-MIC/macOS:
~/Library/Application Support/NA-MIC/Linux:
~/.config/NA-MIC/
Try explicit export: Use “Export Preset…” to save to a specific file
Check disk space: Ensure sufficient free space
Check for corruption: Delete the user presets directory and restart
Context Bindings Not Working
Symptoms: Module-specific bindings don’t activate.
Solutions:
Verify context is enabled: Check “Enable context-sensitive bindings”
Check module name: Context IDs must match exactly (case-sensitive)
Test in target module: Ensure you’re in the correct module when testing
Check for typos: Inspect the preset JSON for context name errors
Platform-Specific Issues
Windows
Run as Administrator (temporarily): Some applications block button events
Disable gaming overlays: Discord, Steam, etc. may intercept buttons
Check device drivers: Update mouse drivers from manufacturer
macOS
Grant accessibility access: System Preferences > Security & Privacy > Privacy > Accessibility > Add Slicer
Check Gatekeeper: Allow Slicer in Security & Privacy if blocked
Linux
X11 vs Wayland: MouseMaster works best with X11. On Wayland, try running Slicer with XWayland:
GDK_BACKEND=x11 ./Slicer
Check evdev permissions: Ensure
/dev/input/devices are readableVerify Qt button codes: Button codes may differ between desktop environments
Crashes
Symptoms: Slicer crashes when using MouseMaster.
Solutions:
Disable MouseMaster: Restart Slicer without enabling the module
Check Slicer logs: Look in the Slicer application directory for crash logs
Update Slicer: Ensure you’re using the latest stable release
Reset settings: Delete MouseMaster settings directory:
# Find and remove MouseMaster settings rm -rf ~/.config/NA-MIC/*/MouseMaster/ # Linux rm -rf ~/Library/Application\ Support/NA-MIC/*/MouseMaster/ # macOS
Report the issue: File a bug report with:
Slicer version
OS and version
Steps to reproduce
Error messages from console
Getting Help
If you can’t resolve your issue:
Check existing issues: GitHub Issues
Search the Slicer forum: Slicer Discourse
Open a new issue with:
Slicer version (Help > About)
Operating system and version
Mouse model
Steps to reproduce
Screenshots if applicable
Error messages from Python console (View > Python Console)
Debugging Tips
Enable verbose logging:
In Slicer Python console:
import logging
logging.getLogger("MouseMaster").setLevel(logging.DEBUG)
Check event filter status:
# Verify event handler is installed
from MouseMasterLib import EventHandler
print(EventHandler.is_installed())
Test action directly:
# Execute an action without button press
from MouseMasterLib import ActionRegistry
registry = ActionRegistry.get_instance()
registry.execute("edit_undo")