<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D0%B2%D0%BE%D0%B4_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2_%D0%BF%D1%80%D0%B8_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8_Compose_Key</id>
	<title>Ввод произвольных символов при помощи Compose Key - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%92%D0%B2%D0%BE%D0%B4_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2_%D0%BF%D1%80%D0%B8_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8_Compose_Key"/>
	<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=%D0%92%D0%B2%D0%BE%D0%B4_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2_%D0%BF%D1%80%D0%B8_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8_Compose_Key&amp;action=history"/>
	<updated>2026-04-03T20:35:04Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.38.1</generator>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=%D0%92%D0%B2%D0%BE%D0%B4_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2_%D0%BF%D1%80%D0%B8_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8_Compose_Key&amp;diff=638&amp;oldid=prev</id>
		<title>imported&gt;Vix: Новая страница: «Ввод произвольных символов при помощи Compose Key: настройка Linux* Многие знают, что в Linux есть с…»</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=%D0%92%D0%B2%D0%BE%D0%B4_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2_%D0%BF%D1%80%D0%B8_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8_Compose_Key&amp;diff=638&amp;oldid=prev"/>
		<updated>2013-08-26T18:40:36Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Ввод произвольных символов при помощи Compose Key: настройка Linux* Многие знают, что в Linux есть с…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ввод произвольных символов при помощи Compose Key: настройка&lt;br /&gt;
Linux*&lt;br /&gt;
Многие знают, что в Linux есть специальная кнопка: Compose. Её действие аналогично виндовым сочетаниям Alt+NumPad (Например, нажатие Alt+0169 даёт символ ©), но не требует хранить перед глазами таблицу кодов символов :) Если настроить правый Alt как Compose Key, то нажав RAlt+O+C получаем тот же значок копирайта: ©.&lt;br /&gt;
&lt;br /&gt;
В статье я опишу способ назначения произвольных сочетаний клавиш для символов. Это будет удобно в первую очередь математикам: не нужно будет лазить в таблицу символов чтобы ввести «∀ε&amp;gt;0 ∃δ(ε)≕δ&amp;gt;0: ∀x∈O(x₀) |f(x)&amp;lt;A|» в любом приложении, поддерживающем юникод. Кроме математических символов, будут доступны всевозможные стрелочки (→↗⇖⇔⟲⟽), галочки (✘✔), буллеты (•‣★), кавычки («»), длинное тире (—), дроби(⅓, ⅞), диа⃫кр͎е̃ти⃰ческие зн⃫аки и всё что душе угодно в необъятном юникоде! :)&lt;br /&gt;
&lt;br /&gt;
Включаем&lt;br /&gt;
&lt;br /&gt;
Первое что нужно сделать чтобы получить доступ к Compose Key – включить его :) Достаточно удобно установить правый Alt в качестве составной кнопки: вряд ли он часто используется. Примеры будут для Ubuntu, в других дистрибутивах не должно быть большого отличия.&lt;br /&gt;
&lt;br /&gt;
Есть три способа включить Compose Key:&lt;br /&gt;
xorg.conf: Compose Key можно назначить в секции «InputDevice» конфига /etc/X11/xorg.conf. Например, так:&lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
 Driver &amp;quot;kbd&amp;quot;&lt;br /&gt;
 Option &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
 Option &amp;quot;XkbRules&amp;quot; &amp;quot;xorg&amp;quot;&lt;br /&gt;
 Option &amp;quot;XkbModel&amp;quot; &amp;quot;pc105&amp;quot;&lt;br /&gt;
 Option &amp;quot;XkbLayout&amp;quot; &amp;quot;us,ru&amp;quot;&lt;br /&gt;
 Option &amp;quot;XkbOptions&amp;quot; &amp;quot;grp:alt_shift_toggle,grp_led:scroll,compose:ralt&amp;quot; &lt;br /&gt;
 EndSection&lt;br /&gt;
