Коми раскладка клавиатуры для Linux Mint

Материал из Wiki FU-Lab
Перейти к навигации Перейти к поиску


Коми раскладка из стандартного списка раскладок

Во всех дистрибутивах Linux есть коми раскладка клавиатуры.

Ubuntu.png

В большинстве случаев коми буквы набираются с помощью AltGr (правый ALT) + "о, и". Если вам нужно изменить раскладку, то в терминале с root откройте файл: /usr/share/X11/xkb/symbols/ru, например, с помощью редактора gedit:

gedit /usr/share/X11/xkb/symbols/ru

Далее найдите описание коми клавиатуры. В Ubuntu, Mint и многих других дистрибутивах (кроме НауЛинукс) эти строки выглядят так:

// Komi language layout
// based on
// russian standard keyboard
// Vlad Shakhov <lumpen.intellectual@gmail.com>
// Last Changes 2007/10/23 by Vlad Shakhov <lumpen.intellectual@gmail.com>

partial alphanumeric_keys 
xkb_symbols "kom" {

   include "ru(winkeys)"

   name[Group1]= "Komi";

   key.type[group1]="FOUR_LEVEL_ALPHABETIC";

// cyrilllic o with diaeresis 
   key <AC07> { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] };
    
// hard I as additional key for soft Cyrillic_I 
   key <AB05> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };

   include "level3(ralt_switch)"
};

Допустим, решили, что на "-" будет набираться "ӧ", а на "=" - "і". Вам необходимо добавить 2 строчки (выделено жирным) в этот файл, сохранить его и перегрузить сеанс пользователя:

// Komi language layout
// based on
// russian standard keyboard
// Vlad Shakhov <lumpen.intellectual@gmail.com>
// Last Changes 2007/10/23 by Vlad Shakhov <lumpen.intellectual@gmail.com>

partial alphanumeric_keys 
xkb_symbols "kom" {

   include "ru(winkeys)"

   name[Group1]= "Komi";

   key.type[group1]="FOUR_LEVEL_ALPHABETIC";

   key <AE12> { [ U04E7, U04E6,   equal, plus] }; 
   key <AE11> { [ U0456, U0406,   minus, underscore ] };

// cyrilllic o with diaeresis 
   key <AC07> { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] };
    
// hard I as additional key for soft Cyrillic_I 
   key <AB05> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };

   include "level3(ralt_switch)"
};

Полилингвальная коми раскладка

Можно сделать "универсальную" раскладку, при этом в файле ru коми часть может выглядеть вот так:

// Komi language layout
// based on
// russian standard keyboard
// Vlad Shakhov <lumpen.intellectual@gmail.com>
// Last Changes 2007/10/23 by Vlad Shakhov <lumpen.intellectual@gmail.com>

