Bug 478152 - Level3 symbols override layout third level bindings, so Estonian (US) layout does not work
Summary: Level3 symbols override layout third level bindings, so Estonian (US) layout ...
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: input (show other bugs)
Version: 5.27.9
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-06 10:12 UTC by Ilya Zverev
Modified: 2024-11-24 12:46 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.