
Конфиги раскладок (в ubuntu, в других дистрибутивах путь может отличаться) лежат в /usr/share/X11/xkb/symbols/, в файлах ru, ua, us,
в них описаны соответствия клавиш символам. Состоит из секций которые друг друга наследуют, секция common базовая, так что при изменении в ней, изменятся и все дочерние. Например описание буквы «э»:
key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
В квадратных скобках первый параметр отвечает за сам символ, второй за символ + shift, третий за клавиша третьего уровня + символ, четвертый за клавиша третьего уровня + shift + символ. В данном случае есть только два параметра отвечающие за «э» и «Э», если написать что-то вроде:
key <AC11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE] };
то получим «э», «Э» и с Alt-ом "є" и "Є".
Немного покопавшись в украинской раскладке находим 5 нужных знаков и редактируем русскую раскладку
sudo vim /usr/share/X11/xkb/symbols/ru
а именно в секции:
key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI ] };
key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I ] };
key <AC11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] };
key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <TLDE> { [ Cyrillic_io, Cyrillic_IO, apostrophe ] };
Теперь для использование украинских букв достаточно при нажатом правом Alt-е нажать соответствующую клавишу:
і = Alt + ы
ї = Alt + ъ
` = Alt + ё
є = Alt + э
На всякий случай мой /usr/share/X11/xkb/symbols/ru.
Источник: Хабрахабр - Linux для всех
Оригинальная страница: Проблема трех раскладок в Linux
Комментариев нет:
Отправить комментарий