Новая раскладка на основе русской.
Наваял тут татарскую раскладку на основе русской.
Надо сказать, получилось :) (образец: сәләм!)
НО также появились и проблемы.
Самая большая для меня это то, что цикличное переключение раскладок США-Русская-Татарская происходит только при нажатии правых Ctrl+Shift, при нажатии же левой пары происходит переключение Татарская-Русская-США и на США стопорится. До этого всё было как надо.
Вот фрагмент из /etc/X11/xorg.conf
Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" Option "AutoRepeat" "500 30" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "us,ru(winkeys),tt(winkeys)" Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" EndSection
Вторая проблема связана с KKBSwitch. Новую раскладку он упорно распознаёт как "Russian".
Несмотря на исправления в /usr/lib/X11/xkb/rules/xorg.xml и внесения в /usr/share/apps/kkbswitch/group_names
строчки "Tatar=tt".
Так, теперь перечислю какие файлы xkb были подвергнуты редакции.
/usr/lib/X11/xkb/symbols/tt /usr/lib/X11/xkb/symbols/pc/tt /usr/lib/X11/xkb/keymap/sgi/tt /usr/lib/X11/xkb/keymap/sun/tt /usr/lib/X11/xkb/keymap/xfree86 /usr/lib/X11/xkb/keymap.dir /usr/lib/X11/xkb/rules/sgi.lst /usr/lib/X11/xkb/rules/sun.lst /usr/lib/X11/xkb/rules/xorg /usr/lib/X11/xkb/rules/xorg.lst /usr/lib/X11/xkb/rules/xorg.xml /usr/lib/X11/xkb/symbols.dir
Ниже идут результаты моей деятельности для тех кому интересно, и тех кто захочет повторить.
Раскладка основывается на аналогичной в Win2K/WinXP.
$ diff -bB -U 1 /usr/lib/X11/xkb/symbols/ru /usr/lib/X11/xkb/symbols/tt --- /usr/lib/X11/xkb/symbols/ru 2006-03-02 16:07:37.000000000 +0300 +++ /usr/lib/X11/xkb/symbols/tt 2006-03-14 16:06:07.000000000 +0300 @@ -1,7 +1,7 @@ -// $Xorg: ru,v 1.3 2000/08/17 19:54:43 cpqbld Exp $ +// $Xorg: tt,v 1.0 2006/04/14 11:27:00 cpqbld Exp $ // -// russian standard keyboard -// AEN <aen@logic.ru> -// Last Changes 2001/12/23 by Leon Kanter <leon@blackcatlinux.com> -// $XFree86: xc/programs/xkbcomp/symbols/ru,v 3.9 2002/01/16 18:20:12 dawes Exp $ +// +// tatar win sl keyboard +// gtlinux +// $XFree86: xc/programs/xkbcomp/symbols/tt,v 1.0 2006/04/14 11:27:00 dawes Exp $ @@ -14,3 +14,3 @@ name[Group1]= "US/ASCII"; - name[Group2]= "Russian"; + name[Group2]= "Tatar"; @@ -50,3 +50,3 @@ key <TLDE> { [ grave, asciitilde ], - [ Cyrillic_io, Cyrillic_IO ] }; + [ U04BB, U04BA ] }; key <AD01> { [ q, Q ], @@ -54,3 +54,3 @@ key <AD02> { [ w, W ], - [ Cyrillic_tse, Cyrillic_TSE ] }; + [ U04E9, U04E8 ] }; key <AD03> { [ e, E ], @@ -68,3 +68,3 @@ key <AD09> { [ o, O ], - [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + [ U04D9, U04D8 ] }; key <AD10> { [ p, P ], @@ -74,3 +74,3 @@ key <AD12> { [ bracketright, braceright ], - [Cyrillic_hardsign,Cyrillic_HARDSIGN ] }; + [ U04AF, U04AE ] }; key <AC01> { [ a, A ], @@ -94,3 +94,3 @@ key <AC10> { [ semicolon, colon ], - [ Cyrillic_zhe, Cyrillic_ZHE ] }; + [ U0497, U0497 ] }; key <AC11> { [ apostrophe, quotedbl ], @@ -110,3 +110,3 @@ key <AB07> { [ m, M ], - [Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + [ U04A3, U04A2 ] }; key <AB08> { [ comma, less ], @@ -130,3 +130,3 @@ xkb_symbols "winkeys" { - include "ru(basic)" + include "tt(basic)" key <AE03> { [ 3, numbersign ], @@ -151,3 +151,3 @@ xkb_symbols "typewriter" { - include "ru(basic)" + include "tt(basic)" key <TLDE> { [ grave, asciitilde ], @@ -180,3 +180,3 @@ key <AD12> { [ bracketright, braceright ], - [Cyrillic_hardsign,Cyrillic_HARDSIGN ] }; + [ U04AF, U04AE ] }; key <AB05> { [ b, B ], @@ -184,3 +184,3 @@ key <AB10> { [ slash, question ], - [ Cyrillic_io, Cyrillic_IO ] }; + [ U04BB, U04BA ] }; }; @@ -189,3 +189,3 @@ xkb_symbols "phonetic" { - include "ru(basic)" + include "tt(basic)" @@ -196,5 +196,5 @@ key <AE03> { [ 3, numbersign ], - [ 3, Cyrillic_io ] }; + [ 3, U04BB ] }; key <AE04> { [ 4, dollar ], - [ 4, Cyrillic_IO ] }; + [ 4, U04BA ] }; key <AE05> { [ 5, percent ], @@ -240,5 +240,5 @@ key <AB03> { [ c, C ], - [ Cyrillic_tse, Cyrillic_TSE ] }; + [ U04E9, U04E8 ] }; key <AB02> { [ x, X ], - [Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + [ U04A3, U04A2 ] }; key <AC03> { [ d, D ], @@ -248,3 +248,3 @@ key <AB04> { [ v, V ], - [ Cyrillic_zhe, Cyrillic_ZHE ] }; + [ U0497, U0496 ] }; key <AC04> { [ f, F ], @@ -282,3 +282,3 @@ key <AE11> { [ minus, underscore ], - [ minus, Cyrillic_hardsign ] }; + [ minus, U04AF ] }; key <AD11> { [ bracketleft, braceleft ], @@ -288,3 +288,3 @@ key <AD12> { [ bracketright, braceright ], - [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + [ U04D9, U04D8 ] }; key <BKSL> { [ backslash, bar ],
$ diff -bB -U 0 /usr/lib/X11/xkb/symbols/pc/ru /usr/lib/X11/xkb/symbols/pc/tt --- /usr/lib/X11/xkb/symbols/pc/ru 2006-03-02 16:07:37.000000000 +0300 +++ /usr/lib/X11/xkb/symbols/pc/tt 2006-03-14 16:37:41.000000000 +0300 @@ -4,4 +4,3 @@ -// AEN <aen@logic.ru> -// Last Changes 2001/12/23 by Leon Kanter <leon@blackcatlinux.com> -// -// $XFree86: xc/programs/xkbcomp/symbols/pc/ru,v 1.3 2003/02/15 22:27:05 dawes Exp $ +// tatar win sl keyboard +// gtlinux +// $XFree86: xc/programs/xkbcomp/symbols/pc/tt,v 1.0 2006/03/14 16:27:05 dawes Exp $ @@ -32 +31 @@ - key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] }; + key <TLDE> { [ U04BB, U04BA ] }; @@ -34 +33 @@ - key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] }; + key <AD02> { [ U04E9, U04E8 ] }; @@ -41 +40 @@ - key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key <AD09> { [ U04D9, U04D8 ] }; @@ -44 +43 @@ - key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] }; + key <AD12> { [ U04AF, U04AE ] }; @@ -54 +53 @@ - key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key <AC10> { [ U0497, U0496 ] }; @@ -62 +61 @@ - key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + key <AB07> { [ U04A3, U04A2 ] }; @@ -73 +72 @@ - include "pc/ru(basic)" + include "pc/tt(basic)" @@ -86 +85 @@ - include "pc/ru(basic)" + include "pc/tt(basic)" @@ -102 +101 @@ - key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN ] }; + key <AD12> { [ U04AF, U04AE ] }; @@ -104 +103 @@ - key <AB10> { [ Cyrillic_io, Cyrillic_IO ] }; + key <AB10> { [ U04BB, U04BA ] }; @@ -114,2 +113,2 @@ - key <AE03> { [ 3, Cyrillic_io ] }; - key <AE04> { [ 4, Cyrillic_IO ] }; + key <AE03> { [ 3, U04BB ] }; + key <AE04> { [ 4, U04BA ] }; @@ -138,2 +137,2 @@ - key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] }; - key <LatX> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + key <LatC> { [ U04E9, U04E8 ] }; + key <LatX> { [ U04A3, U04A2 ] }; @@ -142 +141 @@ - key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key <LatV> { [ U0497, U0496 ] }; @@ -160 +159 @@ - key <AE11> { [ minus, Cyrillic_hardsign ] }; + key <AE11> { [ minus, U04AF ] }; @@ -163 +162 @@ - key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key <AD12> { [ U04D9, U04D8 ] };
$ diff -bB -U 0 /usr/lib/X11/xkb/keymap/sgi/ru /usr/lib/X11/xkb/keymap/sgi/tt --- /usr/lib/X11/xkb/keymap/sgi/ru 2006-03-02 16:07:37.000000000 +0300 +++ /usr/lib/X11/xkb/keymap/sgi/tt 2006-03-14 16:47:11.000000000 +0300 @@ -1 +1 @@ -// $Xorg: ru,v 1.3 2000/08/17 19:54:41 cpqbld Exp $ +// $Xorg: tt,v 1.0 2006/03/14 16:40:41 cpqbld Exp $ @@ -6 +6 @@ - xkb_symbols { include "en_US(pc_universal)+ru(basic)" }; + xkb_symbols { include "en_US(pc_universal)+tt(basic)" }; @@ -14 +14 @@ - include "en_US(pc_universal)+ru(basic)+group(toggle)" + include "en_US(pc_universal)+tt(basic)+group(toggle)" @@ -23 +23 @@ - include "en_US(pc_universal)+ru(basic)+group(shift_toggle)" + include "en_US(pc_universal)+tt(basic)+group(shift_toggle)" @@ -32 +32 @@ - include "en_US(pc_universal)+ru(basic)+group(ctrl_shift_toggle)" + include "en_US(pc_universal)+tt(basic)+group(ctrl_shift_toggle)" @@ -41 +41 @@ - include "en_US(pc_universal)+ru(basic)+group(ctrl_alt_toggle)" + include "en_US(pc_universal)+tt(basic)+group(ctrl_alt_toggle)" @@ -50 +50 @@ - include "en_US(pc_universal)+ru(basic)+group(caps_toggle)" + include "en_US(pc_universal)+tt(basic)+group(caps_toggle)" @@ -58 +58 @@ - xkb_symbols { include "en_US(pc102)+ru(basic)" }; + xkb_symbols { include "en_US(pc102)+tt(basic)" }; @@ -66 +66 @@ - include "en_US(pc102)+ru(basic)+group(toggle)" + include "en_US(pc102)+tt(basic)+group(toggle)" @@ -75 +75 @@ - include "en_US(pc102)+ru(basic)+group(shift_toggle)" + include "en_US(pc102)+tt(basic)+group(shift_toggle)" @@ -84 +84 @@ - include "en_US(pc102)+ru(basic)+group(ctrl_shift_toggle)" + include "en_US(pc102)+tt(basic)+group(ctrl_shift_toggle)" @@ -93 +93 @@ - include "en_US(pc102)+ru(basic)+group(ctrl_alt_toggle)" + include "en_US(pc102)+tt(basic)+group(ctrl_alt_toggle)" @@ -102 +102 @@ - include "en_US(pc102)+ru(basic)+group(caps_toggle)" + include "en_US(pc102)+tt(basic)+group(caps_toggle)"
$ diff -bB -U 0 /usr/lib/X11/xkb/keymap/sun/ru /usr/lib/X11/xkb/keymap/sun/tt --- /usr/lib/X11/xkb/keymap/sun/ru 2006-03-02 16:07:37.000000000 +0300 +++ /usr/lib/X11/xkb/keymap/sun/tt 2006-03-14 16:50:28.000000000 +0300 @@ -27 +27 @@ -// $XFree86: xc/programs/xkbcomp/keymap/sun/ru,v 1.2 2000/10/28 00:34:05 dawes Exp $ +// $XFree86: xc/programs/xkbcomp/keymap/sun/tt,v 1.0 2006/03/14 16:34:05 dawes Exp $ @@ -29 +29 @@ -xkb_keymap "type4_ru" { +xkb_keymap "type4_tt" { @@ -34 +34 @@ - include "sun/us(sun4)+iso9995-3(basic)+ru" + include "sun/us(sun4)+iso9995-3(basic)+tt" @@ -38 +38 @@ -xkb_keymap "type4_ru_openlook" { +xkb_keymap "type4_tt_openlook" { @@ -43 +43 @@ - include "sun/us(sun4ol)+iso9995-3(basic)+ru" + include "sun/us(sun4ol)+iso9995-3(basic)+tt" @@ -47 +47 @@ -default xkb_keymap "type5_ru" { +default xkb_keymap "type5_tt" { @@ -52 +52 @@ - include "sun/us(sun5)+iso9995-3(basic)+ru" + include "sun/us(sun5)+iso9995-3(basic)+tt" @@ -56 +56 @@ -xkb_keymap "type5_ru_openlook" { +xkb_keymap "type5_tt_openlook" { @@ -60 +60 @@ - xkb_symbols { include "sun/us(sun5ol)+iso9995-3+ru" }; + xkb_symbols { include "sun/us(sun5ol)+iso9995-3+tt" };
$ diff -bB -U 0 /usr/lib/X11/xkb/keymap/xfree86.orig /usr/lib/X11/xkb/keymap/xfree86 --- /usr/lib/X11/xkb/keymap/xfree86.orig 2006-03-14 16:56:06.000000000 +0300 +++ /usr/lib/X11/xkb/keymap/xfree86 2006-03-14 13:14:52.000000000 +0300 @@ -322,0 +323,7 @@ +xkb_keymap "tt" { + xkb_keycodes { include "xfree86" }; + xkb_types { include "default" }; + xkb_compatibility { include "default" }; + xkb_symbols { include "en_US(pc105)+tt" }; + xkb_geometry { include "pc(pc102)" }; +};
$ diff -bB -U 0 /usr/lib/X11/xkb/keymap.dir.orig /usr/lib/X11/xkb/keymap.dir --- /usr/lib/X11/xkb/keymap.dir.orig 2006-03-14 17:01:26.000000000 +0300 +++ /usr/lib/X11/xkb/keymap.dir 2006-03-14 13:03:50.000000000 +0300 @@ -85,0 +86,12 @@ +-d------ -------- sgi/tt(indy) +-------- -------- sgi/tt(indy_toggle) +-------- -------- sgi/tt(indy_shift_toggle) +-------- -------- sgi/tt(indy_ctrl_shift_toggle) +-------- -------- sgi/tt(indy_ctrl_alt_toggle) +-------- -------- sgi/tt(indy_caps_toggle) +-------- -------- sgi/tt(indigo) +-------- -------- sgi/tt(indigo_toggle) +-------- -------- sgi/tt(indigo_shift_toggle) +-------- -------- sgi/tt(indigo_ctrl_shift_toggle) +-------- -------- sgi/tt(indigo_ctrl_alt_toggle) +-------- -------- sgi/tt(indigo_caps_toggle) @@ -149,0 +162,4 @@ +-------- -------- sun/tt(type4_tt) +-------- -------- sun/tt(type4_tt_openlook) +-d------ -------- sun/tt(type5_tt) +-------- -------- sun/tt(type5_tt_openlook) @@ -222,0 +239 @@ +-------- -------- xfree86(tt)
$ diff -bB -U 0 /usr/lib/X11/xkb/rules/sgi.lst.orig /usr/lib/X11/xkb/rules/sgi.lst --- /usr/lib/X11/xkb/rules/sgi.lst.orig 2006-03-14 17:05:22.000000000 +0300 +++ /usr/lib/X11/xkb/rules/sgi.lst 2006-03-14 11:40:33.000000000 +0300 @@ -54,0 +55 @@ + tt Tatar
$ diff -bB -U 0 /usr/lib/X11/xkb/rules/sun.lst.orig /usr/lib/X11/xkb/rules/sun.lst --- /usr/lib/X11/xkb/rules/sun.lst.orig 2006-03-14 17:09:01.000000000 +0300 +++ /usr/lib/X11/xkb/rules/sun.lst 2006-03-14 11:39:52.000000000 +0300 @@ -38,0 +39 @@ + tt Tatar
$ diff -bB -U 0 /usr/lib/X11/xkb/rules/xorg.orig /usr/lib/X11/xkb/rules/xorg --- /usr/lib/X11/xkb/rules/xorg.orig 2006-03-14 17:12:59.000000000 +0300 +++ /usr/lib/X11/xkb/rules/xorg 2006-03-14 13:16:29.000000000 +0300 @@ -17 +17 @@ -// tj tml ua +// tj tml tt ua
$ diff -bB -U 0 /usr/lib/X11/xkb/rules/xorg.xml.orig /usr/lib/X11/xkb/rules/xorg.xml --- /usr/lib/X11/xkb/rules/xorg.xml.orig 2006-03-14 17:22:03.000000000 +0300 +++ /usr/lib/X11/xkb/rules/xorg.xml 2006-03-14 15:21:16.000000000 +0300 @@ -4520,0 +4521,56 @@ + <name>tt</name> + <shortDescription>Tat</shortDescription> + <shortDescription xml:lang="ru">Тат</shortDescription> + <shortDescription xml:lang="tt">Тат</shortDescription> + <description>Tatar</description> + <description xml:lang="ru">Татарская</description> + <description xml:lang="tt">Татар</description> + </configItem> + <variantList> + <variant> + <configItem> + <name>phonetic</name> + <description>Phonetic</description> + <description xml:lang="cs">Fonetické</description> + <description xml:lang="da">Fonetisk</description> + <description xml:lang="fr">Phonétique</description> + <description xml:lang="hu">fonetikus</description> + <description xml:lang="nl">Fonetisch</description> + <description xml:lang="ru">Фонетическая</description> + <description xml:lang="sk">Fonetické</description> + <description xml:lang="sr">фонетски</description> + <description xml:lang="tt">Фонетик</description> + <description xml:lang="tr">Fonetik</description> + </configItem> + </variant> + <variant> + <configItem> + <name>typewriter</name> + <description>"Typewriter"</description> + <description xml:lang="cs">"Psací stroj"</description> + <description xml:lang="da">"Skrivemaskine"</description> + <description xml:lang="hu">"Írógép"</description> + <description xml:lang="nl">"Typmachine"</description> + <description xml:lang="ru">"Печатная машинка"</description> + <description xml:lang="sk">"Písací stroj"</description> + <description xml:lang="sr">„Куцаћа машина“</description> + <description xml:lang="tr">"Daktilo"</description> + <description xml:lang="zh_CN">“打字机”</description> + </configItem> + </variant> + <variant> + <configItem> + <name>winkeys</name> + <description>Winkeys</description> + <description xml:lang="da">Win-taster</description> + <description xml:lang="nl">Win-toetsen</description> + <description xml:lang="ru">Клавиатура Windows</description> + <description xml:lang="sk">Win klávesy</description> + <description xml:lang="sr">Windows тастери</description> + <description xml:lang="tr">Win tuşları</description> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem>
$ diff -bB -U 0 /usr/lib/X11/xkb/symbols.dir.orig /usr/lib/X11/xkb/symbols.dir --- /usr/lib/X11/xkb/symbols.dir.orig 2006-03-14 17:27:09.000000000 +0300 +++ /usr/lib/X11/xkb/symbols.dir 2006-03-14 12:55:50.000000000 +0300 @@ -381,0 +382,4 @@ +-dp----- a------- tt(basic) +--p----- a------- tt(winkeys) +--p----- a------- tt(typewriter) +--p----- a------- tt(phonetic)
- Для комментирования войдите или зарегистрируйтесь
Проблемы были
Проблемы были успешно решены на ЛинуксФоруме
Всех благодарю за внимание.
_________________
AMD Athlon XP, 1800 MHz (13.5 x 133) 2200+
Gigabyte GA-7VA (VIA VT8377 Apollo KT400; Realtek ALC650 @ VIA AC'97 Enhanced Audio Controller; 256Mb(PC2700 DDR SDRAM))
NVIDIA Geforce4 MX 440 AGP8X NV18 Chip Rev A2
"Чайничек" :)