Bug 17505

Summary: official Kyrgyz keyboard layout missing
Product: xkeyboard-config Reporter: Mackenzie Morgan <macoafi>
Component: GeneralAssignee: xkb
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: lowest CC: foranycase, just_ilyas, ztimur
Version: unspecifiedKeywords: NEEDINFO
Hardware: All   
OS: All   
URL: https://bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/198655
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 2608    
Bug Blocks:    
Attachments: The Official Kyrgyz Phonetic and Standard Keyboard Layouts
New patch for kirghiz keyboard
replaced "3" with "№"
full patch
reflects modern keyboard

Description Mackenzie Morgan 2008-09-09 20:09:48 UTC
Created attachment 18790 [details]
The Official Kyrgyz Phonetic and Standard Keyboard Layouts

In 2005 the Government of the Kyrgyz Republic adopted the official keyboard layouts for Kyrgyz language. Unfortunately, the text of the Governmental Regulation is available only in Kyrgyz and Russian languages (http://www.kyrgyz.us/files/jobo.pdf). However, I will try to explain the most important nuances in the document which require change of default keyboard layout in Ubuntu (and generally Linux systems) for the Kyrgyz Language.

The current keyboard layout for the Kyrgyz language for Linux systems has been written by Russian programmers on the basis of default layout for the Russian language. Currently, it is simply a copy-pasted Russian layout with characters specific to Kyrgyz language put to the third level access keys. Kyrgyz Cyrillic layout has some extra letters (Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_o_bar, Cyrillic_O_bar) specific to Kyrgyz language, which are used more often in comparison with some characters specific to Russian language (Cyrillic_ya, Cyrillic_YA, Cyrillic_yu, Cyrillic_YU, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_shcha, Cyrillic_SHCHA, Cyrillic_tse, Cyrillic_TSE, Cyrillic_io, Cyrillic_IO, Cyrillic_softsign, Cyrillic_SOFTSIGN, Cyrillic_ie, Cyrillic_IE). In fact last letters specific to Russian language are non-existent in Kyrgyz language and are used only to write Russian words.

The main purpose of the Regulation was to eliminate uncomfortable use of Russian keyboard layout for Kyrgyz language and to come up with the first official Kyrgyz layout. The regulation was developed during years of 2004 and 2005 by the Agency of Science and Intellectual Property under the Government of the Kyrgyz Republic with participation of UNDP and Soros Foundation.

The proposed keyboard layout offers exactly the same Standard and Phonetic Kyrgyz Keyboard layouts which were presented by the Regulation. It positions three specific to Kyrgyz language characters to the first level of keyboard (direct access without pressing any auxiliary keys) and saves some specific to Russian language letters to less frequently used keys of the keyboard.
Comment 1 Sergey V. Udaltsov 2008-09-10 13:11:23 UTC
Thanks for your help - but your kg file does not apply cleanly to the current git version. Also, could you please follow the rules (http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Rules). Especially in relation to base.xml.in - files xorg.xml and xorg.lst are generally useless for me.

Thank you again.
Comment 2 Mackenzie Morgan 2008-09-10 13:29:25 UTC
Linking this to the bug report from Ubuntu's Launchpad.net bugtracker.

I'm sorry, but I don't know how to provide that information.  I'm hoping the original reporter can do so.
Comment 3 Alex Shaposhnik 2009-02-26 22:38:16 UTC
Dear Sergey,

Thanks for your comment. Unfortunately I am not a coder to develop and offer clean version. Nevertheless the problem for Kyrgyz users persists - the current layout for Kyrgyz language is just a copy-paste of Russian keyboard and three specific to Kyrgyz language letter are missing from it. Moreover, there is officially adopted layout for Kyrgyz keyboard and we really need to get it into Linux based OSs. What can be done in this situation? Thanks again!
Comment 4 Sergey V. Udaltsov 2009-02-27 12:56:53 UTC
> specific to Kyrgyz language letter are missing from it. Moreover, there is
> officially adopted layout for Kyrgyz keyboard and we really need to get it into
> Linux based OSs. What can be done in this situation? Thanks again!
I guess the simplest thing would be finding someone speaking Kyrgyz and asking him for a help. But really, putting layout together is not difficult, look at symbols/ky and I am sure you'll understand the idea! If you prepare some draft version, we can discuss it here.

Comment 5 Ilyas Bakirov 2009-03-01 19:50:37 UTC
Hi all,

Glad to see new users who are interested in kirghiz keyboard. I, Timur and with help of Mashrab and Pablo created kirghiz keyboard layout for MandivaLinux and issued requests in both Xorg and Xfree86, so our work could be used by other Unix OS.I also worked on kirghiz console keyboard layout, and it was in MandrivaLinux, but russian users offers his version and their work in kbd project. I'm trying to contact with AEN, but no luck.Our works has been tested and actively used among kirghiz UUG.  We worked on kirghiz locale, some translation projects and we actively use kirghiz layout in our Open Source projects. We use direct access keys for kirghiz 3 letters. Yes, it was based on russian, so kirghiz language has russian + 3 kirghiz letters. So you don't need to press two keys to get one of kirghiz letters.  But, somehow Yury Fedorov changed our work with his version, which was adopted from Windows where for kirghiz letter Cyrillic_u_straight you have to press (Altgr+E) which is not comfortable and so for other letters. We discussed with him, but he insisted in his work. So, these work left for the future and any suggestions are welcome.

You can get more info: http://bugs.freedesktop.org/show_bug.cgi?id=2608

Now, I see is the time to regulate kirghiz standard keyboard layout and create one version for Unix OS. Your link with jobo.pdf is not working, so I can't check it out. Please contact with us so we can talk and discuss this issue and I hope we will solve and close questions. So, for now I will check your work.

Alex,

>Dear Sergey,

>Thanks for your comment. Unfortunately I am not a coder to develop and offer
>clean version. Nevertheless the problem for Kyrgyz users persists - the current
>layout for Kyrgyz language is just a copy-paste of Russian keyboard and three
>specific to Kyrgyz language letter are missing from it. Moreover, there is
>officially adopted layout for Kyrgyz keyboard and we really need to get it into
>Linux based OSs. What can be done in this situation? Thanks again!

Which kirghiz keyboard layout do you mean? And please mail us on private e-mails about official kirghiz keyboard, and their authors. 



Comment 6 Ilyas Bakirov 2009-03-01 20:01:26 UTC
One more question, who is Ulan Melisbek <ulan.melisbek [o]gmail.com> in your work? I can't find any instructions on www.kyrgyzcha.org. 
Comment 7 Alex Shaposhnik 2009-03-01 21:00:54 UTC
Ulan Melisbek is the Director of Kyrgyzpatent (Intellectual Property Office). Guys, please do not improvise  - there is solid research done by participation of Kyrgyz Government and UN, so you can not ignore it. 
Comment 8 Alex Shaposhnik 2009-03-01 23:12:14 UTC
> Which kirghiz keyboard layout do you mean? And please mail us on private
> e-mails about official kirghiz keyboard, and their authors. 

Please, download the file from: http://www.kyrgyz.us/files/jobo.pdf 

Comment 9 Alex Shaposhnik 2009-03-01 23:53:22 UTC
> But really, putting layout together is not difficult, look at
> symbols/ky and I am sure you'll understand the idea! If you prepare some draft
> version, we can discuss it here.

Thanks again! Where should I look for symbols/ky? Basically, Kyrgyz letters should be placed in the following ways for standard and phonetic layouts:

Standard          Phonetic

ё1234567890өң     ё1234567890яю
Ё!"#*:,.;()ӨҢ     Ё!"3;%:?-()ЯЮ

йцукенгшщзхъү     өүертыуиопчшъ
фывапролджэ       асдфгңйклэь
ячсмитьбю/(?)     зхжвбнмцщ.(,) 

You can see graphical representations of both of the layouts on http://www.kyrgyz.us/files/jobo.pdf (page 47 (Osnovnaya and Phoneticheskaya)).
Comment 10 Ilyas Bakirov 2009-03-02 00:01:47 UTC
Alex Shaposhnik: no one ignores your work, we are trying to discuss and make decision, please don't think so. By agreement of people who spent time and effort for this problem, we can finally solve this issue. 

I checked new work, and I agree with standard keyboard layout. This layout is based on our Timur's work which we use.

So, some changes must be done.I suggest to rename "standard" to "basic" and to be first in order, then goes phonetic layout. kbd now uses geographical names and "Kyrgyz" renamed with "Kyrgyzstan". I can create patch against git with these modifications, and if all agree with this patch, Sergey pls commit it.
Comment 11 Ilyas Bakirov 2009-03-02 00:05:14 UTC
Created attachment 23430 [details] [review]
New patch for kirghiz keyboard
Comment 12 Sergey V. Udaltsov 2009-03-02 12:31:14 UTC
I am ready to commit if everyone is happy.  Mackenzie, Alex?
Comment 13 Mackenzie Morgan 2009-03-02 13:22:28 UTC
I don't speak Kyrzgyz. I just forwarded the bug from Ubuntu.
Comment 14 Alex Shaposhnik 2009-03-05 11:05:56 UTC
Ilyas, thank you very much for your efforts. I really did not want to make an impression that I was judging or criticizing. The only request was to ask you please to credit the officially adopted keyboard layouts.

I support your suggestion to rename 'standard' to 'basic'. And please let me allow a day or two to install and test if your patch fully reflects the officially adopted layout.

What you say about phonetic layout? Can you please make a patch for it too?

Thanks again!
Comment 15 Ilyas Bakirov 2009-03-05 23:59:01 UTC
My patch has both standard and phonetic. No other changes made. I tested both standard and phonetic on my Mandriva Linux box, it works fine. So, you can test it too. Thanks for your work
Comment 16 Ilyas Bakirov 2009-03-06 02:20:30 UTC
Also, I want to say that patch consists of your work. I just changed some options I wrote earlier and created patch against git version, so new version will be easy to commit. Thanks for your work.
Comment 17 Alex Shaposhnik 2009-03-06 05:19:50 UTC
Ilyas, I use Ubuntu Intrepid Ibex. Can you please advice how and where exactly I apply the patch.
Comment 18 Ilyas Bakirov 2009-03-06 06:39:25 UTC
Reply with instructions is sent to your private mail, please check
Comment 19 Alex Shaposhnik 2009-03-07 13:01:32 UTC
Ilyas, thanks for instructions.

1) I followed them and successfully have tested basic (standard) layout. Unfortunately, phonetic does not work.

