Останнім часом стало модно писати українською латинкою. Бувають випадки коли пристрій чи програма не підтримують кирилиці і доречніше вживати латинські літери, або не хочеться лишній раз перемикатися з латиниці на кирилиці, а натомість тримати лише одну розкладку.
За основу для нашої клавіатури візьмемо стандартну англійську розкладку (QWERTY) і додамо до неї літери ğ, ž, č та š, які відповідають кириличним ґ, ж, ч та ш. Літери набиратимуться через праву клавішу Alt
.
У GNU/Linux усі файли з розкладками знаходяться в каталозі /usr/share/X11/xkb/symbols/
. Хоча в різних дистрибутивах розташування файлів може відрізнятися. В мене стоїть Debian 10 зі стільницею Xfce 4.12.
Отже, переходимо у згаданий вище каталог і додаємо вкінці файлу ua
наступний код:
partial alphanumeric_keys xkb_symbols "latynka" { include "us(basic)" name[Group1]="Ukrainian (latynka)"; key <AC02> { [ s, S, scaron, Scaron ] }; key <AC05> { [ g, G, gbreve, Gbreve ] }; key <AB01> { [ z, Z, zcaron, Zcaron ] }; key <AB03> { [ c, C, ccaron, Ccaron ] }; include "level3(ralt_switch)" };
Параметр partial
означає, що блок коду описує не всю клавіатуру. Параметр alphanumeric_keys
вказує, яку саме частину клавіатури описує код. Інструкція xkb_symbols "latynka"
задає назву для даного варіанту розкладки.
Команда include "us(basic)"
імпортує літери з англійської розкладки клавіатури (в кінці крапка з комою не ставиться). Команда name[Group1]="Ukrainian (latynka)";
задає повну назву для групи символів.
Далі описуємо літери, які треба додати чи замінити. Інструкція складається з ключового слова key
; ідентифікатора, що позначає розташування клавіші на клавіатурі; та переліку символів, які будуть пов'язані з клавішею.
key <AC02> { [ s, S, scaron, Scaron ] };
Є чотири рівні натискання по клавіші: звичайне натискання; натискання з клавішею Shift
; натискання з клавішею ПравAlt
; натискання з клавішами ПравAlt
та Shift
одночасно.
2-й рівень - | S Š | - 4-й рівень 1-й рівень - | s š | - 3-й рівень
Ідентифікатори фізичного розташування клавіш на клавіатурі:
<TLDE>
позначає клавішу наголос/тильда;<BKSL>
позначає клавішу зворотній слеш;<AB01>
,<AB02>
, .. позначають клавіші Z, X, ..;<AC01>
,<AC02>
, .. позначають клавіші A, S, ..;<AD01>
,<AD02>
, .. позначають клавіші Q, W, ..;<AE01>
,<AE02>
, .. позначають клавіші 1, 2, ...
Замість символів можна вказувати номери Юнікоду (наприклад, U0041
відповідає літері A) або їхні унікальні назви. Назви я підглядав у розкладках сусідніх мов (в польській (pl) і хорватській (hr)). Можна подивитися у Вікіпедії, але не факт, що вони будуть працювати.
У кінці додано інструкцію include "level3(ralt_switch)"
, яка дозволяє набирати символи 3-го і 4-го рівня через відповідну клавішу. В даному випадку це ПравийAlt
.
Після опису розкладки треба додати метадані. Відкриваємо файл /usr/share/X11/xkb/rules/evdev.xml
і шукаємо там фрагмент коду, що описує варіанти українських розкладок:
<layout> <configItem> <name>ua</name> <shortDescription>uk</shortDescription> <description>Ukrainian</description> <languageList> <iso639Id>ukr</iso639Id> </languageList> </configItem> <variantList> <variant> <configItem> <name>phonetic</name> <description>Ukrainian (phonetic)</description> </configItem> </variant> ... </variantList> </layout>
і додаємо інформацію про свій варіант:
... <variant> <configItem> <name>latynka</name> <description>Ukrainian (latynka)</description> </configItem> </variant>
Щоб користуватися новою розкладкою треба додати її через меню Налаштування/Клавіатура, або відредагувати файл /etc/default/keyboard
. В мене він виглядає так:
# KEYBOARD CONFIGURATION FILE # Consult the keyboard(5) manual page. XKBMODEL="pc105" XKBLAYOUT="ua,ua" XKBVARIANT="latynka," XKBOPTIONS="grp:caps_toggle,grp_led:scroll" BACKSPACE="guess"
Після змін слід перезавантажити систему.
У графічному режимі повинно працювати добре, але в консолі можуть не набиратися діакритичні знаки. Це виправляється командою:
dpkg-reconfigure console-setup
і в другому вікні обрати шостий варіант зверху:
# Кирилиця - Слов'янські мови (а також боснійська та сербська латиниця)
Ось і все. Нова розкладка без проблем працює в емаксі, вімі та інших редакторах. Цікавтеся українською латинкою і вигадуйте свої розкладки!
Коментарі (2)