Powershell: Ctrl-Alt-? does not work in Windows Terminal #4293

Closed
opened 2026-01-30 23:43:10 +00:00 by claunia · 6 comments
Owner

Originally created by @baget on GitHub (Oct 5, 2019).

Originally assigned to: @zadjii-msft on GitHub.

Environment

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

Powershell version:
PSVersion                      5.1.18362.145                                                                           
PSEdition                      Desktop                                                                                  PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}       
BuildVersion                   10.0.18362.145                                                                       
CLRVersion                     4.0.30319.42000                                                                          
WSManStackVersion              3.0                                                                                      
PSRemotingProtocolVersion      2.3                                                                                      
SerializationVersion           1.1.0.1              

Steps to reproduce

  • Open Powershell tab
  • Press Ctrl-Alt-? (Ctrl-Alt-Shift-/)

Expected behavior

it should display Powershell existing key binding
Basic editing functions

=======================
Enter            AcceptLine         Accept the input or move to the next line if input is missing a closing token.
Shift+Enter      AddLine            Move the cursor to the next line without attempting to execute the input
Backspace        BackwardDeleteChar Delete the character before the cursor
Ctrl+h           BackwardDeleteChar Delete the character before the cursor
Ctrl+Home        BackwardDeleteLine Delete text from the cursor to the start of the line
Ctrl+Backspace   BackwardKillWord   Move the text from the start of the current or previous word to the cursor to th...
Ctrl+C           Copy               Copy selected region to the system clipboard.  If no region is selected, copy th...
Ctrl+c           CopyOrCancelLine   Either copy selected text to the clipboard, or if no text is selected, cancel ed...
Ctrl+x           Cut                Delete selected region placing deleted text in the system clipboard

Actual behavior

it displays weird characters:
^_

Originally created by @baget on GitHub (Oct 5, 2019). Originally assigned to: @zadjii-msft on GitHub. <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 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 ```none Windows build number: 10.0.18362.388 Windows Terminal version (if applicable): 0.5.2762.0 Powershell version: PSVersion 5.1.18362.145 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.18362.145 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 ``` # Steps to reproduce - Open Powershell tab - Press Ctrl-Alt-? (Ctrl-Alt-Shift-/) # Expected behavior it should display Powershell existing key binding Basic editing functions ``` ======================= Enter AcceptLine Accept the input or move to the next line if input is missing a closing token. Shift+Enter AddLine Move the cursor to the next line without attempting to execute the input Backspace BackwardDeleteChar Delete the character before the cursor Ctrl+h BackwardDeleteChar Delete the character before the cursor Ctrl+Home BackwardDeleteLine Delete text from the cursor to the start of the line Ctrl+Backspace BackwardKillWord Move the text from the start of the current or previous word to the cursor to th... Ctrl+C Copy Copy selected region to the system clipboard. If no region is selected, copy th... Ctrl+c CopyOrCancelLine Either copy selected text to the clipboard, or if no text is selected, cancel ed... Ctrl+x Cut Delete selected region placing deleted text in the system clipboard ``` # Actual behavior it displays weird characters: `^_ `
Author
Owner

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

Interesting. We transmit Ctrl+Alt+Shift+/ the same way we transmit Ctrl+/. That's not right.

@DHowett-MSFT commented on GitHub (Oct 8, 2019): Interesting. We transmit <kbd>Ctrl+Alt+Shift+/</kbd> the same way we transmit <kbd>Ctrl+/</kbd>. That's not right.
Author
Owner

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

That is: for both of them, we send , U+001F UNIT SEPARATOR. Just as a note, though, for all keyboardable characters the Ctrl+Shift and Ctrl chords produce the same values (by design).

@DHowett-MSFT commented on GitHub (Oct 8, 2019): That is: for both of them, we send `␟`, `U+001F UNIT SEPARATOR`. Just as a note, though, for all keyboardable characters the <kbd>Ctrl+Shift</kbd> and <kbd>Ctrl</kbd> chords produce the same values (by design).
Author
Owner

@PawelK0 commented on GitHub (Oct 25, 2019):

Just as a note, though, for all keyboardable characters the Ctrl+Shift and Ctrl chords produce the same values (by design).

What is the reason behind this? Probably that's why the Far manager is unusable in Windows Terminal: ctrl+1,..., ctrl+0 seems to not work properly.

@PawelK0 commented on GitHub (Oct 25, 2019): Just as a note, though, for all keyboardable characters the Ctrl+Shift and Ctrl chords produce the same values (by design). What is the reason behind this? Probably that's why the Far manager is unusable in Windows Terminal: ctrl+1,..., ctrl+0 seems to not work properly.
Author
Owner

@zadjii-msft commented on GitHub (Mar 18, 2020):

Sadly, #4947 does not fix this issue. This is actually a subset of the problems in #879.

Now, ctrl+alt+? falls into the #879 category of keys. We can't differentiate between that and Alt+Bksp, but that's probably okay.

@zadjii-msft commented on GitHub (Mar 18, 2020): Sadly, #4947 does _not_ fix this issue. This is actually a subset of the problems in #879. > Now, <kbd>ctrl+alt+?</kbd> falls into the #879 category of keys. We can't differentiate between that and <kbd>Alt+Bksp</kbd>, but that's probably okay.
Author
Owner

@DarthJahus commented on GitHub (May 12, 2020):

There still looks to be a problem with this.

Using CTRL+ALT+0 on AZERTY keyboard correctly types @ Same goes for { [ | \ ^ ] } (

However, it processes CTRL+[tab_number] before CTRL+SHIFT+[key], leading to tab switching.

For example, if you have 3 opened tabs and you try to use CTRL+ALT+3 for #, it goes to 3rd tab (caught as CTRL+3). And nothing is typed. Of course, it's not common to get # with that combination, because Alt. Gr. key is close to the right hand, but it's common that we type CTRL+TAB+7 for orCTRL+TAB+8for`. And if you have 7 or 8 opened tabs, it's caught as CTRL+7 and CTRL+8.

Interestingly, deadkeys kinda go through, as CTRL+ALT+2 (~) first goes to 2nd tab but still does its job if you press another key after it. So it works on 2nd tab 🤪

@DarthJahus commented on GitHub (May 12, 2020): There still looks to be a problem with this. Using `CTRL+ALT+0` on AZERTY keyboard correctly types `@` Same goes for `{ [ | \ ^ ] } (` However, it processes `CTRL+[tab_number]` before `CTRL+SHIFT+[key]`, leading to tab switching. For example, if you have 3 opened tabs and you try to use `CTRL+ALT+3` for `#`, it goes to 3rd tab (caught as `CTRL+3`). And nothing is typed. Of course, it's not common to get `#` with that combination, because `Alt. Gr.` key is close to the right hand, but it's common that we type `CTRL+TAB+7` for ` or `CTRL+TAB+8` for `\`. And if you have 7 or 8 opened tabs, it's caught as `CTRL+7` and `CTRL+8`. Interestingly, deadkeys kinda go through, as `CTRL+ALT+2` (`~`) first goes to 2nd tab but still does its job if you press another key after it. So it works on 2nd tab 🤪
Author
Owner

@ghost commented on GitHub (Jun 18, 2020):

:tada:This issue was addressed in #6309, which has now been successfully released as Windows Terminal Preview v1.1.1671.0.🎉

Handy links:

@ghost commented on GitHub (Jun 18, 2020): :tada:This issue was addressed in #6309, which has now been successfully released as `Windows Terminal Preview v1.1.1671.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.1.1671.0) * [Store Download](https://www.microsoft.com/store/apps/9n0dx20hk701?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#4293