Использование экзотических юникодных символов в Xorg

Иногда, когда пишешь пост, хочется вставить какой-нибудь символ, типа © или ™, литературных кавычек « и » или буквы с ударением ó, á, а лезть за ними в таблицу символов слишком долго. Можно конечно воспользоваться специальным апплетом, из которого легко копируются в буфер обмена нужные сиволы. Но тогда придётся отрывать руки от клавиатуры, брать мышь, клацать на символе, а потом вставлять его в нужное место.
В Xorg существует т.н. Compose key, с помощью которой легко вводить различные экзотические символы и диакритику.

Чтобы её включить, надо в /etc/X11/xorg.conf к XkbOptions дописать compose:rwin.
У меня секция InputDevice для клавиатуры выглядит так:

Section "InputDevice"
Identifier “Keyboard1″
Driver “kbd”
Option “AutoRepeat” “250 30″
Option “XkbModel” “pc105″
Option “XkbLayout” “us,ru”
Option “XkbVariant” “,winkeys”
Option “Xleds” “1 2 3″
Option “XkbOptions” “grp:shift_caps_toggle,grp_led:scroll,caps:internal,compose:rwin
EndSection

Теперь Compose key висит на правой win-клавише. Для левой win-клавиши параметр соответственно будет lwin.

Примеры использования:

Комбинация клавиш Символ Описание
Compose > > » Литературная правая кавычка
Compose < < « Литературная левая кавычка
Compose ‘ > Одиночная левая кавычка
Compose ‘ < Одиночная правая кавычка
Compose ” > Двойная левая кавычка
Compose ” < Двойная правая кавычка
Compose - - . Среднее тире
Compose - - - Длинное тире
Compose o o ° Знак градуса

Как видно, все комбинации легко запоминаются, т.к представляют собой мнемонические конструкции. Нет необходимости запоминать цифровые последовательности, достаточно представить, как выглядит символ и “сложить” его из имеющегося набора.
Список всех комбинаций находится в /usr/share/X11/locale/en_US.UTF-8/Compose
Если этого мало или хочется переопределить комбинации, необходимо отредактировать файл ~/.XCompose:

include "/usr/share/X11/locale/en_US.UTF-8/Compose"

<Multi_key> <period> <minus> : "…" U2026 # HORIZONTAL ELLIPSIS
<Multi_key> <bar> <minus> : “†” U2020 # DAGGER
<Multi_key> <bar> <equal> : “‡” U2021 # DOUBLE DAGGER

<Multi_key> <equal> <less> : "⇐" U21D0 # LEFTWARDS DOUBLE ARROW
<Multi_key> <equal> <asciicircum> : “⇑” U21D1 # UPWARDS DOUBLE ARROW
<Multi_key> <equal> <greater> : “⇒” U21D2 # RIGHTWARDS DOUBLE ARROW
<Multi_key> <equal> <v> : “⇓” U21D3 # DOWNWARDS DOUBLE ARROW

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

Posted in Linux, Tips&Tricks.

One Response to “Использование экзотических юникодных символов в Xorg”

  1. navi Says:

    ещё неплохо бы прописать в /etc/environment следующее:
    GTK_IM_MODULE=xim
    Тогда в GTK приложениях (типа того же фаерфокса) будут действовать такие же комбинации.

Leave a Reply