Terminal: dead-key shortcut no longer fires when terminal is focused (regression in 1.132.0)
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
The accent character is inserted into the shell instead. The same keybinding still works when an editor has focus.
**Does this issue occur when all extensions are disabled?:** Yes
- VS Code Version: 1.132.0 (Universal) and later. Last working version: 1.131.0 (Each version was tested from a clean download against the same user profile, so this is not caused by settings or keybindings.)
- OS Version: macOS 15.7.9.
### Version bisect
| Version | Result |
| --- | --- |
| 1.131.0 | works |
| 1.132.0 | broken |
| 1.133.0 | broken |
| 1.134.0 | broken |
Steps to Reproduce:
1. Use a keyboard layout with dead keys (I use a swedish keyboard), where `´` is a dead key.
2. Open the integrated terminal and focus it.
3. Press the Create Terminal keybinding (cmd+shift+´).
Expected: a new terminal opens.
Actual: a backtick is written into the shell. The keybinding never fires.
The same keybinding works correctly when an editor has focus. Only the terminal is affected.
### Keyboard Shortcuts Troubleshooting output
```
[KeybindingService]: / Soft dispatching keyboard event
[KeybindingService]: \ Keyboard event is part of an IME composition
[KeybindingService]: + Ignoring single modifier shift due to it being pressed together with other keys.
```
Soft dispatch returns early on the composition check, so the keybinding is never resolved and the character falls through to the shell. On macOS a dead key is surfaced as an IME composition, which is why this only affects dead-key layouts.
- `terminal.integrated.commandsToSkipShell` and `terminal.integrated.sendKeybindingsToShell` have no effect, since the resolver never runs.
- No user-facing setting works around this.
Possibly related: #282752 (dead-key shortcuts broken on Linux since 1.107.0).
Contributor guide
Assessment
This issue has not been assessed yet.