Bug 17333 - Re-Add Romanian "Programmers" Keyboard Layout
Summary: Re-Add Romanian "Programmers" Keyboard Layout
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal enhancement
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL: https://forums.mageia.org/en/viewtopi...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-14 22:15 CET by Brad Fonseca
Modified: 2016-06-16 20:43 CEST (History)
5 users (show)

See Also:
Source RPM: drakx-kbd-mouse-x11
CVE:
Status comment:


Attachments

Description Brad Fonseca 2015-12-14 22:15:36 CET
Description of problem:
(as quoted from Mageia forums [URL included above]): 
"There is no support for the Romanian keyboard with Alt Gr, known in Windows Vista/7/8 as "Romanian (Programmers)" which has the following mapping:

Alt Gr + a -> Ä
Alt Gr + q -> â
Alt Gr + i -> î
Alt Gr + s -> È
Alt Gr + t -> È

This mapping is the default one in Ubuntu and Linux Mint.

However, Mageia supports the old Romanian keyboard (known as "standard" in Ubuntu and Windows Vista/7/8) mapping which is less and less used today:

\ -> Ä
[ -> â
] -> î
; -> È
' -> È

Please provide support for Alt Gr Romanian keyboard, a de facto standard in other Linux distributions and available in newer versions of Windows as "Romanian (Programmers)"."

This keyboard layout was available in Mandriva 2009.0 and 2009.1, as stated by "serban" on the Mageia Forum thread (https://forums.mageia.org/en/viewtopic.php?f=10&t=3849)

Here is a link to images of the Romanian Programmers keyboard layout: http://www.secarica.ro/html/ro_kbd_programmers.html

Version-Release number of selected component (if applicable): Mageia 5 


How reproducible:


Steps to Reproduce:
1.
2.
3.


Reproducible: 

Steps to Reproduce:
Comment 1 Florian Hubold 2015-12-15 00:01:33 CET
FWIW, this is not really something for Mageia 5 as that has already been released. If it's an enhancement it should be filed against the development version.


Had a look again at the layouts, and it seems the "programmers" variant is called "cedilla" but I'm not sure. E.g. when I try to add a keyboard layout in KDE, it offers 7 variants apart from the default. And for cedilla the preview shows the  mappings you seem to want.


Can you try if running this command works to load the layout?

setxbmap ro -variant cedilla

or basic for the default one, mentioned as "Programmers" variant:

setxbmap ro -variant basic


You may also want to read the information at the top of the layout file:

[doktor5000@Mageia5]â[23:54:44]â[~] cat /usr/share/X11/xkb/symbols/ro
//
// Complete set of Romanian keyboards as described in the new Romanian standard
// SR 13392:2004 adopted in December 2004 by ASRO, "Asociatia de Standardizare 
// din Romania".
// 
// The default mapping is the RO_US/Programmers layout because of the lack of 
// Romanian hardware keyboards. The primary standard layout is implemented as 
// the "std" variant. If you're determined to get cedillas as in ISO-8859-2  
// (and not commabelow accents as in ISO-8859-16) use the defined variants 
// "cedilla" for the default layout or "std_cedilla" for the standard one. 
// Pre-Vista MS compatible layout included (use the "winkeys" variant).
// 
// Created by Cristian Gafton, <gafton@redhat.com> (C) 2000
// Modified by Marius Andreiana, <mandreiana@yahoo.com> (C) 2001
// Completed by Misu Moldovan, <dumol@gnome.ro> (C) 2001, 2004-2008.
// v 1.4


The following 8 variants are supported:


[doktor5000@Mageia5]â[23:55:01]â[~] grep xkb_symbols /usr/share/X11/xkb/symbols/ro
xkb_symbols "qwertz" {
xkb_symbols "basic" {
xkb_symbols "cedilla" {
xkb_symbols "std" {
xkb_symbols "std_cedilla" {
xkb_symbols "winkeys" {
xkb_symbols "crh_dobruja" {
xkb_symbols "ergonomic" {
        xkb_symbols "sun_type6" {

CC: (none) => doktor5000
Component: New RPM package request => RPM Packages
Hardware: x86_64 => All
Version: 5 => Cauldron
Summary: Re-Add Romanian "Programmers" Keyboard to Mageia 5 => Re-Add Romanian "Programmers" Keyboard Layout

Comment 2 Florian Hubold 2015-12-15 00:08:57 CET
@Triage team:

Not much to do, as the keyboard layout is available already but cannot be easily configured via our tools, see above comment on how to do it manually.

The problem that I see is that keyboarddrake only offers Romanian (QWTERY) and Romanian (QWTERZ) layouts ... I think there's some old longstanding bug that it doesn't offer all layouts that are available, but not bug 1042.
Marja mentioned this general problem in https://bugs.mageia.org/show_bug.cgi?id=15732#c2

CC: (none) => marja11

Comment 3 Brad Fonseca 2015-12-15 03:50:00 CET
I have successfully loaded the "ro 'cedilla' " variant as per the given workaround and it works as expected and desired.

This leaves the issue with keyboarddrake not displaying all keyboard options available still outstanding.
Comment 4 Marja Van Waes 2015-12-15 08:29:51 CET
In http://gitweb.mageia.org/software/drakx-kbd-mouse-x11/tree/lib/keyboard.pm there's:

 "ro_qwertz" => [ N_("_: keyboard\nRomanian (qwertz)"), "ro2",         "ro(winkeys)", 0 ],
 "ro" => [ N_("_: keyboard\nRomanian (qwerty)"), "ro",           "ro(std_cedilla)", 0 ],

So nothing matches (from /usr/share/X11/xkb/symbols/ro):

 xkb_symbols "cedilla" {
     // Variant of the basic layout with cedillas.
     // Implements S and T with cedilllas as in ISO-8859-2.
     // Included for compatibility reasons (this used to be the def variant).

     include "ro(basic)"

(Which Florian found as solution and which works for Brad)

It can be tried to add the following to keyboard.pm
 "ro_cedilla" => [ N_("_: keyboard\nRomanian (cedilla)"), "ro_win",           "ro(cedilla)", 0 ],


(Assuming /usr/lib/kbd/keymaps/i386/qwerty/ro_win.map.gz is the matching one for use in a VT or when X wasn't installed)

And then, also in keyboard.pm:

  'ro'  => 'ro:80 ro_qwertz:40 us_intl:10',

could be changed into e.g.:

  'ro'  => 'ro:80 ro_qwertz:40 ro_cedilla:20 us_intl:10',

to get it among the available keyboards in the first keyboard choice screen in installer.

@ Brad

Is /usr/lib/kbd/keymaps/i386/qwerty/ro_win.map.gz the best matching keyboard to use in a text TTY?

Keywords: (none) => NEEDINFO
CC: (none) => thierry.vignaud
Source RPM: (none) => drakx-kbd-mouse-x11

Comment 5 Brad Fonseca 2015-12-15 14:46:38 CET
@ Marja

I'm afraid I don't quite understand your question. Sorry, I'm not the most experienced user of Linux. :(
Comment 6 Marja Van Waes 2015-12-17 08:13:42 CET
(In reply to Brad Fonseca from comment #5)
> @ Marja
> 
> I'm afraid I don't quite understand your question. Sorry, I'm not the most
> experienced user of Linux. :(

No problem.

When I find time I'll compare the kbd keymaps to find the one that best matches the ro_cedilla xkb one
Comment 7 Marja Van Waes 2016-06-05 19:49:16 CEST
(In reply to Marja van Waes from comment #6)

> 
> When I find time I'll compare the kbd keymaps to find the one that best
> matches the ro_cedilla xkb one

Sorry, I do not have time to really compare.

It seems that this one is needed:
/usr/lib/kbd/keymaps/i386/qwerty/ro.map.gz

because at the top of the file it states:

# ro.map - A romanian keymap also known as programmers style (with alt gr as modifier) [i386-qwerty]
# From diacritice.ro
# English:
# This one uses the correct Šand ţ with comma below but many fonts don't have
# these character, so we keep it as an option for now

However, Brad is using a cedilla variant: 

(In reply to Brad Fonseca from comment #3)
> I have successfully loaded the "ro 'cedilla' " variant as per the given
> workaround and it works as expected and desired.
> 
> This leaves the issue with keyboarddrake not displaying all keyboard options
> available still outstanding.

@ Brad, 

You never said whether

   setxbmap ro -variant basic

gives a correct keymap, too. IIUC, it would give the same keymap as you have now, but with comma below instead of cedilla below.
Comment 8 Thierry Vignaud 2016-06-05 22:25:22 CEST
Most users don't care about ttys, so if keyboard layout is inperfect in text mode, that's not so bad.
We can already provide the right keyboard layout under Xorg.
Can you commit your suggestions Marja?

Pablo, WDYT?

CC: (none) => pablo

Comment 9 Mageia Robot 2016-06-05 23:33:45 CEST
commit 96e4216d8bbccf94105dd96eec281763d766aba9
Author: Marja van Waes <marja@...>
Date:   Sun Jun 5 23:20:35 2016 +0200

    Add the Romanian cedilla programmers keyboard layout (mga#17333)
---
 Commit Link:
   http://gitweb.mageia.org/software/drakx-kbd-mouse-x11/commit/?id=96e4216d8bbccf94105dd96eec281763d766aba9
Comment 10 Marja Van Waes 2016-06-06 16:23:55 CEST
(In reply to Mageia Robot from comment #9)
> commit 96e4216d8bbccf94105dd96eec281763d766aba9
> Author: Marja van Waes <marja@...>
> Date:   Sun Jun 5 23:20:35 2016 +0200
> 
>     Add the Romanian cedilla programmers keyboard layout (mga#17333)
> ---
>  Commit Link:
>   
> http://gitweb.mageia.org/software/drakx-kbd-mouse-x11/commit/
> ?id=96e4216d8bbccf94105dd96eec281763d766aba9

@ Dan-Marian JoiÈa

Sorry, I should have CC'ed you long ago, because you're a leader of our Romanian translation team and because I'm almost sure that you were not amused when I wrote "JoiÈa" with a cedilla, so as "JoiÅ£a", instead of with a "È".

Feel free to give feedback.


@ Thierry & Pablo & Docteam

I'm aware that perfect matches between xkb and kbd keyboard lay-outs often don't exist. My concern is about those rare cases when a user must login in text mode, because X is unavailable: it'll drive him crazy, if his password no longer works because it is impossible to type a "Å£" or another character in his password. 
I think many keyboards have similar problems. E.g. when using a Dutch keyboard, the kbd layout switches the [ and the ] as compared to the real keyboard and the xkb layout.

We should maybe add a line about imperfect matches between xkb and kbd layouts to the troubleshooting section in our Manual. 
CC'ing documentation team

CC: (none) => djmarian4u

Marja Van Waes 2016-06-06 16:24:09 CEST

Keywords: NEEDINFO => (none)

Comment 11 Brad Fonseca 2016-06-06 17:02:41 CEST
@Marja van Waes:

>You never said whether
>
>   setxbmap ro -variant basic

>gives a correct keymap, too. IIUC, it would give the same keymap as you have now, but with comma below instead of cedilla below.

Sorry, I didn't follow up on this when I should have. In the forum thread I mentioned earlier in this bug thread (https://forums.mageia.org/en/viewtopic.php?f=10&t=3849#p61276) I actually looked into the comma versus cedilla issue with Romanian special characters:

<quoted text from forum thread>
As additional background I found this article:  http://kitblog.com/2008/10/romanian_diacritic_marks.html This gist of it is that the correct Romanian form of the 's' and 't' is with a comma underneath and NOT a cedilla. Therefore, the correct keyboard layout for Romanian is the "basic" which gives you 'È', 'È', 'Ä' ,'â', and 'î' in the correct form as per the International Standard ISO/IEC 8859-16 (Latin 10). 

Using the information provided in Bug 17333, I've now set my keyboard to "ro 'basic' " to be the most correct.

I am learning new stuff about this every day it seems...
<end-quote>

Therefore, the correct Romanian keyboard layout is the "basic" one. I have set my keyboard layout using

    setxbmap ro -variant basic

and things are working as expected. Based on the above information, I'm not sure Mageia needs to include the "cedilla" variant as it isn't considered correct.
Comment 12 Mageia Robot 2016-06-06 18:01:51 CEST
commit 68041abd407e89679d4499440ceed339881f4d60
Author: Marja van Waes <marja@...>
Date:   Mon Jun 6 18:01:38 2016 +0200

    replace just added cedilla layout with ro basic, see comment 11 (mga#17333)
---
 Commit Link:
   http://gitweb.mageia.org/software/drakx-kbd-mouse-x11/commit/?id=68041abd407e89679d4499440ceed339881f4d60
Comment 13 Marja Van Waes 2016-06-06 18:04:56 CEST
@ Brad

Thanks for the feedback, what you said matches what djmarian told me in the past, and it fixes the problem with passwords I talked about.
Comment 14 Marja Van Waes 2016-06-16 20:43:10 CEST
Fixed in drakx-kbd-mouse-x11-1.10-1.mga6

Status: NEW => RESOLVED
Resolution: (none) => FIXED


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