#  > > >  >  > Форум >  > > >  >  > Лингвистический форум >  > > >  >  > Лингвистический форум >  > > >  >  > Старописьменный монгольский >  > > >  >  >  Конфигурация Xkb под бурятскую - монгольскую раскладку?

## Dorje Dugarov

Настраиваю модуль XKB под бурятскую раскладку... вроде всё (теоритически) делаю правильно, но не работает.
в драйвере конфигурации раскладки пишу:
// $Xorg
//
// buryatian standart keyboard by Dorjo Dugarov
// DDB 

partial default alphanumeric_keys
xkb_symbols "bur" {

    name[Group1]= "US/ASCII";
    name[Group2]= "Cyrillic";

    key	 {	[		1,	    exclam	],
			[		1,	    exclam 	]	};
    key	 {	[		2,		at	],
			[		2,        quotedbl	]	};
    key	 {	[		3,	numbersign	],
			[		3,      numbersign	]	};
    key	 {	[		4,	    dollar	],
			[		4,        asterisk	]	};
    key	 {	[		5,	   percent	],
			[		5,	     colon	]	};
    key	 {	[		6,     asciicircum	],
			[		6,	     comma	]	};
    key	 {	[		7,	 ampersand	],
			[		7,	    period	]	};
    key	 {	[		8,	  asterisk	],
			[		8,	 semicolon	]	};
    key	 {	[		9,	 parenleft	],
			[		9,	 parenleft	]	};
    key	 {	[		0,	parenright	],
			[		0,	parenright	]	};
    key	 {	[	    minus,	underscore	],
			[	    minus,	underscore	]	};
    key	 {	[	    equal,	      plus	],
			[	    equal,	      plus	]	};
    key	 {	[	backslash,	       bar	],
			[	backslash,             bar	]	};
    key	 {	[	    slash,	  question	],
			[	    slash,	  question	]	};
    key  {        [            less,         greater      ],
                        [           slash,             bar      ]       };

key.type[group2]="ALPHABETIC";

    key	 {	[	    grave,	asciitilde	],
			[     Cyrillic_io,     Cyrillic_IO	]	};
    key	 {	[		q,		 Q	],
			[ Cyrillic_shorti, Cyrillic_SHORTI	]	};
//oe mongolian (oe) barred o
    key	 {	[		w,		 W	],
			[      0x010004e9,       0x010004e8     ]	};
    key	 {	[		e,		 E	],
			[      Cyrillic_u,	Cyrillic_U	]	};
    key	 {	[		r,		 R	],
			[     Cyrillic_ka,     Cyrillic_KA	]	};
    key	 {	[		t,		 T	],
			[     Cyrillic_ie,     Cyrillic_IE	]	};
    key	 {	[		y,		 Y	],
			[     Cyrillic_en,     Cyrillic_EN	]	};
    key	 {	[		u,		 U	],
			[    Cyrillic_ghe,    Cyrillic_GHE	]	};
    key	 {	[		i,		 I	],
			[    Cyrillic_sha,    Cyrillic_SHA	]	};
    key	 {	[		o,		 O	],
			[      0x010004af,      0x010004ae      ]       };
    key	 {	[		p,		 P	],
			[     Cyrillic_ze,     Cyrillic_ZE	]	};
    key	 {	[     bracketleft,	 braceleft	],
			[     Cyrillic_ha,     Cyrillic_HA	]	};
    key	 {	[    bracketright,	braceright	],
			[Cyrillic_hardsign,Cyrillic_HARDSIGN	]	};
    key	 {	[		a,		 A	],
			[     Cyrillic_ef,     Cyrillic_EF	]	};
    key	 {	[		s,		 S	],
			[   Cyrillic_yeru,   Cyrillic_YERU	]	};
    key	 {	[		d,		 D	],
			[     Cyrillic_ve,     Cyrillic_VE	]	};
    key	 {	[		f,		 F	],
			[      Cyrillic_a,	Cyrillic_A	]	};
    key	 {	[		g,		 G	],
			[     Cyrillic_pe,     Cyrillic_PE	]	};
    key	 {	[		h,		 H	],
			[     Cyrillic_er,     Cyrillic_ER	]	};
    key	 {	[		j,		 J	],
			[      Cyrillic_o,	Cyrillic_O	]	};
    key	 {	[		k,		 K	],
			[     Cyrillic_el,     Cyrillic_EL	]	};
    key	 {	[		l,		 L	],
			[     Cyrillic_de,     Cyrillic_DE	]	};
    key	 {	[	semicolon,	     colon	],
			[    Cyrillic_zhe,    Cyrillic_ZHE	]	};
    key	 {	[      apostrophe,	  quotedbl	],
			[      Cyrillic_e,	Cyrillic_E	]	};
    key	 {	[		z,		 Z	],
			[     Cyrillic_ya,     Cyrillic_YA	]	};
    key	 {	[		x,		 X	],
			[    Cyrillic_che,    Cyrillic_CHE	]	};
    key	 {	[		c,		 C	],
			[     Cyrillic_es,     Cyrillic_ES	]	};
    key	 {	[		v,		 V	],
			[     Cyrillic_em,     Cyrillic_EM	]	};
    key	 {	[		n,		 N	],
			[     Cyrillic_te,     Cyrillic_TE	]	};
    key	 {	[		b,		 B	],
			[      Cyrillic_i,	Cyrillic_I	]	};
    key	 {	[		m,		 M	],
			[Cyrillic_softsign,Cyrillic_SOFTSIGN	]	};
    key	 {	[	    comma,	      less	],
			[     Cyrillic_be,     Cyrillic_BE	]	};
    key	 {	[	   period,	   greater	],
			[     Cyrillic_yu,     Cyrillic_YU	]	};

key.type[group2]="TWO_LEVEL";

    // End alphanumeric section

    // Begin modifier mappings

    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock, ISO_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };
};

