Головна

Налаштування Compose для введення нестандартних символів

При наборі текстів часто доводиться користуватися символами, яких або немає в даній розкладці, або взагалі немає на клавіатурі. Наприклад ввести з клавіатури щось типу ¼ або ‰ завдання нетривіальне. Можна, звичайно, скористатися таблицею символів і просто скопіювати все звідти. Але це добре, коли потрібний символ вводиться 1-2 рази. А що робити якщо він потрібен постійно? Ось тут на допомогу і приходить Compose key.

 

Клавіша compose також відома під назвою «Multi_key» в X Window System. В X.Org Server багато розкладок клавіатури передбачають різні варіанти розташування Multi_key, що зазвичай використовуються в PC-сумісних архітектурах.

Призначити цю клавішу можна по різному. Наприклад за допомогою XkbOptions («compose: rwin»). У мене в Kubuntu це робиться в Kmenu-Комп'ютер-Системні параметри-Країна/регіон/мова. На клавішу Compose я призначив кнопку, якою взагалі ніколи не користуюся - CapsLock.

Тепер підемо по налаштуваннях по порядку

 

1. Налаштуємо метод введення.

Compose потрібно, що б метод введення був xim
Виконаємо команду

$ im-switch -c

З'явиться щось на зразок:

There are 10 candidates which provide IM for /home/yakim/.xinput.d/uk_UA:

Selection Alternative

-----------------------------------------------

1 default

*+ 2 default-xim

3 ibus-kde

4 lo-gtk

5 none

6 scim

7 scim-bridge

8 scim-immodule

9 th-gtk

10 th-xim

System wide default for uk_UA (or all_ALL) locale is marked with [+].

Press enter to keep the current selection[*], or type selection number:

Оберемо пункт default-xim (якщо він вже встановлений - нічого не змінюємо)

 

2. Додамо змінні оточення

Відкриємо на редагування файл ~/.bachrc

$ nano ~/.bachrc

І додамо туди два рядки:

export GTK_IM_MODULE=xim

export QT_IM_MODULE=xim

 

 3. Створимо файл .XСompose

    $ touch ~/.XСompose

У цьому файлі ми будемо зберігати наші особисті налаштування введення додаткових символів.
Можна, звичайно, редагувати і загальносистемний файл /usr/share/X11/locale/en_US.UTF-8/Compose, але тут є два нюанси - по-перше так не вийде для кожного користувача задавати індивідуальні
налаштування, а по-друге при оновленні системи є ймовірність, що цей файл буде перезаписано, і ми все втратимо.

  

4. Тепер підготовчі роботи завершені і можна зайнятися безпосередньо нашими особистими налаштуваннями введення.

Відкриємо на редагування файл .XСompose

$nano ~/.XCompose

Першим рядком додамо в нього

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

 

Якщо цього не зробити, то всі загальносистемні налаштування комбінацій клавіш для нас будуть втрачені.

Далі почнемо вводити свої власні комбінації.
Мені, наприклад, завжди хотілося, щоб в українській розкладці апостроф можна було б набрати тіє
ю ж клавішею, що і в англійській.

Тому я додаю рядок:

<Multi_key> <Ukrainian_ie> <Ukrainian_ie> : "'"

Також мені не подобається, що при переході на російську або українську розкладку втрачається знак $. Для того, що б це виправити - додаю ще одну позицію:

<Multi_key> <4> <4> : "$"

Зберігаємо файл і перелогінимось в системі. Тепер встановлені нами комбінації клавіш будуть працювати.
Для перевірки запустимо, наприклад, kate і послідовно натиснемо 3 кнопки - ту, що ми вибрали в якості Compose key і два рази «4». Бачимо, що з'явився знак «$». У нас все запрацювало.

До речі, ніхто вам не заважає забити на якусь комбінацію клавіш одразу цілий рядок. Наприклад так:

<Multi_key> <a> <z> : "Привіт!"

Ну і наостаннє невелика таблиця стандартних налаштувань Compose в системі:

   

Unicode

Символ

Compose

U00a1

¡

"!!"

U00a2

¢

"|c" "c|" "c/" "/c"

U00a3

£

"L-" "-L"

U00a5

¥

"Y=" "=Y"

U00a9

©

"oc" "oC" "Oc" "OC"

U00ab

«

"<<"

U00ae

®

"or" "oR" "Or" "OR"

U00b0

°

"oo"

U00b1

±

"+-"

U00b2

²

"^2"

U00b3

³

"^3"

U00b5

µ

"mu"

U00bb

»

">>"

U00bc

¼

"14"

U00bd

½

"12"

U00be

¾

"34"

U00bf

¿

"??"

U00c2

Â

"^A"

U00c3

Ã

"~A"

U00c4

Ä

""A"

U00c5

Å

"oA"

U00c6

Æ

"AE"

U00df

ß

"ss"

U00f7

÷

":-" "-:"

U2030

"%o"

U20a3

"Fr"

U20a4

"L=" "=L"

На перших порах цих комбінацій має вистачити, а потім ... Завжди можна або нагуглити, або уважно почитати файл /usr/share/X11/locale/en_US.UTF-8/Compose. У ньому описані всі-всі комбінації