-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
New REPL on Windows swallows characters entered via AltGr #132439
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
Comments
@chris-eibl Small tip (and welcome to you as a triager!): we keep the "needs backport" labels for PRs and reserve version labels to issues so to indicate which Python versions are affected (and I personally leave out version labels if every Python version is affected, unless it's a security issue). |
Yeah, I was unsure about the "needs backport" for issues myself. Regarding the "versions affected": this only applies to 3.13 and 3.14, because only those two feature the new REPL - hence we maybe should keep them in this case on the issue? |
Yes, we can keep them as it's really 3.13 and 3.14 specific. In general, once a version becomes EOL or security-only, we also remove or update the labels (technically, we could even remove them as 3.12 is now security-only so those issues won't necessarily be fixed) |
I can confirm this bug, tested on two different Windows 11 machines. Characters accessible via ALT GR on a German keyboard, most notably for programming Python { [ ] } , work randomly (square brackets) or not at all (curly brackets). Tested with Python 3.13.3 installed from the Microsoft Store. For Python 3.12.10 installed from the Microsoft Store, all keys / characters work just fine. |
I've encountered this as well. |
For me, the issue only occurs in an "old terminal", e.g. using cpython/Lib/_pyrepl/windows_console.py Lines 115 to 118 in 45c447b
where I can use AltGr as usual.
But the "virtual terminal mode" has other problems (#131878): I can no longer enter |
I think that's only true for the 3.14 developer preview. In the Python 3.13.3 release, there is no I went so far as to hot-patching |
Ups, yeah, was imprecise on this one: can confirm that 3.13 is broken in the old and the new console. |
This also occurs on danish keyboards (on win10). Can't input chars: @£${[]}|€~ |
You can also turn off the new REPL if you do not want to fallback on an earlier version: |
Bug report
Bug description:
E.g. on my keyboard with German layout,
{
is usually entered via pressing the AltGr key and7
, i.e.AltGr+7
.Likewise,
}
,[
,]
,\
and some more can only be entered viaAltGr
.But since #128388 / #128389 these are swallowed by the REPL on Windows and can no longer be entered.
On 3.13.3, this happens independent from the terminal mode.
On main, this only happens in legacy Windows terminals, where the virtual terminal mode is turned off (e.g.
cmd.exe
).In virtual terminal mode there are other issues, see #131878.
Many other keyboard layouts like French, Czech, etc, use the AltGr key, too, and suffer the same bug (tested changing my keyboard layout).
CPython versions tested on:
3.14, 3.13
Operating systems tested on:
Windows
Linked PRs
The text was updated successfully, but these errors were encountered: