Bug 960307 - Canada French Keyboard Layout is not the correct layout. KDE / KDE Plasma
Canada French Keyboard Layout is not the correct layout. KDE / KDE Plasma
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Installation
Current
x86-64 SUSE Other
: P2 - High : Normal (vote)
: ---
Assigned To: Stefan Dirsch
Jiri Srain
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2015-12-29 02:46 UTC by Leslie Satenstein
Modified: 2017-07-11 14:50 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
The Canadian French keyboard layout in pdf format. (89.62 KB, application/pdf)
2015-12-31 19:01 UTC, Leslie Satenstein
Details
A picture of a physical keyboard that one can purchase in a Quebec Computer store (2.01 MB, image/jpeg)
2015-12-31 19:04 UTC, Leslie Satenstein
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Leslie Satenstein 2015-12-29 02:46:49 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0
Build Identifier: 

During the Tumbleweed installation  (December 2015 version) and post installation I chose the Canada French (French Canada) layout.

Tumbleweed points to some other non-standard French layout.  Canada French layout is  /usr/share/X11/xkb/symbols/ca

I ran   sudo localectl set-keymap ca   and set-x11-keymap ca.

as well as localectl status

   System Locale: LC_CTYPE=en_US.UTF-8
       VC Keymap: ca
      X11 Layout: ca,us
leslie@linux-wzg8:~> 




Reproducible: Always

Actual Results:  
Wrong layout

Expected Results:  
Want the keymap for Canada (Québec). Even after reboot, keymaps are wrong.

Would  not like to switch to another distribution, (leap was fine, I will try leap again).
Comment 1 Leslie Satenstein 2015-12-29 03:05:16 UTC
In reviewing the first line of text from  /usr/share/X11/xkb/symbols/ca entry,
I noted that the top title was marked as fr (and not ca).
By changing the keymap file to fr and by redoing localectl settings,
I appear to have the proper layout.

Please check usr/share/X11/xkb/symbols/ca  against other distributions (leap, Centos, Fedora, etc).

The others produce the correct results.

Passwords using special characters are inconsistent of the wrong keymap is presented.
Comment 2 Egbert Eich 2015-12-31 18:19:09 UTC
I've updated a Tumbleweed to openSUSE-10251217-0, rebooted, ran 
'localectl set-x11-keymap --no-convert ca' and started X. The new default layout was exactly like in:
https://en.wikipedia.org/wiki/QWERTY
You may have a different setting in your KDE Plasma desktop which overrides the default. Please check that.
I don't know how it works with Plasma however when using lightdm I can observe the behaviour that if the keyboard layout is set to the system default the setting used when the user first logged in is the one that remains even if the system default has been changed.
This is odd. It however doesn't have anything to do with X and the xkeyboard layouts.

