# Розкладка української латинки в Linux

Кому цікава тема української латинки, хочу поділитися способом швидкого налаштування клавіатури для Linux.

Варіант передбачає роботу з абеткою версії Максима Прудеуса з наступним набором символів:

```
A B Cц Čч D E F G Ĝґ H I Jй K L M N O P R S Šш T U V Yи Z Žж '
```

Як програміст, користуюсь версією клавіатури, що базується на мапі "us", оскільки вона дозволяє не змінювати розкладку під час написання коду і відвідування англомовних ресурсів.

В прикладі використовується код `ul` - обрати вільний слот можна в таблиці ISO_639:

=> https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes#Table_of_all_possible_two_letter_codes

``` /usr/share/X11/xkb/symbols/ul
partial alphanumeric_keys

xkb_symbols "ul" {

    include "us(basic)"

    name[Group1]= "Adaptive (UL)";

    key <AB01> { [z, Z, zcaron, Zcaron] };
    key <AB03> { [c, C, ccaron, Ccaron] };
    key <AC02> { [s, S, scaron, Scaron] };
    key <AC05> { [g, G, gcircumflex, Gcircumflex] };

    include "level3(ralt_switch)"
};
```

У версії Прудеуса, допускається використання літери "ï" замість "ji".
Стандартно ця літера не є частиною вказаної абетки, але на практиці, без неї не зручно писати і читати такі слова як наприклад "jiji".

Додати літеру до розкладки можна так:

```
key <AD08> { [i, I, idiaeresis, Idiaeresis ] };
```

Після редагування файлів "/usr/share/X11/xkb/symbols/*" потрібно застосувати зміни командою без атрибутів:

```
setxkbmap
```

В середовищі i3, мною використовується конфігурація на правий "alt":

``` ~/.xinitrc
setxkbmap -layout ul,ua
setxkbmap -option 'grp:alt_shift_toggle'
```

На Fedora 42 / GNOME, я виконую наступні кроки:

1. Додаю до файлу `/usr/share/X11/xkb/rules/evdev.xml` (після `<layoutList>`):

``` /usr/share/X11/xkb/rules/evdev.xml
<layout>
  <configItem>
    <name>ul</name>
    <shortDescription>ul</shortDescription>
    <description>Ukrainian (Latin)</description>
    <countryList>
      <iso3166Id>UA</iso3166Id>
    </countryList>
    <languageList>
      <iso639Id>ukr</iso639Id>
    </languageList>
  </configItem>
  <variantList/>
</layout>
```

2. Щоб не вказувати вручну в графічних налаштуваннях клавіатури:

``` bash
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'ua'), ('xkb', 'ul')]"
```

3. Перезапускаю GDM:

``` bash
sudo systemctl restart gdm.service
```

Детальніше про абетку читайте на сайті проєкту:

=> https://www.ukr-latynka.org

Pobačymos' o/