Multiple Issues with Custom Keybindings and Hotkey Functionality

Hello,

I’m experiencing several issues related to custom keybindings and the general functionality of hotkeys. Below are the details:

  1. Custom Keybinding for Closing Prompt Bar:

    • I set Ctrl + B as the keybinding to close the prompt bar using the following configuration in keybindings.json:
      {
          "key": "ctrl+b",
          "command": "aipopup.action.closePromptBar",
          "when": "editorHasPromptBar && editorPromptBarFocused && editorTextFocus"
      },
      {
          "key": "escape",
          "command": "-aipopup.action.closePromptBar",
          "when": "editorHasPromptBar && editorPromptBarFocused && editorTextFocus"
      }
      
    • Although the prompt window indicates that “Ctrl+B” should close it (as shown in the attached screenshot2), pressing Ctrl + B does not have any effect. The window still only closes using Esc.
  2. Hotkey Functionality Inside Prompt Bar and AI Chat:

    • When I am inside the prompt bar or chatting with the AI, none of the standard VS Code hotkeys seem to work. For instance:
      • Ctrl + Shift + P does not bring up the Command Palette.
      • Ctrl + ` (for switching to the terminal) is also unresponsive.
    • Essentially, any hotkeys unrelated to the prompt or chat functionality become non-functional when either of these is active.
  3. Custom Hotkey for Chat Dropdown:

    • I attempted to change the aichat.showchatdropdown command from Ctrl + Alt + L to Ctrl + Alt + M. The UI reflects this change, as seen in the attached screenshot. However, pressing Ctrl + Alt + M does nothing, while the original Ctrl + Alt + L still works.
    • The keybinding used is as follows:
      {
       "key": "ctrl+alt+l",
       "command": "-aichat.showchatdropdown"
      },
      {
       "key": "ctrl+alt+m",
       "command": "aichat.showchatdropdown"
      }
      
    • This suggests that the new keybinding isn’t being recognized correctly, and the command still defaults to the old keybinding.

I’ve attached screenshots illustrating these issues for reference. It seems that there might be some conflicts or bugs preventing custom keybindings from working as expected.

I would appreciate it if you could look into these issues.

System Specifications:

  • Cursor Version: 0.39.6
  • VSCode Version: 1.91.1
  • Commit: a4f99b7dfb14460cb0bcebd9f6ac7ca158217920
  • Build Date: 2024-08-19
  • Electron Version: 29.4.0
  • Node.js Version: 20.9.0
  • V8 Version: 12.2.281.27-electron.0
  • Operating System: Windows 11 (displayed as Windows_NT x64 10.0.22631)

Please note that while I’m using Windows 11, the system displays it as “Windows_NT x64 10.0.22631” due to the way the operating system versions are reported internally.

screenshot1:

screenshot2

5 Likes

Can confirm all of the above - something is very off with how the keybindings interact with all the AI chat and composer windows. Makes it very hard for any extensions to be useful with the AI…

seems the team never though about a user may change the keybinding, feel bad

Yes working with keybindings in Cursor is extremely painful. Mostly because there is no way of knowing what the command IDs or context keys for anything are. In VSCode I am able to log the context keys and command IDs for actions I execute in the application, but this feature seems to have been removed or is broken in Cursor. Also, many of Cursor’s default keybindings use the “args” property which is not available when overriding.

They are also changing the command IDs on us. For example recently they changed aichat.newchatfollowup to composer.newchatfollowup. Just unnecessary.