partial alphanumeric_keys
xkb_symbols "winkeys" {
    include "bur"
    key  {        [               3,      numbersign      ],
                        [               3,      numerosign      ]       };
    key  {        [               4,          dollar      ],
                        [               4,       semicolon      ]       };
    key  {        [               5,         percent      ],
                        [               5,         percent      ]       };
    key  {        [               6,     asciicircum      ],
                        [               6,           colon      ]       };
    key  {        [               7,       ampersand      ],
                        [               7,        question      ]       };
    key  {        [               8,        asterisk      ],
                        [               8,        asterisk      ]       };
    key  {        [           slash,        question      ],
                        [          period,           comma      ]       };
    key  {        [       backslash,             bar      ],
                        [       backslash,           slash      ]       };
};

partial alphanumeric_keys
xkb_symbols "typewriter" {
    include "bur(basic)"
    key	 {	[	    grave,	asciitilde	],
			[      apostrophe,	  quotedbl	] 	};
    key	 {	[		1,	    exclam	],
			[	   exclam,		 1 	]	};
    key	 {	[		2,		at	],
			[      numerosign,		 2	]	};
    key	 {	[		3,	numbersign	],
			[	    slash,		 3	]	};
    key	 {	[		4,	    dollar	],
			[	semicolon,		 4	]	};
    key	 {	[		5,	   percent	],
			[	    colon,		 5	]	};
    key	 {	[		6,     asciicircum	],
			[	    comma,		 6	]	};
    key	 {	[		7,	 ampersand	],
			[	   period,		 7	]	};
    key	 {	[		8,	  asterisk	],
			[      underscore,		 8	]	};
    key	 {	[		9,	 parenleft	],
			[	 question,		 9	]	};
    key	 {	[		0,	parenright	],
			[	  percent,		 0	]	};
    key	 {	[	backslash,	       bar	],
			[	parenleft,	parenright	]	};

key.type[group2]="ALPHABETIC";

    key	 {	[    bracketright,	braceright	],
			[Cyrillic_hardsign,Cyrillic_HARDSIGN	]	};
    key	 {	[		b,		 B	],
			[      Cyrillic_i,	Cyrillic_I	]	};
    key	 {	[	    slash,	  question	],
			[     Cyrillic_io,     Cyrillic_IO	]	};
};

