Bug 478152

Summary: Level3 symbols override layout third level bindings, so Estonian (US) layout does not work
Product: [Plasma] kwin Reporter: Ilya Zverev <ilya>
Component: inputAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: normal CC: dev
Priority: NOR    
Version: 5.27.9   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ilya Zverev 2023-12-06 10:12:47 UTC
SUMMARY
I chose to use Estonian (US) keyboard layout, because it's easier to use on regular US keyboards. Basically it's the same as us(basic), but it adds additional accented letters with level3 bindings: e.g. to type ä, ü, ö, õ, ž you press Right Alt + a, u, o, q, z. You can see the binding in /usr/share/X11/xkb/symbols/ee (for Fedora Linux).

Instead, for ä and ü I get "́" and "₴". Same for alternative bindings for these letters, RAlt+f, apostrophe, bracketleft. Despite the bindings present in the layout file, they are probably overridden by the default typographic letters for level3 layouts. I can see that on the layout map from the layout chooser in Settings.

So the question is, can this be fixed, or I better modify the layout?

Thankfully I can type all uppercase letters and some of other lowercase, so it works partially. But still, this bug may affect people with other similar layouts too.

STEPS TO REPRODUCE
1. Choose Estonian (US) layout in the Settings → Keyboard → Layouts.
2. Try typing RAlt+U, expecting a "ü" to be entered.
3. Observe "₴" instead.

SOFTWARE/OS VERSIONS
Fedora Linux 39
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.111.0
Qt Version: 5.15.11

ADDITIONAL INFO
Contents of ~/.config/kxkbrc:

[$Version]
update_info=kxkb_variants.upd:split-variants,kxkb.upd:remove-empty-lists,kxkb.upd:add-back-resetoptions

[Layout]
DisplayNames=,
LayoutList=ee,ru
Model=hpdv5
Options=lv3:ralt_switch,misc:typo,nbsp:level3,grp:caps_toggle
ResetOldOptions=true
ShowFlag=false
ShowLabel=true
ShowLayoutIndicator=true
ShowSingle=false
SwitchMode=Global
Use=true
VariantList=us,
Comment 1 Ilya Zverev 2024-02-13 08:42:50 UTC
One thing I forgot to test: when I disable "enable additional typographic symbols" ("misc:typo" in kxkbrc Options), estonian letters show up fine. So the issue is that typographic symbols override letters from the layout.
Comment 2 Wismill 2024-09-08 05:50:27 UTC
The misc:typo XKB option does override the third and fourth levels and I am afraid this makes it incompatible with you layout. Please open an issue at https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/ so we can modify the layout to add the symbols you need from the typo layout.
Comment 3 Wismill 2024-11-24 12:46:11 UTC
This is an upstream issue (option incompatible with a layout) and could be resolve by adding yet another layer. You would need to open a ticket in the upstream repository https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/ to discuss that. Another solution is to adapt the layout to your needs following this guide: https://xkbcommon.org/doc/current/user-configuration.html.