I have the following lines in /etc/X11/xorg.conf

######################################
Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,kg(phonetic)"
Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
EndSection
########################################

and I restarted all the system, but alas it does not switch to phonetic layout. Can you check what might be wrong, please?

2) Above I pasted the following for the phonetic layout:
###############################
Phonetic

ё1234567890яю
Ё!"3;%:?-()ЯЮ

өүертыуиопчшъ
асдфгңйклэь
зхжвбнмцщ.(,)
###############################


Of course there is a mistake in line 'Ё!"3;%:?-()ЯЮ'. There should be no numbers in this raw of symbols. Can you please change number '3' in this raw to often used in Kyrgyz language sign '№'?

Thank you once again!
Comment 20 Alex Shaposhnik 2009-03-07 13:16:15 UTC
1) And I really hope, that in the end of the day, two layouts for Kyrgyz Language will work exactly just as layouts for Russian language. For example, if you go in Ubuntu 8.10 (Ubuntu Intrepid Ibex) to

System > Preferences > Keyboard 

and select 'Russian Federation' on the tab 'By country', then you can choose among several options in 'Variants'. I hope for Kyrgyzstan there will be two options in the 'Variants' field:

Kyrgyzstan
Kyrgyzstan Phonetic

2) On the same place (Keyboard Preferences) if you go to tab 'By language', then you can find an option 'Kirghiz; Kyrgyz', which is wrong. Kirghiz is an obsolete name in English for Kyrgyz Language. This denomination can be used in some European languages like probably French, but it English the language is called 'Kyrgyz'. Official name of the country is Kyrgyzstan or Kyrgyz Republic, the same way the language is Kyrgyz. 

Can this be corrected at this stage? Or should I file another report?
Comment 21 Ilyas Bakirov 2009-03-09 21:59:42 UTC
Alex thanks, new changes(replaced "3" with "№") reflected in new patch file.
1- Phonetic layout works on my box. Please check your config, mine:

Section "InputDevice"
    Identifier "Keyboard1"
    Driver "kbd"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "us,kg(phonetic)"
    Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
EndSection

No other changes in xorg.lst and xorg.xml. Try to use this config with original xorg.lst and xorg.xml, and configure X by editing file xorg.conf. I think there may be some mistakes in GUI configurations.

2- I suggest to use ISO code names and no one will be confused about "Kirghiz" and "Kyrgyz" names, both are legal as "Kyrgyzstan" and "Kyrgyz Republic". In Internet our country is shown like "Kyrgyzstan", except some post Soviet countries where republic is used. See http://www.loc.gov/standards/iso639-2/php/English_list.php All foreign translations(non kyrgyz native speakers) translate kyrgyz language according to ISO code, and I agree to use as in ISO standards for now. In future I hope some changes in ISO names will occur.

Sergey, do we need other changes for kirghiz language with two layouts? (basic and phonetic). I think we should add new entry in base.xml.in for phonetic layout, if patch applied.
Comment 22 Ilyas Bakirov 2009-03-09 22:00:24 UTC
Created attachment 23713 [details] [review]
replaced "3" with "№"
Comment 23 Sergey V. Udaltsov 2009-03-10 04:03:34 UTC
Your patch is generally ok. Just a couple of things:

