Настройка ввода символов Unicode в KDE

Изображение пользователя Rino.

Я не Артемий Лебедев, но тоже люблю, чтобы все было красиво. Поэтому вставляю кавычки «» вместо "" и так далее.

Долго мучился этим вопросом, и сегодня, основательно порывшись в Интернете, нашел решение.

На некоторых компьютерах compose key посылает программного обеспечению сигнал, что следует интерпретировать некоторую последовательность символов для получения символа, который отсутствует на раскладке клавиатуры. Например, нажав compose, а затем a и e можем получить AE лигатуру, æ.

Microsoft Windows не поддерживает compose key, но поддерживает dead key и AltGr для многих символов. Некоторые символы могут быть получены в результате удержания Alt, и затем набором ASCII кода или Unicode кода требуемого символа на цифровой клавиатуре, то есть Alt+0171 дает нам «, а Alt+0187 дает нам ».

Compose key также известна под названием «Multi_key» в X Window System. В XFree86 и X.Org Server многие раскладки клавиатуры предусматривают различные варианты расположение Multi_key, обычно используемых в PC-совместимых архетектурах.

Таким образом, передо мной встал вопрос, где же находится эта самая клавиша. Путем курения этого блога, я выяснил, что нужно её включить – в секции InputDevice файла /etc/X11/xorg.conf к XkbOptions дописать compose:rwin.

Но как часто бывает, одна проблема тянет за собой другую. В версиях (К)Убунту до 8.10 использовался X.Org 7.3 (8.04) и его более ранние версии в предыдущих выпусках. Соответсвенно, в xorg-server версий до 1.5.x все настойки Х сервера были прописаны в /etc/X11/Xorg.conf.

В версии же (К)Убунту до 8.10 благодаря тому, что xorg-server версии 1.5.2, входящий в состав X.Org 7.4, ориентирован на поддержку HAL - Hardware Abstraction Level, настроек для устройств ввода в самом файле /etc/X11/Xorg.conf. нет, потому что конфигурация устройств ввода оществляется не в xorg.conf, а через HAL. Это позволяет подключать различные клавиатуры и мышки «на лету» и они будут работать без необходимости рестарта иксов.

Таким образом, попутно я узнал о сущуествовании новой технологии, которая вместе с обновлением X.Org придет и на другие дистибутивы Linux.

Но нет бочки меда без ложки дегтя. Все омрачается правкой xml-конфигов HAL’а вместо human-readable файла xorg.conf. К тому же могут появляться многочисленные проблемы, связанные с поддержкой национальных раскладок.

Сам xml-файл конфига /etc/hal/fdi/policy/10-keymap.fdi я у себя в этом месте не нашел (немного в другом он все же оказался), потому что, как я думаю, HAL у меня если и используется, то уж точно не для раскладок.

Тем временем отсутствие настроек в конфиге X.Org начало раздражать - мне нужно включить для ввода Unicode-символов клавишу Compose ⇒ это я должен сделать в конфиге ⇒ его нужно найти!

Путем экспериментов выяснилось, что искомый файл с настройками – ~/.kde/share/config$ cat kxkbrc . В нем, соответственно и было прописано следующее для включения клавиши Compose:

Options=grp:ctrl_shift_toggle,grp:lctrl_lshift_toggle,compose:rwin

Вот теперь Compose key висит на правой win-клавише и можно легко вводить различные экзотические символы и диакритику.

Примеры:

Compose > > ⇒ » Литературная правая кавычка
Compose < < ⇒ « Литературная левая кавычка
Compose ‘ > ⇒ ‘ Одиночная левая кавычка

Все комбинации легко запоминаются, т.к представляют собой мнемонические конструкции. Нет необходимости запоминать цифровые последовательности, достаточно представить, как выглядит символ и «сложить» его из имеющегося набора.

Список всех комбинаций находится в
/usr/share/X11/locale/en_US.UTF-8/Compose

Если этого мало или хочется переопределить комбинации, необходимо отредактировать файл ~/.XCompose:

include "/usr/share/X11/locale/en_US.UTF-8/Compose"
: "…" U2026 # HORIZONTAL ELLIPSIS
: “†” U2020 # DAGGER
: “‡” U2021 # DOUBLE DAGGER
: "⇐" U21D0 # LEFTWARDS DOUBLE ARROW
: “⇑” U21D1 # UPWARDS DOUBLE ARROW
: “⇒” U21D2 # RIGHTWARDS DOUBLE ARROW
: “⇓” U21D3 # DOWNWARDS DOUBLE ARROW

Для корректной работы понадобятся шрифты с поддержкой юникода и локаль UTF-8.

Комментарии (5)

0
Bazilio - 10 Декабрь, 2008 - 14:13
Изображение пользователя Bazilio.

Офигеть!!! буду пробовать!

0
Soi-Fong - 10 Декабрь, 2008 - 16:25
Изображение пользователя Soi-Fong.

о, круто, работает :)
только вот раскладку приходится на английскую переключать

0
Rino - 12 Декабрь, 2008 - 01:40
Изображение пользователя Rino.

Я так прикинул, надо будет файл Compose отредактировать попробовать на досуге, с кириллическими символами типа Б, Ю ...
Если кто то раньше меня сделает - пишите))

0
Гость - 4 Февраль, 2011 - 12:51

А в kate и в rekonq работает не всё. Например, вместо «…» они, по той же комбинации, выводят «˙». Многоточие я вставил в OOo, потом сюда перенёс.
А символ «˙» (abovedot # DOT ABOVE) вводится по хитрому.

Зачем мне показали, как вводить nbsp?

0
Гость - 4 Февраль, 2011 - 13:21

Снова я. Закомментировал в файле /usr/share/X11/locale/en_US.UTF-8/Compose все строки, содержащие «˙» и, для верности, перезагрузился.
Никакого толку. В смысле - ничего не изменилось.
Охота бы мне знать, почему?
Вот в win, комбинации Alt+_NumPadDigitsSequence_ работают во всех программах. Это преимущество, и, на мой взгляд, очень большое.
Дожить бы до того времени, когда я в KDE всё настрою, и буду над этим постом смеяться.

Подскажите, как настроить?

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры