Typing quote character with shift now activates accents

I have a Latvian(apostrophe) keyboard layout.
Somewhere around kde 5.20 the behaviour of the apostrophe(") key changed.

Some context: In my language there are accented characters (ā ē ī etc.) and to access them I need to press '(apostrophe key, no shift) and the letter to get the accented variant.

And around KDE version 5.19 pressing shift and the apostrophe key resulted in the quote symbol ("), and no special treatment.

But, after a recent update (5.20 or 5.21 on kde plasma) it changed.
Now, no matter if I press the key with or without the shift it toggles the accented mode, witch is quite annoying for programming.

Before:
Shift+" abc results in "abc
Now: ābc (notice that for the same inputs, it ignored the quote alltogether and just accented the character)

Before:
Shift+" Shift+" results in "" (two quotes)
Now: " (single quote, and the next character that I type will be accented)

I would guess that this is a problem of some package that handles layouts, but because of the amount of packages that changed before my live USB(where the old(desired) behaviour happens) and now, I am am unsure where to start.

The most locale issues you in this forum is related to KDE - with a long shot until you hit Gnome as second. Just try a search using keywords KDE locale - you will be surprised - maybe add in Plasma keyword - and I will not be surprised if you find a solution in there.

Please check your keyboard layout settings … then recheck … then eventually read this [root tip] Troubleshooting locale errors

It seems that the alt key gives the desired behaviour. (outputs the character, does not trigger the accent)

It will work for now, so this will probably be the solution, but if I stumble on why it stopped working in the first place, I will give an update.

I found an another Latvian layout that has the quote behaviour that I want. That being Latvian (Colemark with apostrophe)

After finding where the file for the layouts were stored (/usr/share/X11/xkb/symbols/lv), I narrowed down the difference to this line:
key <AC11> {[ISO_Level3_Latch, ISO_Level3_Latch, apostrophe, quotedbl]};
key <AC11> {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]};
With the latter being desiered.

I was planning to do a git blame and see if this was a recent change, but I am already over my head and could not even track down the source code.

So the question is… can I edit the current or create a custom layout that has the needed behaviour?

I would try editing the file directly, but looking at the wiki there is also a metadata file somewhere that I would probably need to change?

1 Like

I opened the older image available for download at Manjaro - KDE Plasma in a VM, and it has the desired apostrophe behaviour defined at /usr/share/X11/xkb/symbols/lv

See below:
image
image

Welp…
I found the issue it seems.
Turns out that it is a change to the packgae xkeyboard-config
Specifically this commit: Improving Latvian Apostrophe · freedesktop/xkeyboard-config@9a21280 · GitHub

So I guess it was an intended change. not that I like it
But I guess I can’t complain too much. I will just change it to the original once in awhile when a new update inevitably breaks my patch.

Update: The solution works. All you have to do is change lines 115 and 116 to those shown in commit.

This worked!

After changed:
key <AC11> {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]};

and quick restart, the quote feature (Shift + ' = ") was back.

Thanks.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.