Типографская раскладка клавиатуры

Есть такая замечательная программа от Ильи Бирмана под названием «Типографская раскладка». Она «добавляет дополнительные клавиши», т.е. позволяет вводить прямо с клавиатуры такие символы как «кавычки-ёлочки», знаки ©, ®, ™, многоточие, «евры» €, фунты £ и другие символы. Более подробное описание вы можете почитать на странице «Типографской раскладки», а мы попробуем добавить такую же раскладку в Ubuntu.

Типографская раскладка

Добавлять будем штатными средствами, без всяких дополнительных программ. Предполагается, что вы знаете как настраивать раскладки в своём (-/K/X)Ubuntu (Система > Параметры > Клавиатура).

Открываем в консоли файл /etc/X11/xkb/base.xml:

sudo nano /etc/X11/xkb/base.xml

(Если консольный редактор вас не устраивает, вместо nano введите gedit — в Ubuntu. В Kubuntu введите kate, а в Xubuntu — mousepad).

Найдите там вот такой блок:

<layout>
<configItem>
<name>ru</name>
<shortDescription>Rus</shortDescription>
<description>Russia</description>
</configItem>

Сразу после него припишите:

<variant>
<configItem>
<name>winkeys_typo</name>
<description>Winkeys + Typographic</description>
</configItem>
</variant>

Звучит как китайская грамота? Тогда поясню: мы добавляем новую раскладку, которая будет иметь идентификатор winkeys_typo и называться «Winkeys + Typographic» (название можете поменять, если по каким-то причинам оно вас не устроит).

Далее нам нужно собственно создать такую раскладку. Для этого

sudo nano /etc/X11/xkb/symbols/ru

Вставьте в конец файла вот такой текст:

partial alphanumeric_keys
xkb_symbols "winkeys_typo" {
include "ru(winkeys)"
name[Group1]= "Russia — Typography";
key.type[group1]="FOUR_LEVEL";
key <TLDE> { [ Cyrillic_io, Cyrillic_YO, acute, approxeq ] };
key <AE01> { [ 1, exclam, onesuperior, onesuperior ] };
key <AE02> { [ 2, quotedbl, twosuperior, twosuperior ] };
key <AE03> { [ 3, numerosign, threesuperior, threesuperior ] };
key <AE04> { [ 4, semicolon, section, section ] };
key <AE05> { [ 5, percent, 0x01002030, 0x01002030 ] };
key <AE11> { [ minus, underscore, emdash, hyphen ] };
key <AE12> { [ equal, plus, notequal, plusminus ] };
key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, q, onequarter ] };
key <AD03> { [ Cyrillic_u, Cyrillic_U, EuroSign, oneeighth ] };
key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered, R ] };
key <AD05> { [ Cyrillic_ie, Cyrillic_IE, trademark, onethird ] };
key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, masculine, O ] };
key <AC01> { [ Cyrillic_ef, Cyrillic_EF, approxeq, A ] };
key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, section, S ] };
key <AC03> { [ Cyrillic_ve, Cyrillic_VE, degree, D ] };
key <AC04> { [ Cyrillic_a, Cyrillic_A, sterling, F ] };
key <AC06> { [ Cyrillic_er, Cyrillic_ER, h, onehalf ] };
key <AC07> { [ Cyrillic_o, Cyrillic_O, doublelowquotemark, J ] };
key <AC08> { [ Cyrillic_el, Cyrillic_EL, leftdoublequotemark, leftsinglequotemark ] };
key <AC09> { [ Cyrillic_de, Cyrillic_DE, rightdoublequotemark, rightsinglequotemark ] };
key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, leftsinglequotemark, seconds ] };
key <AC11> { [ Cyrillic_e, Cyrillic_E, rightsinglequotemark, minutes ] };
key <AB02> { [ Cyrillic_che, Cyrillic_CHE, multiply, 0x010022C5 ] };
key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright, copyright ] };
key <AB08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] };
key <AB09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, rightdoublequotemark ] };
key <AB10> { [ period, comma, ellipsis, comma ] };
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
include "level3(ralt_switch)"
};

Теперь откройте программу управления клавиатурными раскладками, удалите там Russia Winkeys, а вместо неё добавьте Russia Winkeys + Typographic.

Всё, теперь когда у вас включена русская раскладка, вы можете вводить дополнительные символы, удерживая правый Alt. Например, для ввода «ёлочных» кавычек нажмите Alt - Б и Alt - Ю. Теперь дело за малым — запомнить расположение символов.

UPD. Написано «по мотивам» этой статьи.