Коми раскладка клавиатуры для Linux Mint
Коми раскладку можно установить в OS Linux Mint.
Коми раскладка из стандартного списка
Во всех дистрибутивах Linux есть коми раскладка клавиатуры. Данная раскладка дана как вариант русской раскладки.
В большинстве случаев коми буквы набираются с помощью 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)" };
Создание отдельной коми раскладки
Если вы хотите создать коми раскладку с иконкой коми флага, то надо будет сделать следующее.
1. Скопируйте из usr/share/X11/xkb/symbols/ любой файл с изображением С, переименуйте его в kv и замените содержимое файла на следующее:
// Komi language layout // based on // russian standard keyboard default partial alphanumeric_keys xkb_symbols "kv" { include "ru(winkeys)" name[Group1]= "Komi"; key.type[group1]="FOUR_LEVEL_ALPHABETIC"; key <AC07> { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] }; key <AB05> { [ Cyrillic_i, Cyrillic_I, U0456, U0406 ] }; include "level3(ralt_switch)" };
2. Скопируйте сохранённый файл kv в папку /usr/share/X11/xkb/symbols/
3. Из файла /usr/share/X11/xkb/symbols/ru удалите часть, относящуюся к коми.
4. Теперь необходимо сделать новую раскладку клавиатуры доступной в настройках. Для этого открываем файл /usr/share/X11/xkb/rules/evdev.xml, в разделе вариантов удаляем следующую часть, относящуюся к коми
<variant> <configItem> <name>kom</name> <description>Komi</description> <languageList> <iso639Id>kom</iso639Id> </languageList> </configItem> </variant>
и добавляем информацию об отдельной коми раскладке (по алфавиту после кхмерской kh перед казахской kz):
<layout> <configItem> <name>kv</name> <shortDescription>kv</shortDescription> <description>Komi</description> <languageList> <iso639Id>kom</iso639Id> </languageList> </configItem> </layout>
5. В файле /usr/share/X11/xkb/rules/evdev.lst удаляем из списка вариантов строчку
kom ru: Komi
а в список раскладок по алфавиту после кхмерской kh перед казахской kz добавляем информацию о коми раскладке:
kh Khmer (Cambodia) kv Komi kz Kazakh
6. Повторите операции 4-5 в файлах base.xml и base.lst
7. Добавьте иконку с коми флагом в /usr/share/cinnamon/applets/keyboard@cinnamon.org/flags или в /usr/share/iso-flags-png/
8. Перезагрузите сеанс пользователя.
9. Выбирите коми раскладку из списка. Теперь Вы под коми флагом.
Полилингвальная коми раскладка
Можно сделать "универсальную" раскладку, при этом содержимое файла kv может выглядеть вот так:
// Komi language layout // based on // russian standard keyboard // FU-Lab (komi@fu-lab.ru) default partial alphanumeric_keys xkb_symbols "kv" { 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)
Можно добавить и латинскую коми раскладку. Скопируем файл kv из /usr/share/X11/xkb/symbols/, переименуем его, например, в ko и заменим содержимое на нижеследующее:
// Komi language layout // based on // english standard keyboard // FU-Lab (komi@fu-lab.ru) default partial alphanumeric_keys xkb_symbols "ko" { include "us(alt-intl)" name[Group1]= "Komi (Latin)"; key.type[group1]="FOUR_LEVEL"; key <AB01> { [ z, Z, U2C6C, U2C6B ] }; key <AB02> { [ x, X, U00E7, U00C7 ] }; key <AB03> { [ c, C, U0454, U0404 ] }; key <AB05> { [ b, B, U0432, U0412 ] }; key <AB06> { [ n, N, UA791, UA790 ] }; key <AB07> { [ m, M, U044C, U042C ] }; key <AB09> { [ U002E, U003E, U00B7, U2022 ] }; key <AB10> { [ U002F, U003F, U2044, U2236 ] }; key <AC01> { [ a, A, U00E4, U00C4] }; key <AC02> { [ s, S, U015F, U015E ] }; key <AC03> { [ d, D, U1E11, U1E10 ] }; key <AC04> { [ f, F, U00DF, U1E9E] }; key <AC05> { [ g, G, U01B6, U01B5 ] }; key <AC06> { [ h, H, UA7A9, UA7A8 ] }; key <AC07> { [ j, J, U0259, U018F ] }; key <AC09> { [ l, L, U013C, U013B ] }; key <AC10> { [ semicolon, colon, U0437, U0417 ] }; key <AC11> { [ U0027, U0022, U201E, U201C ] }; key <AD01> { [ q, Q, U00E5, U00C5] }; key <AD03> { [ e, E, U00E9, U00C9] }; key <AD05> { [ t, T, U0163, U0162 ] }; key <AD07> { [ u, U, U00FC, U00DC] }; key <AD09> { [ o, O, U00F6, U00D6] }; key <AD10> { [ p, P, U0292, U01B7 ] }; key <AD11> { [ bracketleft, braceleft, U0499, U0498 ] }; key <AD12> { [ bracketright, braceright, U00AB, U00BB ] }; key <AE01> { [ 1, exclam, U2032, U2033 ] }; key <AE02> { [ 2, U0040, U00A9, U00AE ] }; key <AE03> { [ 3, numbersign, U2116, U00A7 ] }; key <AE04> { [ 4, U0024, U20AC, U00A3 ] }; key <AE05> { [ 5, U0025, U2030, U2031 ] }; key <AE08> { [ 8, U002A, U00B0, U2103 ] }; key <AE10> { [ 0, U0029, U2012, U2013 ] }; key <AE11> { [ U002D, U005F, U2212, U2014 ] }; key <AE12> { [ U003D, U002B, U2260, U00D7 ] }; key <TLDE> { [ U0060, U007E, U2248, U00B1 ] }; key <BKSL> { [ backslash, bar, U2018, U2019 ] }; include "level3(ralt_switch)" };
Сохраним файл и скопируем его обратно в папку /usr/share/X11/xkb/symbols/.
Теперь необходимо сделать новую раскладку клавиатуры доступной в настройках. Для этого открываем файл /usr/share/X11/xkb/rules/evdev.xml и добавляем туда следующую информацию о латинской коми раскладке (по алфавиту после кхмерской kh перед коми kv):
<layout> <configItem> <name>ko</name> <shortDescription>ko</shortDescription> <description>Komi (Latina)</description> <languageList> <iso639Id>kom</iso639Id> </languageList> </configItem> </layout>
После этого вносим дополнение в файл /usr/share/X11/xkb/rules/evdev.lst (по алфавиту между кхмерской и коми):
kh Khmer (Cambodia) ko Komi (Latin) kv Komi kz Kazakh
То же самое делаем в файлах base.xml и base.lst.
После сохранения файлов, перезагружаем сеанс пользователя. В списках доступных раскладок появляется возможность добавления раскладки Komi (Latin).
Если вы хотите добавить флажок для латинской коми раскладки, то можете это сделать аналогично тому, что было указано выше относительно коми раскладки. Мы используем в данной функции "скандинавский" коми флаг.