Bug 435212 - Dead keys do not work properly in combination with control characters like shift, ctrl, alt
Summary: Dead keys do not work properly in combination with control characters like sh...
Status: RESOLVED UPSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_keyboard (show other bugs)
Version: 5.21.3
Platform: Manjaro Linux
: HI normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL: https://gitlab.freedesktop.org/xkeybo...
Keywords: regression
Depends on:
Blocks:
 
Reported: 2021-04-01 09:20 UTC by Eduardo
Modified: 2021-04-14 14:26 UTC (History)
3 users (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 Eduardo 2021-04-01 09:20:11 UTC
SUMMARY
I use Latvian (apostrophe) keyboard layout in KDE Plasma 5.21, it's very similar to standard Latin letters with addition of accented letters for Latvian language. 

In Latvian language to get accented keys like ā, ū, etc. I have to press so called "dead" key (apostrophe in my case), release it and then press a desired letter, for example "a", which produces "ā".
This is working fine.

However, when I press shift+apostrophe, I should get double quotes ", but instead this combination is interpreted as "dead" key anyway and I get nothing, if I press "a" after shift+apostrophe, I get "ā", which is wrong.

Dead keys before KDE 5.21 worked fine, but starting with 5.21 they behave incorrectly.

Additionally, I have tried to boot Fedora 34 Live ISO with KDE 5.21 and the issue is there as well, in addition to that I have verified that Ubuntu 18.04 Live ISO Gnome/Unity does not have this problem.

STEPS TO REPRODUCE
1. Choose Latvian (apostrophe) keyboard layout
2. Press shift+apostrophe

OBSERVED RESULT
Nothing is printed, but if I press "a" afterwards, I get "ā".

EXPECTED RESULT
Double quote " character is printed.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Manjaro / KDE
KDE Plasma Version: 5.21
KDE Frameworks Version: 5.80
Qt Version: 5.15.2
Session type: X11

ADDITIONAL INFORMATION
Since KXKB is no longer available for bug reporting and I did not report this for correct component, please move it accordingly.
It's not clear which component I have to choose.
Comment 1 Eduardo 2021-04-01 10:30:36 UTC
Additional testing: Fedora 33 KDE, no issues with "dead" keys.
Comment 2 Andrey 2021-04-02 00:37:39 UTC
Please paste your ~/.config/kxkbrc
Comment 3 Eduardo 2021-04-03 08:31:26 UTC
[$Version]
update_info=kxkb_variants.upd:split-variants

[Layout]
DisplayNames=,
LayoutList=lv,ru
LayoutLoopCount=-1
Model=pc105
ResetOldOptions=false
ShowFlag=true
ShowLabel=false
ShowLayoutIndicator=true
ShowSingle=true
SwitchMode=Global
Use=true
VariantList=apostrophe,phonetic
Comment 4 Andrey 2021-04-03 16:09:07 UTC
Could you check on Wayland?
Comment 5 Andrey 2021-04-03 16:15:19 UTC
Also, you could delete this line:

VariantList=apostrophe,phonetic

edit LayoutList to the following and and check if it makes any difference: 

LayoutList=lv(apostrophe),ru(phonetic)
Comment 6 Eduardo 2021-04-03 19:25:45 UTC
Fedora 34 in VM had Wayland session, it did not work there.

I tried removing VariantList and edit lines as you suggested, log out/in and that file is rewritten, so no dice.
Comment 7 Andrey 2021-04-04 00:18:54 UTC
Ugh it's bad it rewrites.
Maybe if being edited after logout it wont be rewritten?

Also could you try Neon distro on VM to make sure it's the same?
Comment 8 Eduardo 2021-04-05 08:48:48 UTC
KDE Neon is working properly.
I have checked ~/.config/kxkbrc and it's the same for all - Manjaro, Fedora, Neon, but still Manjaro and Fefora have this issue.
Comment 9 Andrey 2021-04-05 10:43:19 UTC
Thanks.
Do you have some Input Method active maybe (IBus, etc.)?

And what's on Wayland?
Comment 10 Eduardo 2021-04-05 11:10:21 UTC
I have not configured any specific input methods.

I had libibus installed, why I don't know, but there is no ibus package installed nor daemon running. In KDE Neon, I can see that there is IBUS installed, but that does not interfere with dead keys.

In addition to that, I have no idea what specific to look for and why Neon livecd works, but Fedora does not.
Comment 11 Eduardo 2021-04-05 11:13:04 UTC
I just tested in ArchLinux installation I have (X11), the issue is the same, dead keys do not work properly.

I think, at least for this issue, it is not tied to x11 or wayland, I could be wrong, though.
Comment 12 Andrey 2021-04-05 11:15:18 UTC
(In reply to Eduardo from comment #10)
> In KDE Neon, I can see that there is IBUS
> installed
> 
Maybe that is needed instead? Sorry I don't have bright idea to help you..
Comment 13 Eduardo 2021-04-14 04:49:38 UTC
After a great deal of snapshotting and upgrading packages in VM's I finally found out the package, repo and the commits which introduce this behaviour.

As it turned out, it has nothing to do with KDE!

Introduced in this: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/166
Will be solved in this: https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/190

Dude tried to improve things by breaking a very longstanding muscle memory :)

Meanwhile I'm having my own compiled package with couple of commits reverted.

Thanks for responding and trying to help.
Comment 14 Nate Graham 2021-04-14 14:26:10 UTC
Wow, crazy!