Настраиваем Compose со своими назначениями клавиш для Qt и GTK (Kubuntu 14.04)

Изображение пользователя Almight.

1. Выполняем
sudo cp /etc/X11/xinit/xinput.d/default /etc/X11/xinit/xinput.d/uim
2. Редактируем файл /etc/X11/xinit/xinput.d/uim, где назначаем метод ввода uim для KDE и GNOME:

GTK_IM_MODULE=uim
QT_IM_MODULE=uim

3. Делаем линк для локалей:
sudo ln -sf /etc/X11/xinit/xinput.d/uim /etc/X11/xinit/xinput.d/all_ALL
4. Ставим uim:
sudo aptitude install uim
5. Выполняем
$ im-config -n uim
6. Делаем файл ~/.XCompose и вставляем туда строки (пример с назначенными сочетаниями можно заменять, добавлять по такому же шаблону новые):
include "/usr/share/X11/locale/en_US.UTF-8/Compose"

# Custom definitions
<Multi_key> <z> <space>          : "⁠"    U2060 # WORD JOINER
<Multi_key> <Cyrillic_ya> <space> : "⁠"    U2060 # WORD JOINER

Для этого выполняем:
$ cat > .XCompose
Жмем Enter, вводим далее в терминале:
include "/usr/share/X11/locale/en_US.UTF-8/Compose"

# Custom definitions
<Multi_key> <z> <space>          : "⁠"    U2060 # WORD JOINER
<Multi_key> <Cyrillic_ya> <space> : "⁠"    U2060 # WORD JOINER

Нажимаем [Ctrl]+[D].
7. Существующий файл ~/.profile не трогаем.
8. Перегружаем машину:
sudo reboot
P.S. Возможно, что достаточно перезагрузить X'ы.
9. Выполняем:
$ printenv | grep IM_MODULE
И смотрим вывод.
У меня работающая конфигурация такая:
CLUTTER_IM_MODULE=xim
QT_IM_MODULE=xim
QT4_IM_MODULE=uim
GTK_IM_MODULE=uim

10. Если проигнорировать пункт 7 и туда дописать метод ввода, то на моей машине это приводило к полной неработоспособности Compose в Qt-приложении Otter (в выводе везде стоял uim).

0
Susumo - 7 Сентябрь, 2015 - 22:48
Изображение пользователя Susumo.

Вангую, через несколько постов будет вопрос:

sudo aptitude install uim
aptitude: command not found
Пачиму?

Может будет лучше apt-get в гайды писать?

0
Almight - 8 Сентябрь, 2015 - 00:37
Изображение пользователя Almight.

Мне кажется, что если человек не только знает про Compose, но и хочет настроить свои сочетания клавиш, то такой вопрос у него точно возникнуть не может. Часто использую aptitude исторически. А так как я не привык менять устоявшиеся традиции по спонтанным желаниям Космонаффта™, то поэтому так и пишу) Ну и на гайд это не тянет. Просто пришлось полдня возиться и разбираться с разными мануалами, чтобы понять это, поэтому и выложил для других результат.

0
Almight - 9 Июль, 2017 - 21:39
Изображение пользователя Almight.

Небольшое обновление этого решения. Оказывается, что в Otter’е работоспособность Compose зависит не только от xim/uim, но и от… заполненности буфера обмена. Если он пустой, то сочетания клавиш не функционируют. Не спрашивайте почему. Я не знаю :) Также выяснилось, что при той конфигурации новые сочетания не работают в Kate и в Calligra (но в LibreOffice всё было нормально и так).
Поэтому лучшим вариантом оказалось привести всё к одному методу ввода, который не сбоит нигде:
$ im-config -n xim
sudo reboot

Заодно приложу обновлённый файл ~/.XCompose, в котором прописан знак ударения и все нужные в русском языке кавычки (конфликтов ни у одного сочетания нет):
include "/usr/share/X11/locale/en_US.UTF-8/Compose"

# Custom definitions
<Multi_key> <z> <space>           : "⁠"    U2060 # WORD JOINER
<Multi_key> <Cyrillic_ya> <space> : "⁠"    U2060 # WORD JOINER
<Multi_key> <Cyrillic_be> <Cyrillic_be> : "«"   U00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<Multi_key> <Cyrillic_yu> <Cyrillic_yu> : "»"   U00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<Multi_key> <Cyrillic_BE> <Cyrillic_BE> : "„"   U201E # DOUBLE LOW-9 QUOTATION MARK
<Multi_key> <Cyrillic_YU> <Cyrillic_YU> : "“"   U201C # LEFT DOUBLE QUOTATION MARK
<Multi_key> <Cyrillic_zhe> <Cyrillic_zhe> : "‘"   U2018 # LEFT SINGLE QUOTATION MARK
<Multi_key> <Cyrillic_e> <Cyrillic_e> : "’"   U2019 # RIGHT SINGLE QUOTATION MARK
<Multi_key> <Cyrillic_E> <Cyrillic_E> : "́"    U0301 # COMBINING ACUTE ACCENT

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры