Как я могу заставить IBus не проигнорировать ~/.XCompose?

Так как UIM не хотел играть в бейсбол после установки Ubuntu 12.04 с нуля, я попробовал IBus, так как это - платформа IME, это идет с Ubuntu по умолчанию.

Однако ibus-table-compose является болью в торце для использования, потому что только для ввода одного символа я должен нажать сочетание клавиш для инициирования IBus сначала, введите соответствующую составную последовательность, затем нажмите сочетание клавиш IBus снова для отключения его. Вместо этого я хотел бы сохранить мой составлять ключевую функциональность в соответствии с XIM, так как это требует меньшего количества нажатий клавиш.

Проблема состоит, тем не менее, в том, что то, когда метод ввода по умолчанию установлен на IBus и IBus, деактивируется так, чтобы (AIUI, так как я запустил его с ibus-демона - xim) это было обойдено в пользу XIM, настройки в ~/.XCompose, кажется, переопределяются собственной версией IBUS, так например, Составляют c, который не дает ą (a-ogonek), когда я определил в.XCompose файле в моем корневом каталоге, но ǎ (a-hacek), как определено некоторыми другими настройками.

Я стал довольно приученным к своему собственному mnemnonics, так есть ли какой-либо способ заставить мою систему использовать мой собственный ~/.XCompose файл с методом ввода по умолчанию, все еще устанавливаемым на IBus так, чтобы IBus все еще работал, например, в OpenOffice и других приложениях, которые не позволяют Вам выбрать метод ввода с контекстным меню?

Примечание: Это не дубликат вопроса, Как может я добираться сочинить назад на ibus?

14
задан 20 September 2017 в 05:35

4 ответа

Как заявляет @von, вы НЕ МОЖЕТЕ использовать свой .XCompose с IBUS.

Вы можете использовать uim в качестве метода ввода, который поддерживает Unicode, как модули GTK +, так и Qt с устаревшей поддержкой XIM .

Хороший способ обработать ваш .XCompose и сохранить существующий глобальный Compose:

  1. Установить uim:

    sudo apt-get install uim

  2. [ 1117]

    Сделайте его методом ввода по умолчанию:

    im-config -n uim

  3. Отредактируйте .XCompose и добавьте текущую локаль клавиатуры (в моем случае, [ 117]) как первая строка :

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

  4. Готово! Перезапустите программы, которые вы хотите запустить, чтобы получить файл .XCompose.

Известные проблемы

Ubuntu Unity Dash никогда не создаст Cedilla.

Другие дистрибутивы

Я немного поиграл с .XCompose и методами ввода в современных дистрибутивах, пытаясь заставить Linux сохранить то же поведение клавиатуры, что и в Windows (TM) для латинского языки (вывод ç вместо ć, без ударных согласных и т. д.).

Я создал репо с этой инструкцией (для Ubuntu и других дистрибутивов тоже): https://github.com/raelgc/win_us_intl

0
ответ дан 20 September 2017 в 05:35

Так как Деннис Уильямсон сказал, что это работает в 16.04 в комментарии выше, я протестировал в этой новой установке 18.04 с короткой .XCompose, скопированной из моей предыдущей установки 16.04.

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

# Custom definitions
<Multi_key> <R> <R> <R>             : "ʁ"   U0281 # LATIN LETTER SMALL CAPITAL INVERTED R

Затем я запустил ibus restart в терминале и могу набрать ʁ.

0
ответ дан 20 September 2017 в 05:35

Проблема, однако, в том, что, когда метод ввода по умолчанию установлен на IBus, а IBus деактивирован, так что (AIUI, так как я начал его с ibus-daemon --xim), он обходит в пользу XIM настройки в ~ / .XCompose кажутся переопределенными собственной версией IBus, например, Compose c a не дает ą (a-ogonek), как я определил в файле .XCompose в моем домашнем каталоге, но ǎ (a-hacek), как определено некоторыми другими настройками.

Похоже, что он не определяется некоторыми другими настройками, в смысле файла конфигурации, который вы можете редактировать. Похоже, что он скомпилирован в жестком коде в файле gtkimcontextsimpleseqs.h. Кроме того, кажется, что в этом файле нелегко настроить массив gtk_compose_seqs_compact и добавить собственные последовательности клавиш Compose. Таблица оптимизирована по пространству, а не легко редактируема. Так что стратегия «просто поменяй источник и перекомпилируй» может оказаться сложнее, чем я думал.

Я довольно привык к своей мнемонике, поэтому есть ли способ заставить мою систему использовать мой собственный файл ~ / .XCompose, при этом метод ввода по умолчанию все еще установлен на IBus, чтобы IBus продолжал работать например в OpenOffice и других приложениях, которые не позволяют выбирать метод ввода с помощью контекстного меню?

Отчет об ошибке можно найти по адресу https://bugzilla.gnome.org/show_bug .cgi? id = 155010 , в котором есть патч, который, по их словам, позволит настроить таблицу составления. Он по-прежнему не будет использовать ваш файл ~ / .XCompose, и синтаксис будет другим, но это нечто. Но я отмечаю, что рассматриваемая ошибка все еще открыта, поэтому я думаю, что это еще не вошло в официальные релизы.

0
ответ дан 20 September 2017 в 05:35
  1. Установите глобально (то есть для Ubuntu в /etc/environment) переменные QT_IM_MODULE, GTK_IM_MODULE (последние не нужны для гнома) - ibus, и с XMODIFIERS по @im=ibus.

& nbsp; & nbsp; 2.α Выполните setxkbmap с помощью -option, чтобы выбрать ключ составления. Например. использовать правую клавишу с логотипом: setxkbmap -option compose:rwin. Это будет перезаписано при перезагрузке.

& nbsp; & nbsp; 2.β Чтобы сохранить настройку при перезагрузке, создайте /etc/X11/xorg.conf.d/00-keyboard.conf со следующим содержанием:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbOptions"    "compose:rwin"
EndSection

Протестировано и работает как для X11, так и (как минимум setxkbmap путь) Wayland.

Спасибо за подсказка Фудзиварату , обновленная согласно этой дискуссии .

0
ответ дан 20 September 2017 в 05:35

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

Похожие вопросы: