← Back to team overview

ubuntu-x-swat team mailing list archive

[Bug 686573] [NEW] impossible to add more than two keyboard layouts

 

Public bug reported:

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.

** Affects: xkeyboard-config (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xkeyboard-config in ubuntu.
https://bugs.launchpad.net/bugs/686573

Title:
  impossible to add more than two keyboard layouts



Follow ups

References