diff --git a/xkeyboard-config-1.4-tj-variant.patch b/xkeyboard-config-1.4-tj-variant.patch
new file mode 100644
index 0000000..3dd5b8a
--- /dev/null
+++ b/xkeyboard-config-1.4-tj-variant.patch
@@ -0,0 +1,291 @@
+diff --git a/rules/base.xml.in b/rules/base.xml.in
+index 5040879..5b12f9f 100644
+--- a/rules/base.xml.in
++++ b/rules/base.xml.in
+@@ -3594,7 +3594,20 @@ i
+ <_description>Tajikistan
+ tgk
+
+-
++
++
++
++ std
++ <_description>Standard
++
++
++
++
++ legacy
++ <_description>Legacy
++
++
++
+
+
+
+diff --git a/symbols/tj b/symbols/tj
+index f07b290..d9e5ff6 100644
+--- a/symbols/tj
++++ b/symbols/tj
+@@ -76,3 +76,140 @@ xkb_symbols "basic" {
+ // End alphanumeric section
+
+ };
++// 17/07/2008
++// -------------------------------------------------------------
++// Standard Tojiki Keyboard Layout, Official Standard
++// -------------------------------------------------------------
++// Created by Victor Ibragimov
++// Tajik Fedora & Software Localization Team
++// -------------------------------------------------------------
++// DUAL INPUT METHOD
++// --------------------------------------------------------------------
++// -------------- Tajiki Official Keyboard Layout----------------------
++// --------------------------------------------------------------------
++//
++
++partial alphanumeric_keys
++xkb_symbols "std"
++{
++ name[Group1] = "Tajikistan - Standard";
++
++ include "keypad(comma)"
++ include "level3(ralt_switch)"
++
++ key { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я
++ key { [ Cyrillic_che, Cyrillic_CHE ] }; // ч Ч
++ key { [ Cyrillic_es, Cyrillic_ES ] }; // с С
++ key { [ Cyrillic_em, Cyrillic_EM ] }; // м М
++ key { [ Cyrillic_i, Cyrillic_I ] }; // и И
++ key { [ Cyrillic_te, Cyrillic_TE ] }; // т Т
++ key { [ 0x10004e3, 0x10004e2 ] }; // ӣ Ӣ
++ key { [ Cyrillic_be, Cyrillic_BE ] }; // б Б
++ key { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю
++ key { [ period, comma ] }; // . ,
++ key { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф
++ key { [ 0x10004b7, 0x10004b6 ] }; // ҷ Ҷ
++ key { [ Cyrillic_ve, Cyrillic_VE ] }; // в В
++ key { [ Cyrillic_a, Cyrillic_A ] }; // а А
++ key { [ Cyrillic_pe, Cyrillic_PE ] }; // п П
++ key { [ Cyrillic_er, Cyrillic_ER ] }; // р Р
++ key { [ Cyrillic_o, Cyrillic_O ] }; // о О
++ key { [ Cyrillic_el, Cyrillic_EL ] }; // л Л
++ key { [ Cyrillic_de, Cyrillic_DE ] }; // д Д
++ key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж
++ key { [ Cyrillic_e, Cyrillic_E ] }; // э Э
++ key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й
++ key { [ 0x100049b, 0x100049a ] }; // қ Қ
++ key { [ Cyrillic_u, Cyrillic_U ] }; // у У
++ key { [ Cyrillic_ka, Cyrillic_KA ] }; // к К
++ key { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е
++ key { [ Cyrillic_en, Cyrillic_EN ] }; // н Н
++ key { [ Cyrillic_ghe, Cyrillic_GHE ] }; // г Г
++ key { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш
++ key { [ 0x10004b3, 0x10004b2 ] }; // ҳ Ҳ
++ key { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З
++ key { [ Cyrillic_ha, Cyrillic_HA ] }; // х Х
++ key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ
++ key { [ 1, exclam, 0x10000a7 ] }; // 1 ! §
++ key { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « »
++ key { [ 3, numerosign ] }; // 3 №
++ key { [ 4, semicolon ] }; // 4 ;
++ key { [ 5, percent ] }; // 5 %
++ key { [ 6, colon, 0x1002013 ] }; // 6 : –
++ key { [ 7, question, ampersand ] }; // 7 ? &
++ key { [ 8, asterisk ] }; // 8 *
++ key { [ 9, parenleft ] }; // 9 (
++ key { [ 0, parenright, 0x10000b0 ] }; // 0 ) °
++ key { [ 0x1000493, 0x1000492, minus, underscore ] }; // ғ Ғ - _
++ key { [ 0x10004ef, 0x10004ee, equal, plus ] }; // ӯ Ӯ = +
++ key { [ backslash, slash ] }; // \ /
++ key { [ slash, bar ] }; // / |
++ key { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё
++};
++
++// --------------------------------------------------------------------
++// -------------- Tojiki Rusi Keyboard Layout--------------------------
++// --------------------------------------------------------------------
++// AEN
++// 2001/12/23 by Leon Kanter
++// 2005/12/09 Valery Inozemtsev
++// Pablo Saratxaga (for the dead keys changes)
++// --------------------------------------------------------------------
++
++xkb_symbols "legacy"
++{
++ name[Group1] = "Tajikistan - Legacy";
++
++ include "keypad(comma)"
++ include "level3(ralt_switch)"
++
++ key { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я
++ key { [ Cyrillic_che, Cyrillic_CHE, 0x10004b7, 0x10004b6 ] }; // ч Ч ҷ Ҷ
++ key { [ Cyrillic_es, Cyrillic_ES ] }; // с С
++ key { [ Cyrillic_em, Cyrillic_EM ] }; // м М
++ key { [ Cyrillic_i, Cyrillic_I, 0x10004e3, 0x10004e2 ] }; // и И ӣ Ӣ
++ key { [ Cyrillic_te, Cyrillic_TE ] }; // т Т
++ key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; // ь Ь
++ key { [ Cyrillic_be, Cyrillic_BE ] }; // б Б
++ key { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю
++ key { [ period, comma ] }; // . ,
++ key { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф
++ key { [ Cyrillic_yeru, Cyrillic_YERU ] }; // ы Ы
++ key { [ Cyrillic_ve, Cyrillic_VE ] }; // в В
++ key { [ Cyrillic_a, Cyrillic_A ] }; // а А
++ key { [ Cyrillic_pe, Cyrillic_PE ] }; // п П
++ key { [ Cyrillic_er, Cyrillic_ER ] }; // р Р
++ key { [ Cyrillic_o, Cyrillic_O ] }; // о О
++ key { [ Cyrillic_el, Cyrillic_EL ] }; // л Л
++ key { [ Cyrillic_de, Cyrillic_DE ] }; // д Д
++ key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж
++ key { [ Cyrillic_e, Cyrillic_E ] }; // э Э
++ key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й
++ key { [ Cyrillic_tse, Cyrillic_TSE ] }; // ц Ц
++ key { [ Cyrillic_u, Cyrillic_U, 0x10004ef, 0x10004ee ] }; // у У ӯ Ӯ
++ key { [ Cyrillic_ka, Cyrillic_KA, 0x100049b, 0x100049a ] }; // к К қ Қ
++ key { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е
++ key { [ Cyrillic_en, Cyrillic_EN ] }; // н Н
++ key { [ Cyrillic_ghe, Cyrillic_GHE, 0x1000493, 0x1000492 ] }; // г Г ғ Ғ
++ key { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш
++ key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; // щ Щ
++ key { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З
++ key { [ Cyrillic_ha, Cyrillic_HA, 0x10004b3, 0x10004b2 ] }; // х Х ҳ Ҳ
++ key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ
++ key { [ 1, exclam, 0x10000a7 ] }; // 1 ! §
++ key { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « »
++ key { [ 3, numerosign ] }; // 3 №
++ key { [ 4, semicolon ] }; // 4 ;
++ key { [ 5, percent ] }; // 5 %
++ key { [ 6, colon, 0x1002013 ] }; // 6 : –
++ key { [ 7, question, ampersand ] }; // 7 ? &
++ key { [ 8, asterisk ] }; // 8 *
++ key { [ 9, parenleft ] }; // 9 (
++ key { [ 0, parenright ] }; // 0 )
++ key { [ minus, underscore ] }; // - _
++ key { [ equal, plus ] }; // = +
++ key { [ backslash, slash ] }; // \ /
++ key { [ slash, bar ] }; // / |
++ key { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё
++};
++
+diff --git a/rules/base.xml.in b/rules/base.xml.in
+index 13ba046..c770633 100644
+--- a/rules/base.xml.in
++++ b/rules/base.xml.in
+@@ -3597,12 +3597,6 @@
+
+
+
+- std
+- <_description>Standard
+-
+-
+-
+-
+ legacy
+ <_description>Legacy
+
+diff --git a/symbols/tj b/symbols/tj
+index d9e5ff6..fcb884d 100644
+--- a/symbols/tj
++++ b/symbols/tj
+@@ -1,81 +1,5 @@
+ // $XKeyboardConfig$
+
+-// based on
+-// Tajik keyboard
+-// it is a Russian layout keyboard, with SHCHA replaced with
+-// dead_cedilla/dead_macron
+-// that allows to type the SHCHA with dead_cedilla + SHA
+-// and all the extra Tajik keys:
+-// dead_cedilla + KA, HA --> KA descender, HA descender
+-// dead_macron + I, U, GHE --> I macron, U macron, GHE horizontal stroke
+-// it requires proper dead_cedilla and dead_macron entries in Compose file
+-// it also allows to use Mode_switch when in cyrillic mode to enter
+-// special letters by doing Mode_switch + base letter
+-//
+-// AEN (for the Russian layout)
+-// Pablo Saratxaga (for the dead keys changes)
+-//
+-// 2008-06-22
+-// Changed so that RightAlt allows to type the extra Tajik keys and that
+-// SHCHA is back to normal again
+-
+-
+-partial default alphanumeric_keys
+-xkb_symbols "basic" {
+-
+- name[Group1]= "Tajikistan";
+-
+- key { [ Cyrillic_ya, Cyrillic_YA ] };
+- key { [ Cyrillic_che, Cyrillic_CHE, 0x010004b7, 0x010004b6 ] };
+- key { [ Cyrillic_es, Cyrillic_ES ] };
+- key { [ Cyrillic_em, Cyrillic_EM ] };
+- key { [ Cyrillic_i, Cyrillic_I, 0x010004e3, 0x010004e2 ] };
+- key { [ Cyrillic_te, Cyrillic_TE ] };
+- key { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
+- key { [ Cyrillic_be, Cyrillic_BE ] };
+- key { [ Cyrillic_yu, Cyrillic_YU ] };
+- key { [ slash, question ] };
+- key { [ Cyrillic_ef, Cyrillic_EF ] };
+- key { [ Cyrillic_yeru, Cyrillic_YERU ] };
+- key { [ Cyrillic_ve, Cyrillic_VE ] };
+- key { [ Cyrillic_a, Cyrillic_A ] };
+- key { [ Cyrillic_pe, Cyrillic_PE ] };
+- key { [ Cyrillic_er, Cyrillic_ER ] };
+- key { [ Cyrillic_o, Cyrillic_O ] };
+- key { [ Cyrillic_el, Cyrillic_EL ] };
+- key { [ Cyrillic_de, Cyrillic_DE ] };
+- key { [ Cyrillic_zhe, Cyrillic_ZHE, 0x01000497, 0x01000496 ] };
+- key { [ Cyrillic_e, Cyrillic_E ] };
+- key { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+- key { [ Cyrillic_tse, Cyrillic_TSE ] };
+- key { [ Cyrillic_u, Cyrillic_U, 0x010004ef, 0x010004ee ] };
+- key { [ Cyrillic_ka, Cyrillic_KA, 0x0100049b, 0x0100049a ] };
+- key { [ Cyrillic_ie, Cyrillic_IE ] };
+- key { [ Cyrillic_en, Cyrillic_EN ] };
+- key { [ Cyrillic_ghe, Cyrillic_GHE, 0x01000493, 0x01000492 ] };
+- key { [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA] };
+- key { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+- key { [ Cyrillic_ze, Cyrillic_ZE ] };
+- key { [ Cyrillic_ha, Cyrillic_HA, 0x010004b3, 0x010004b2 ] };
+- key { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] };
+- key { [ 1, exclam ] };
+- key { [ 2, quotedbl ] };
+- key { [ 3, apostrophe ] };
+- key { [ 4, asterisk ] };
+- key { [ 5, colon ] };
+- key { [ 6, comma ] };
+- key { [ 7, period ] };
+- key { [ 8, semicolon ] };
+- key { [ 9, parenleft ] };
+- key { [ 0, parenright ] };
+- key { [ minus, underscore ] };
+- key { [ equal, plus ] };
+- key { [ bar, brokenbar ] };
+- key { [ Cyrillic_io, Cyrillic_IO ] };
+-
+- // End alphanumeric section
+-
+-};
+ // 17/07/2008
+ // -------------------------------------------------------------
+ // Standard Tojiki Keyboard Layout, Official Standard
+@@ -89,10 +13,10 @@ xkb_symbols "basic" {
+ // --------------------------------------------------------------------
+ //
+
+-partial alphanumeric_keys
+-xkb_symbols "std"
++partial default alphanumeric_keys
++xkb_symbols "basic"
+ {
+- name[Group1] = "Tajikistan - Standard";
++ name[Group1] = "Tajikistan";
+
+ include "keypad(comma)"
+ include "level3(ralt_switch)"
+--
+1.5.4.3
+
diff --git a/xkeyboard-config.spec b/xkeyboard-config.spec
index ffd468e..799ce64 100644
--- a/xkeyboard-config.spec
+++ b/xkeyboard-config.spec
@@ -4,7 +4,7 @@
Summary: xkeyboard-config alternative xkb data files
Name: xkeyboard-config
Version: 1.4
-Release: 2%{?dist}
+Release: 3%{?dist}
License: MIT
Group: User Interface/X
URL: http://www.x.org
@@ -13,6 +13,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: http://xlibs.freedesktop.org/xkbdesc/%{name}-%{version}.tar.bz2
Patch1: olpc-xkeyboard-config-kz-group.patch
Patch2: usinet.patch
+# FDO Bug 17975 (FIXED), taken from git.
+Patch3: xkeyboard-config-1.4-tj-variant.patch
BuildArch: noarch
@@ -44,6 +46,7 @@ xkeyboard-config alternative xkb data files
%setup -q
%patch1 -p1 -b .kzgroup
%patch2 -p1 -b .usinet
+%patch3 -p1 -b .tj-variants
%build
%configure \
@@ -83,6 +86,10 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/X11/xkb/rules/xorg.xml
%changelog
+* Tue Oct 14 2008 Peter Hutterer - 1.4-3
+- xkeyboard-config-1.4-tj-variant.patch: add legacy and basic tj layouts
+ (#455796)
+
* Wed Oct 1 2008 Matthias Clasen - 1.4-2
- Update to 1.4