AltGr в фонетических раскладках клавиатуры
Я шведка и иногда пишу на датском и норвежском. Для этого я не переключаю раскладки клавиатуры, просто набираю AltGr + ä, чтобы получить æ, и AltGr + ö, чтобы получить ø, единственные датские / норвежские буквы, недоступные на моей родной шведской клавиатуре. Сейчас я изучаю русский язык и для этого я переключаюсь на раскладку клавиатуры под названием "Русский (шведский, фонетический)", которая доступна в Ubuntu Linux 16.04.
Но иногда мне нужно набирать слова из украинского и белорусского языков, в которых есть лишние буквы. Для этого было бы очень удобно просто набрать AltGr + и, чтобы получить украинский і, и AltGr + э, чтобы получить украинский є, без необходимости переключаться между таким количеством раскладок. Но в настоящее время эта раскладка клавиатуры, кажется, вообще не использует AltGr. Итак, как мне это сделать, и как можно распространять улучшения со следующей версией Ubuntu Linux?
Мой обходной путь, который гораздо менее удобен, - это переключиться на макет "Украинский (фонетический)". Необходимость переключаться между тремя раскладками неудобна и не должна быть необходимой в моей ситуации.
1 ответ
Вот мой путь к ответу на мои собственные вопросы: файл, который мне нужно отредактировать,
/usr/share/X11/xkb/symbols/se
Этот файл содержит как обычный шведский макет (где AltGr + ä = =), так и "русский (шведский, фонетический)". Тем не менее, я отредактировал русский раздел этого файла, и ничего не произошло. В предыдущие годы на форуме было много сообщений о том, почему изменения xkb не вступают в силу. Одним из распространенных ответов было то, что файл кэша в /var/lib/xkb пришлось удалить, но в моей системе такого файла не было, а в Ubuntu 16.04 его не нужно удалять. Но скорее русская часть файла содержала строку key.type[group1]="ALPHABETIC"; что я должен был закомментировать. Я не знаю, почему эта линия была там или что она должна была делать. После того как я прокомментировал эту строку, теперь я могу добавить определения AltGr под номерами 3 и 4 в каждой строке, и они вступят в силу при следующем переключении между раскладками клавиатуры. Поэтому я изменил следующие строки:
key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, U0301, U0300 ] }; // acute, grave
key <AD01> { [ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ] }; // Yat
key <AD03> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
key <AD07> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] };
key <AD08> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };
key <AD11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] };
key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_yi, Ukrainian_YI ] };
Первая строка добавляет сочетание острого акцента на AltGr ъ и сочетание серьезного акцента на AltGr __ (клавиша ´`), что полезно, если вы пишете русские словари, в которых используются акценты: мо́ре, моря́. В отличие от латинских букв, Unicode не содержит кодовых точек для кириллических гласных с острым акцентом, поэтому эти комбинирующие акценты необходимы.
В следующих строках добавляется Belarusian для белорусского, ѣ (yat) для русского правописания до 1917 года, ї, ґ, є для украинского, і для всех трех орфографий, и для удобства ставится ö на AltGr е. Может быть, вы не согласны с позициями. Должен ли AltGr и = і или ї? Более очевидно, что AltGr г = ґ и AltGr у = ў.
С этим я в основном счастлив. Осталось только добавить это в следующий дистрибутив Ubuntu. Как? Кто?