impossible to add more than two keyboard layouts

Bug #686573 reported by Ernst Tremel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xkeyboard-config (Ubuntu)
New
Undecided
Unassigned

Bug Description

Binary package hint: xkeyboard-config

I'm using Ubuntu 10.10

I tried to make myself an "AvestanTranscription" keyboard layout.

Code:
/////////////////////////////////////////////////////////////////////////////////
//
// Generated keyboard layout by typing in each UnicodeCode point manually by Ernst Tremel
//

partial default alphanumeric_keys
xkb_symbols "avestantranscription"
{
 name[Group1] = "Germany - AvestanTranscription";

 key <AB01> { [ U007A, U017E ] }; // z ž
 key <AB02> { [ U0078, UE205 ] }; // x ?
 key <AB03> { [ U0063, U010D ] }; // c c
 key <AB04> { [ U0076, UE206 ] }; // v ?
 key <AB05> { [ U0062, U0077 ] }; // b w
 key <AB06> { [ U006E, U1E47 ] }; // n ?
 key <AB07> { [ U006D, UE20B ] }; // m ?
 key <AB08> { [ U2025, U3002 ] }; // ? ?
 key <AB09> { [ U22C5, U2024 ] }; // · ·
 key <AB10> { [ U2219, U002E ] }; // · .

 key <AC01> { [ U0061, U0101 ] }; // a a
 key <AC02> { [ U0073, U0161 ] }; // s š
 key <AC03> { [ U0064, U03B4 ] }; // d d
 key <AC04> { [ U0066, U03B3 ] }; // f ?
 key <AC05> { [ U0067, U0121 ] }; // g g
 key <AC06> { [ U0068, UE105 ] }; // h ?
 key <AC07> { [ U006A, UE209 ] }; // j ?
 key <AC08> { [ U006B, U0135 ] }; // k j
 key <AC09> { [ U006C, UE221 ] }; // l ?
 key <AC10> { [ U003B, U003A ] }; // ; :
 key <AC11> { [ UE207, U1E6F ] }; // ? ?

 key <AD01> { [ U014B, UE208 ] }; // ? ?
 key <AD02> { [ UE20D, UE20C ] }; // ? ?
 key <AD03> { [ U0065, U0113 ] }; // e e
 key <AD04> { [ U0072, UE20A ] }; // r ?
 key <AD05> { [ U0074, U03B8 ] }; // t ?
 key <AD06> { [ U0079, U1E8F ] }; // y ?
 key <AD07> { [ U0075, U016B ] }; // u u
 key <AD08> { [ U0069, U012B ] }; // i i
 key <AD09> { [ U006F, U014D ] }; // o o
 key <AD10> { [ U0070, U01DD ] }; // p ?
 key <AD11> { [ U0259, UE204 ] }; // ? ?
 key <AD12> { [ U00E5, UE20E ] }; // å ?

 key <TILDE> { [ UE107, UE225 ] }; // ? ??
 key <AE01> { [ U0031, U015B ] }; // 1 s
 key <AE02> { [ U0032, U1E63 ] }; // 2 ?
 key <AE03> { [ U0033, UE108 ] }; // 3 ?
 key <AE04> { [ U0034, U03D1 ] }; // 4 ?
 key <AE05> { [ UE104, UE222 ] }; // ? ?
 key <AE06> { [ UE220, UE223 ] }; // ? ?
 key <AE07> { [ U03B2, UE224 ] }; // ß ?
 key <AE08> { [ UE109, U00E3 ] }; // ? ã
 key <AE09> { [ UE10A, UE10C ] }; // ? ?
 key <AE10> { [ U0030, UE106 ] }; // 0 ?
 key <AE11> { [ U03C5, UE10E ] }; // ? ?
 key <AE12> { [ UE10B, UE10D ] }; // ? ?

 key <BKSL> { [ U0105, UE203 ] }; // a ?
 key <LSGT> { [ U0105, UE203 ] }; // a ?
};

I proceded like this:
avestantranscription.txt

How can you use it?

1. Add avestantranscription.txt at the end of /usr/share/X11/xkb/symbols/de

sudo gedit /usr/share/X11/xkb/symbols/de

in order to open (as administrator) the 'de' layout, and paste the contents of avestantranscription.txt at the end of the 'de' file. Click Save and exit.

2. Register the new 'avestantranscription' layout in evdev.xml and base.xml.

Both files have a section that looks like the following. Do a simple search for 'dsb_qwertz' or some other string in order to find the segment.

Code:
        <variant>
          <configItem>
            <name>dsb_qwertz</name>
            <description>Lower Sorbian (qwertz)</description>
            <languageList><iso639Id>dsb</iso639Id></languageList>
          </configItem>
        </variant>
        <variant>
          <configItem>
            <name>qwerty</name>
            <description>qwerty</description>
          </configItem>
        </variant>
-----------HERE------------
      </variantList>
    </layout>
    <layout>
      <configItem>
        <name>gr</name>
        <shortDescription>Gre</shortDescription>
        <description>Greece</description>
        <languageList><iso639Id>gre</iso639Id></languageList>
      </configItem>
Open base.xml with
sudo gedit /usr/share/X11/xkb/rules/base.xml
Then open evdev.xml with
sudo gedit /usr/share/X11/xkb/rules/evdev.xml
Replace the '-----------HERE------------' with the following lines:

<variant>
<configItem>
<name>avestantranscription</name>
<description>AvestanTranscription</description>
<languageList><iso639Id>ger</iso639Id></languageList>
</configItem>
</variant>

What we do here is we insert a variant description for the 'avestantranscription' keyboard layout.

Click Save and exit the text edit.

3. Install the font. Follow the steps from http://www.bomahy.nl/hylke/blog/adding-fonts-in-gnome/
which says to install the font in your home directory, in a '.fonts' subdirectory. Normally, Ubuntu will pick up the font as soon as you copy it in there. Any newly started application should be able to use the new font.

4. Finally, add the new AvestanTranscription keyboard layout. Go to System/Preferences/Keyboard/Layouts, click on the [Add..] button and select from the list 'Deutschland' or 'Germany' and layout 'AvestanTranscription'. Click OK. Notice the new keyboard layout indicator on the panel that allows you to switch between English or German and AvestanTranscription.

But after having added the ne keyboard layout I got this error message:
Fehler beim Aktivieren der XKB-Konfiguration.
Dies kann unter folgenden Umständen passieren:
 • ein Fehler in der Bibliothek libxklavier
 • ein Fehler im X-Server (xkbcomp, xmodmap-Werkzeuge)
 • X-Server mit inkompatibler Implementation von libxkbfile

Versionsdaten des X-Servers:
The X.Org Foundation
10900000

Falls Sie dies als Fehler melden, fügen Sie hinzu:
 • das Ergebnis von xprop -root | grep XKB
 • das Ergebnis von gconftool-2 -R /desktop/gnome/peripherals/keyboard/kbd

XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc105", "de,ir", ",avestan", "grp:shift_caps_toggle,grp:ctrl_alt_toggle"
_XKB_RULES_NAMES(STRING) = "evdev", "pc105", "de,ir", ",avestan", "grp:shift_caps_toggle,grp:ctrl_alt_toggle"
ernst@UbuntuErnst:~$ gconftool-2 -R /desktop/gnome/peripherals/keyboard/kbd
 layouts = [de,ir avestan]
 options = [grp grp:shift_caps_toggle,grp grp:ctrl_alt_toggle]
 model =

This occurs every time if I try to add another keyboard layout.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.