Skip to content

Allow users to fully customize all keyboard shortcutsΒ #1368

@tyler-dane

Description

@tyler-dane

Priority

Critical (blocking my workflow)

Feature Description

Currently, Compass provides a rich set of keyboard shortcuts that are essential to the productivity-focused user experience. To build on this, introduce complete customization of all shortcuts throughout the app.

This feature will allow users to:

  • Remap any keyboard shortcut to their preferred keybinding
  • Create, edit, or remove shortcuts per context (Global, Now View, Day View, Calendar View)
  • Download/upload shortcut sets (for easy migration or sharing)
  • Restore defaults at any time
  • Integrate with the shortcut education popup so users can learn and customize at the same entry point
  • Handle keybinding conflicts with clear feedback

Successor to #1283: This expands on the shortcut education popup by letting users actually control (remap, add, remove) shortcuts for all supported actions and views.

Use Case

Our primary users are software engineers who demand powerful, flexible keybinding support. Custom keyboard shortcuts will:

  • Differentiate Compass from productivity apps with inflexible UIs
  • Enable users to map Compass to their muscle memory from editors like Vim, VSCode, etc.
  • Increase willingness to pay among power users
  • Enhance accessibility for users with unique needs or international keyboards.

Additional Context

Related: #1283. Consider looking at how VSCode, Notion, or Obsidian approach shortcut customization.
Related to #1378

See these for context about why shortcuts are a differentiator for us

Technical considerations:

  • Store user default and custom keybindings per account
  • Ensure updates to shortcuts are immediately reflected throughout the UI
  • Robust conflict detection and validation UI
  • API endpoints if necessary for settings import/export
  • Responsive, accessible UI for shortcut management.

Metadata

Metadata

Assignees

No one assigned

    Labels

    planningNon-code activities that help efficiency and focus

    Projects

    Status

    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions