Unexpected Ctrl-D keystroke on Alt+Left #4448

Open
opened 2026-01-30 23:48:00 +00:00 by claunia · 0 comments
Owner

Originally created by @davy-tw on GitHub (Oct 14, 2019).

Environment

Windows build number: 10.0.18363.418
Windows Terminal version (if applicable): 0.5.2762.0

Steps to reproduce

In WSL session, press Alt+Left and release Left key then Alt key.

Expected behavior

This should not input Ctrl+D

Actual behavior

The terminal will execute Alt+Left keystroke and unexpected Ctrl+D keystroke (when releasing Alt key).

More info

I'm using tmux in my WSL session and bind Alt+Left to switch tmux window.
I found this problem when I'm switching windows, my windows get switched and also get Ctrl-D keystroke (and this closes my session...).
And I tried to input Alt+Left without tmux but with a keystroke recorder, that it shows I inputed Ctrl-D after Alt-Left (\e[1;3D\cD).

Keybinding part of my profiles.json:

"keybindings": [
        // Unbound all keybindings
        { "command": "unbound", "keys": ["ctrl+shift+w"] },
        { "command": "unbound", "keys": ["alt+f4"] },
        { "command": "unbound", "keys": ["ctrl+shift+c"] },
        { "command": "unbound", "keys": ["ctrl+shift+d"] },
        { "command": "unbound", "keys": ["ctrl+shift+t"] },
        { "command": "unbound", "keys": ["ctrl+shift+1"] },
        { "command": "unbound", "keys": ["ctrl+shift+2"] },
        { "command": "unbound", "keys": ["ctrl+shift+3"] },
        { "command": "unbound", "keys": ["ctrl+shift+4"] },
        { "command": "unbound", "keys": ["ctrl+shift+5"] },
        { "command": "unbound", "keys": ["ctrl+shift+6"] },
        { "command": "unbound", "keys": ["ctrl+shift+7"] },
        { "command": "unbound", "keys": ["ctrl+shift+8"] },
        { "command": "unbound", "keys": ["ctrl+shift+9"] },
        { "command": "unbound", "keys": ["ctrl+tab"] },
        { "command": "unbound", "keys": ["ctrl+shift+space"] },
        { "command": "unbound", "keys": ["ctrl+,"] },
        { "command": "unbound", "keys": ["ctrl+shift+v"] },
        { "command": "unbound", "keys": ["ctrl+shift+tab"] },
        { "command": "unbound", "keys": ["ctrl+shift+down"] },
        { "command": "unbound", "keys": ["ctrl+shift+pgdn"] },
        { "command": "unbound", "keys": ["ctrl+shift+up"] },
        { "command": "unbound", "keys": ["ctrl+shift+pgup"] },
        { "command": "unbound", "keys": ["ctrl+alt+1"] },
        { "command": "unbound", "keys": ["ctrl+alt+2"] },
        { "command": "unbound", "keys": ["ctrl+alt+3"] },
        { "command": "unbound", "keys": ["ctrl+alt+4"] },
        { "command": "unbound", "keys": ["ctrl+alt+5"] },
        { "command": "unbound", "keys": ["ctrl+alt+6"] },
        { "command": "unbound", "keys": ["ctrl+alt+7"] },
        { "command": "unbound", "keys": ["ctrl+alt+8"] },
        { "command": "unbound", "keys": ["ctrl+alt+9"] },
        { "command": "unbound", "keys": ["alt+left"] },
        // Customization here
        { "command": "closePane", "keys": ["ctrl+shift+w"] },
        { "command": "newTab", "keys": ["ctrl+shift+t"] },
        { "command": "paste", "keys": ["ctrl+shift+v"] },
        { "command": "openNewTabDropdown", "keys": ["ctrl+shift+space"] },
        { "command": "nextTab", "keys": ["ctrl+tab"] },
        { "command": "nextTab", "keys": ["ctrl+alt+right"] },
        { "command": "prevTab", "keys": ["ctrl+shift+tab"] },
        { "command": "prevTab", "keys": ["ctrl+alt+left"] },
        { "command": "switchToTab0", "keys": ["ctrl+alt+1"] },
        { "command": "switchToTab1", "keys": ["ctrl+alt+2"] },
        { "command": "switchToTab2", "keys": ["ctrl+alt+3"] },
        { "command": "switchToTab3", "keys": ["ctrl+alt+4"] },
        { "command": "switchToTab4", "keys": ["ctrl+alt+5"] },
        { "command": "switchToTab5", "keys": ["ctrl+alt+6"] },
        { "command": "switchToTab6", "keys": ["ctrl+alt+7"] },
        { "command": "switchToTab7", "keys": ["ctrl+alt+8"] },
        { "command": "switchToTab8", "keys": ["ctrl+alt+9"] }
    ]
Originally created by @davy-tw on GitHub (Oct 14, 2019). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 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! --> <!-- This bug tracker is monitored by Windows Terminal development team and other technical folks. **Important: When reporting BSODs or security issues, DO NOT attach memory dumps, logs, or traces to Github issues**. Instead, send dumps/traces to secure@microsoft.com, referencing this GitHub issue. If this is an application crash, please also provide a Feedback Hub submission link so we can find your diagnostic data on the backend. Use the category "Apps > Windows Terminal (Preview)" and choose "Share My Feedback" after submission to get the link. Please use this form and describe your issue, concisely but precisely, with as much detail as possible. --> # Environment Windows build number: 10.0.18363.418 Windows Terminal version (if applicable): 0.5.2762.0 # Steps to reproduce <!-- A description of how to trigger this bug. --> In WSL session, press `Alt+Left` and release `Left` key then `Alt` key. # Expected behavior This should not input `Ctrl+D` # Actual behavior The terminal will execute `Alt+Left` keystroke and unexpected `Ctrl+D` keystroke (when releasing `Alt` key). # More info I'm using tmux in my WSL session and bind `Alt+Left` to switch tmux window. I found this problem when I'm switching windows, my windows get switched and also get `Ctrl-D` keystroke (and this closes my session...). And I tried to input `Alt+Left` without tmux but with a keystroke recorder, that it shows I inputed `Ctrl-D` after `Alt-Left` (`\e[1;3D\cD`). Keybinding part of my profiles.json: ```json "keybindings": [ // Unbound all keybindings { "command": "unbound", "keys": ["ctrl+shift+w"] }, { "command": "unbound", "keys": ["alt+f4"] }, { "command": "unbound", "keys": ["ctrl+shift+c"] }, { "command": "unbound", "keys": ["ctrl+shift+d"] }, { "command": "unbound", "keys": ["ctrl+shift+t"] }, { "command": "unbound", "keys": ["ctrl+shift+1"] }, { "command": "unbound", "keys": ["ctrl+shift+2"] }, { "command": "unbound", "keys": ["ctrl+shift+3"] }, { "command": "unbound", "keys": ["ctrl+shift+4"] }, { "command": "unbound", "keys": ["ctrl+shift+5"] }, { "command": "unbound", "keys": ["ctrl+shift+6"] }, { "command": "unbound", "keys": ["ctrl+shift+7"] }, { "command": "unbound", "keys": ["ctrl+shift+8"] }, { "command": "unbound", "keys": ["ctrl+shift+9"] }, { "command": "unbound", "keys": ["ctrl+tab"] }, { "command": "unbound", "keys": ["ctrl+shift+space"] }, { "command": "unbound", "keys": ["ctrl+,"] }, { "command": "unbound", "keys": ["ctrl+shift+v"] }, { "command": "unbound", "keys": ["ctrl+shift+tab"] }, { "command": "unbound", "keys": ["ctrl+shift+down"] }, { "command": "unbound", "keys": ["ctrl+shift+pgdn"] }, { "command": "unbound", "keys": ["ctrl+shift+up"] }, { "command": "unbound", "keys": ["ctrl+shift+pgup"] }, { "command": "unbound", "keys": ["ctrl+alt+1"] }, { "command": "unbound", "keys": ["ctrl+alt+2"] }, { "command": "unbound", "keys": ["ctrl+alt+3"] }, { "command": "unbound", "keys": ["ctrl+alt+4"] }, { "command": "unbound", "keys": ["ctrl+alt+5"] }, { "command": "unbound", "keys": ["ctrl+alt+6"] }, { "command": "unbound", "keys": ["ctrl+alt+7"] }, { "command": "unbound", "keys": ["ctrl+alt+8"] }, { "command": "unbound", "keys": ["ctrl+alt+9"] }, { "command": "unbound", "keys": ["alt+left"] }, // Customization here { "command": "closePane", "keys": ["ctrl+shift+w"] }, { "command": "newTab", "keys": ["ctrl+shift+t"] }, { "command": "paste", "keys": ["ctrl+shift+v"] }, { "command": "openNewTabDropdown", "keys": ["ctrl+shift+space"] }, { "command": "nextTab", "keys": ["ctrl+tab"] }, { "command": "nextTab", "keys": ["ctrl+alt+right"] }, { "command": "prevTab", "keys": ["ctrl+shift+tab"] }, { "command": "prevTab", "keys": ["ctrl+alt+left"] }, { "command": "switchToTab0", "keys": ["ctrl+alt+1"] }, { "command": "switchToTab1", "keys": ["ctrl+alt+2"] }, { "command": "switchToTab2", "keys": ["ctrl+alt+3"] }, { "command": "switchToTab3", "keys": ["ctrl+alt+4"] }, { "command": "switchToTab4", "keys": ["ctrl+alt+5"] }, { "command": "switchToTab5", "keys": ["ctrl+alt+6"] }, { "command": "switchToTab6", "keys": ["ctrl+alt+7"] }, { "command": "switchToTab7", "keys": ["ctrl+alt+8"] }, { "command": "switchToTab8", "keys": ["ctrl+alt+9"] } ] ```
claunia added the Resolution-Duplicate label 2026-01-30 23:48:00 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#4448