-
Notifications
You must be signed in to change notification settings - Fork 8.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Avoid passing commands through with the shift modifier #2031
Conversation
This change would enable keybinds like Ctrl+Shift+C or Ctrl+Shift+V to work, as they would not be captured inadvertently, and sent as their respective escape sequences.
I'm almost certain this isn't the right fix. This would change the behavior of input in conhost.exe, not the Windows Terminal. Could you provide better explanation of why you're making this change at this location in the code? Will this regress any existing behavior? |
@zadjii-msft Typically, any control sequence (that is, ^C, ^D, etc) does not (and should not, you can test this with |
However, this low-level input processor is shared between conhost and Windows Terminal. Should Shift be stripped off in the much higher-level |
Aye, but there are already keybindings that work just fine in conhost on Ctrl+Shift+V and Ctrl+Shift+C. Does this affect This might be more correct for just the terminal portion of conhost, but I'm worried about the console bits of conhost regressing. If this does change the behavior, we should probably add a test to cover it, since it's clearly not covered currently :P |
This pull request has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment. |
I believe this is already fixed higher up in the input chain (rather then directly at conhost), seemingly inadvertently with #2235 terminal/src/cascadia/TerminalControl/TermControl.cpp Lines 643 to 652 in 4529e46
|
Summary of the Pull Request
This change would enable keybinds like Ctrl+Shift+C or Ctrl+Shift+V to work, as they would be captured inadvertently, and sent as their respective escape sequences.
References
#2000
PR Checklist
Validation Steps Performed
Built Terminal on separate instance of Azure Pipelines, then validated that functionality (Ctrl+Shift+V/Ctrl+Shift+C) work as intended (which is, that they properly copy and paste)