Я не Артемий Лебедев, но тоже люблю, чтобы все было красиво. Поэтому вставляю кавычки «» вместо "" и так далее.
Долго мучился этим вопросом, и сегодня, основательно порывшись в Интернете, нашел решение.
На некоторых компьютерах 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)
Офигеть!!! буду пробовать!
о, круто, работает :)
только вот раскладку приходится на английскую переключать
Я так прикинул, надо будет файл Compose отредактировать попробовать на досуге, с кириллическими символами типа Б, Ю ...
Если кто то раньше меня сделает - пишите))
А в kate и в rekonq работает не всё. Например, вместо «…» они, по той же комбинации, выводят «˙». Многоточие я вставил в OOo, потом сюда перенёс.
А символ «˙» (abovedot # DOT ABOVE) вводится по хитрому.
Зачем мне показали, как вводить nbsp?
Снова я. Закомментировал в файле /usr/share/X11/locale/en_US.UTF-8/Compose все строки, содержащие «˙» и, для верности, перезагрузился.
Никакого толку. В смысле - ничего не изменилось.
Охота бы мне знать, почему?
Вот в win, комбинации Alt+_NumPadDigitsSequence_ работают во всех программах. Это преимущество, и, на мой взгляд, очень большое.
Дожить бы до того времени, когда я в KDE всё настрою, и буду над этим постом смеяться.
Подскажите, как настроить?
Отправить комментарий