#ubuntu #faq #xcompose
Как в Ubuntu наименее трудозатратным способом вводить символы, которых нет на клавиатуре? Можно назначить клавишу Compose, онa же Multi_key. Она дает всякие тире —,–, кавычки-елочки «», знак ударения ý и другие классные символы ☭,☺! Например, Multi_key - - - печатает "—". Но эти символы не всегда дружат с русской клавиатурой. Файл /usr/share/X11/locale/en_US.UTF-8/Compose содержит определения для клавиши Compose. Гугл говорит, что можно добавить свои определения в ~/.XCompose. Команда xev | fgrep "keysym" показывает названия клавиш в системе. И вот я написала много интересных определений в ~/.XCompose, но они не заработали даже после перезагрузки. Тогда я скопировала их в /usr/share/X11/locale/en_US.UTF-8/Compose, но и это не помогло. И вот что получается: то, что было определено для русской раскладки в /usr/share/X11/locale/en_US.UTF-8/Compose, например: "§" section # SECTION SIGN работает, то есть Compose-п-а печатает "§", а те определения, что я добавила, типа : "«" guillemotleft # левая кавычка-ёлочка : "а́" # CYRILLIC SMALL LETTER a WITH COMBINING ACUTE ACCENT не работают! (Почему-то в Firefoxе знак ударения сдвинулся вправо, но на моем компьютере он на месте). В данный момент меня беспокоят следующие символы: Кавычки-елочки. Multi_key < < дает нам "«", а Multi_key > > — "»". С русской клавиатуры ввести это невозможно, потому что нет знаков "<" и ">". То есть чтобы ввести кавычки, которые используются в русском, нужно переключиться на английскую раскладку, нажать на клавиши, а потом переключится обратно. Ударение в русской раскладке получается совсем криво. С Compose не работает, но можно использовать Unicode: переключиться на английский; после буквы, на которую нужно поставить ударение, нажать одновременно Ctrl-Shift-u. Появится подчеркнутая буква u. ввести "301". Это Unicode знака dead_acute — ударения, которое не сдвигает каретку. Ввод. Появляется ударение над буквой. поменять язык обратно на русский. Что я делаю не так с Compose? Есть ли еще способы добавить символы? Мне нужно, чтобы легко запоминалось и быстро нажималось.
Ответы
Ответ 1
попробуйте добавить в конец файла ~/.profile строку: export GTK_IM_MODULE="xim" и перзапустите сеанс. после этого в программах, использующих gtk (например, firefox), должно заработать то, что написано в вашем ~/.XCompose. обновление хотя, вероятно, более «правильно-дистрибутивный» метод — это запустить программу im-config (если у неё есть возможность, она «нарисует» gui-окно, иначе — текстовое меню), где дойти до выбора вариантов конфигурации input methods и выбрать xim (этот пункт ближе к концу). после чего, опять-таки, надо перезапустить сеанс.Ответ 2
Этот ответ содержит обновленную информацию для Ubuntu 18.04 и упорядоченные инструкции (на случай. что мне придется делать это еще раз, и я опять все забуду). Определяем клавишу Compose. Прежде всего, нам надо проверить, определена ли клавиша Compose, и если да. то где. Нажимаем на значок переключения языка, затем Показать раскладку клавиатуры. Если клавиши Compose нету, то его можно установить с помощью пакета gnome tweaks. (См.) (Раньше это делалось через Параметры → Клавиатура). Устанавливаем: sudo apt install gnome-tweaks или sudo apt install gnome-tweak-tool Либо в Менеджер приложений Ubuntu устанавливаем Доп. настройки gnome (можно написать в поисковой строке gnome tweaks и он найдет). Запускаем. Открываем Клавиатура и мышь Нажимаем на кнопку Композиционная клавиша и выбираем, на какую клавишу ее назначить. Ставим английскую раскладку и проверяем, что клавиша Compose работает. Например, Compose - - - должно напечатать длинное тире: —. Создаем свои комбинации клавиш. Свои комбинации определяются в файле ~/.XCompose. Как сообщает нам man XCompose, мы можем включать в него другие файлы определений командой include. В общем случае лучше всего включить системный файл своей локали: include "%L" Но в нашем случае /usr/share/X11/locale/ru_RU.UTF-8/Compose содержит только одну строчку include "/usr/share/X11/locale/en_US.UTF-8/Compose" Примечание. Все это сделано плохо. Английский файл содержит определения для кириллических гласных с ударением, вроде: "А́" но пользоваться ими в русской раскладке невозможно, потому что клавиша в русской раскладке превращается в , она же "э". (В Гугле сказали, что из более 50-ти кириллических языков апостроф существует только в украинском и белорусском.) Там также есть определение для печати символа "№" с помощью , но в русской раскладке он и так есть. Хорошо бы сделать минимальный /usr/share/X11/locale/ru_RU.UTF-8/Compose с ударениями над гласными и со всеми русскими кавычками и распространять его вместе с Ubuntu, но я не знаю, как. Теперь давайте добавим в ~/.XCompose свои определения. Для этого нам нужно узнать названия клавиш в раскладке. Запускаем команду xev | fgrep "keysym". Открывается окошечко. Печатаем туда символы, а в терминале нам показывают их названия. Например, мы хотим добавить в русскую раскладку квадратные скобки, чтоб было удобнее редактировать свои тексты на stackoverflow. Нажимаем на клавишу [ в окошке xev. В терминале, откуда был запущен xev, нам сообщают: keysym 0x5b, bracketleft. То есть эта клавиша называется bracketleft и заодно мы узнали ее юникод U005B. Выставляем русскую раскладку, печатаем то же самое. Теперь клавиша называется Cyrillic_ha. Добавляем в ~/.XCompose строчку : "[" U005B # левая квадратная скобка Таким же образом добавляем : "]" U005D # правая квадратная скобка : "`" U0027 # апостр́оф (на Multi_key+Ё+!) Мы можем также скопировать готовый .XCompose, например, отсюда или отсюда. Они содержат гигантское количество определений комбинаций клавиш. После изменения .XCompose перезапустите сеанс, чтобы увидеть результаты. Добавлять в ~/.profile строку export GTK_IM_MODULE="xim" больше не нужно. Еще полезность: В man Compose написано, что вместо файла ~/.XCompose можно использовать любой другой файл, и сообщить о нем системе с помощью переменной $XCOMPOSEFILE. Как это может пригодиться? Например, у одного пользователя есть классный ~/.XCompose. Другой пользователь может использовать его, если вставит в свой ~/.profile строку export XCOMPOSEFILE="$HOME/../ /.XCompose" Так у вас есть только одна копия .XCompose, которую используют несколько пользователей. И про сдвиг ударения. Оказывается, в нем виноват шрифт Verdana, см. Хабр.
Комментариев нет:
Отправить комментарий