microsoft / microsoft/terminal
Send different key codes for `Tab` and `Ctrl+I` (READ: support `modifyOtherKeys`)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 105k
- Forks
- 9.6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 29
Description
# Description of the new feature/enhancement
When using ms-terminal, `Tab` and `Ctrl+I` send the same key codes. This makes it impossible to map them differently, for example in vim or nvim (which support this functionality: https://github.com/neovim/neovim/pull/17932#issue-1188088238).
If ms-terminal sent different key codes (like for example kitty or alacritty terminal), then it would be possible to map these keys to different functionalities in software running inside the terminal. This would enhance user experience and make it easier to migrate from the aforementioned terminals.
# Proposed technical implementation details (optional)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the terminal's keyboard-input handling and the modifyOtherKeys behavior described in the issue. Compare how kitty and alacritty encode Tab versus Ctrl+I, then verify that ms-terminal emits distinct codes and that vim or neovim can map them independently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, vim
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100