partial alphanumeric_keys
xkb_symbols "phonetic" {
    include "bur(basic)"

    key	 {	[		1,	    exclam	],
			[		1,	    exclam 	]	};
    key	 {	[		2,		at	],
			[		2,        	at	]	};
    key	 {	[		3,      numbersign	],
			[		3,     Cyrillic_io 	]	};
    key	 {	[		4,	    dollar	],
			[		4,     Cyrillic_IO	]	};
    key	 {	[		5,	   percent	],
			[		5,	   percent	]	};
    key	 {	[		6,     asciicircum	],
			[		6,     asciicircum	]	};
    key	 {	[		7,	 ampersand	],
			[		7,	 ampersand	]	};
    key	 {	[		8,	  asterisk	],
			[		8,        asterisk	]	};
    key	 {	[		9,	 parenleft	],
			[		9,	 parenleft	]	};
    key	 {	[		0,	parenright	],
			[		0,	parenright	]	};

    key	 {	[	   period,	   greater	],
			[	   period,	   greater	]	};
    key	 {	[	    slash,	  question	],
			[	    slash,	  question	]	};
    key	 {	[	    comma,	      less	],
			[	    comma,	      less	]	};
    key	 {	[	semicolon,	     colon	],
			[	semicolon,	     colon	]	};
    key	 {	[      apostrophe,	  quotedbl	],
			[      apostrophe,	  quotedbl	]	};
    key	 {	[	     less,	   greater	],
			[	      bar,	 brokenbar	]	};

key.type[group2]="ALPHABETIC";

    key	 {	[	    grave,	asciitilde	],
			[     Cyrillic_yu,     Cyrillic_YU	]	};
    key	 {	[		q,		 Q	],
			[     Cyrillic_ya,     Cyrillic_YA	]	};
    key	 {	[		z,		 Z	],
			[     Cyrillic_ze,     Cyrillic_ZE	]	};
    key	 {	[		s,		 S	],
			[     Cyrillic_es,     Cyrillic_ES	]	};
    key	 {	[		a,		 A	],
			[      Cyrillic_a,	Cyrillic_A	]	};
    key	 {	[		w,		 W	],
			[      0x010004e9,     0x010004e8       ] 	};
    key	 {	[		c,		 C	],
			[    Cyrillic_tse,    Cyrillic_TSE	]	};
    key	 {	[		x,		 X	],
			[Cyrillic_softsign,Cyrillic_SOFTSIGN	]	};
    key	 {	[		d,		 D	],
			[     Cyrillic_de,     Cyrillic_DE	]	};
    key	 {	[		e,		 E	],
			[     Cyrillic_ie,     Cyrillic_IE	]	};
    key	 {	[		v,		 V	],
			[    Cyrillic_zhe,    Cyrillic_ZHE	]	};
    key	 {	[		f,		 F	],
			[     Cyrillic_ef,     Cyrillic_EF	]	};
    key	 {	[		t,		 T	],
			[     Cyrillic_te,     Cyrillic_TE	]	};
    key	 {	[		r,		 R	],
			[     Cyrillic_er,     Cyrillic_ER	]	};
    key	 {	[		n,		 N	],
			[     Cyrillic_en,     Cyrillic_EN	]	};
    key	 {	[		b,		 B	],
			[     Cyrillic_be,     Cyrillic_BE	]	};
    key	 {	[		h,		 H	],
			[     Cyrillic_ha,     Cyrillic_HA	]	};
    key	 {	[		g,		 G	],
			[    Cyrillic_ghe,    Cyrillic_GHE	]	};
    key	 {	[		y,		 Y	],
			[   Cyrillic_yeru,   Cyrillic_YERU	]	};
    key	 {	[		m,		 M	],
			[     Cyrillic_em,     Cyrillic_EM	]	};
    key	 {	[		j,		 J	],
			[ Cyrillic_shorti, Cyrillic_SHORTI	]	};
    key	 {	[		u,		 U	],
			[      Cyrillic_u,	Cyrillic_U	]	};
    key	 {	[		k,		 K	],
			[     Cyrillic_ka,     Cyrillic_KA	]	};
    key	 {	[		i,		 I	],
			[      Cyrillic_i,	Cyrillic_I	]	};
    key	 {	[		o,		 O	],
			[      0x010004af,      0x010004ae      ]	};
    key	 {	[		l,		 L	],
			[     Cyrillic_el,     Cyrillic_EL	]	};
    key	 {	[		p,		 P	],
			[     Cyrillic_pe,     Cyrillic_PE	]	};
    key	 {	[	    minus,	underscore	],
			[	    minus, Cyrillic_hardsign	]	};
    key	 {	[     bracketleft,	 braceleft	],
			[    Cyrillic_sha,    Cyrillic_SHA	]	};
    key	 {	[	    equal,	      plus	],
			[    Cyrillic_che,    Cyrillic_CHE	]	};
    key	 {	[    bracketright,	braceright	],
			[  Cyrillic_shcha,  Cyrillic_SHCHA	]	};
    key	 {	[	backslash,	       bar	],
			[      Cyrillic_e,	Cyrillic_E	]	};

    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock, ISO_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };
};

Ложу этот файл куда положенно:
/usr/X11R6/lib/X11/xkb/symbols/

Затем в xfree86.lst  ( /usr/X11R6/lib/X11/xkb/rules/)
в layouts вписываю
bur          Buryatian

В xfree86 ( /usr/X11R6/lib/X11/xkb/keymap/ )
    xkb_keymap "игк" {
      xkb_keycodes {include "xfree86"};
     xkb_types {include "default"};
     xkb_compatibility {include "default"};
     xkb_symbols {include "en_US(pc105)+bur"};
     xkb_geometry {include "pc(pc105)"};
    };

Теоритически всё безупречно, но вместо бурятской кириллицы  пишет латиницу

----------


## Fermion

В xorg.conf  что-нибудь вроде 
-------------
Option "XkbLayout" "us,bur(winkeys)"
Option    "XkbOptions"  "grp:shift_toggle"
----------------
прописали?

Попробуйте поменять комбинацию клавишь для смены раскладки. У меня в Debian
etch, по shift_toggle отчего-то русский не включался, а по ctrl_shift_toggle стало переключаться.

Может быть и баг, наппример:  http://lists.debian.org/debian-x/2005/08/msg00084.html
самому некогда было разбираться.

----------