1. You forgot the spaces
name[Group1]="Kyrgyzstan - Phonetic";

2. May be, you'd include the parts for base.xml.in as well?

3. If you create proper git patch, your name would appear in the commit log;)

These are small things, I can do them myself if you want (if you do not want to mess with git) - just let me know.
Comment 24 Alex Shaposhnik 2009-03-10 10:45:37 UTC
Ilyas, I am trying to apply the second patch and unfortunately does not go very well. After entering 'patch -p0 < file.patch' it just hangs there forever. Checking symbols/kg shows the following (I hope this is an original kg-file): 

// $XKeyboardConfig: xkeyboard-config/symbols/kg,v 1.3 2004-12-22 22:55:55 svu Exp $

// based on
// russian standard keyboard
// Yury Fedorov <yury-fedorov@prime-task.com>
// Last Changes 2004/10/25 by Yury Fedorov <yury-fedorov@prime-task.com>
//
// $XFree86: xc/programs/xkbcomp/symbols/pc/kg,v 0.0 Exp $

partial default alphanumeric_keys
xkb_symbols "basic" {

    include "ru(winkeys)"

    name[Group1]= "Kyrgyzstan";

    key.type[group1]="FOUR_LEVEL_ALPHABETIC";

    key <AC07> { [      Cyrillic_o,             Cyrillic_O,
                        Cyrillic_o_bar,         Cyrillic_O_bar  ] };
    key <AD03> { [      Cyrillic_u,             Cyrillic_U,
                        Cyrillic_u_straight,    Cyrillic_U_straight     ] };
    key <AD06> { [      Cyrillic_en,            Cyrillic_EN,
                        Cyrillic_en_descender,  Cyrillic_EN_descender   ] };

    include "level3(ralt_switch)"
};
Comment 25 Ilyas Bakirov 2009-03-11 02:10:25 UTC
Alex check your private mail.

Sergey, I agree with you and let work done by professional ;) Waiting last word from Alex
Comment 26 Alex Shaposhnik 2009-03-11 22:30:23 UTC
Ilyas, I have replaced kg file with one that you sent to me. And I also added the following lines in the end of xorg.conf file:


Section "InputDevice"
    Identifier "Keyboard1"
    Driver "kbd"
    Option "XkbModel" "pc105"
    Option "XkbLayout" "us,kg(phonetic)"
    Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
EndSection

After this I restarted the system, but however unfortunately phonetic keyboard does not come up. When switching to Kyrgyzstan (btw another problem: keyboard indicator shows 'Kir') it types in only basic layout. Going to and checking Keyboard Preferences provides only one variant - Kyrgyzstan - when it was expected to give also second variant Kyrgyzstan Phonetic.

What I might be doing wrong?

Thank you for your patience,

Alex
Comment 27 Alex Shaposhnik 2009-03-14 23:16:20 UTC
Just an update: Ilyas helped me to find out that the patch works for X-box, but GNOME, which I am using and which is, I am afraid, the default interface when Ubuntu installs. So I do hope that at this stage the problem will be solved for GNOME users too. Or should we apply the patch for X-box users and consider the same problem for GNOME users in another bug report branch?
Comment 28 Alex Shaposhnik 2009-03-14 23:31:44 UTC
In case if someone will try to fix this problem for GNOME users too, let me inform that when I run 'xprop -root | grep XKB' it gives:

_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "us", "", "grp:ctrl_shift_toggle,grp_led:scroll"
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us,kg", ",", "grp:alt_shift_toggle,grp_led:scroll"

running 'gconftool-2 -R /desktop/gnome/peripherals' gives: 

 options = []
 model = 
 layouts = []
Comment 29 Alex Shaposhnik 2009-03-14 23:38:59 UTC
Sorry for flooding, but according to page 3 of Sergey's instructions at http://gswitchit.sourceforge.net/gnome_xkb_tsh.pdf after applying Ilyas' patch 'xprop -root | grep XKB' was supposed to give something like:

_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "us,kg", "phonetic",
"grp:ctrl_shift_toggle,grp_led:scroll"
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us,kg", ",phonetic", "grp:alt_shift_toggle,grp_led:scroll"

Instead it gives for me:

