-
Notifications
You must be signed in to change notification settings - Fork 12k
Description
Create a system for allowing user to customize their keybindings.
To preserve the technical context from the investigation in #14425, here are the key requirements and architectural constraints identified for this refactor:
1. Shift from Wildcard to Explicit Matching
The current system uses wildcard matching (e.g., binding ctrl+f also captures ctrl+shift+f). To support reliable user overrides, we must refactor to an explicit matching system where modifiers must match exactly unless explicitly ignored.
2. VS Code Schema Alignment
For interoperability, the new configuration schema should align with VS Code's Keyboard Rules. This will make it intuitive for developers to port their existing mental models/configs.
3. Modifier Key Constraints
Allow mac users to use alt+letter combos (which macOS usually turns into a special character).
4. Context-Aware UI Hints
The UI (ToolMessage, ShellToolMessage, etc.) will need to be updated to dynamically display the active/preferred keybinding based on the user's custom config and detected OS.