partial alphanumeric_keys 
xkb_symbols "kom" {

   include "ru(winkeys)"

   name[Group1]= "Komi";

   key.type[group1]="FOUR_LEVEL_ALPHABETIC";

   key <TLDE> { [ Cyrillic_io,       Cyrillic_IO, 	 U04ED, U04EC ] };
   key <AE01> { [ 1,	              exclam,	         U0495,	U0494 ] };
   key <AE02> { [ 2,	              quotedbl,	         U04C2,	U04C1 ] };
   key <AE03> { [ 3,	              numerosign,	 U045E,	U040E ] };
   key <AE04> { [ 4,	              semicolon,	 U04D1,	U04D0 ] };
   key <AE05> { [ 5,	              percent,	         U04D7,	U04D6 ] };
   key <AE06> { [ 6,	              colon,		 U04CC,	U04CB ] };
   key <AE07> { [ 7,	              question,	         U04FD,	U04FC ] };
   key <AE08> { [ 8,	              asterisk,	         U04C6, U04C5 ] };
   key <AE09> { [ 9,	              parenleft,	 U04B3,	U04B2 ] };
   key <AE10> { [ 0,	              parenright,	 U0499,	U0498 ] };
   key <AE11> { [ minus,	      underscore,	 U04CA,	U04C9 ] };
   key <AE12> { [ equal,	      plus,		 U049B,	U049A ] };
   key <AD01> { [ Cyrillic_shorti,   Cyrillic_SHORTI,   U04E5, U04E4 ] };
   key <AD02> { [ U0446,             U0426,             U04F3, U04F2 ] }; //Cyr_tse
   key <AD03> { [ Cyrillic_u,        Cyrillic_U,        U04F1, U04F0 ] };
   key <AD04> { [ Cyrillic_ka,       Cyrillic_KA,       U04D9, U04D8 ] };
   key <AD05> { [ Cyrillic_ie,       Cyrillic_IE,       U04A1, U04A0 ] };
   key <AD06> { [ Cyrillic_en,       Cyrillic_EN,       U050B, U050A ] };
   key <AD07> { [ Cyrillic_ghe,      Cyrillic_GHE,      U04A5, U04A4 ] };
   key <AD08> { [ Cyrillic_sha,      Cyrillic_SHA,      U0458, U0408 ] };
   key <AD09> { [ U0449,             U0429,             U04AB, U04AA ] }; //Cyr_shcha
   key <AD10> { [ Cyrillic_ze,       Cyrillic_ZE,       U0505, U0504 ] };
   key <AD11> { [ Cyrillic_ha,       Cyrillic_HA,       U0507, U0506 ] };
   key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, U04DF, U04DE ] };
   key <BKSL> { [ backslash,          slash,            U04B7, U04B6 ] };
   key <AC01> { [ Cyrillic_ef,       Cyrillic_EF,       U04BB, U04BA ] };
   key <AC02> { [ Cyrillic_yeru,     Cyrillic_YERU,     U04F9, U04F8 ] };
   key <AC03> { [ Cyrillic_ve,       Cyrillic_VE,       U04AF, U04AE ] };
   key <AC04> { [ Cyrillic_a,        Cyrillic_A,        U04D3, U04D2 ] };
   key <AC05> { [ Cyrillic_pe,       Cyrillic_PE,       U04C4, U04C3 ] };
   key <AC06> { [ Cyrillic_er,       Cyrillic_ER,       U0493, U0492 ] }; 
   key	<AC07> { [ Cyrillic_o,	      Cyrillic_O,	 U04E7, U04E6 ] };
   key <AC08> { [ Cyrillic_el,       Cyrillic_EL,       U0509, U0508 ] };
   key <AC09> { [ Cyrillic_de,       Cyrillic_DE,       U0501, U0500 ] };
   key <AC10> { [ Cyrillic_zhe,      Cyrillic_ZHE,      U0497, U0496 ] };
   key <AC11> { [ Cyrillic_e,        Cyrillic_E,        U04E9, U04E8 ] };
   key <AB01> { [ Cyrillic_ya,       Cyrillic_YA,       U04D5, U04D4 ] };
   key <AB02> { [ Cyrillic_che,      Cyrillic_CHE,      U04F5, U04F4 ] };
   key <AB03> { [ Cyrillic_es,       Cyrillic_ES,       U050D, U050C ] };
   key <AB04> { [ Cyrillic_em,       Cyrillic_EM,       U04C8, U04C7 ] };
   key <AB05> { [ Cyrillic_i,	      Cyrillic_I,        U0456, U0406 ] };
   key	<AB06> { [ Cyrillic_te,       Cyrillic_TE,       U050F, U050E ] };
   key	<AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, U0463, U0462 ] };
   key	<AB08> { [ Cyrillic_be,       Cyrillic_BE,       U0503, U0502 ]	};
   key	<AB09> { [ Cyrillic_yu,       Cyrillic_YU,       U04DD, U04DC ]	};
   key <AB10> { [ period,            comma,             U02BC, U003F ] };

   include "level3(ralt_switch)"
};

Раскладка Komi (Latin)

В тот же файл можно добавить коми латинскую раскладку

// Komi language layout
// based on
// english standard keyboard
// FU-Lab (komi@fu-lab.ru)

partial alphanumeric_keys xkb_symbols "kv_latin" {

   include "us(alt-intl)"
   name[Group1]= "Komi (Latin)";
   key.type[group1]="FOUR_LEVEL";
   key <AB05> { [   b,   B,   			U0432,   U0412  ] };
   key <AB01> { [   z,   Z,   			U1E93,   U1E92  ] };
   key <AC10> { [   semicolon,   colon,  	U0437,   U0417  ] };
   key <AD11> { [   bracketleft,   braceleft,  U0499,   U0498  ] };
   key <AD10> { [   p,   P,   			U0292,   U01B7  ] };
   key <AC09> { [   l,   L,   			U013C,   U013B  ] };
   key <AB07> { [   m,   M,  			U044C,   U042C  ] };
   key <AB06> { [   n,   N,   			UA791,   UA790  ] };
   key <AD05> { [   t,   T,   			U0163,   U0162  ] };
   key <AC03> { [   d,   D,   			U1E11,   U1E10  ] };
   key <AB02> { [   x,   X,   			U00E7,   U00C7  ] };
   key <AC06> { [   h,   H,  			UA7A9,   UA7A8  ] };
   key <AC02> { [   s,   S,   			U015F,   U015E  ] };
   key <AC05> { [   g,   G,   			U0186,   U0185  ] };
   key <AC07> { [   j,   J,   			U0259,   U018F  ] };
   key <AB03> { [   c,   C,   			U0454,   U0404  ] };
   include "level3(ralt_switch)"

};

После сохранение файла надо сделать новый вариант раскладки клавиатуры доступным в настройках. Для этого откройте файл sudo gedit /usr/share/X11/xkb/rules/evdev.xml и добавьте туда следующую информацию о латинской коми раскладке:

       <variant>
         <configItem>
           <name>kv_latin</name>
           <description>Komi (Latin)</description>
           <languageList>
             <iso639Id>kom</iso639Id>
           </languageList>
         </configItem>
       </variant>

После перезагрузки появится возможность выбора раскладки Komi (Latin) в списках доступных раскладок.