-
Notifications
You must be signed in to change notification settings - Fork 8.5k
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
dwControlKeyState behaviour changed between Windows 10/Windows 11 #16266
Comments
I'm almost certain this is probably due to #5021, though, there's probably a complicated relationship here between the fact that there's a different ConPTY that's used for Terminal (and is shipped with the Terminal), vs the one that WSL uses for interop (and is shipped with the OS) |
If I replace conhost.exe with OpenConsole, will WSL automatically pick it up interop as well? (I don't know how all the pieces fit together sorry!) I'm willing to give it a shot and see if it's already been fixed somewhere...? (I assume I'll have to |
It absolutely will! No warranty, etc, but you know the drill. 😄 Thanks for being so down to test things with us. |
To do it "correctly", you'd use a tool called
(...with a possibly different version number on your machine.) You can probably (90% sure?) restore the original |
Do note that if you damage the version in the component store ( |
I did get the system booted with 1.19.2310.10001, but sadly my console bug is still there! I listened to your warning and didn't bother trying to mess with the links, I assume some future update will clobber it with a link, that's okay with me 😄 I guess there are probably not many people trying to use win32 console apps in WSL, maybe I can try to bisect it at least, even if I don't know what the solution is. |
Since all VT parameters are treated to be at least 1 (and 1 if they're absent or 0), `modifierParam > 0` was always true. This meant that `ENHANCED_KEY` was always being set. It's unclear why `ENHANCED_KEY` was used there, but it's likely not needed in general. Closes #16266 ## Validation Steps Performed * Can't test this unless we fix the win32 input mode issue #16343 ❌
Since all VT parameters are treated to be at least 1 (and 1 if they're absent or 0), `modifierParam > 0` was always true. This meant that `ENHANCED_KEY` was always being set. It's unclear why `ENHANCED_KEY` was used there, but it's likely not needed in general. Closes #16266 ## Validation Steps Performed * Can't test this unless we fix the win32 input mode issue #16343 ❌ (cherry picked from commit be9fc20) Service-Card-Id: 91159301 Service-Version: 1.19
Windows Terminal version
1.19.231010001-preview
Windows build number
10.0.22621.0
Other Software
hiew 8.79 (inside wsl)
Steps to reproduce
I have a win32 console application (hiew, a powerful hex editor) that worked fine when invoked from within WSL in Windows 10, but no longer works in Windows 11. It still works okay when invoked from cmd or powershell, but I liked using it under WSL☹️
Various keys no longer seem to register.
I wrote a quick c program to dump console input events, and I observe the following pattern:
I think the issue is that ENHANCED_KEY is now being set, and it wasn't before. I don't know why this changed, but it seems to have broken at least one app☹️
Do you know what might be causing this?
Expected Behavior
Keys to register.
Actual Behavior
Keys are ignored, I suspect because dwControlKeyState changed.
The text was updated successfully, but these errors were encountered: