Bug 1038290 - Belgian keyboard layout not correctly identified
Summary: Belgian keyboard layout not correctly identified
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 25
Hardware: Unspecified
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Vratislav Podzimek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 902009 1272431 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-04 19:57 UTC by bertrand
Modified: 2017-12-12 10:23 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-12-12 10:23:29 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Belgian keyboard layout :-( (72.98 KB, image/png)
2013-12-04 19:57 UTC, bertrand
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 871954 0 unspecified CLOSED (French) Belgian keyboard unavailable for installation 2021-02-22 00:41:40 UTC
Red Hat Bugzilla 968534 0 unspecified CLOSED No belgian keyboard available at Fedora 19 BETA installation 2021-02-22 00:41:40 UTC

Internal Links: 871954 968534

Description bertrand 2013-12-04 19:57:30 UTC
Created attachment 832854 [details]
Belgian keyboard layout :-(

Description of problem:
In anaconda, when selecting the keyboard layout, the Belgian layout is not correctly identified: instead of having a 'Belgian' layout, there is only a 'Dutch; Flemish' layout :-(

Unless you want to revive the political and linguistic tensions between Flemish's and Walloons in a country where these matters are very sensitive, please correct this.

Thanks.

Version-Release number of selected component (if applicable):
Anaconda installer of Fedora 20 Beta

Comment 1 Adam Williamson 2013-12-10 19:28:28 UTC
Well. 'correctly' is a difficult question. What anaconda does - you can read pyanaconda/keyboard.py , lines 420-500 or so - is attempt, first, to find a language associated with each layout, and list it under that language. What you're seeing in the screenshot is the format "Language (Layout (variant))". It intentionally prevents layouts from showing up in the list associated with multiple languages.

If I'm reading the code right I think it gets this purely from xkb, not from langtable. What I suppose we could do to cover 'controversial' cases is tag them in langtable, somehow, as not being appropriate to be displayed as associated with a specific language?

one thing I don't understand: in xkb evdev.xml, the entry for Belgian looks like this:

      <configItem>
        <name>be</name>
        
        <shortDescription>be</shortDescription>
        <description>Belgian</description>
        <languageList><iso639Id>ger</iso639Id>
                      <iso639Id>nld</iso639Id>
                      <iso639Id>fra</iso639Id></languageList>
      </configItem>

How does anaconda/libxklavier wind up associating it with the *second* entry in the list? Is it purely because 'Dutch' comes before 'German' alphabetically, or something?

We could consider whether it makes sense to display languages associated with layouts by default, but any wholesale change in this area would need careful review to make sure it made sense for all or at least most of the 400+_layouts in xkb.

Comment 2 Adam Williamson 2013-12-10 19:43:07 UTC
One option aside from special-casing would be not to display language names for layouts associated with more than one language, I guess.

Comment 3 Mike FABIAN 2013-12-11 06:46:22 UTC
langtable is only used by anaconda to get the default when
the user chooses one of the Belgian locales. The default keyboard layout is 
currently "be(oss)" for all Belgian locales:

$ python
Python 2.7.5 (default, Nov 12 2013, 16:45:54) 
[GCC 4.8.2 20131017 (Red Hat 4.8.2-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import langtable
>>> langtable.list_keyboards(languageId="de", territoryId="BE")
['be(oss)']
>>> langtable.list_keyboards(languageId="nl", territoryId="BE")
['be(oss)']
>>> langtable.list_keyboards(languageId="fr", territoryId="BE")
['be(oss)', 'fr(oss)', 'ca', 'ch(fr)']
>>> langtable.list_keyboards(languageId="li", territoryId="BE")
['be(oss)']
>>> langtable.list_keyboards(languageId="wa", territoryId="BE")
['be(oss)']
>>> 

I hope that is correct.

The names displayed for the keyboard layouts do not come from
langtable, as Adam Williamson writes.

Comment 4 Vratislav Podzimek 2013-12-12 16:21:06 UTC
The only real solution of this issue seems to be a rework of the AddLayout dialog or the whole Keyboard spoke listing keyboard layouts under their associated languages. That has been discussed somewhere in bugzilla, but I cannot find that particular bug right now.

Comment 5 Vratislav Podzimek 2013-12-12 16:27:02 UTC

*** This bug has been marked as a duplicate of bug 968534 ***

Comment 6 bertrand 2013-12-15 13:49:16 UTC
Sorry, I hadn't seen this problem had already been reported (although this doesn't suprise me: all the Belgians are affected by this bug !)

Actually I don't really understand this cannot be fixed without a whole rework of the "AddLayout dialog or the whole Keyboard spoke listing keyboard layouts under their associated languages".

For instance can't you simply add a 'Belgian (Belgian)' layout in addition to the existing 'Dutch; Flemish (Belgian)', 'French (Belgian)' and 'German (Belgian)' layouts ?
As this new layout is the first alphabetically, it'll fix this problem very simply.

What do you think ?

Comment 7 Adam Williamson 2013-12-15 18:04:55 UTC
That's not quite how it works :)

There isn't just a big list of layouts somewhere, controlled by Fedora. The layouts come from xkeyboard-config (xkb), which is an upstream project - http://www.x.org/wiki/XKB/ . There isn't really a layout caled "French (Belgian)", there is a layout called (more or less) 'be', with associated metadata telling us we can call it "Belgian", and also the languages with which it's associated - Flemish, French and German. It doesn't tell us it's associated with the language "Belgian" because there is no language called Belgian.

The keyboard layout list in anaconda isn't hand-created, it's generated from xkb; anaconda queries xkb for all possible layout and variant combinations and then constructs names for them from the xkb metadata. Right now, it's naming them "Language (Layout)". We can't possibly associate the layout 'Belgian' with the language 'Belgian', as there's no 'Belgian' language. Since the layout list is generated, and it doesn't make any sense to change the metadata used for generation, we would have to change our approach to generating the layout list in order to fix this bug.

Comment 8 bertrand 2013-12-20 21:07:23 UTC
OK, thanks for these clarifications, it's clearer now :)
I understand that fixing this bug is not as easy as I could imagine.
However, it's not because it is not easy that this must not be solved I guess ... So I reopen this bug.

Moreover I see in the bug 968534 that:
> > > It will be fixed with a rewrite/redesign of the keyboard configuration screen.
> > When ?
> Probably Fedora 20
Is the rewrite/redesign still foreseen ? Maybe for Fedora 21 then ?

Comment 9 Vratislav Podzimek 2013-12-23 07:38:12 UTC
(In reply to bertrand from comment #8)
> OK, thanks for these clarifications, it's clearer now :)
> I understand that fixing this bug is not as easy as I could imagine.
> However, it's not because it is not easy that this must not be solved I
> guess ... So I reopen this bug.
Maybe we could reopen the older bug, but whatever. I agree with you that this should be fixed somehow at some point.

> 
> Moreover I see in the bug 968534 that:
> > > > It will be fixed with a rewrite/redesign of the keyboard configuration screen.
> > > When ?
> > Probably Fedora 20
> Is the rewrite/redesign still foreseen ? Maybe for Fedora 21 then ?
Yeah, I personally take F21 as a target release for this change. However, some more important stuff may appear.

Comment 10 Adam Williamson 2014-01-24 02:17:46 UTC
https://www.redhat.com/archives/anaconda-devel-list/2014-January/msg00027.html (and follow-ups) is the current discussion about vpodzime's proposed re-work.

Comment 11 Fedora End Of Life 2015-05-29 09:55:13 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 12 bertrand 2015-06-22 18:33:22 UTC
still there with fedora22, tested with final version of live DVD

Comment 13 Mike FABIAN 2015-10-19 05:21:06 UTC
*** Bug 902009 has been marked as a duplicate of this bug. ***

Comment 14 Mike FABIAN 2015-10-19 05:58:45 UTC
*** Bug 1272431 has been marked as a duplicate of this bug. ***

Comment 15 Mike FABIAN 2015-10-19 06:01:44 UTC
It is the same in Fedora-Workstation-netinst-x86_64-23_TC10.iso.

Comment 16 Fedora End Of Life 2016-11-24 11:04:56 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 17 Adam Williamson 2016-11-24 22:39:20 UTC
Still the same in F25, indeed, I guess vpodzime hasn't had time for this (and also he seems to be working on storage lately...no idea whose job this is any more. Someone will probably say mine. har. har.)

Comment 18 Fedora End Of Life 2017-11-16 18:37:35 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 19 Fedora End Of Life 2017-12-12 10:23:29 UTC
Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.