(In reply to Leslie Satenstein from comment #1)
> In reviewing the first line of text from  /usr/share/X11/xkb/symbols/ca
> entry,
> I noted that the top title was marked as fr (and not ca).

This is ca(fr) ie French Canadian.

> By changing the keymap file to fr and by redoing localectl settings,
> I appear to have the proper layout.

This is the French French keyboard - ie. AZERTY like people use in France. This is different from the Canadian French keyboard.
> 
> Please check usr/share/X11/xkb/symbols/ca  against other distributions
> (leap, Centos, Fedora, etc).

Why? All of them take this file straight from xkeyboard-config on freedesktop.org.
Comment 3 Leslie Satenstein 2015-12-31 19:01:53 UTC
Created attachment 660602 [details]
The Canadian French keyboard layout in pdf format.
Comment 4 Leslie Satenstein 2015-12-31 19:04:26 UTC
Created attachment 660603 [details]
A picture of a physical keyboard that one can purchase in a Quebec Computer store

The two uploads are the layouts of Canada French Keyboards sold in Quebec Canada.
Comment 5 Leslie Satenstein 2015-12-31 19:30:23 UTC
During the installation of TW, I chose the Canadian French keyboard layout.
It did not setup /usr/share/X11/xkb/symbols/ca
as the layout, but something else

the top left key was producing   `  (back tick) in place of # (octothorpe)
Shift 3 produced # and was supposed to produce  /
alt-shift3 produced 3 and not £       

As an aside, Microsoft and Quebec keyboards have for some time provided

the Euro on alt-E key (level 3 E ).  I am not asking to add this to the layout,  

I am only requesting that with the installation program, when I select Canada French, I get the  /usr/share/X11/xkb/symbols/ca layout.

Please let me know when I can test an updated installation program. Since I created this bug, should I be the one to test it, and to sign off on it?
Comment 6 Egbert Eich 2016-01-01 07:21:51 UTC
Indeed on Tumbelweed 20151227 you get the French Canadian legacy keyboard, ie 'setxkbmap -print' shows ca(fr-legacy) while on Leap 42.1 you get the French Canadian keyboard ('setxkbmap -print' shows ca(fr) when you select 'French (canada)'. 
Not sure where the mapping data base comes from and  why the change was introduced. This however is a problem of the installer.
Comment 7 Leslie Satenstein 2016-01-01 15:05:28 UTC
Happy New Year Egbert

I concur,  It is the installer that chose the wrong layout. I am testing some leap change (os-prober)  that is to first appear within Tumbleweed. Leap installer picks out the correct keyboard layout, Tumbleweed installer does not.

After installation, I am able to fiddle around to enable the ca layout.

Please transfer this bug report to the installer team. 
With the three attachments, I am pretty confident they can implement the corrective.

All the very best for 2016
Comment 8 Egbert Eich 2016-01-02 21:33:30 UTC
(In reply to Leslie Satenstein from comment #7)
> Happy New Year Egbert

Thanks a lot! To you as well.
 
> I concur,  It is the installer that chose the wrong layout. I am testing
> some leap change (os-prober)  that is to first appear within Tumbleweed.
> Leap installer picks out the correct keyboard layout, Tumbleweed installer
> does not.
> 
> After installation, I am able to fiddle around to enable the ca layout.
> 
> Please transfer this bug report to the installer team. 

I've done so already. Some people are still on vacation.

> With the three attachments, I am pretty confident they can implement the
> corrective.

The correct file is there already. It has been used on Leap and Tumbleweed until quite recently. Just the setting for Canadian French should be 'ca' not 'ca(fr-legacy)'.
When querying Google for a Canadian French legacy keyboard one gets quite a few hits. Also there are pictures of a keyboard with a slightly different layout. Do you happen to know anything about this legacy keyboard? Do you know where this is relevant today?

> All the very best for 2016

Yeah, thanks! To you as well :)
Comment 9 Leslie Satenstein 2016-01-03 01:33:00 UTC
Hi Egbert.
I uploaded two attachments. The first is the "French Québec Standard", and the second one is an image of a typical desktop keyboard.

99% of tablets, laptops and desktops use the above indicated keyboard layout.


There is a second keyboard, titled Canada multilingual, which even the Federal government does not use. It may be used by the indigenous (Indian and Eskimo) peoples.

I have been bugging the Canadian and Provincial Government (Canada / Quebec) to include the Eurokey at level three on the Ee€  keytop, and the yen with Yy¥ on the Y keytop.

It is difficult to reach the right person as many in the government don't know what to do or how to proceed.
Comment 10 Egbert Eich 2016-01-04 11:29:16 UTC
(In reply to Leslie Satenstein from comment #9)
> Hi Egbert.
> I uploaded two attachments. The first is the "French Québec Standard", and
> the second one is an image of a typical desktop keyboard.
> 
> 99% of tablets, laptops and desktops use the above indicated keyboard layout.

Yes, I've seen them. The layout coincides with the standard layout when you just select 'ca' (which should be done) or ca(fr). The other one is ca(fr-legacy). This is what the installer picks at the moment (wrong).

> There is a second keyboard, titled Canada multilingual, which even the
> Federal government does not use. It may be used by the indigenous (Indian
> and Eskimo) peoples.

For this there is a separate mapping which you will get when selecting ca(multi). 
> I have been bugging the Canadian and Provincial Government (Canada / Quebec)
> to include the Eurokey at level three on the Ee€  keytop, and the yen with
> Yy¥ on the Y keytop.

You can already get the Euro sign when you add 'eurosign:e' asan option. The YaST selection does not allow this, however most desktops allow you to augment your keyboard setting.There is no such option for Yen, unfortunately.
 
> It is difficult to reach the right person as many in the government don't
> know what to do or how to proceed.

A lot of this is prbably driven (or not driven) by ms.
Comment 11 Ancor Gonzalez Sosa 2016-01-04 18:16:04 UTC
(In reply to Egbert Eich from comment #6)
> Indeed on Tumbelweed 20151227 you get the French Canadian legacy keyboard,
> ie 'setxkbmap -print' shows ca(fr-legacy) while on Leap 42.1 you get the
> French Canadian keyboard ('setxkbmap -print' shows ca(fr) when you select
> 'French (canada)'. 
> Not sure where the mapping data base comes from and  why the change was
> introduced. This however is a problem of the installer.

We changed the way that mapping is done in Tumbleweed, so it's not surprising that it works in Leap (which uses the old system which had some fundamental problems) but fails in TW (which uses the new system we are still fine-tunning).

I'll take a look to the Canadian problem. Thanks for reporting.
Comment 12 Leslie Satenstein 2016-01-05 14:19:38 UTC
One item
Fedora, Centos, Ubuntu, Mint and Leap and older SUSE versions get it right.  Its TW that needs the corrective.
Comment 13 Ancor Gonzalez Sosa 2016-01-07 14:14:57 UTC
As you can see in the following link, the change from cf.map.gz to ca-fr-legacy.map.gz was done by Stefan Dirsch as part of his fixes to adapt our keyboard handling to systemd (something pretty much needed for several reasons)

https://github.com/yast/yast-country/commit/aec76ba26f1e30f9e13d1d81fa964f5f89f7abf8#diff-f1a42fb7bf6fe777c05297626adc2e94L121

Stefan, do you remember the reason for that particular change? Looks like the new keymap does not produce the expected behavior.
Comment 14 Stefan Dirsch 2016-01-07 15:02:26 UTC
You're right. We should switch to 'ca' (Linux console and X11 keymap) instead. My fault. I'm afraid we'll find more of these still ...

I'll do a pull request ASAP. Taking the bug.
Comment 15 Leslie Satenstein 2016-01-07 17:04:43 UTC
One additional comment, if I may.

The Canadian French physical layout is pc105, not pc104.  The US keyboard layout used in French Canada is also pc105. 

The mapping /usr/share/X11/xkb/symbols/ca has   [«»¦°] located at the bottom row next to the left [shift] key. That is the one extra key that makes the physical layout distinguishable from pc104.

[«»¦°] for the us layout is the same as the fr layout. No character mapping changes are necessary.

Not related to this bug, the pc104 physical layouts do not have that extra key at the bottom left.The American keyboards can't produce the [«»¦°]. Americans don't type those characters.

PC105 for US and CA
Comment 16 Stefan Dirsch 2016-01-08 11:50:43 UTC
Pull request created: https://github.com/yast/yast-country/pull/63
Comment 17 Stefan Dirsch 2016-01-08 11:52:14 UTC
Ancor, please remove NEEDINFO once you've accepted/handled the pull request. Thanks!
Comment 18 Stefan Dirsch 2016-01-13 11:20:16 UTC
Merged on github now.

https://github.com/yast/yast-country/pull/63
Comment 19 Stefan Dirsch 2016-01-13 11:23:24 UTC
Closing as fixed for next yast2-country package update.
Comment 20 Ancor Gonzalez Sosa 2016-01-13 11:44:22 UTC
Just for the record. Fixed in yast2-country 3.1.25
https://build.opensuse.org/request/show/353397
Comment 21 Leslie Satenstein 2016-01-16 22:01:08 UTC
Yesterday, with TW version of 2116-01-12  
I tested all the ISO images and the tests were OK
vis
sha256sum -c sha256sum.20160112.CHECKSUM 
openSUSE-Tumbleweed-DVD-x86_64-Snapshot20160112-Media.iso: OK
openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20160112-Media.iso: OK
openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20160112-Media.iso: OK
openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20160112-Media.iso: OK
openSUSE-Tumbleweed-NET-x86_64-Snapshot20160112-Media.iso: OK
 
Each ISO was dd'd to a flashdrive 
Some of the ISOs failed the media check. In other words some of the ISO's listed on the website were incomplete and failed the media check
For the ISO's that passed the media check and the installation
a) I could  not set the Canada French keyboard layout in the installer to the correct keyboard layout.
b) The linux versions created did not have the correct iso, when setup via the gui interace
localectl set-x11-keymap  ca,us  and
localectl set-keymap ca,us

were required to force the correct keyboard layout.

This bug is not fixed. It is fixed when I do the test and I say it works. I created the bug report, so I am the one who should close it. That Q/A step makes sense to me.
Comment 22 Leslie Satenstein 2016-01-16 22:02:33 UTC
Please advise me when I could test the next snapshots. I test on physical disks (310gig partitions).
Comment 23 Egbert Eich 2016-01-17 00:49:19 UTC
Leslie, this bug report is closed when the fix has been submitted. It takes a while until the fix percolates to the product.
On openSUSE there is no designated QA. 
Most of the reporters don't even report back when a fix has been made. 

In fact, there are issues where I asked the reporter for confirmation on a proposed fix where I've never received an answer. So the time and effort I've invested on these issues was wasted. Care for examples?

Therefore, on openSUSE there is no wait for any confirmation. Once the issue has been addressed, it will be closed. Once you see the change in the logs of a package and still see the defect, you are welcome to reopen it.
It is just how a community like openSUSE works: one cannot rely on reporters to confirm fixes, so we don't.

BTW: the most recent update you've pulled was from the Jan, 12, the issue was declared fixed on the 13th. So please give it some time.

If you don't like this procedure and want to change it you ought to become active in this community and help to drive a change in reporter's mind sets.

Thanks a lot for pointing out the problem with the French Canadian Keyboard!
It should be available to you soon!
Comment 24 Egbert Eich 2016-01-17 00:49:45 UTC
See previous comment.
Comment 25 Ancor Gonzalez Sosa 2016-01-18 09:29:23 UTC
(In reply to Ancor Gonzalez Sosa from comment #20)
> Just for the record. Fixed in yast2-country 3.1.25
> https://build.opensuse.org/request/show/353397

yast2-country 3.1.25 is still being tested by openQA in the staging project H.
https://build.opensuse.org/project/staging_projects/openSUSE:Factory/H
So not still available in Snapshot20160112. You will have to keep an eye on the detailed announcements that are published in the opensuse-factory mailing list on every new snapshot or just take a look every now and then until yast2-country >= 3.1.25 is included in the snapshot.

That's how the process goes. Sorry.
Comment 26 Bernhard Wiedemann 2016-08-26 16:01:16 UTC
This is an autogenerated message for OBS integration:
This bug (960307) was mentioned in
https://build.opensuse.org/request/show/423138 42.2 / yast2-country
Comment 27 Swamp Workflow Management 2017-03-03 20:12:50 UTC
SUSE-RU-2017:0604-1: An update that has 9 recommended fixes can now be installed.

Category: recommended (moderate)
Bug References: 1009508,1016004,1020082,1022094,942896,942899,960307,968183,981008
CVE References: 
Sources used:
SUSE Linux Enterprise Server for Raspberry Pi 12-SP2 (src):    yast2-country-3.1.35-9.11.1
SUSE Linux Enterprise Server 12-SP2 (src):    yast2-country-3.1.35-9.11.1
SUSE Linux Enterprise Desktop 12-SP2 (src):    yast2-country-3.1.35-9.11.1