Если у вас установлен Gnome, топаем по меню в System→Preferences→Keyboard→Layouts→[Layout Options] и устанавливаем «Compose key position» на правый Alt. У меня нет Gnome под рукой, списал отсюда :)&lt;br /&gt;
Если у вас KDE4, то в System Settings→Regional&amp;amp;Language→Keyboard Layout→[Advanced] и в секции «Compose key position» ставим галку напротив «Right Alt»&lt;br /&gt;
John_Minority подсказывает, что можно в файле ~/.xinitrc указать следующее: setxkbmap -options &amp;quot;compose:ralt...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Может потребоваться перезапуск X сервера. Если всё сделано правильно, проверяем: жмём RAlt, отпускаем, потом (с шифтом) O и C. Должен получиться значок копирайта ©.&lt;br /&gt;
&lt;br /&gt;
Конфиг&lt;br /&gt;
&lt;br /&gt;
В инете полно списков доступных сочетаний, но ни один не описывает их полностью. Мы же будет умнее и не будет ничего запоминать: настроим всё под себя :)&lt;br /&gt;
Сочетания по умолчанию лежат в гигантском файле /usr/share/X11/locale/en_US.UTF-8/Compose. Его можно использовать как шпаргалку :) Трогать там ничего не надо: в домашней папке создаём файл ~/.XCompose и будем описывать там свои сочетания клавиш, которые отменят все стандартные.&lt;br /&gt;
Синтаксис файла прост: каждая строка описывает сочетание, комментарии начинаются с символа '#'. Рассмотрим на примере: добавляем в пустой файл ~/.XCompose строку:&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;o&amp;gt; &amp;lt;C&amp;gt; : &amp;quot;℃&amp;quot; U2103 # DEGREE CELSIUS и сохраняем файл.&lt;br /&gt;
&lt;br /&gt;
В угловых скобках подряд описывается сочетание клавиш. Compose в терминах X-сервера называется «Multi_key». Дальше идёт двоеточие, и в кавычках указывается символ (или строка!), получающийся при нажатии этих клавиш. Последний – Unicode код символа, его вводить не обязательно. Хорошим тоном считается в комментарии дать оригинальное название символа, которое можно подсмотреть в таблице символов.&lt;br /&gt;
Добавленный символ будет доступен без перезагрузки иксов, но – только в новых приложениях. Поэтому запускаем новый текстовый редактор, и проверяем, нажимая и сразу же отпуская сочетания: RAlt, o, Shift+c. Ура :)&lt;br /&gt;
&lt;br /&gt;
Важный момент: все названия клавиш в конфиге регистрозависимы: так, &amp;lt;Multi_key&amp;gt; и &amp;lt;Multi_Key&amp;gt; – разные клавиши, причём, второй вариант не будет распознан иксами. Внимательно!&lt;br /&gt;
Имена клавиш для литиницы и цифр совпадают с одиночной буквой: &amp;lt;a&amp;gt;-&amp;lt;z&amp;gt;,&amp;lt;A&amp;gt;-&amp;lt;Z&amp;gt;,&amp;lt;0&amp;gt;-&amp;lt;9&amp;gt; нам доступны. Стрелки &amp;lt;Left&amp;gt;,&amp;lt;Right&amp;gt;,&amp;lt;Up&amp;gt;,&amp;lt;Down&amp;gt; (первая буква – большая!) – тоже можно использовать. Но как же догадаться, что тильда называется &amp;lt;asciitilde&amp;gt; и никак иначе?&lt;br /&gt;
&lt;br /&gt;
Узнаём названия клавиш&lt;br /&gt;
&lt;br /&gt;
Открываем консоль, и выполняем следующее:&lt;br /&gt;
xev | fgrep &amp;quot;keysym&amp;quot;&lt;br /&gt;
Откроется окно xev. Делаем его активным, проверяем текущую раскладку и нежно нажимаем тильду (да, с шифтом). В консоли теперь видно название клавиши:&lt;br /&gt;
state 0x11, keycode 49 (keysym 0x7e, asciitilde), same_screen YES,&lt;br /&gt;
Для русских букв тоже есть названия:&lt;br /&gt;
state 0x2010, keycode 47 (keysym 0x6d6, Cyrillic_zhe), same_screen YES,&lt;br /&gt;
&lt;br /&gt;
Настраиваем&lt;br /&gt;
&lt;br /&gt;
Вооружившись всей этой информацией, можно сразу легко забацать целое семейство стрелочек, вводимых кнопкой «минус» и двойным нажатием стрелки в нужном направлении:&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;Right&amp;gt; &amp;lt;Right&amp;gt; : &amp;quot;→&amp;quot;&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;Left&amp;gt; &amp;lt;Left&amp;gt; : &amp;quot;←&amp;quot;&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;Up&amp;gt; &amp;lt;Up&amp;gt; : &amp;quot;↑&amp;quot;&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;Down&amp;gt; &amp;lt;Down&amp;gt; : &amp;quot;↓&amp;quot;&lt;br /&gt;
Однако сразу будет видно, что «минус» на цифровой клавиатуре не работает. Лезем в xev, и обнаруживаем, что он называется иначе: «KP_Subtract». Внимательно!&lt;br /&gt;
Можно добавить ещё алиасов для NumPad:&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;KP_Subtract&amp;gt; &amp;lt;Right&amp;gt; &amp;lt;Right&amp;gt; : &amp;quot;→&amp;quot;&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;KP_Subtract&amp;gt; &amp;lt;Left&amp;gt; &amp;lt;Left&amp;gt; : &amp;quot;←&amp;quot;&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;KP_Subtract&amp;gt; &amp;lt;Up&amp;gt; &amp;lt;Up&amp;gt; : &amp;quot;↑&amp;quot;&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;KP_Subtract&amp;gt; &amp;lt;Down&amp;gt; &amp;lt;Down&amp;gt; : &amp;quot;↓&amp;quot;&lt;br /&gt;
Теперь всё работает.&lt;br /&gt;
Есть ещё одни грабли: допустим, мы запишем в файл следующее:&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;minus&amp;gt; : &amp;quot;–&amp;quot; U2013 # EN DASH&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;minus&amp;gt; : &amp;quot;—&amp;quot; U2014 # EM DASH&lt;br /&gt;
И попробуем ввести EM-DASH (длинное тире): уже на втором нажатии минуса выдастся короткое тире. Причина в том, что X-сервер выбирает первую удавшуюся последовательность (EN DASH) и пишет её. При составлении файла нужно внимально следить чтобы ни одно сочетание не перекрывало другие!&lt;br /&gt;
Поэтому делаем так: для короткого тире добавляет точку:&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;period&amp;gt; : &amp;quot;–&amp;quot; U2013 # EN DASH&lt;br /&gt;
 &amp;lt;Multi_key&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;minus&amp;gt; &amp;lt;minus&amp;gt; : &amp;quot;—&amp;quot; U2014 # EM DASH&lt;br /&gt;
&lt;br /&gt;
И последнее: если хочется просто расширить существующий набор символов и ничего не менять, в начале файла инклюдим стандартный:&lt;br /&gt;
include &amp;quot;/usr/share/X11/locale/en_US.UTF-8/Compose&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Готовое решение&lt;br /&gt;
&lt;br /&gt;
Не буду приводить всю таблицу и расписывать её создание, лишь дам ссылку на проект на гуглокоде где можно скачать моё творение и подправить под себя. Файл будет обновляться в процесса расширения набора символов и поиска багов :)&lt;br /&gt;
Уклон выбранных символов весьма хабрахабровский: IT и математика :)&lt;br /&gt;
&lt;br /&gt;
[http://habrahabr.ru/post/80091/ Статья тут]&lt;/div&gt;</summary>
		<author><name>imported&gt;Vix</name></author>
	</entry>
</feed>