-
-
Notifications
You must be signed in to change notification settings - Fork 22k
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
Inconsistent output of InputEventKey.as_text()
with Czech keyboard layout on Linux
#54797
Comments
InputEventKey.as_text()
with Czech keyboard layout on Linux
Works fine with French keyboard layout on Linux:
I can reproduce the issue with Czech keyboard layout ( The xkb mapping looks like this (
|
I also noticed that for a key |
That's normal, it's a dead key, so the first keypress holds the diacritic for you to put on a letter. ´ + E should give you "é". |
So it's not possible to use dead keys for key bindings at all? Or would I have to use some other input event? I thought scancodes are related to physical keys, not their interpretation in keyboard layout. |
As a hint as Czech and French keyboards are mentioned: E.g.:
Using the Unicode field and casting it to a letter works. Probably the reason why LineEdit works perfect. I'm posting here because I'm unsure if it is connected and if it's may be already solved for the Unicode case as well for the Czech layout? Then it may has the same cause. |
CC @bruvzg |
There's no such thing as scan code for See Microsoft Keyboard Scan Code Specification for the list of standard PS/2 scan codes (all keyboard still use the same set). |
Godot version
3.4.stable
System information
Linux (Manjaro)
Issue description
It mixes "key from keyboard layout" with "physical key" (or maybe US keyboard layout?).
This is an output of me pressing top number keys from 1 to 0 (from left to right):
Either everything should be a number (US keyboard layout interpretation)
1234567890
or it should be+ěščřžýáíé
(CS keyboard layout). Now it's somehow mixed together.Steps to reproduce
Select a non-US keyboard layout (e.g. Czech) and call
as_text
onInputEventKey
. Try pressing keys which are different to US layout.Minimal reproduction project
The text was updated successfully, but these errors were encountered: