Unbind all default shortcuts #19800

Closed
opened 2026-01-31 06:53:57 +00:00 by claunia · 4 comments
Owner

Originally created by @KMPrg on GitHub (May 3, 2023).

Description of the new feature/enhancement

Provides settings for unbinding all default shortcuts at once

Windows terminal is good software,
but it has too many keyboard shortcuts by default,
when using an editor like VIM, there are a lot of shortcut key conflicts,
want to give the user custom keyboard options, so there will not be a lot of inexplicable keyboard shortcuts conflict.

Proposed technical implementation details (optional)

In setting. JSON file, provide a set of all the default keyboard shortcuts can be disabled at one time,
so that users can easily customize the keyboard shortcuts, the need to manually configure their own keyboard shortcuts,
avoid confusing keyboard shortcuts

Originally created by @KMPrg on GitHub (May 3, 2023). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> # Description of the new feature/enhancement Provides settings for unbinding all default shortcuts at once <!-- A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable). --> Windows terminal is good software, but it has too many keyboard shortcuts by default, when using an editor like VIM, there are a lot of shortcut key conflicts, want to give the user custom keyboard options, so there will not be a lot of inexplicable keyboard shortcuts conflict. # Proposed technical implementation details (optional) <!-- A clear and concise description of what you want to happen. --> In setting. JSON file, provide a set of all the default keyboard shortcuts can be disabled at one time, so that users can easily customize the keyboard shortcuts, the need to manually configure their own keyboard shortcuts, avoid confusing keyboard shortcuts
claunia added the Issue-FeatureResolution-Duplicate labels 2026-01-31 06:53:57 +00:00
Author
Owner

@zadjii-msft commented on GitHub (May 3, 2023):

I think our plan has been to add support for "keymaps". This would follow the work for #6899. Then, keymaps would contain objects which bind keys to various actions. The user could then just specify keymap: "foo" to replace all their keybindings with the ones in foo, no layering involved. Adding keys to actions directly would just update the "default" keymap, which is used when no keymap is specified. Unbinding everything would be something like "keymap": null

I think for tracking purposes, it's best to just merge this with that thread. Thanks!

/dup #2205

@zadjii-msft commented on GitHub (May 3, 2023): I think our plan has been to add support for "keymaps". This would follow the work for #6899. Then, `keymaps` would contain objects which bind keys to various actions. The user could then just specify `keymap: "foo"` to replace _all_ their `keybindings` with the ones in `foo`, no layering involved. Adding keys to actions directly would just update the "default" keymap, which is used when no `keymap` is specified. Unbinding everything would be something like `"keymap": null` I think for tracking purposes, it's best to just merge this with that thread. Thanks! /dup #2205
Author
Owner

@microsoft-github-policy-service[bot] commented on GitHub (May 3, 2023):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@microsoft-github-policy-service[bot] commented on GitHub (May 3, 2023): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Author
Owner

@KMPrg commented on GitHub (May 9, 2023):

@zadjii-msft @microsoft-github-policy-service
Thank you very much for your answers. I carefully read the issue you provided and #3483 .
I think I may have misunderstood, the main problem does not seem to be the keybindings, but something more complex.

For example, the behavior of ctrl+., even if I use unbund or null to unbind in .json, it will still play the role of moving the cursor to the next line in vim or Emacs. I am sure I have not set this shortcut key, and If you don't use vim or Emacs in the Windows terminal, you don't have these weird default keybindings.

These shortcut keys that cannot be unbound cause shortcut key conflicts when using vim and emacs editors. And there doesn't seem to be any viable solution.

@KMPrg commented on GitHub (May 9, 2023): @zadjii-msft @microsoft-github-policy-service Thank you very much for your answers. I carefully read the issue you provided and #3483 . I think I may have misunderstood, the main problem does not seem to be the keybindings, but something more complex. For example, the behavior of ctrl+., even if I use unbund or null to unbind in .json, it will still play the role of moving the cursor to the next line in vim or Emacs. I am sure I have not set this shortcut key, and If you don't use vim or Emacs in the Windows terminal, you don't have these weird default keybindings. These shortcut keys that cannot be unbound cause shortcut key conflicts when using vim and emacs editors. And there doesn't seem to be any viable solution.
Author
Owner

@hvesalai commented on GitHub (Nov 16, 2023):

Having the same problem. Just installed Ubuntu-22 and I use emacs.

I would need to have a way to remove all WIndows Terminal bindings so that emacs would receive the keycodes. I don't need much from Windows Terminal, so I'm happy not having any bindings for it. For me it is important that all keycodes go through.

@hvesalai commented on GitHub (Nov 16, 2023): Having the same problem. Just installed Ubuntu-22 and I use emacs. I would need to have a way to remove all WIndows Terminal bindings so that emacs would receive the keycodes. I don't need much from Windows Terminal, so I'm happy not having any bindings for it. For me it is important that all keycodes go through.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#19800