Unexpected Ctrl-D keystroke on Alt+Left #4451

Closed
opened 2026-01-30 23:48:02 +00:00 by claunia · 4 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:02 +00:00
Author
Owner

@DHowett-MSFT commented on GitHub (Oct 14, 2019):

Hey, thanks! This is a /dupe of #3101

@DHowett-MSFT commented on GitHub (Oct 14, 2019): Hey, thanks! This is a /dupe of #3101
Author
Owner

@ghost commented on GitHub (Oct 14, 2019):

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!

@ghost commented on GitHub (Oct 14, 2019): 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

@davy-tw commented on GitHub (Oct 15, 2019):

@DHowett-MSFT oh, my fault

@davy-tw commented on GitHub (Oct 15, 2019): @DHowett-MSFT oh, my fault
Author
Owner

@DHowett-MSFT commented on GitHub (Oct 15, 2019):

Nah, some of our issues are pretty hard to discover. 😄

@DHowett-MSFT commented on GitHub (Oct 15, 2019): Nah, some of our issues are pretty hard to discover. :smile:
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#4451