Как добавить пользовательскую последовательность клавиш?

Как добавить пользовательскую последовательность клавиш?

Например, я хотел бы написать, |>, чтобы ввести условное обозначение.

Я попытался добавить следующее к ~/.XCompose:

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <bar> <greater> : "▸" U25B8 # Black right-pointing small triangle

но новая последовательность не может использоваться нигде, кроме xterm.

Установка ibus-table-compose и последующее включение метода ввода Compose в IBus не решили проблему; IBus имитировал множество последовательностей клавиш, но не ту, которую я создал.

3 ответа

Решение

Создать файл ~/.XCompose (это файл с именем .XCompose в вашей "домашней" папке), которая содержит следующее:

include "%L"   # import the default Compose file for your locale
<Multi_key> <bar> <greater>     : "▸"

Увидеть man 5 Compose Для получения дополнительной информации о формате этого файла.

  1. Создайте файл с именем .XCompose в вашем домашнем каталоге (~/.XCompose), который содержит:

    # import the default Compose file for your locale
    include "%L"
    
    <Multi_key> <bar> <greater>  : "▸"
    

    Увидеть man 5 Compose Для получения дополнительной информации о формате этого файла.

  2. Добавьте следующее к ~/.profile:

    export GTK_IM_MODULE="xim"
    

    В Ubuntu 18.04 (возможно, в других) вам может понадобиться следующее:

    export GTK_IM_MODULE="gtk-im-context-simple"
    
  3. Выйдите и снова включите. Или перезапустите X. Или перезагрузите компьютер.

На Ubuntu 14.04 я сделал следующее:

1) Установлен uim с помощью диспетчера программного обеспечения, другие пакеты, такие как uim-xim, uim-gtk2, uim-gtk3 а также uim-qt автоматически установлены. Смотрите https://launchpad.net/ubuntu/+source/uim.

2) Определены переменные среды, добавив следующие строки в ~/.profileТаким образом, пользовательские последовательности ключей составления применяются только к текущему пользователю:

# Restart the X-server after making alterations using:
# $ sudo restart lightdm
# It seems only GTK_IM_MODULE or QT_IM_MODULE needs to be defined.
export GTK_IM_MODULE="uim"
export QT_IM_MODULE="uim"

~/.XCompose-файл из OP должен работать после перезапуска 1) Ubuntu или 2) только X-сервер, выполнив в терминале следующую команду:

$ sudo restart lightdm

NB. Перезагрузка кажется необходимой только после изменения ~/.profile файл, изменения в ~/.XCompose вступит в силу при следующем запуске приложения (Terminal, Gedit и т. д.).

Чтобы проверить, правильно ли заданы переменные среды, введите в своем терминале следующую команду:

$ printenv | grep IM_MODULE

Большое спасибо:

О пользовательских последовательностях клавиш

О пользовательских раскладках клавиатуры:

пример .Xcompose файлы для имитации Window US International клавиатуры:

Другие вопросы по тегам