_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "us", "", "grp:ctrl_shift_toggle,grp_led:scroll"
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us,kg", ",", "grp:alt_shift_toggle,grp_led:scroll"
Comment 30 Sergey V. Udaltsov 2009-03-15 07:57:34 UTC
> _XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "us", "",
> "grp:ctrl_shift_toggle,grp_led:scroll"
You can really ignore the BACKUP string

> _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us,kg", ",",
> "grp:alt_shift_toggle,grp_led:scroll"
That's what matters. And it seems to be ok - at least it says it tried to configure 2 layouts (us,kg) and succeeded (otherwise it would not set that variable). 

Comment 31 Ilyas Bakirov 2009-03-15 20:44:17 UTC
Created attachment 23895 [details] [review]
full patch

Last patch with last changes and base.xml.in phonetic entry. Tested variants on both GNOME and KDE (kkbswitcher) keyboard indicators. On KDE it works perfectly, on GNOME shows both variant but there is error which should be resolved. It's not kirghiz keyboard layout error, just program's error. Alex got the same error message in Ubuntu keyboard configuration. I tested Uzbek layout and got the same error message
Comment 32 Ilyas Bakirov 2009-03-15 20:49:28 UTC
Following error message pop-ups on Ubuntu where GNOME is used:

> Error activating XKB configuration.
> It can happen under various circumstances:
> - a bug in libxklavier library
> - a bug in X server (xkbcomp, xmodmap utilities)
> - X server with incompatible libxkbfile implementation
>
> X server version data:
> The X.Org Foundation
> 10502000
>
> If you report this situation as a bug, please include:
> - The result of xprop -root | grep XKB
> - The result of gconftool-2 -R /desktop/gnome/peripherals/keyboard/kbd


Comment 33 Sergey V. Udaltsov 2009-03-16 02:18:48 UTC
Applied your patch. No issues with Ubuntu 8.10.

Two things I had to change:

1. in base.xml.in changed <description> to <_description> (for localization to work)
2. (based on your base.xml.in patch) in symbols/kg made "basic" default variant, not "phonetic"

Committed. Please base all subsequent patches on the current state.
Comment 34 Ilyas Bakirov 2009-03-16 02:29:39 UTC
(In reply to comment #33)
> Applied your patch. No issues with Ubuntu 8.10.
> 
> Two things I had to change:
> 
> 1. in base.xml.in changed <description> to <_description> (for localization to
> work)
> 2. (based on your base.xml.in patch) in symbols/kg made "basic" default
> variant, not "phonetic"
> 
> Committed. Please base all subsequent patches on the current state.
> 

About 2nd option, that's what I wanted :). Thanks
Comment 35 Sergey V. Udaltsov 2009-03-16 02:46:55 UTC
About that issue with ubuntu:
What is the version? Try to restart gnome-settings-daemon. Or even kill it and then start manually in the terminal (with "export XKL_DEBUG=160") - it might explain some issues.
Comment 36 Ilyas Bakirov 2009-04-12 10:50:03 UTC
Minor changes made which reflects modern keyboards used nowadays. In Kyrgyzstan people used to type on Russian layout and still use. Almost every keyboard comes with Russian layout, so for Kirghiz layout no need to create different one when we can mark only 3 letters. Less work on creation Kirghiz keyboard in the future :)
Comment 37 Ilyas Bakirov 2009-04-12 10:51:37 UTC
Created attachment 24729 [details] [review]
reflects modern keyboard
Comment 38 Sergey V. Udaltsov 2009-04-14 15:32:02 UTC
(In reply to comment #37)
> Created an attachment (id=24729) [details]
> reflects modern keyboard
> 

Committed, thanks!
Comment 39 Alex Shaposhnik 2009-04-19 05:22:39 UTC
(In reply to comment #37)
> Created an attachment (id=24729) [details]
> reflects modern keyboard
> 
Ilyas, does this last change preserve Kyrgyz Phonetic Keyboard also?
Comment 40 Ilyas Bakirov 2009-04-19 07:34:43 UTC
No changes for phonetic layout made, don't worry :)
Comment 41 Alex Shaposhnik 2009-04-28 00:24:05 UTC
(In reply to comment #40)
> No changes for phonetic layout made, don't worry :)
> 

Thank you very much, Ilyas and all the others who contributed in solving this issue. I have just upgraded to Ubuntu Desktop Edition 9.04 and everything works perfectly. There is not GNOME issue anymore.

However, there is another slight problem related to Kyrgyz Keyboard and since it is not about layout I have created new ticket: 
https://bugs.freedesktop.org/show_bug.cgi?id=21451 Please, everybody interested look at it.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.