Bug 345697 - Add Layout only lists German, Swiss not German
Summary: Add Layout only lists German, Swiss not German
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_keyboard_layout (show other bugs)
Version: 5.2.2
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Andriy Rysin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-30 16:10 UTC by Jonathan Riddell
Modified: 2020-11-19 09:13 UTC (History)
2 users (show)

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


Attachments
Missing German layouts (only) if limited by language. (71.07 KB, image/png)
2016-03-03 18:10 UTC, Gerhard Dittes
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Riddell 2015-03-30 16:10:09 UTC
The add layout has an option to "Limit selection by language" but this lists only "German, Switzerland" and not "German".

I can still select German (as well as German (Switzerland)) if I don't use the filter dropdown so the keyboard is there.

Presumably an issue in the filtering of xkb_rules.h / .cpp

Kubuntu 15.04 beta on Plasma 5.2.2


Reproducible: Always

Steps to Reproduce:
1.select Confligure Layouts -> Add
2. Limit selection by language
3. only German, Switzerland is listed
Comment 1 Gerhard Dittes 2016-03-03 18:10:47 UTC
Created attachment 97660 [details]
Missing German layouts (only) if limited by language.

There is no option to select (only) "German" via the "Limit selection by language" drop down list.

If you select "German, Swiss" (as this is the only item containing "German"), then no German layouts are listed in the "Layout" drop down list at all.

Instead, if you pre-select "Any language" you actually get German layouts (with all its variants).

Environment: Debian testing (systemsettings 5.4.3) as well as Debian stable (systemsettings 4.11.13).
Comment 2 Gerhard Dittes 2016-03-03 18:27:42 UTC
Sorry, I failed to mention that I can totally reproduce the behavior Jonathan Riddell described in his comment. Actually, my intention was to confirm the bug with some additional screenshots...
Comment 3 Andriy Rysin 2016-03-04 17:23:36 UTC
The keyboard module loads the language descriptions from iso-codes project (iso639-3.xml file). From what I can see that file has German with ISO code "deu".
xkeyboard-config.xml for German uses "ger".
https://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules/
The short description (shortDescription tag) is recommended for the indicators that use labels (as opposite to flags) for providing the user with the information about currently used layout/variant. This description is expected to contain the 2-letter ISO639-1 code (in lowercase) of the primary language - or, if no ISO639-1 exists for that language, it can be 3-letter code from ISO639-2 or ISO639-3.

I suspect we have to look for iso_639_2B_code in iso_639.xml first and if not found then search in iso639-3.xml (or vice versa).
Comment 4 Justin Zobel 2020-11-19 05:32:02 UTC
I've just tested against systemsettings 5.20.2 and I can't reproduce this issue, the ger language shows EurKEY (US), English (US) and German layouts.

Can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I'm setting status to "needsinfo" pending your response, please change back to "reported" or "resolved" when you respond, thanks Jonathan.
Comment 5 Gerhard Dittes 2020-11-19 09:08:40 UTC
(In reply to Justin Zobel from comment #4)
> I've just tested against systemsettings 5.20.2 and I can't reproduce this
> issue, the ger language shows EurKEY (US), English (US) and German layouts.
> 
> Can you please test and confirm if this issue is still occurring or if this
> bug report can be marked as resolved. I'm setting status to "needsinfo"
> pending your response, please change back to "reported" or "resolved" when
> you respond, thanks Jonathan.

I can confirm that the issue seems to be resolved meanwhile also for me.  Sysinfo:

Operating System: Debian GNU/Linux
KDE Plasma Version: 5.20.3
KDE Frameworks Version: 5.76.0
Qt Version: 5.15.1
Kernel Version: 5.9.0-1-amd64
OS Type: 64-bit
Processors: 16 × AMD Ryzen 7 3700X 8-Core Processor
Memory: 31.4 GiB of RAM
Graphics Processor: Radeon RX 580 Series